Re: [PATCH 2/5] ddraw: check if surface is a mipmap sublevel through caps in ddraw_surface7_GetPriority
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Am 2015-11-03 um 11:45 schrieb Riccardo Bortolato:
- else if (!(surface->surface_desc.ddsCaps.dwCaps2 & managed) || !surface->wined3d_texture) + else if (!(surface->surface_desc.ddsCaps.dwCaps2 & managed) || (surface->surface_desc.ddsCaps.dwCaps2 & DDSCAPS2_MIPMAPSUBLEVEL)) This will show different behavior on level 0 Y, Z and negative X cube map surfaces. (Positive X is the actual ddraw root surface). However, I vagely remember that native ddraw also misbehaved here, so the new behior is probably correct. I'll check with my SetColorKey tests and report back.
Cheers, Stefan -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWOKFcAAoJEN0/YqbEcdMw+58P/2gMcrKJWf0CAQXZ4rATJiwt 5MzyMISpifgcKjmV/YdYz/cJG98QcOCUgOqHCHzBi2iXfDZth1y6PX9qMdR3wT5q OzT++ZiJa+JVYUjn5eNbpV7VUXxghqCS6yyD+je9wkgGAEWIgJaN5txiyXx91qAQ 5Pxe0dUHSJDD/sb2e3UTOzQoQsuE+vQWbho82Los5IJTs2Bl3fOqmwuDIpGdteYM TRsMkWLY7UUeb4XrSjTmDw37eHsWXoEAH2RC/HXTbbY+NDzW5a948Uk0YgHtEDSP sUbiYVJaIw2eM67dKC1mF+g9H3hsNtKw8EhqyUUEoFjl4bq9O8w4K9QaHPEXULEQ dIuUq/tOWGimPIGjMYQqS+aWB28L4H0SER0zC8uX1x/vO8W3+lmLoXgKp2p85K3g AJZmxO6lEZFEHvhDuIUlfWoSOOuc+rlHSDsgII7Qhy3V2wPrI01NNyUTfeLx3z2r Q35tSsi/j4me9tWgcNth0TdYstE7/aDej8bWv7MXj2xo+p3v6y6ppGnadjzHqNsu skKcgQpQIHt+2F4fPX3/xwj/CpvK7i8UwTC5/Zp+nGI3qxdCD1lNNTBQJA8Ajl9Y 8yWOpvR6tjhMc898qBOKp4opXbqW8x2hyIDGF/binGlHlKa2vOfsCl5JY0y4TzpL eDENyDHAisigjU/8qZYJ =ejR9 -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Am 2015-11-03 um 12:58 schrieb Stefan Dösinger:
This will show different behavior on level 0 Y, Z and negative X cube map surfaces. (Positive X is the actual ddraw root surface). However, I vagely remember that native ddraw also misbehaved here, so the new behior is probably correct. I'll check with my SetColorKey tests and report back. The behavior of your new code is correct, it matches that of windows. You can set color keys (and presumably palettes, etc) on cube map faces that aren't the root surface and aren't sublevels.
Feel free to use the attached test. It needs to be ported to ddraw4.c and needs capability checks before creating a cube texture. Cheers, Stefan -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWOfo/AAoJEN0/YqbEcdMwMyYP/2Z7eH23h1V5S5K9eKid+I0A z4cNoCHZbt74/jBcQ7HaN8NvMYxG0Oh3E6KvF76ru/X3ccFt9mtmH0zgnDc63Eh5 /fyEMReK6AbjxM7L+3l07jpDoASydx+8Gnbr1xLj5nlMBeK70eKOejTY57+m3RHz zEJChDCO6B+1Era2QEFULCx/CSzLwdsujyxPeceT3gEpKCgQQBJ7mNE9/inwcwQf uDdzoaTAfCoNHmzgtzmyF7Sy2yVKBSNPpw41z9ETfcqg736L+x0/vKMDSWuituL3 RxCWVG9CPOe4esrV/ECdLzQB1dllFRrr45KZ7L93SOs6YpFNrZ3bDczEMtNjvoqV yr4HWBYOuwlGrvHbqI7W3Nvg/6AGThZJkPsM0cRHN8uB2eK0GU7mNhjpzaQ+2FED e3bBc/HCFq32xo901ABxPKOzGCrqLYs5rN0S3bI4ysirXjoi6cdQ5MQS17OjpqKu WvYFcYFVWxzUf3gEeIM1kN8QmEreAbueQCKSj9zJBbrdSfMgO01bxJqK1coI+k0F k2dlYhN7iLE36w1m0cEzVzNWsqJoBJI0F/I3kwHFSXIc60jgUbDAEi9b1Hd8WP8D MlZfSZKBCoQN7ZCHBE+uS1ssa/DsgD85HB5/0YkM9lM9+IXpD6Iyt4SuDCcM+RfH iFrWyfuYtUvY07LPE1wX =yh7m -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Am 2015-11-04 um 13:29 schrieb Stefan Dösinger:
The behavior of your new code is correct, it matches that of windows. You can set color keys (and presumably palettes, etc) on cube map faces that aren't the root surface and aren't sublevels. Btw, I don't think we care about how two conflicting color keys etc on a cube texture behave in draws or blits. I guess that everything except positive X is ignored, or maybe used in blits only. Or it causes a bluescreen, that wouldn't be the first time... -----BEGIN PGP SIGNATURE----- Version: GnuPG v2
iQIcBAEBCAAGBQJWOfrWAAoJEN0/YqbEcdMwMdwP/R3/hpg+Sfcg0f2HOrTo9kvL f4m76PKzrzeUoU+ZqbQl0f3SytCZnZ1iaqqZ6IY9+PB0apnqC0yguff0AIxT4wQ2 PsmLbsF4RDWcCpETUe+11Cy8sOV0DlIzd11GYILT+oxpOUXhG5olqBbxe0HeFDH7 WjgQiRyBg8lYuBEnMB92RkUzBijUivHp2OBmiYjIV9Sn9hapSSqA9p80p8dKv1J3 kJEGf00RlIgU+b8qpSuAde+IkCbKG5dhuC6lzdtK7uR16cmDd1Jvtc4aG3c8oJId nOR5UlCNX91KIzi96g8R/zxImV6tgPiLa/aoPCfgDBIuXGWnyocvTqUkAhoakwBH RM8gWW6Gks075FtQQPf3H6hsVdkAOet6fOUwTqIhukwhcqFQ4C2owC+WKbHG0by7 J530g/oijFXG2wGvb8QM9n/WfDnpzvnN0xZmpxYvwpLMyqVPKdeP4upnWUTd0htU hRIO6fzKvXm8Qox20DM+Xyc9/U26BKUEI9sZ0/gvI08ItOfv1z0ZDMNd0qccqzBz 0DXpqAQ3378LPADs7DBvej9pg4GVld1ZctlcxtdGt2Crkg7jgEYxDmpktIfsEc9w FfJGHuZlwu0rfcJn9wTtR5q7gQkBKhLtB8m7WqifgHtrOHgOXBKO4U/pvpwmauhj xFfMZVAyZa9F/fWhlPyv =M0FI -----END PGP SIGNATURE-----
Regarding ddraw4: current code isn't checking for mipmap sublevels, so the test doesn't apply there? I guess eventually it would be for a later patch. Ciao, Riccardo 2015-11-04 13:29 GMT+01:00 Stefan Dösinger <stefandoesinger(a)gmail.com>:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2015-11-03 um 12:58 schrieb Stefan Dösinger:
This will show different behavior on level 0 Y, Z and negative X cube map surfaces. (Positive X is the actual ddraw root surface). However, I vagely remember that native ddraw also misbehaved here, so the new behior is probably correct. I'll check with my SetColorKey tests and report back. The behavior of your new code is correct, it matches that of windows. You can set color keys (and presumably palettes, etc) on cube map faces that aren't the root surface and aren't sublevels.
Feel free to use the attached test. It needs to be ported to ddraw4.c and needs capability checks before creating a cube texture.
Cheers, Stefan -----BEGIN PGP SIGNATURE----- Version: GnuPG v2
iQIcBAEBCAAGBQJWOfo/AAoJEN0/YqbEcdMwMyYP/2Z7eH23h1V5S5K9eKid+I0A z4cNoCHZbt74/jBcQ7HaN8NvMYxG0Oh3E6KvF76ru/X3ccFt9mtmH0zgnDc63Eh5 /fyEMReK6AbjxM7L+3l07jpDoASydx+8Gnbr1xLj5nlMBeK70eKOejTY57+m3RHz zEJChDCO6B+1Era2QEFULCx/CSzLwdsujyxPeceT3gEpKCgQQBJ7mNE9/inwcwQf uDdzoaTAfCoNHmzgtzmyF7Sy2yVKBSNPpw41z9ETfcqg736L+x0/vKMDSWuituL3 RxCWVG9CPOe4esrV/ECdLzQB1dllFRrr45KZ7L93SOs6YpFNrZ3bDczEMtNjvoqV yr4HWBYOuwlGrvHbqI7W3Nvg/6AGThZJkPsM0cRHN8uB2eK0GU7mNhjpzaQ+2FED e3bBc/HCFq32xo901ABxPKOzGCrqLYs5rN0S3bI4ysirXjoi6cdQ5MQS17OjpqKu WvYFcYFVWxzUf3gEeIM1kN8QmEreAbueQCKSj9zJBbrdSfMgO01bxJqK1coI+k0F k2dlYhN7iLE36w1m0cEzVzNWsqJoBJI0F/I3kwHFSXIc60jgUbDAEi9b1Hd8WP8D MlZfSZKBCoQN7ZCHBE+uS1ssa/DsgD85HB5/0YkM9lM9+IXpD6Iyt4SuDCcM+RfH iFrWyfuYtUvY07LPE1wX =yh7m -----END PGP SIGNATURE-----
On 4 November 2015 at 19:46, Riccardo Bortolato <rikyz619(a)gmail.com> wrote:
Regarding ddraw4: current code isn't checking for mipmap sublevels, so the test doesn't apply there? I guess eventually it would be for a later patch.
IIRC ddraw4 doesn't have cubemaps.
participants (3)
-
Henri Verbeet -
Riccardo Bortolato -
Stefan Dösinger