summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2015-10-05 16:54:36 -0700
committerJason Ekstrand <[email protected]>2015-10-19 08:45:14 -0700
commit5d4bc5ec1339fcdafae957e3473f3c2c9931bb23 (patch)
tree96565f2f66a18e5fb4a1345f4097d7efd56ac12c
parente00314bc57a59b3f816daba6249e7b7157761f86 (diff)
nir: Add a label to nir_shader_info
Reviewed-by: Topi Pohjolainen <[email protected]>
-rw-r--r--src/glsl/nir/glsl_to_nir.cpp2
-rw-r--r--src/glsl/nir/nir.h3
-rw-r--r--src/glsl/nir/nir_sweep.c2
3 files changed, 7 insertions, 0 deletions
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index cf5bb9360c8..edc6f5bd9b4 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 c867e6d9f18..fb8d59038d8 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 b6ce43b5224..5a22f509f50 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);