summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-10-31 19:57:57 +1100
committerTimothy Arceri <[email protected]>2016-12-30 10:57:15 +1100
commit0de6f6223ab917ec532e3fe3afd14f8f5cd3b87b (patch)
tree7ca0fa9959197336f3cb88a2e2991ad2ee76115a
parent88b41239f98c2d9b3e6cf9185b74876bb77362eb (diff)
mesa/compiler: add stage to shader_info
This will allow us to simplify the current program logic for SSO. Also since we aim to detach shader_info from nir_shader this will come in handy avoiding passing nir_shader around just to keep track of the stage we are dealing with. V2: set stage for arb asm programs also. Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r--src/compiler/shader_info.h3
-rw-r--r--src/mesa/program/program.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
index 768f0531bc7..6c05f3807ee 100644
--- a/src/compiler/shader_info.h
+++ b/src/compiler/shader_info.h
@@ -32,6 +32,9 @@ extern "C" {
#endif
typedef struct shader_info {
+ /** The shader stage, such as MESA_SHADER_VERTEX. */
+ gl_shader_stage stage;
+
const char *name;
/* Descriptive name provided by the client; may be NULL */
diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c
index e5eb06cb4b7..27ae1c6d0ee 100644
--- a/src/mesa/program/program.c
+++ b/src/mesa/program/program.c
@@ -190,6 +190,7 @@ _mesa_init_gl_program(struct gl_program *prog, GLenum target, GLuint id)
prog->Target = target;
prog->RefCount = 1;
prog->Format = GL_PROGRAM_FORMAT_ASCII_ARB;
+ prog->info.stage = _mesa_program_enum_to_shader_stage(target);
/* default mapping from samplers to texture units */
for (i = 0; i < MAX_SAMPLERS; i++)