st/mesa: add geometry shader ubo support
This just adds the missing bits so the ubo tests don't crash. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -66,6 +66,7 @@ static const struct st_tracked_state *atoms[] =
|
|||||||
&st_update_fs_constants,
|
&st_update_fs_constants,
|
||||||
&st_bind_vs_ubos,
|
&st_bind_vs_ubos,
|
||||||
&st_bind_fs_ubos,
|
&st_bind_fs_ubos,
|
||||||
|
&st_bind_gs_ubos,
|
||||||
&st_update_pixel_transfer,
|
&st_update_pixel_transfer,
|
||||||
|
|
||||||
/* this must be done after the vertex program update */
|
/* this must be done after the vertex program update */
|
||||||
|
@@ -69,6 +69,7 @@ extern const struct st_tracked_state st_update_gs_constants;
|
|||||||
extern const struct st_tracked_state st_update_vs_constants;
|
extern const struct st_tracked_state st_update_vs_constants;
|
||||||
extern const struct st_tracked_state st_bind_fs_ubos;
|
extern const struct st_tracked_state st_bind_fs_ubos;
|
||||||
extern const struct st_tracked_state st_bind_vs_ubos;
|
extern const struct st_tracked_state st_bind_vs_ubos;
|
||||||
|
extern const struct st_tracked_state st_bind_gs_ubos;
|
||||||
extern const struct st_tracked_state st_update_pixel_transfer;
|
extern const struct st_tracked_state st_update_pixel_transfer;
|
||||||
|
|
||||||
|
|
||||||
|
@@ -254,4 +254,21 @@ const struct st_tracked_state st_bind_fs_ubos = {
|
|||||||
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
|
||||||
|
};
|
||||||
|
Reference in New Issue
Block a user