1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-31 14:52:11 +01:00

[dxbc] Store workgroup size for compute shaders

This commit is contained in:
Philip Rebohle 2018-11-23 14:39:33 +01:00
parent 3e686098cc
commit 79a6dd111e
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 8 additions and 0 deletions

View File

@ -1305,6 +1305,10 @@ namespace dxvk {
// (imm0) Number of threads in X dimension // (imm0) Number of threads in X dimension
// (imm1) Number of threads in Y dimension // (imm1) Number of threads in Y dimension
// (imm2) Number of threads in Z dimension // (imm2) Number of threads in Z dimension
m_cs.workgroupSizeX = ins.imm[0].u32;
m_cs.workgroupSizeY = ins.imm[1].u32;
m_cs.workgroupSizeZ = ins.imm[2].u32;
m_module.setLocalSize(m_entryPointId, m_module.setLocalSize(m_entryPointId,
ins.imm[0].u32, ins.imm[1].u32, ins.imm[2].u32); ins.imm[0].u32, ins.imm[1].u32, ins.imm[2].u32);
} }

View File

@ -188,6 +188,10 @@ namespace dxvk {
struct DxbcCompilerCsPart { struct DxbcCompilerCsPart {
uint32_t functionId = 0; uint32_t functionId = 0;
uint32_t workgroupSizeX = 0;
uint32_t workgroupSizeY = 0;
uint32_t workgroupSizeZ = 0;
uint32_t builtinGlobalInvocationId = 0; uint32_t builtinGlobalInvocationId = 0;
uint32_t builtinLocalInvocationId = 0; uint32_t builtinLocalInvocationId = 0;
uint32_t builtinLocalInvocationIndex = 0; uint32_t builtinLocalInvocationIndex = 0;