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)
https://bugs.winehq.org/show_bug.cgi?id=53124
--- Comment #1 from Trass3r trass3r@gmail.com --- Created attachment 72649 --> https://bugs.winehq.org/attachment.cgi?id=72649 experiments
Looks like the D3DERR_SURFACENOTINVIDMEM problem is gone. But there is a problem with unhandled WINED3D_LOCATION_DRAWABLE in texture.c. The attached patch results in a stack overflow though cycling between the prepare/load location and the blit.
https://bugs.winehq.org/show_bug.cgi?id=53124
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |7.10 CC| |z.figura12@gmail.com
--- Comment #2 from Zeb Figura z.figura12@gmail.com --- If it's using the 3D pipeline at all, it's not going to work; we don't have support for the fixed function pipeline yet. I'm not sure if there's a clear FIXME for that.
We also shouldn't be trying to load from DRAWABLE for Vulkan textures. DRAWABLE is strictly a GL thing; it doesn't apply to Vulkan.
https://bugs.winehq.org/show_bug.cgi?id=53124
--- Comment #3 from Trass3r trass3r@gmail.com --- FWIW it's passing in pre-transformed vertices via D3DFVF_XYZRHW. Yeah the patch is just some fumbling in the dark. But the missing depth format mapping is probably worth taking over.