From 597b5e27fa6d1662e01751aae7fde65896f7c8ef Mon Sep 17 00:00:00 2001 From: Axel Davy Date: Tue, 5 Feb 2019 00:11:46 +0100 Subject: [PATCH] st/nine: Change a few advertised caps Most hw on the native platform advertise these caps this way. D3DCAPS_READ_SCANLINE: We don't really have hardware support for that, but many games don't even check the flag, and expect GetRasterStatus to work, which is why we emulated it with a timer (like wine). So we may as well advertise the cap. D3DCURSORCAPS_LOWRES: I don't know what is the status of this on X11, but I don't know of any dx9 game running at height < 400 either. D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE: The cap should correspond to what the current generation of hw is doing. Signed-off-by: Axel Davy Reviewed-by: Patrick Rudolph --- include/D3D9/d3d9caps.h | 3 +++ src/gallium/state_trackers/nine/adapter9.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/D3D9/d3d9caps.h b/include/D3D9/d3d9caps.h index 0cce5d3f689..70f9919c53d 100644 --- a/include/D3D9/d3d9caps.h +++ b/include/D3D9/d3d9caps.h @@ -26,6 +26,9 @@ #include "d3d9types.h" /* Caps flags */ +#define D3DCAPS_OVERLAY 0x00000800 +#define D3DCAPS_READ_SCANLINE 0x00020000 + #define D3DCAPS2_FULLSCREENGAMMA 0x00020000 #define D3DCAPS2_CANCALIBRATEGAMMA 0x00100000 #define D3DCAPS2_RESERVED 0x02000000 diff --git a/src/gallium/state_trackers/nine/adapter9.c b/src/gallium/state_trackers/nine/adapter9.c index 94a5d8d2aa3..3aa95b93b2f 100644 --- a/src/gallium/state_trackers/nine/adapter9.c +++ b/src/gallium/state_trackers/nine/adapter9.c @@ -545,7 +545,7 @@ NineAdapter9_GetDeviceCaps( struct NineAdapter9 *This, pCaps->AdapterOrdinal = 0; - pCaps->Caps = 0; + pCaps->Caps = D3DCAPS_READ_SCANLINE; pCaps->Caps2 = /* D3DCAPS2_CANMANAGERESOURCE | */ /* D3DCAPS2_CANSHARERESOURCE | */ @@ -568,7 +568,7 @@ NineAdapter9_GetDeviceCaps( struct NineAdapter9 *This, D3DPRESENT_INTERVAL_THREE | D3DPRESENT_INTERVAL_FOUR | D3DPRESENT_INTERVAL_IMMEDIATE; - pCaps->CursorCaps = D3DCURSORCAPS_COLOR | D3DCURSORCAPS_LOWRES; + pCaps->CursorCaps = D3DCURSORCAPS_COLOR /* | D3DCURSORCAPS_LOWRES*/; pCaps->DevCaps = D3DDEVCAPS_CANBLTSYSTONONLOCAL | D3DDEVCAPS_CANRENDERAFTERFLIP | @@ -678,7 +678,7 @@ NineAdapter9_GetDeviceCaps( struct NineAdapter9 *This, D3DPTEXTURECAPS_ALPHAPALETTE | D3DPTEXTURECAPS_PERSPECTIVE | D3DPTEXTURECAPS_PROJECTED | - /*D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE |*/ + D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE | D3DPTEXTURECAPS_CUBEMAP | D3DPTEXTURECAPS_VOLUMEMAP | D3DNPIPECAP(NPOT_TEXTURES, D3DPTEXTURECAPS_POW2) | -- 2.30.2