Mesa (master): nir: Add a label to nir_shader_info

Jason Ekstrand jekstrand at kemper.freedesktop.org
Mon Oct 19 17:18:41 UTC 2015


Module: Mesa
Branch: master
Commit: 5d4bc5ec1339fcdafae957e3473f3c2c9931bb23
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d4bc5ec1339fcdafae957e3473f3c2c9931bb23

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Oct  5 16:54:36 2015 -0700

nir: Add a label to nir_shader_info

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

---

 src/glsl/nir/glsl_to_nir.cpp |    2 ++
 src/glsl/nir/nir.h           |    3 +++
 src/glsl/nir/nir_sweep.c     |    2 ++
 3 files changed, 7 insertions(+)

diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index cf5bb93..edc6f5b 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -151,6 +151,8 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
          num_textures = i;
 
    shader->info.name = ralloc_asprintf(shader, "GLSL%d", shader_prog->Name);
+   if (shader_prog->Label)
+      shader->info.label = ralloc_strdup(shader, shader_prog->Label);
    shader->info.num_textures = num_textures;
    shader->info.num_ubos = sh->NumUniformBlocks;
    shader->info.num_abos = shader_prog->NumAtomicBuffers;
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
index c867e6d..fb8d590 100644
--- a/src/glsl/nir/nir.h
+++ b/src/glsl/nir/nir.h
@@ -1460,6 +1460,9 @@ typedef struct nir_shader_compiler_options {
 typedef struct nir_shader_info {
    const char *name;
 
+   /* Descriptive name provided by the client; may be NULL */
+   const char *label;
+
    /* Number of textures used by this shader */
    unsigned num_textures;
    /* Number of uniform buffers used by this shader */
diff --git a/src/glsl/nir/nir_sweep.c b/src/glsl/nir/nir_sweep.c
index b6ce43b..5a22f50 100644
--- a/src/glsl/nir/nir_sweep.c
+++ b/src/glsl/nir/nir_sweep.c
@@ -155,6 +155,8 @@ nir_sweep(nir_shader *nir)
    ralloc_adopt(rubbish, nir);
 
    ralloc_steal(nir, (char *)nir->info.name);
+   if (nir->info.label)
+      ralloc_steal(nir, (char *)nir->info.label);
 
    /* Variables and registers are not dead.  Steal them back. */
    steal_list(nir, nir_variable, &nir->uniforms);




More information about the mesa-commit mailing list