[Bug 53124] New: Dungeon Keeper 2 not working with Vulkan renderer
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(a)winehq.org Reporter: trass3r(a)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) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=53124 --- Comment #1 from Trass3r <trass3r(a)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. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=53124 Zeb Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |7.10 CC| |z.figura12(a)gmail.com --- Comment #2 from Zeb Figura <z.figura12(a)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. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=53124 --- Comment #3 from Trass3r <trass3r(a)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. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla