[Bug 49186] DXBC compiler generates incorrect spir-v code

WineHQ Bugzilla wine-bugs at winehq.org
Thu Jul 9 16:33:35 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=49186

--- Comment #4 from Alex <alex.fishman at gmail.com> ---
I must admit that I'm totally out of my depth here. I don't have any knowledge
(just yet) of neither spir-v nor GLSL and those are only small bits and pieces
of my project. I'm working on a virtual GPU device capable of running Windows
VMs with DirectX 11/12 support on top of Linux. Basically it involves
translating DirectX APIs and shaders coming from Windows GPU driver into Vulkan
commands. This is where vkd3d comes in very handy.
Now, regarding the shaders: unfortunately Windows doesn't provide the driver
with a complete shader dxbc binary as vkd3d compiler expects, instead I receive
a binary code section and input/output signatures. From those I construct a
complete dxbc shader that goes into vkd3d compiler and then into the vulkan
pipeline. While Vertex and Pixel shaders work more or less, tessellation ones
do not, causing instead a crash somewhere inside intel vulkan drivers. This is
where I started my investigation, I collected dxbc shaders and compiled it with
vkd3d, then disassembled and converted to GLSL for analysis with spirv-tools,
hence my bug report.
I'm very grateful for you detailed explanation of what's going on. Currently I 
lack the knowledge to process it properly but I'm going to dive in into this
stuff in a few weeks time after dealing with more urgent stuff.
Again, thank you for your time and efforts. Please don't close this issue just
yet, I'll be in touch once I have more information.

-- 
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.



More information about the wine-bugs mailing list