Mesa (master): st/mesa: pass gl_program to st_bind_ubos()
Timothy Arceri
tarceri at kemper.freedesktop.org
Mon Jan 9 04:31:37 UTC 2017
Module: Mesa
Branch: master
Commit: 953e4e4417a7deb1a5bf880dda30adb09378473d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=953e4e4417a7deb1a5bf880dda30adb09378473d
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Nov 9 14:00:22 2016 +1100
st/mesa: pass gl_program to st_bind_ubos()
We no longer need anything from gl_linked_shader.
Reviewed-by: Eric Anholt <eric at anholt.net>
---
src/mesa/state_tracker/st_atom_constbuf.c | 36 +++++++++++++++----------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/src/mesa/state_tracker/st_atom_constbuf.c b/src/mesa/state_tracker/st_atom_constbuf.c
index 45bb885..958b202 100644
--- a/src/mesa/state_tracker/st_atom_constbuf.c
+++ b/src/mesa/state_tracker/st_atom_constbuf.c
@@ -238,21 +238,21 @@ const struct st_tracked_state st_update_cs_constants = {
update_cs_constants /* update */
};
-static void st_bind_ubos(struct st_context *st,
- struct gl_linked_shader *shader,
- unsigned shader_type)
+static void st_bind_ubos(struct st_context *st, struct gl_program *prog,
+ unsigned shader_type)
{
unsigned i;
struct pipe_constant_buffer cb = { 0 };
- if (!shader)
+ if (!prog)
return;
- for (i = 0; i < shader->Program->info.num_ubos; i++) {
+ for (i = 0; i < prog->info.num_ubos; i++) {
struct gl_uniform_buffer_binding *binding;
struct st_buffer_object *st_obj;
- binding = &st->ctx->UniformBufferBindings[shader->Program->sh.UniformBlocks[i]->Binding];
+ binding =
+ &st->ctx->UniformBufferBindings[prog->sh.UniformBlocks[i]->Binding];
st_obj = st_buffer_object(binding->BufferObject);
cb.buffer = st_obj->buffer;
@@ -281,10 +281,10 @@ static void bind_vs_ubos(struct st_context *st)
struct gl_shader_program *prog =
st->ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX];
- if (!prog)
+ if (!prog || !prog->_LinkedShaders[MESA_SHADER_VERTEX])
return;
- st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_VERTEX], PIPE_SHADER_VERTEX);
+ st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_VERTEX]->Program, PIPE_SHADER_VERTEX);
}
const struct st_tracked_state st_bind_vs_ubos = {
@@ -296,10 +296,10 @@ static void bind_fs_ubos(struct st_context *st)
struct gl_shader_program *prog =
st->ctx->_Shader->CurrentProgram[MESA_SHADER_FRAGMENT];
- if (!prog)
+ if (!prog || !prog->_LinkedShaders[MESA_SHADER_FRAGMENT])
return;
- st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_FRAGMENT], PIPE_SHADER_FRAGMENT);
+ st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program, PIPE_SHADER_FRAGMENT);
}
const struct st_tracked_state st_bind_fs_ubos = {
@@ -311,10 +311,10 @@ static void bind_gs_ubos(struct st_context *st)
struct gl_shader_program *prog =
st->ctx->_Shader->CurrentProgram[MESA_SHADER_GEOMETRY];
- if (!prog)
+ if (!prog || !prog->_LinkedShaders[MESA_SHADER_GEOMETRY])
return;
- st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_GEOMETRY], PIPE_SHADER_GEOMETRY);
+ st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program, PIPE_SHADER_GEOMETRY);
}
const struct st_tracked_state st_bind_gs_ubos = {
@@ -326,10 +326,10 @@ static void bind_tcs_ubos(struct st_context *st)
struct gl_shader_program *prog =
st->ctx->_Shader->CurrentProgram[MESA_SHADER_TESS_CTRL];
- if (!prog)
+ if (!prog || !prog->_LinkedShaders[MESA_SHADER_TESS_CTRL])
return;
- st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_TESS_CTRL], PIPE_SHADER_TESS_CTRL);
+ st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_TESS_CTRL]->Program, PIPE_SHADER_TESS_CTRL);
}
const struct st_tracked_state st_bind_tcs_ubos = {
@@ -341,10 +341,10 @@ static void bind_tes_ubos(struct st_context *st)
struct gl_shader_program *prog =
st->ctx->_Shader->CurrentProgram[MESA_SHADER_TESS_EVAL];
- if (!prog)
+ if (!prog || !prog->_LinkedShaders[MESA_SHADER_TESS_EVAL])
return;
- st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_TESS_EVAL], PIPE_SHADER_TESS_EVAL);
+ st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]->Program, PIPE_SHADER_TESS_EVAL);
}
const struct st_tracked_state st_bind_tes_ubos = {
@@ -356,10 +356,10 @@ static void bind_cs_ubos(struct st_context *st)
struct gl_shader_program *prog =
st->ctx->_Shader->CurrentProgram[MESA_SHADER_COMPUTE];
- if (!prog)
+ if (!prog || !prog->_LinkedShaders[MESA_SHADER_COMPUTE])
return;
- st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_COMPUTE],
+ st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_COMPUTE]->Program,
PIPE_SHADER_COMPUTE);
}
More information about the mesa-commit
mailing list