Fix SPIR-V for HLSL EvaluateAttribute* of interpolants in structs

Generate load of interpolant for first operand to GLSLstd450
InterpolateAt* SPIR-V ops. This allows the interpolants to
propagate from the input struct in the wrapper around main
into the shader during HLSL legalization. A new pass has been
added to legalization which will remove the load and replace
with the pointer of the load to create valid external
interpolate op.

Fixes #2584
This commit is contained in:
Greg Fischer
2021-03-31 15:24:48 -06:00
parent 6dc24ffa47
commit 7fbaca0d06
8 changed files with 163 additions and 305 deletions

View File

@@ -5,14 +5,14 @@
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Tools",
"subdir" : "External/spirv-tools",
"commit" : "c79edd260c2b503f0eca57310057b4a100999cc5"
"commit" : "48007a5c7f7cc671b391bebd46e87fd6edc6c24b"
},
{
"name" : "spirv-tools/external/spirv-headers",
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
"commit" : "75b30a659c8a4979104986652c54cc421fc51129"
"commit" : "f88a1f98fa7a44ccfcf33d810c72b200e7d9a78a"
}
]
}