Fix mesh output with multiview - always output view 0

This commit is contained in:
baldurk
2018-06-15 10:10:22 +01:00
parent 093e8a6b40
commit c737ecebba
2 changed files with 6 additions and 0 deletions
@@ -3681,6 +3681,7 @@ ShaderBuiltin BuiltInToSystemAttribute(ShaderStage stage, const spv::BuiltIn el)
case spv::BuiltInBaseVertex: return ShaderBuiltin::BaseVertex;
case spv::BuiltInBaseInstance: return ShaderBuiltin::BaseInstance;
case spv::BuiltInDrawIndex: return ShaderBuiltin::DrawIndex;
case spv::BuiltInViewIndex: return ShaderBuiltin::ViewportIndex;
default: break;
}
+5
View File
@@ -824,6 +824,11 @@ static void ConvertToMeshOutputCompute(const ShaderReflection &refl, const SPIRV
{
ops.push_back(SPIRVOperation(spv::OpStore, {ins[i].variableID, instIndex}));
}
else if(builtin == ShaderBuiltin::ViewportIndex)
{
ops.push_back(SPIRVOperation(
spv::OpStore, {ins[i].variableID, editor.AddConstantImmediate(int32_t(0))}));
}
else if(builtin == ShaderBuiltin::BaseVertex)
{
if(draw->flags & DrawFlags::UseIBuffer)