[Mesa-dev] [PATCH v2 5/5] i965: Enabled the OES_copy_image extension on Gen 7 GPUs

Nanley Chery nanleychery at gmail.com
Fri Feb 8 00:55:31 UTC 2019


On Thu, Feb 07, 2019 at 07:17:32PM +0200, Eleni Maria Stea wrote:
> On Thu, 7 Feb 2019 11:18:59 -0500
> Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> 
> > On Thu, Feb 7, 2019 at 2:49 AM Eleni Maria Stea <estea at igalia.com>
> > wrote:
> > >
> > > On Wed, 6 Feb 2019 12:12:27 -0800
> > > Nanley Chery <nanleychery at gmail.com> wrote:
> > >  
> > > > > +       * For now, we can't enable OES_texture_view on Gen 7
> > > > > because of
> > > > > +       * some piglit failures coming from
> > > > > +       * piglit/tests/spec/arb_texture_view/rendering-formats.c
> > > > > that need
> > > > > +       * investigation.
> > > > >         */  
> > > >
> > > > What kind of failures are you seeing? I'd imagine texture views to
> > > > work with this version of your series.
> > > >  
> > >
> > > Hi Nanley,
> > >
> > > If you run the piglit test: arb_texture_view-rendering-format, and
> > > grep for failures on HSW:
> > >
> > > PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_R32F" : "fail"}}
> > > PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16F" : "fail"}}
> > > PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16I" : "fail"}}
> > > PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16_SNORM" : "fail"}}
> > > PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RGBA8I" : "fail"}}
> > > PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RGBA8_SNORM" :
> > > "fail"}}
> > >
> > > I remember seeing similar errors on Ivy too. They must be
> > > irrelevant to the ETC support but as this test passes on BDW where
> > > the extension is enabled, I didn't enable it on Gen 7 for the
> > > moment. I think I had discussed about these failures with Kenneth
> > > before I disabled them, but I didn't investigated them further
> > > after that.  
> > 
> > Do you also see the failures with desktop GL (and ARB_texture_view)?
> > If not, that'd be very surprising.
> > 
> > Note that the piglit test arb_texture_view-rendering-formats is the
> > desktop GL test. arb_texture_view-rendering-formats_gles3 is the ES
> > version.
> > 

Good point.

> >   -ilia
> > 
> 
> Hi Ilia,
> 
> I just checked on HSW and IVY with my final patches (sent a few minutes
> before your reply) and:
> 
> HSW:
> ----
> extension disabled: the desktop test passes but we receive the following
> error several times:
> 
> User Error: GL_INVALID_OPERATION in glTextureView(internalformat X not
> compatible with origtexture Y) in each subtest.
> 
> extension enabled: I see the same error but now both the desktop and
> gles versions pass (which wasn't the case when I checked last week with
> my previous patches)
> 
> I could probably enable it now on gen >= 75, if you and Nanley (CC-ed)
> are OK with this decision. What do you think?

If I execute the following on my HSW:

$ MESA_EXTENSION_OVERRIDE=GL_OES_texture_view \
  ./bin/arb_texture_view-rendering-formats_gles3 | grep fail

I still get the errors you mentioned above: 

PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_R32F" : "fail"}}
PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16F" : "fail"}}
PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16I" : "fail"}}
PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16_SNORM" : "fail"}}
PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RGBA8I" : "fail"}}
PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RGBA8_SNORM" : "fail"}}

This is with a mesa that doesn't have your patches applied, but that
shouldn't matter with the formats listed above.

If I ran the test above correctly, I think we should leave it disabled.

-Nanley

> 
> on Ivy:
> -------
> extension disabled: the desktop version of the test
> fails with the failures below (and the gles is skipped) 
> 
> extension enabled: both the desktop and the gles versions
> fail and the failures are the same (see below)
> 
> PIGLIT: {"subtest": {"clear GL_RGBA16_SNORM as GL_RG32F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA16_SNORM as GL_RG32UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA16_SNORM as GL_RG32I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA16_SNORM as GL_RGBA16F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA16_SNORM as GL_RGBA16UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA16_SNORM as GL_RGBA16" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB16_SNORM as GL_RGB16F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB16_SNORM as GL_RGB16" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_R32F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_R32UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_R32I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RG16F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RG16UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RG16" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RGBA8UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RGBA8I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RGBA8" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RGBA8_SNORM" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RGB10_A2UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG16_SNORM as GL_RGB10_A2" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8 as GL_R32F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_R32F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_R32UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_R32I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RG16F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RG16UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RG16I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RG16" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RG16_SNORM" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RGBA8UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RGBA8" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RGB10_A2UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGBA8_SNORM as GL_RGB10_A2" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_R32F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RG16_SNORM" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RGBA8I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB10_A2 as GL_RGBA8_SNORM" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RGB8_SNORM as GL_RGB8" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R16_SNORM as GL_R16F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R16_SNORM as GL_R16UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R16_SNORM as GL_R16" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R16_SNORM as GL_RG8UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R16_SNORM as GL_RG8I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R16_SNORM as GL_RG8" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R16_SNORM as GL_RG8_SNORM" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG8_SNORM as GL_R16F" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG8_SNORM as GL_R16UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG8_SNORM as GL_R16I" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG8_SNORM as GL_R16" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG8_SNORM as GL_R16_SNORM" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG8_SNORM as GL_RG8UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_RG8_SNORM as GL_RG8" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R8_SNORM as GL_R8UI" : "fail"}}
> PIGLIT: {"subtest": {"clear GL_R8_SNORM as GL_R8" : "fail"}}
> PIGLIT: {"result": "fail" }
> 
> I think that I'd rather keep it disabled on Ivy, if you agree.
> 
> Sorry for the long paste, I hope the output helps,
> Eleni


More information about the mesa-dev mailing list