We no longer need anything from gl_linked_shader. --- src/mesa/state_tracker/st_atom_image.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-)
diff --git a/src/mesa/state_tracker/st_atom_image.c b/src/mesa/state_tracker/st_atom_image.c index 2fb37f5..4a6e8c1 100644 --- a/src/mesa/state_tracker/st_atom_image.c +++ b/src/mesa/state_tracker/st_atom_image.c @@ -45,21 +45,21 @@ #include "st_format.h" static void -st_bind_images(struct st_context *st, struct gl_linked_shader *shader, - enum pipe_shader_type shader_type) +st_bind_images(struct st_context *st, struct gl_program *prog, + enum pipe_shader_type shader_type) { unsigned i; struct pipe_image_view images[MAX_IMAGE_UNIFORMS]; struct gl_program_constants *c; - if (!shader || !st->pipe->set_shader_images) + if (!prog || !st->pipe->set_shader_images) return; - c = &st->ctx->Const.Program[shader->Stage]; + c = &st->ctx->Const.Program[prog->info.stage]; - for (i = 0; i < shader->Program->info.num_images; i++) { + for (i = 0; i < prog->info.num_images; i++) { struct gl_image_unit *u = - &st->ctx->ImageUnits[shader->Program->sh.ImageUnits[i]]; + &st->ctx->ImageUnits[prog->sh.ImageUnits[i]]; struct st_texture_object *stObj = st_texture_object(u->TexObj); struct pipe_image_view *img = &images[i]; @@ -119,14 +119,12 @@ st_bind_images(struct st_context *st, struct gl_linked_shader *shader, } } cso_set_shader_images(st->cso_context, shader_type, 0, - shader->Program->info.num_images, images); + prog->info.num_images, images); /* clear out any stale shader images */ - if (shader->Program->info.num_images < c->MaxImageUniforms) + if (prog->info.num_images < c->MaxImageUniforms) cso_set_shader_images( - st->cso_context, shader_type, - shader->Program->info.num_images, - c->MaxImageUniforms - shader->Program->info.num_images, - NULL); + st->cso_context, shader_type, prog->info.num_images, + c->MaxImageUniforms - prog->info.num_images, NULL); } static void bind_vs_images(struct st_context *st) @@ -137,7 +135,7 @@ static void bind_vs_images(struct st_context *st) if (!prog) return; - st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_VERTEX], PIPE_SHADER_VERTEX); + st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_VERTEX]->Program, PIPE_SHADER_VERTEX); } const struct st_tracked_state st_bind_vs_images = { @@ -152,7 +150,7 @@ static void bind_fs_images(struct st_context *st) if (!prog) return; - st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_FRAGMENT], PIPE_SHADER_FRAGMENT); + st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program, PIPE_SHADER_FRAGMENT); } const struct st_tracked_state st_bind_fs_images = { @@ -167,7 +165,7 @@ static void bind_gs_images(struct st_context *st) if (!prog) return; - st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_GEOMETRY], PIPE_SHADER_GEOMETRY); + st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program, PIPE_SHADER_GEOMETRY); } const struct st_tracked_state st_bind_gs_images = { @@ -182,7 +180,7 @@ static void bind_tcs_images(struct st_context *st) if (!prog) return; - st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_TESS_CTRL], PIPE_SHADER_TESS_CTRL); + st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_TESS_CTRL]->Program, PIPE_SHADER_TESS_CTRL); } const struct st_tracked_state st_bind_tcs_images = { @@ -197,7 +195,7 @@ static void bind_tes_images(struct st_context *st) if (!prog) return; - st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_TESS_EVAL], PIPE_SHADER_TESS_EVAL); + st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]->Program, PIPE_SHADER_TESS_EVAL); } const struct st_tracked_state st_bind_tes_images = { @@ -212,7 +210,7 @@ static void bind_cs_images(struct st_context *st) if (!prog) return; - st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_COMPUTE], PIPE_SHADER_COMPUTE); + st_bind_images(st, prog->_LinkedShaders[MESA_SHADER_COMPUTE]->Program, PIPE_SHADER_COMPUTE); } const struct st_tracked_state st_bind_cs_images = { -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev