Thanks! From discussion with Dave re r600 needs, it sounds like we need to throw a "writable" property into pipe_image_view, and I need to do a proper job of setting the WR flag on the image in patch 6. I'll do those as add-on patches.
Did you leave patch 6 unreviewed because you had issues with it, or because it was long and touched glsl_to_tgsi? On Tue, Feb 2, 2016 at 2:08 PM, Marek Olšák <mar...@gmail.com> wrote: > Patches 1-5, 7: > > Reviewed-by: Marek Olšák <marek.ol...@amd.com> > > Marek > > On Sun, Jan 31, 2016 at 2:55 AM, Ilia Mirkin <imir...@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 <imir...@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@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