https://bugs.winehq.org/show_bug.cgi?id=53124
Bug ID: 53124 Summary: Dungeon Keeper 2 not working with Vulkan renderer Product: Wine Version: unspecified Hardware: x86 OS: Windows Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: trass3r@gmail.com
HKEY_CURRENT_USER\Software\Wine\Direct3D\renderer = vulkan (and csmt = 0)
With the following patches the game is able to start but only shows a black window (sound, game logic etc is working).
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 381c1ae..3382030 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -4319,6 +4319,7 @@ static void init_vulkan_format_info(struct wined3d_format_vk *format, {WINED3DFMT_R32_FLOAT_X8X24_TYPELESS, VK_FORMAT_D32_SFLOAT_S8_UINT, }, {WINED3DFMT_X32_TYPELESS_G8X24_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT, }, {WINED3DFMT_D24_UNORM_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT, }, + {WINED3DFMT_X8D24_UNORM, VK_FORMAT_X8_D24_UNORM_PACK32, }, }; VkFormat vk_format = VK_FORMAT_UNDEFINED; VkImageFormatProperties image_properties;
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 27b6500..da39a2a 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -7023,7 +7023,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw, c if (device->hardware_device && !(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY)) { WARN("Surface %p is not in video memory.\n", target); - return D3DERR_SURFACENOTINVIDMEM; + //return D3DERR_SURFACENOTINVIDMEM; }
if (outer_unknown)