[Piglit] [PATCH] fbo: add a few quirk-tests for format-emulation
Erik Faye-Lund
erik.faye-lund at collabora.com
Thu Oct 25 10:07:27 UTC 2018
On Wed, 2018-10-24 at 16:32 +0100, Emil Velikov wrote:
> Hi Erik,
>
> A bit of an open question, do we want this test on GLES? If yes, see
> the GLES
> notes below.
>
Right. I think I'm fine with only OpenGL for now, as this is a quirk-
test.
But yeah, it's totally valuable for GLES as well, and as you point
our, should be pretty easy to port there. I'll leave that for the
future for now, though.
> Alternatively, I've only spotted couple small nitpicks.
>
> On Thu, 20 Sep 2018 at 19:19, Erik Faye-Lund
> <erik.faye-lund at collabora.com> wrote:
> >
> > Drivers who implement GL_ALPHA textures by swizzling a GL_R texture
> > needs to be prepared to offer multiple blend-colors, otherwise they
> > will produce the wrong result, because the blend-color will also
> > need per-format swizzling.
> >
> > Similarly, when drivers implement GL_RGB with GL_RGBA and adjust
> > the
> > blend-factors, they need to have separate blend-factors for all
> > framebuffer attachments or the results will be wrong.
> >
> > This reveals a couple of bugs in virgl, where these currently fail.
> >
> > Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
> > ---
> > tests/fbo/CMakeLists.gl.txt | 1 +
> > tests/fbo/fbo-blending-format-quirks.c | 175
> > +++++++++++++++++++++++++
> > tests/opengl.py | 1 +
> > 3 files changed, 177 insertions(+)
> > create mode 100644 tests/fbo/fbo-blending-format-quirks.c
> >
> > diff --git a/tests/fbo/CMakeLists.gl.txt
> > b/tests/fbo/CMakeLists.gl.txt
> > index d594c24d3..1a1a60765 100644
> > --- a/tests/fbo/CMakeLists.gl.txt
> > +++ b/tests/fbo/CMakeLists.gl.txt
> > @@ -29,6 +29,7 @@ piglit_add_executable (fbo-blit fbo-blit.c)
> > piglit_add_executable (fbo-blit-d24s8 fbo-blit-d24s8.c)
> > piglit_add_executable (fbo-blit-stretch fbo-blit-stretch.cpp)
> > piglit_add_executable (fbo-blending-formats fbo-blending-
> > formats.c)
> > +piglit_add_executable (fbo-blending-format-quirks fbo-blending-
> > format-quirks.c)
>
> GLES:
> Add a trivial .gles1.txt and/or gles2.txt file. You can use the
> ext_image_dma_buf_import ones for reference.
>
>
> > piglit_add_executable (fbo-blending-snorm fbo-blending-snorm.c)
> > piglit_add_executable (fbo-colormask-formats fbo-colormask-
> > formats.c)
> > piglit_add_executable (fbo-copypix fbo-copypix.c)
> > diff --git a/tests/fbo/fbo-blending-format-quirks.c
> > b/tests/fbo/fbo-blending-format-quirks.c
> > new file mode 100644
> > index 000000000..f6865d42b
> > --- /dev/null
> > +++ b/tests/fbo/fbo-blending-format-quirks.c
> > +#include "piglit-util-gl.h"
> > +
> > +PIGLIT_GL_TEST_CONFIG_BEGIN
> > +
> > + config.supports_gl_compat_version = 10;
> > +
>
> GLES:
> #ifdef PIGLIT_USE_OPENGL
> config.supports_gl_compat_version = 10;
> #else
> config.supports_gl_es_version = ...
> #endif
>
>
> > +enum piglit_result piglit_display(void)
> > +{
> > + int i;
> > + enum piglit_result result, end_result = PIGLIT_PASS;
> > + bool all_skip = true;
> > +
> > + struct {
>
> static const
>
Fixed, thanks.
> > + const char *name;
> > + GLenum formats[2];
> > + GLenum factors[2];
> > + float expect[2][4];
> > + } cases[] = {
>
>
> > +
> > +void piglit_init(int argc, char **argv)
> > +{
>
> piglit_require_extension("GL_EXT_framebuffer_object");
>
> GLES:
> #ifdef PIGLIT_USE_OPENGL
> piglit_require_extension("GL_EXT_framebuffer_object");
> #else
> piglit_require_extension("GL_OES_framebuffer_object");
> // Or use GLES 2.0 above and drop the extension check
> // Note; the EXT suffix will need need to be changed to OES
> or dropped.
> #endif
>
>
> With the nitpicks, ES is something that can be done when needed.
> Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
OK, cool. Since the only change is adding "static const", perhaps I can
just push out the result as-is?
More information about the Piglit
mailing list