st/nine: Pseudo implement set/getClipstatus

Not sure why any app would use this in production,
it seems like a debugging feature. Still some do make
the calls.

Fixes: https://github.com/iXit/wine-nine-standalone/issues/99

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10160>
This commit is contained in:
Axel Davy
2021-03-10 22:38:14 +01:00
committed by Marge Bot
parent a1bb1b9b07
commit ee580c96ef
+16 -2
View File
@@ -2592,14 +2592,28 @@ HRESULT NINE_WINAPI
NineDevice9_SetClipStatus( struct NineDevice9 *This,
const D3DCLIPSTATUS9 *pClipStatus )
{
STUB(D3DERR_INVALIDCALL);
user_assert(pClipStatus, D3DERR_INVALIDCALL);
return D3D_OK;
}
HRESULT NINE_WINAPI
NineDevice9_GetClipStatus( struct NineDevice9 *This,
D3DCLIPSTATUS9 *pClipStatus )
{
STUB(D3DERR_INVALIDCALL);
user_assert(pClipStatus, D3DERR_INVALIDCALL);
/* Set/GetClipStatus is supposed to get the app some infos
* about vertices being clipped if it is using the software
* vertex rendering. It would be too complicated to implement.
* Probably the info is for developpers when working on their
* applications. Else it could be for apps to know if it is worth
* drawing some elements. In that case it makes sense to send
* 0 for ClipUnion and 0xFFFFFFFF for ClipIntersection (basically
* means not all vertices are clipped). Those values are known to
* be the default if SetClipStatus is not set. Else we could return
* what was set with SetClipStatus unchanged. */
pClipStatus->ClipUnion = 0;
pClipStatus->ClipIntersection = 0xFFFFFFFF;
return D3D_OK;
}
HRESULT NINE_WINAPI