Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Sun, Jan 24, 2016 at 10:09 PM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > According to the spec, this also increases the following minimum values: > - MAX_COMBINED_TEXTURE_IMAGE_UNITS 96 (6*16), was 80 > - MAX_UNIFORM_BUFFER_BINDINGS 72 (6*12), was 60 > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > --- > src/mesa/state_tracker/st_extensions.c | 24 ++++++++++++++++++++++-- > 1 file changed, 22 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/state_tracker/st_extensions.c > b/src/mesa/state_tracker/st_extensions.c > index bdb1fa1..2374dcc 100644 > --- a/src/mesa/state_tracker/st_extensions.c > +++ b/src/mesa/state_tracker/st_extensions.c > @@ -278,7 +278,8 @@ void st_init_limits(struct pipe_screen *screen, > c->Program[MESA_SHADER_TESS_CTRL].MaxTextureImageUnits + > c->Program[MESA_SHADER_TESS_EVAL].MaxTextureImageUnits + > c->Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits + > - c->Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits, > + c->Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits + > + c->Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits, > MAX_COMBINED_TEXTURE_IMAGE_UNITS); > > /* This depends on program constants. */ > @@ -338,7 +339,8 @@ void st_init_limits(struct pipe_screen *screen, > c->Program[MESA_SHADER_TESS_CTRL].MaxUniformBlocks + > c->Program[MESA_SHADER_TESS_EVAL].MaxUniformBlocks + > c->Program[MESA_SHADER_GEOMETRY].MaxUniformBlocks + > - c->Program[MESA_SHADER_FRAGMENT].MaxUniformBlocks; > + c->Program[MESA_SHADER_FRAGMENT].MaxUniformBlocks + > + c->Program[MESA_SHADER_COMPUTE].MaxUniformBlocks; > assert(c->MaxCombinedUniformBlocks <= MAX_COMBINED_UNIFORM_BUFFERS); > } > > @@ -1016,4 +1018,22 @@ void st_init_extensions(struct pipe_screen *screen, > if ((ST_DEBUG & DEBUG_GREMEDY) && > screen->get_param(screen, PIPE_CAP_STRING_MARKER)) > extensions->GREMEDY_string_marker = GL_TRUE; > + > + if (extensions->ARB_compute_shader) { > + uint64_t grid_size[3], block_size[3]; > + > + screen->get_compute_param(screen, PIPE_COMPUTE_CAP_MAX_GRID_SIZE, > + grid_size); > + screen->get_compute_param(screen, PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE, > + block_size); > + screen->get_compute_param(screen, > PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK, > + &consts->MaxComputeWorkGroupInvocations); > + screen->get_compute_param(screen, PIPE_COMPUTE_CAP_MAX_LOCAL_SIZE, > + &consts->MaxComputeSharedMemorySize); > + > + for (i = 0; i < 3; i++) { > + consts->MaxComputeWorkGroupCount[i] = grid_size[i]; > + consts->MaxComputeWorkGroupSize[i] = block_size[i]; > + } > + } > } > -- > 2.6.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev