diff options
author | Jason Ekstrand <[email protected]> | 2016-06-06 11:12:27 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-06-10 09:43:07 -0700 |
commit | a1a25db69926604d579139d1d497f1566ec16ac7 (patch) | |
tree | 00c1acf6079b0b7e003a21912e375e9af8ad5203 /src/intel/vulkan/anv_private.h | |
parent | c13c5ac561f6475d08c35d2a88a829e6ce36e98c (diff) |
anv/pipeline: Store the (set, binding, index) tripple in the bind map
This way the the bind map (which we're caching) is mostly independent of
the pipeline layout. The only coupling remaining is that we pull the array
size of a binding out of the layout. However, that size is also specified
in the shader and should always match so it's not really coupled. This
rendering issues in Dota 2.
Signed-off-by: Jason Ekstrand <[email protected]>
Cc: "12.0" <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_private.h')
-rw-r--r-- | src/intel/vulkan/anv_private.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 975cdfc33a1..cd3588a8e67 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1017,17 +1017,20 @@ anv_descriptor_set_destroy(struct anv_device *device, struct anv_descriptor_pool *pool, struct anv_descriptor_set *set); -#define ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS UINT16_MAX +#define ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS UINT8_MAX struct anv_pipeline_binding { /* The descriptor set this surface corresponds to. The special value of * ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS indicates that the offset refers * to a color attachment and not a regular descriptor. */ - uint16_t set; + uint8_t set; - /* Offset into the descriptor set or attachment list. */ - uint16_t offset; + /* Binding in the descriptor set */ + uint8_t binding; + + /* Index in the binding */ + uint8_t index; }; struct anv_pipeline_layout { |