On Mon, Feb 15, 2016 at 4:44 PM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > When the number of uniform blocks is less than 12, > ARB_uniform_buffer_object can't be enabled and the maximum GL version > is not even 3.1... > > This fixes a regression introduced in 7c79c1e (st/mesa: add compute > shader state) if the maximum number of uniform blocks allowed for > compute shaders is less than 12. This happens on Kepler but this might > also affect other Gallium drivers. > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > Reported-by: Tobias Klausmann <tobias.johannes.klausm...@mni.thm.de> > Tested-by: Tobias Klausmann <tobias.johannes.klausm...@mni.thm.de>
Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > --- > src/mesa/state_tracker/st_extensions.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/src/mesa/state_tracker/st_extensions.c > b/src/mesa/state_tracker/st_extensions.c > index bdfbded..2f5d3f7 100644 > --- a/src/mesa/state_tracker/st_extensions.c > +++ b/src/mesa/state_tracker/st_extensions.c > @@ -75,6 +75,7 @@ static int _clamp(int a, int min, int max) > void st_init_limits(struct pipe_screen *screen, > struct gl_constants *c, struct gl_extensions *extensions) > { > + int supported_irs; > unsigned sh; > boolean can_ubo = TRUE; > > @@ -177,6 +178,13 @@ void st_init_limits(struct pipe_screen *screen, > case PIPE_SHADER_COMPUTE: > pc = &c->Program[MESA_SHADER_COMPUTE]; > options = &c->ShaderCompilerOptions[MESA_SHADER_COMPUTE]; > + > + if (!screen->get_param(screen, PIPE_CAP_COMPUTE)) > + continue; > + supported_irs = > + screen->get_shader_param(screen, sh, > PIPE_SHADER_CAP_SUPPORTED_IRS); > + if (!(supported_irs & (1 << PIPE_SHADER_IR_TGSI))) > + continue; > break; > default: > assert(0); > -- > 2.6.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev