diff options
author | Jaroslav Hensl <emulator@emulace.cz> | 2023-05-12 14:26:02 +0200 |
---|---|---|
committer | Jaroslav Hensl <emulator@emulace.cz> | 2023-05-12 14:26:02 +0200 |
commit | f94e063607454180284f32d88e01e0bc998e460b (patch) | |
tree | b4274d6a88a8f39375c93df1b8dc44837071b1f0 /control.c | |
parent | c754b4716dc6057df15ad7d4b391d418cb8e7cc8 (diff) | |
download | vmdisp9x-f94e063607454180284f32d88e01e0bc998e460b.tar.gz |
SVGA3D_DEVCAP_SURFACEFMT_R5G6B5 guessingv1.2023.0.4
Diffstat (limited to 'control.c')
-rw-r--r-- | control.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -172,6 +172,13 @@ uint32_t FixDevCap(uint32_t cap_id, uint32_t cap_val) switch(cap_id)
{
case SVGA3D_DEVCAP_SURFACEFMT_R5G6B5:
+#ifdef CAP_R5G6B5_ALWAYS_WRONG
+ {
+ uint32_t xrgb8888 = GetDevCap(SVGA3D_DEVCAP_SURFACEFMT_X8R8G8B8);
+ xrgb8888 &= ~SVGA3DFORMAT_OP_SRGBWRITE; /* nvidia */
+ return xrgb8888;
+ }
+#else
if(cap_val & SVGA3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET) /* VirtualBox BUG */
{
uint32_t xrgb8888 = GetDevCap(SVGA3D_DEVCAP_SURFACEFMT_X8R8G8B8);
@@ -188,6 +195,7 @@ uint32_t FixDevCap(uint32_t cap_id, uint32_t cap_val) return xrgb8888;
}
}
+#endif
break;
}
|