[Mesa-dev] [PATCH 7/7] st/mesa: enable GL image extensions when backend supports them
Marek Olšák
maraeo at gmail.com
Tue Feb 2 19:08:19 UTC 2016
Patches 1-5, 7:
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Sun, Jan 31, 2016 at 2:55 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> This enables ARB_shader_image_load_store and ARB_shader_image_size when
> the backend claims support for these. It will also implicitly enable the
> image component of ARB_shader_texture_image_samples.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
> src/mesa/state_tracker/st_extensions.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index d066784..f0fee88 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -223,6 +223,9 @@ void st_init_limits(struct pipe_screen *screen,
> screen, sh, PIPE_SHADER_CAP_MAX_SHADER_BUFFERS) / 2;
> pc->MaxShaderStorageBlocks = pc->MaxAtomicBuffers;
>
> + pc->MaxImageUniforms = screen->get_shader_param(
> + screen, sh, PIPE_SHADER_CAP_MAX_SHADER_IMAGES);
> +
> /* Gallium doesn't really care about local vs. env parameters so use the
> * same limits.
> */
> @@ -363,6 +366,19 @@ void st_init_limits(struct pipe_screen *screen,
> c->MaxShaderStorageBlockSize = 1 << 27;
> extensions->ARB_shader_storage_buffer_object = GL_TRUE;
> }
> +
> + c->MaxCombinedImageUniforms =
> + c->Program[MESA_SHADER_VERTEX].MaxImageUniforms +
> + c->Program[MESA_SHADER_TESS_CTRL].MaxImageUniforms +
> + c->Program[MESA_SHADER_TESS_EVAL].MaxImageUniforms +
> + c->Program[MESA_SHADER_GEOMETRY].MaxImageUniforms +
> + c->Program[MESA_SHADER_FRAGMENT].MaxImageUniforms;
> + c->MaxImageUnits = MAX_IMAGE_UNITS;
> + c->MaxImageSamples = 0; /* XXX */
> + if (c->MaxCombinedImageUniforms) {
> + extensions->ARB_shader_image_load_store = GL_TRUE;
> + extensions->ARB_shader_image_size = GL_TRUE;
> + }
> }
>
>
> --
> 2.4.10
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list