mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 09:48:58 +02:00
versionwise workgroup vars
This commit is contained in:
parent
1ffa381d74
commit
42451f0c3d
1 changed files with 8 additions and 2 deletions
|
|
@ -613,7 +613,10 @@ void EmitContext::DefineSharedMemory(const IR::Program& program) {
|
|||
const Id element_pointer{TypePointer(spv::StorageClass::Workgroup, element_type)};
|
||||
const Id variable{AddGlobalVariable(pointer, spv::StorageClass::Workgroup)};
|
||||
Decorate(variable, spv::Decoration::Aliased);
|
||||
interfaces.push_back(variable);
|
||||
// Workgroup variables in EntryPoint interfaces are only supported in SPIR-V 1.4+
|
||||
if (profile.supported_spirv >= 0x00010400) {
|
||||
interfaces.push_back(variable);
|
||||
}
|
||||
|
||||
return std::make_tuple(variable, element_pointer, pointer);
|
||||
}};
|
||||
|
|
@ -642,7 +645,10 @@ void EmitContext::DefineSharedMemory(const IR::Program& program) {
|
|||
|
||||
shared_u32 = TypePointer(spv::StorageClass::Workgroup, U32[1]);
|
||||
shared_memory_u32 = AddGlobalVariable(shared_memory_u32_type, spv::StorageClass::Workgroup);
|
||||
interfaces.push_back(shared_memory_u32);
|
||||
// Workgroup variables in EntryPoint interfaces are only supported in SPIR-V 1.4+
|
||||
if (profile.supported_spirv >= 0x00010400) {
|
||||
interfaces.push_back(shared_memory_u32);
|
||||
}
|
||||
|
||||
const Id func_type{TypeFunction(void_id, U32[1], U32[1])};
|
||||
const auto make_function{[&](u32 mask, u32 size) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue