[PATCH] wined3d: Don't accept WINED3DFMT_NULL

Stefan Dösinger stefandoesinger at gmail.com
Sat May 21 09:17:44 CDT 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256



Hi,

Thanks for catching this bug. You'll have to submit your patch with your real name, and as Aaryaman stated, a signed off line.

Am 2016-05-21 um 10:46 schrieb contrib at maxqia.com:
> -    if (!surface)
> +    if (!surface || surface->container->resource.format->id == WINED3DFMT_NULL)
>      {
>          key->objects[idx].object = 0;
>          key->objects[idx].target = 0;
My sense is that a D3DFMT_NULL texture should hever have a GL texture allocated, so going through the final else path should be ok - surface_get_texture_name returns 0, and context_attach_surface_fbo ignores the other fields if object is 0. Can you check if object is != 0 in the case where it fails, and see where the value comes from? I can imagine that the game manually calls PreLoad on a NULL texture as a possible cause. In our draw and clear code we're skipping the GL texture allocation for NULL resources.

If the GL texture is not 0 I expect that you get a GL error before context_set_fbo_key_for_surface is run. If it is indeed 0 and something goes wrong at a later point then my reasoning above must be wrong in some way.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXQG4IAAoJEN0/YqbEcdMwQOQP/20p3/P+Ej25ABqMh83F9l1/
OlhCUM3BdjYxYaZacopDInmudVALgTLaQe28dlKMw181XSqQ1op9acwHXSvXkNKM
ZyvNIsqtLxenX37ZWu0I22xqV+DFU07D4TbzrQMAlgMd9XUK2713PhNVKRuYSLpS
LazcTMldRoiHOxrJF7spbAr0Nn2JPGwHV/4NA0baQdIycnVQqztFQHPmdRVSP/eO
9zOacv0AKDaPt3GXgJV0+S7QuDW9EEsXI6nkytDJpazBnfSrJRCVQIGhPiokf9ik
dlFkwYKuZe/fSTgSfyxyB0IhQoaOsfM4LTSJymQpneADRLhbmPORORMdzFMW/GrN
qKPgK28U2oES3u3YF6u5/2YgfrSUvJvvqPe8077Tyl60uG5W7lBWeMQ4HUDaDHgW
vWcDbvX1vYh+BG5zIvvVzGvmRKoKYnnEj65iqGqpi/vcJMz2f4ff/vmAiT1y23Hl
0Y50ZUxTWXpUVi4uzoQlKgpmXbny2je0P2K12zbA13J3kJ/LxoHqefm1RW9VJ1w4
VxYD94lbk4zchO0AQwbLK83b7f8QoTZH2quqyzbgyFoAynXv0RDhQ2ZjtRN66Jh+
HmFOprGcCEmOnFs9c0JS8c9MSBVc8g1i6XmnnnccO3wyaw7vrNQbNmnqPRhkpPEV
ELMYspnFGK8apZ7633Dq
=QeKV
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list