1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-15 07:29:17 +01:00

[d3d11] Create passthrough geometry shader if necessary

Fixes stream output in Unity Engine titles.

- Fix compilation with new DxbcProgramInfo struct.
This commit is contained in:
Philip Rebohle 2018-07-25 22:46:10 +02:00
parent 5463dc7e6c
commit 7369dee9d6
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -31,7 +31,14 @@ namespace dxvk {
std::ios_base::binary | std::ios_base::trunc));
}
m_shader = module.compile(*pDxbcModuleInfo, name);
// Decide whether we need to create a pass-through
// geometry shader for vertex shader stream output
bool passthroughShader = pDxbcModuleInfo->xfb != nullptr
&& module.programInfo().type() != DxbcProgramType::GeometryShader;
m_shader = passthroughShader
? module.compilePassthroughShader(*pDxbcModuleInfo, name)
: module.compile (*pDxbcModuleInfo, name);
m_shader->setShaderKey(*pShaderKey);
if (dumpPath.size() != 0) {