panfrost: Split the sampler and texture count
authorBoris Brezillon <boris.brezillon@collabora.com>
Fri, 5 Mar 2021 12:23:09 +0000 (13:23 +0100)
committerMarge Bot <eric+marge@anholt.net>
Thu, 11 Mar 2021 15:10:58 +0000 (15:10 +0000)
The texture and sampler descriptors are well separated in Vulkan,
let's add a new field to allow mixing sampler and texture descs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9517>

src/panfrost/lib/pan_shader.c
src/panfrost/lib/pan_shader.h
src/panfrost/util/pan_ir.h

index 13b6e4c..40c026c 100644 (file)
@@ -234,5 +234,5 @@ pan_shader_compile(const struct panfrost_device *dev,
         info->attribute_count += util_bitcount(s->info.images_used);
         info->writes_global = s->info.writes_memory;
 
-        info->texture_count = s->info.num_textures;
+        info->sampler_count = info->texture_count = s->info.num_textures;
 }
index cda399d..12bf4a0 100644 (file)
@@ -176,7 +176,7 @@ pan_shader_prepare_rsd(const struct panfrost_device *dev,
         rsd->shader.varying_count = shader_info->varyings.input_count +
                                    shader_info->varyings.output_count;
         rsd->shader.texture_count = shader_info->texture_count;
-        rsd->shader.sampler_count = shader_info->texture_count;
+        rsd->shader.sampler_count = shader_info->sampler_count;
         rsd->properties.shader_contains_barrier = shader_info->contains_barrier;
 
         if (shader_info->stage == MESA_SHADER_FRAGMENT) {
index 794007e..aca6d7b 100644 (file)
@@ -186,6 +186,7 @@ struct pan_shader_info {
         bool writes_global;
         uint64_t outputs_written;
 
+        unsigned sampler_count;
         unsigned texture_count;
         unsigned ubo_count;
         unsigned attribute_count;