mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-21 16:10:33 +01:00
nvk: Implement descriptorBufferPushDescriptors
The only thing we really need to do here is to make sure we don't try to use the EDB path for push descriptors since those aren't really descriptor buffers. Backport-to: 25.0 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33589>
This commit is contained in:
parent
7d4c91efef
commit
86e217e7df
2 changed files with 6 additions and 4 deletions
|
|
@ -964,8 +964,10 @@ is_edb_buffer_view(nir_deref_instr *deref,
|
|||
nir_variable *var = nir_deref_instr_get_variable(deref);
|
||||
uint8_t set = var->data.descriptor_set;
|
||||
|
||||
return ctx->set_layouts[set]->flags &
|
||||
VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT;
|
||||
return (ctx->set_layouts[set]->flags &
|
||||
VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT) &&
|
||||
!(ctx->set_layouts[set]->flags &
|
||||
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT);
|
||||
}
|
||||
|
||||
static nir_def *
|
||||
|
|
|
|||
|
|
@ -552,7 +552,7 @@ nvk_get_device_features(const struct nv_device_info *info,
|
|||
.descriptorBuffer = true,
|
||||
.descriptorBufferCaptureReplay = true,
|
||||
.descriptorBufferImageLayoutIgnored = true,
|
||||
.descriptorBufferPushDescriptors = false,
|
||||
.descriptorBufferPushDescriptors = true,
|
||||
|
||||
/* VK_EXT_device_generated_commands */
|
||||
.deviceGeneratedCommands = true,
|
||||
|
|
@ -984,7 +984,7 @@ nvk_get_device_properties(const struct nvk_instance *instance,
|
|||
|
||||
/* VK_EXT_descriptor_buffer */
|
||||
.combinedImageSamplerDescriptorSingleArray = true,
|
||||
.bufferlessPushDescriptors = false,
|
||||
.bufferlessPushDescriptors = true,
|
||||
.allowSamplerImageViewPostSubmitCreation = false,
|
||||
.descriptorBufferOffsetAlignment = nvk_min_cbuf_alignment(info),
|
||||
.maxDescriptorBufferBindings = 32,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue