summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-11-09 14:56:08 +1100
committerTimothy Arceri <[email protected]>2016-12-02 13:54:47 +1100
commitab8c01386ac1c832f3143f57091ed5cf9725c151 (patch)
tree00ed2981f5dbe62cedb7c1fc7b51a59966036bca /src/mesa
parent534917495dca07bb63dbec49450c706fce36f176 (diff)
st/mesa/glsl: move Version to gl_shader_program_data
This is mostly just used during linking however the st uses it when updating textures. In order to store gl_program in the CurrentProgram array rather than gl_shader_program we need to move this field to the shared gl_shader_program_data struct. Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/main/mtypes.h3
-rw-r--r--src/mesa/main/shaderapi.c2
-rw-r--r--src/mesa/state_tracker/st_atom_texture.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 250877dd6b6..459725b029c 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2653,6 +2653,8 @@ struct gl_shader_program_data
GLboolean Validated;
GLchar *InfoLog;
+ unsigned Version; /**< GLSL version used for linking */
+
/* Mask of stages this program was linked against */
unsigned linked_stages;
};
@@ -2827,7 +2829,6 @@ struct gl_shader_program
GLboolean _Used; /**< Ever used for drawing? */
GLboolean SamplersValidated; /**< Samplers validated against texture units? */
- unsigned Version; /**< GLSL version used for linking */
bool IsES; /**< True if this program uses GLSL ES */
/**
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 83ee0d4ca7d..92bbc743051 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -1098,7 +1098,7 @@ _mesa_link_program(struct gl_context *ctx, struct gl_shader_program *shProg)
if (file) {
fprintf(file, "[require]\nGLSL%s >= %u.%02u\n",
shProg->IsES ? " ES" : "",
- shProg->Version / 100, shProg->Version % 100);
+ shProg->data->Version / 100, shProg->data->Version % 100);
if (shProg->SeparateShader)
fprintf(file, "GL_ARB_separate_shader_objects\nSSO ENABLED\n");
fprintf(file, "\n");
diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c
index a1b1b889554..5fe042b37ab 100644
--- a/src/mesa/state_tracker/st_atom_texture.c
+++ b/src/mesa/state_tracker/st_atom_texture.c
@@ -113,7 +113,7 @@ update_textures(struct st_context *st,
GLuint unit;
struct gl_shader_program *shader =
st->ctx->_Shader->CurrentProgram[mesa_shader];
- unsigned glsl_version = shader ? shader->Version : 0;
+ unsigned glsl_version = shader ? shader->data->Version : 0;
enum pipe_shader_type shader_stage = st_shader_stage_to_ptarget(mesa_shader);
if (samplers_used == 0x0 && old_max == 0)