diff options
author | Juan A. Suarez Romero <[email protected]> | 2017-08-25 17:31:14 +0200 |
---|---|---|
committer | Juan A. Suarez Romero <[email protected]> | 2017-08-30 08:01:53 +0200 |
commit | a2234614b6a7b53b4f8ba68e0bc9136e4b265d0e (patch) | |
tree | 10082e7c6a28dc7237926b36f4fba6f1c6cbe2d3 | |
parent | 88cdf16871a0f1cd8ec3844072051ee38e945600 (diff) |
anv: set right datatypes in anv_pipeline_binding
This structure contains two fields, binding and index, that store the
binding in the descriptor set and the index inside the binding.
These structures are defined as uint8_t, but the types in Vulkan
specification are uint32_t, so big values are clamp.
This fixes dEQP-VK.binding_model.shader_access.*.multiple_arbitrary_descriptors.*
v2: use UINT32_MAX for index when having no render targets (Tapani)
Reviewed-by: Tapani Pälli <[email protected]>
-rw-r--r-- | src/intel/vulkan/anv_pipeline.c | 2 | ||||
-rw-r--r-- | src/intel/vulkan/anv_private.h | 4 | ||||
-rw-r--r-- | src/intel/vulkan/genX_pipeline.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 8306cd366ac..94e99d8437a 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -907,7 +907,7 @@ anv_pipeline_compile_fs(struct anv_pipeline *pipeline, rt_bindings[0] = (struct anv_pipeline_binding) { .set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS, .binding = 0, - .index = UINT8_MAX, + .index = UINT32_MAX, }; num_rts = 1; } diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index b30b71f3367..674bc28cc02 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1246,10 +1246,10 @@ struct anv_pipeline_binding { uint8_t set; /* Binding in the descriptor set */ - uint8_t binding; + uint32_t binding; /* Index in the binding */ - uint8_t index; + uint32_t index; /* Input attachment index (relative to the subpass) */ uint8_t input_attachment_index; diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 8065163dc46..83c4487bf9b 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1346,7 +1346,7 @@ has_color_buffer_write_enabled(const struct anv_pipeline *pipeline) if (bind_map->surface_to_descriptor[i].set != ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS) continue; - if (bind_map->surface_to_descriptor[i].index != UINT8_MAX) + if (bind_map->surface_to_descriptor[i].index != UINT32_MAX) return true; } |