mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 00:38:48 +02:00
anv: fix vkUpdateDescriptorSets with inline uniform blocks
With inline uniform blocks descriptor, the meaning of descriptorCount is a number of bytes to copy into the descriptor. Don't try to use that size as an index into the descriptor table. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes:43f40dc7cb("anv: Implement VK_EXT_inline_uniform_block") Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1195 Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit3f8f52b241)
This commit is contained in:
parent
62f9ba1bf2
commit
425fbe2902
1 changed files with 3 additions and 3 deletions
|
|
@ -1470,9 +1470,6 @@ void anv_UpdateDescriptorSets(
|
|||
&dst->descriptors[dst_layout->descriptor_index];
|
||||
dst_desc += copy->dstArrayElement;
|
||||
|
||||
for (uint32_t j = 0; j < copy->descriptorCount; j++)
|
||||
dst_desc[j] = src_desc[j];
|
||||
|
||||
if (src_layout->data & ANV_DESCRIPTOR_INLINE_UNIFORM) {
|
||||
assert(src_layout->data == ANV_DESCRIPTOR_INLINE_UNIFORM);
|
||||
memcpy(dst->desc_mem.map + dst_layout->descriptor_offset +
|
||||
|
|
@ -1481,6 +1478,9 @@ void anv_UpdateDescriptorSets(
|
|||
copy->srcArrayElement,
|
||||
copy->descriptorCount);
|
||||
} else {
|
||||
for (uint32_t j = 0; j < copy->descriptorCount; j++)
|
||||
dst_desc[j] = src_desc[j];
|
||||
|
||||
unsigned desc_size = anv_descriptor_size(src_layout);
|
||||
if (desc_size > 0) {
|
||||
assert(desc_size == anv_descriptor_size(dst_layout));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue