[PATCH 2/7] wined3d: Move srgb checks away from d3dfmt_get_conv.

Diego Nieto Cid dnietoc at gmail.com
Wed Dec 28 18:17:26 CST 2011

On Wed, Dec 28, 2011 at 07:46:09AM +0100, Henri Verbeet wrote:
> On 26 December 2011 05:32, Diego Nieto Cid <dnietoc at gmail.com> wrote:
> > trace:d3d_surface:surface_allocate_surface (0x1a25f0) : Creating surface (target 0xde1)  level 0, d3d format WINED3DFMT_P8_UINT, internal format 0x80e5, width 1024, height 512, gl format 0x1908, gl type=0x1401
> > err:d3d_surface:surface_allocate_surface >>>>>>>>>>>>>>>>> GL_INVALID_VALUE (0x501) from glTexImage2D @ surface.c / 2571
> >
> Does your hardware really support EXT_paletted_texture? That's somewhat unusual.

I've got a rather old NVIDIA video card:

01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000] (rev c1)

On Wed, Dec 28, 2011 at 07:46:09AM +0100, Henri Verbeet wrote:
> > It's located in d3dfmt_get_conv under the WINED3DFMT_P8_UINT case. For
> > some reason only glInternal is updated by the conversion. In any case it
> > didn't matter before the patch as none of the internal values were
> > actually used in case a conversion was applied.
> >
> > Should the three internal values be updated by the conversion now that
> > any of them could be used?
> Probably, yeah. Not just for WINED3DFMT_P8_UINT, but for all the
> formats in d3dfmt_get_conv(). I guess something like the following at
> the end of d3dfmt_get_conv() should work:
> if (*convert != NO_CONVERSION)
> {
>     format->glGammaInternal = format->glInternal;
>     format->rtInternal = format->glInternal;
> }

The HEAD checkout is randomly failing due to

    wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0036), starting debugger...
    X Error of failed request:  GLXBadDrawable
      Major opcode of failed request:  128 (GLX)
      Minor opcode of failed request:  5 (X_GLXMakeCurrent)
      Serial number of failed request:  621
      Current serial number in output stream:  621

But I'll try adding that snippet to a checkout of the version installed on
my system. (I have no idea how to debug the error above :)

More information about the wine-devel mailing list