Commit f2564656 by Chris Forbes

Wire up BuiltInWorkgroupId to compute pipeline

Previously this was left uninitialized, with exciting results when a shader used it for buffer indexing etc. Bug: b/126871859 Test: dEQP-VK.*push_constant* Test: dEQP-VK.glsl.* Test: dEQP-VK.spirv_assembly.* Change-Id: I57fb9e22cbe57a87072b1039a7d799bedd28ae91 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27628 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Tested-by: 's avatarChris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
parent fe1dd4bd
......@@ -77,6 +77,15 @@ namespace sw
}
});
setInputBuiltin(spv::BuiltInWorkgroupId, [&](const SpirvShader::BuiltinMapping& builtin, Array<SIMD::Float>& value)
{
for (uint32_t component = 0; component < builtin.SizeInComponents; component++)
{
value[builtin.FirstComponent + component] =
As<SIMD::Float>(SIMD::Int(Extract(workgroupID, component)));
}
});
setInputBuiltin(spv::BuiltInWorkgroupSize, [&](const SpirvShader::BuiltinMapping& builtin, Array<SIMD::Float>& value)
{
for (uint32_t component = 0; component < builtin.SizeInComponents; component++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment