Module: wine Branch: master Commit: 96567c6900696d240d1641bd49d9b0832d8547bf URL: https://source.winehq.org/git/wine.git/?a=commit;h=96567c6900696d240d1641bd4...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Sun Aug 11 14:23:17 2019 +0430
wined3d: Report a few more ddraw surface caps on 3D devices.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ddraw/tests/ddraw1.c | 6 ++++-- dlls/ddraw/tests/ddraw2.c | 6 ++++-- dlls/ddraw/tests/ddraw4.c | 6 ++++-- dlls/ddraw/tests/ddraw7.c | 6 ++++-- dlls/wined3d/adapter_gl.c | 7 ++++++- dlls/wined3d/adapter_vk.c | 6 +++++- 6 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index e7bd9e1..acf8dd8 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -12950,7 +12950,8 @@ static void test_caps(void) { ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); } ok(!(hel_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); ok(!(~hel_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); @@ -12979,7 +12980,8 @@ static void test_caps(void)
ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); todo_wine ok(!hel_caps.ddsCaps.dwCaps, "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps);
IDirectDraw_Release(ddraw); diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index db0a39d..33bc943 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -13827,7 +13827,8 @@ static void test_caps(void) { ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); } ok(!(hel_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); ok(!(~hel_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); @@ -13859,7 +13860,8 @@ static void test_caps(void)
ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); todo_wine ok(!hel_caps.ddsCaps.dwCaps, "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps);
IDirectDraw2_Release(ddraw); diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index c182abf..567a8f3 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -16388,7 +16388,8 @@ static void test_caps(void) { ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); } ok(!(hel_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); ok(!(~hel_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); @@ -16420,7 +16421,8 @@ static void test_caps(void)
ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); todo_wine ok(!hel_caps.ddsCaps.dwCaps, "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps);
IDirectDraw4_Release(ddraw); diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 48121b6..4027c72 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -16360,7 +16360,8 @@ static void test_caps(void) { ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); } ok(!(hel_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); ok(!(~hel_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps); @@ -16389,7 +16390,8 @@ static void test_caps(void)
ok(!(hal_caps.ddsCaps.dwCaps & caps_never), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); ok(!(~hal_caps.ddsCaps.dwCaps & caps_always), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); - todo_wine ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); + todo_wine_if(no3d) ok(!(~hal_caps.ddsCaps.dwCaps & caps_hal), + "Got unexpected caps %#x.\n", hal_caps.ddsCaps.dwCaps); todo_wine ok(!hel_caps.ddsCaps.dwCaps, "Got unexpected caps %#x.\n", hel_caps.ddsCaps.dwCaps);
IDirectDraw7_Release(ddraw); diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c index 1287923..d32b664 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c @@ -4372,9 +4372,14 @@ static void adapter_gl_get_wined3d_caps(const struct wined3d_adapter *adapter, s const struct wined3d_gl_info *gl_info = &adapter->gl_info;
caps->ddraw_caps.dds_caps |= WINEDDSCAPS_BACKBUFFER + | WINEDDSCAPS_COMPLEX | WINEDDSCAPS_FRONTBUFFER | WINEDDSCAPS_3DDEVICE - | WINEDDSCAPS_VIDEOMEMORY; + | WINEDDSCAPS_VIDEOMEMORY + | WINEDDSCAPS_OWNDC + | WINEDDSCAPS_LOCALVIDMEM + | WINEDDSCAPS_NONLOCALVIDMEM; + caps->ddraw_caps.caps |= WINEDDCAPS_3D;
if (gl_info->supported[ARB_FRAMEBUFFER_OBJECT] || gl_info->supported[EXT_FRAMEBUFFER_OBJECT]) diff --git a/dlls/wined3d/adapter_vk.c b/dlls/wined3d/adapter_vk.c index f869318..c3a1832 100644 --- a/dlls/wined3d/adapter_vk.c +++ b/dlls/wined3d/adapter_vk.c @@ -298,9 +298,13 @@ static void adapter_vk_get_wined3d_caps(const struct wined3d_adapter *adapter, s BOOL sampler_anisotropy = limits->maxSamplerAnisotropy > 1.0f;
caps->ddraw_caps.dds_caps |= WINEDDSCAPS_BACKBUFFER + | WINEDDSCAPS_COMPLEX | WINEDDSCAPS_FRONTBUFFER | WINEDDSCAPS_3DDEVICE - | WINEDDSCAPS_VIDEOMEMORY; + | WINEDDSCAPS_VIDEOMEMORY + | WINEDDSCAPS_OWNDC + | WINEDDSCAPS_LOCALVIDMEM + | WINEDDSCAPS_NONLOCALVIDMEM; caps->ddraw_caps.caps |= WINEDDCAPS_3D;
caps->Caps2 |= WINED3DCAPS2_CANGENMIPMAP;