From: Mike Blumenkrantz Date: Thu, 1 Apr 2021 18:21:34 +0000 (-0400) Subject: zink: track number of tbos in shader data X-Git-Tag: upstream/21.2.3~3504 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=402eaa0795a91bef8a8fa050216e68bbdb95dc31;p=platform%2Fupstream%2Fmesa.git zink: track number of tbos in shader data Reviewed-by: Dave Airlie Part-of: --- diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index ce6e3a7..35be98b 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -921,6 +921,8 @@ zink_shader_create(struct zink_screen *screen, struct nir_shader *nir, assert(var->data.mode == nir_var_uniform); if (glsl_type_is_sampler(type) || glsl_type_is_image(type)) { VkDescriptorType vktype = glsl_type_is_image(type) ? zink_image_type(type) : zink_sampler_type(type); + if (vktype == VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER) + ret->num_texel_buffers++; ztype = zink_desc_type_from_vktype(vktype); var->data.descriptor_set = ztype; var->data.driver_location = var->data.binding; diff --git a/src/gallium/drivers/zink/zink_compiler.h b/src/gallium/drivers/zink/zink_compiler.h index 7352b0a..a38df2a 100644 --- a/src/gallium/drivers/zink/zink_compiler.h +++ b/src/gallium/drivers/zink/zink_compiler.h @@ -78,6 +78,7 @@ struct zink_shader { unsigned char size; } bindings[ZINK_DESCRIPTOR_TYPES][32]; size_t num_bindings[ZINK_DESCRIPTOR_TYPES]; + unsigned num_texel_buffers; uint32_t ubos_used; // bitfield of which ubo indices are used uint32_t ssbos_used; // bitfield of which ssbo indices are used struct set *programs;