aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_atom_constbuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_atom_constbuf.c')
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_constbuf.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_atom_constbuf.c b/mesalib/src/mesa/state_tracker/st_atom_constbuf.c
index 723ab561c..f3c457625 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_constbuf.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_constbuf.c
@@ -254,4 +254,21 @@ const struct st_tracked_state st_bind_fs_ubos = {
bind_fs_ubos
};
+static void bind_gs_ubos(struct st_context *st)
+{
+ struct gl_shader_program *prog = st->ctx->Shader.CurrentGeometryProgram;
+
+ if (!prog)
+ return;
+
+ st_bind_ubos(st, prog->_LinkedShaders[MESA_SHADER_GEOMETRY], PIPE_SHADER_GEOMETRY);
+}
+const struct st_tracked_state st_bind_gs_ubos = {
+ "st_bind_gs_ubos",
+ {
+ 0,
+ ST_NEW_GEOMETRY_PROGRAM | ST_NEW_UNIFORM_BUFFER,
+ },
+ bind_gs_ubos
+};