diff options
author | Timothy Arceri <[email protected]> | 2016-10-31 19:57:57 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2016-12-30 10:57:15 +1100 |
commit | 0de6f6223ab917ec532e3fe3afd14f8f5cd3b87b (patch) | |
tree | 7ca0fa9959197336f3cb88a2e2991ad2ee76115a /src | |
parent | 88b41239f98c2d9b3e6cf9185b74876bb77362eb (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]>
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/shader_info.h | 3 | ||||
-rw-r--r-- | src/mesa/program/program.c | 1 |
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++) |