Mesa (main): nir: Set internal=true in nir_builder_init_simple_shader

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 18 03:21:51 UTC 2022


Module: Mesa
Branch: main
Commit: 7ec1d96e5e36e2b26874c7e7622b501974f9ed51
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ec1d96e5e36e2b26874c7e7622b501974f9ed51

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Tue Feb  8 12:36:01 2022 -0500

nir: Set internal=true in nir_builder_init_simple_shader

Matches the expected use by callers. We do need to fix up a few callers which
use this call for external shaders.

v2: Fix up a radv call site (Rhys).

Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Reviewed-by: Emma Anholt <emma at anholt.net> [v1]
Acked-by: Rhys Perry <pendingchaos02 at gmail.com>
Acked-by: Jason Ekstrand <jason.ekstrand at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14936>

---

 src/amd/vulkan/radv_pipeline_rt.c        | 1 +
 src/compiler/nir/nir_builder.c           | 3 +++
 src/gallium/auxiliary/nir/tgsi_to_nir.c  | 1 +
 src/mesa/program/prog_to_nir.c           | 1 +
 src/mesa/state_tracker/st_atifs_to_nir.c | 1 +
 5 files changed, 7 insertions(+)

diff --git a/src/amd/vulkan/radv_pipeline_rt.c b/src/amd/vulkan/radv_pipeline_rt.c
index 4cea3109655..5fbd2f3237c 100644
--- a/src/amd/vulkan/radv_pipeline_rt.c
+++ b/src/amd/vulkan/radv_pipeline_rt.c
@@ -2089,6 +2089,7 @@ create_rt_shader(struct radv_device *device, const VkRayTracingPipelineCreateInf
    memset(&key, 0, sizeof(key));
 
    nir_builder b = nir_builder_init_simple_shader(MESA_SHADER_COMPUTE, NULL, "rt_combined");
+   b.shader->info.internal = false;
 
    b.shader->info.workgroup_size[0] = 8;
    b.shader->info.workgroup_size[1] = device->physical_device->rt_wave_size == 64 ? 8 : 4;
diff --git a/src/compiler/nir/nir_builder.c b/src/compiler/nir/nir_builder.c
index c7d3348b86b..922807bc3ff 100644
--- a/src/compiler/nir/nir_builder.c
+++ b/src/compiler/nir/nir_builder.c
@@ -56,6 +56,9 @@ nir_builder_init_simple_shader(gl_shader_stage stage,
    b.impl = nir_function_impl_create(func);
    b.cursor = nir_after_cf_list(&b.impl->body);
 
+   /* Simple shaders are typically internal, e.g. blit shaders */
+   b.shader->info.internal = true;
+
    return b;
 }
 
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c
index 9c5a1ad8af8..0aa045e09b6 100644
--- a/src/gallium/auxiliary/nir/tgsi_to_nir.c
+++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c
@@ -2324,6 +2324,7 @@ ttn_compile_init(const void *tgsi_tokens,
    s->info.num_ubos = util_last_bit(scan.const_buffers_declared >> 1);
    s->info.num_images = util_last_bit(scan.images_declared);
    s->info.num_textures = util_last_bit(scan.samplers_declared);
+   s->info.internal = false;
 
    for (unsigned i = 0; i < TGSI_PROPERTY_COUNT; i++) {
       unsigned value = scan.properties[i];
diff --git a/src/mesa/program/prog_to_nir.c b/src/mesa/program/prog_to_nir.c
index 82381065057..cf5c5b1be2e 100644
--- a/src/mesa/program/prog_to_nir.c
+++ b/src/mesa/program/prog_to_nir.c
@@ -1025,6 +1025,7 @@ prog_to_nir(const struct gl_program *prog,
    s->info.cull_distance_array_size = 0;
    s->info.separate_shader = false;
    s->info.io_lowered = false;
+   s->info.internal = false;
 
 fail:
    if (c->error) {
diff --git a/src/mesa/state_tracker/st_atifs_to_nir.c b/src/mesa/state_tracker/st_atifs_to_nir.c
index 6da3f5604d2..feba0975deb 100644
--- a/src/mesa/state_tracker/st_atifs_to_nir.c
+++ b/src/mesa/state_tracker/st_atifs_to_nir.c
@@ -459,6 +459,7 @@ st_translate_atifs_program(struct ati_fragment_shader *atifs,
 
    nir_shader *s = t->b->shader;
    s->info.name = ralloc_asprintf(s, "ATIFS%d", program->Id);
+   s->info.internal = false;
 
    t->fragcolor = nir_variable_create(b.shader, nir_var_shader_out,
                                       glsl_vec4_type(), "gl_FragColor");



More information about the mesa-commit mailing list