From a1a25db69926604d579139d1d497f1566ec16ac7 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 6 Jun 2016 11:12:27 -0700 Subject: 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 Cc: "12.0" --- src/intel/vulkan/anv_pipeline.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/intel/vulkan/anv_pipeline.c') diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index cdbf60bc218..959fbbd0de9 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -646,7 +646,8 @@ anv_pipeline_compile_fs(struct anv_pipeline *pipeline, for (unsigned i = 0; i < array_len; i++) { rt_bindings[num_rts] = (struct anv_pipeline_binding) { .set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS, - .offset = rt + i, + .binding = 0, + .index = rt + i, }; } @@ -662,7 +663,8 @@ anv_pipeline_compile_fs(struct anv_pipeline *pipeline, /* If we have no render targets, we need a null render target */ rt_bindings[0] = (struct anv_pipeline_binding) { .set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS, - .offset = UINT16_MAX, + .binding = 0, + .index = UINT16_MAX, }; num_rts = 1; } -- cgit v1.2.3