The PhysicalStorageBuffer64 addressing model requires this cap. Fixes
vulkan validation error.
Fixes:
ddc5c304899 ("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>
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;
}