Francisco Jerez <curroje...@riseup.net> writes: > In order to make sure we use the same value wherever it's needed. > --- > tests/spec/arb_shader_image_load_store/image.c | 34 > ++++++++++++++++---------- > 1 file changed, 21 insertions(+), 13 deletions(-) > > diff --git a/tests/spec/arb_shader_image_load_store/image.c > b/tests/spec/arb_shader_image_load_store/image.c > index 5c3629b..81c1e81 100644 > --- a/tests/spec/arb_shader_image_load_store/image.c > +++ b/tests/spec/arb_shader_image_load_store/image.c > @@ -654,6 +654,19 @@ get_image_stage(GLenum s) > return NULL; > } > > +/** > + * Get the number of images internally required by the framework for a > + * pipeline with the given set of stages. > + */ > +static int > +num_reserved_images(GLbitfield stages) > +{ > + /* One image uniform is reserved in the compute stage for the grid > + * framework to read back the result of the program. > + */ > + return (stages & GL_COMPUTE_SHADER_BIT ? 1 : 0);
I noticed I had the indentation mode set wrong for this file, fixed locally. > +} > + > unsigned > image_stage_max_images(const struct image_stage_info *stage) > { > @@ -662,40 +675,35 @@ image_stage_max_images(const struct image_stage_info > *stage) > switch (stage->stage) { > case GL_FRAGMENT_SHADER: > glGetIntegerv(GL_MAX_FRAGMENT_IMAGE_UNIFORMS, &n); > - return n; > + break; > > case GL_VERTEX_SHADER: > glGetIntegerv(GL_MAX_VERTEX_IMAGE_UNIFORMS, &n); > - return n; > + break; > > case GL_GEOMETRY_SHADER: > if (piglit_get_gl_version() >= 32) > glGetIntegerv(GL_MAX_GEOMETRY_IMAGE_UNIFORMS, &n); > - return n; > + break; > > case GL_TESS_CONTROL_SHADER: > if > (piglit_is_extension_supported("GL_ARB_tessellation_shader")) > glGetIntegerv(GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS, > &n); > - return n; > + break; > > case GL_TESS_EVALUATION_SHADER: > if > (piglit_is_extension_supported("GL_ARB_tessellation_shader")) > glGetIntegerv(GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS, > &n); > - return n; > + break; > > case GL_COMPUTE_SHADER: > if (piglit_is_extension_supported("GL_ARB_compute_shader")) > glGetIntegerv(GL_MAX_COMPUTE_IMAGE_UNIFORMS, &n); > - /* One image uniform is reserved in the compute stage > - * for the grid framework to read back the result of > - * the program. > - */ > - return MAX2(0, n - 1); > - > - default: > - return 0; > + break; > } > + > + return MAX2(0, n - num_reserved_images(stage->bit)); > } > > unsigned > -- > 2.7.0 > > _______________________________________________ > Piglit mailing list > Piglit@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/piglit
signature.asc
Description: PGP signature
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit