zink: properly emit PhysicalStorageBufferAddresses cap
The PhysicalStorageBuffer64 addressing model requires this cap. Fixes
vulkan validation error.
Fixes: ddc5c30489 ("zink: handle global and scratch vars")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25736>
This commit is contained in:
parent
74363973ff
commit
3fb822dbab
1 changed files with 3 additions and 2 deletions
|
|
@ -4410,9 +4410,10 @@ nir_to_spirv(struct nir_shader *s, const struct zink_shader_info *sinfo, uint32_
|
|||
if (gl_shader_stage_is_compute(s->info.stage)) {
|
||||
if (s->info.cs.ptr_size == 32)
|
||||
model = SpvAddressingModelPhysical32;
|
||||
else if (s->info.cs.ptr_size == 64)
|
||||
else if (s->info.cs.ptr_size == 64) {
|
||||
spirv_builder_emit_cap(&ctx.builder, SpvCapabilityPhysicalStorageBufferAddresses);
|
||||
model = SpvAddressingModelPhysicalStorageBuffer64;
|
||||
else
|
||||
} else
|
||||
model = SpvAddressingModelLogical;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue