anv: put parenthesis to the set_sampler_size equation

This fixes errors seen with some renderdoc captures failing to allocate
descriptor sets.

Fixes: 76096d04bb ("anv: relax restriction on variable count descriptors")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34671>
(cherry picked from commit ed9f1359368be185f632e2a5b1f6edf16ef89b62)
This commit is contained in:
Tapani Pälli
2025-04-23 13:59:05 +03:00
committed by Eric Engestrom
parent d06fb6fb4b
commit a900b3f39d
2 changed files with 9 additions and 9 deletions

View File

@@ -1244,7 +1244,7 @@
"description": "anv: put parenthesis to the set_sampler_size equation",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "76096d04bbafddb523ffc360f6d738d16d94816b",
"notes": null

View File

@@ -979,18 +979,18 @@ anv_descriptor_set_layout_descriptor_buffer_size(const struct anv_descriptor_set
/* Inline uniform blocks are specified to use the descriptor array
* size as the size in bytes of the block.
*/
set_surface_size = set_layout->descriptor_buffer_surface_size -
dynamic_binding->array_size + var_desc_count;
set_surface_size = (set_layout->descriptor_buffer_surface_size -
dynamic_binding->array_size) + var_desc_count;
set_sampler_size = 0;
} else {
set_surface_size =
set_layout->descriptor_buffer_surface_size -
dynamic_binding->array_size * dynamic_binding->descriptor_surface_stride +
var_desc_count * dynamic_binding->descriptor_surface_stride;
(set_layout->descriptor_buffer_surface_size -
dynamic_binding->array_size * dynamic_binding->descriptor_surface_stride) +
var_desc_count * dynamic_binding->descriptor_surface_stride;
set_sampler_size =
set_layout->descriptor_buffer_sampler_size -
dynamic_binding->array_size * dynamic_binding->descriptor_sampler_stride -
var_desc_count * dynamic_binding->descriptor_sampler_stride;
(set_layout->descriptor_buffer_sampler_size -
dynamic_binding->array_size * dynamic_binding->descriptor_sampler_stride) +
var_desc_count * dynamic_binding->descriptor_sampler_stride;
}
*out_surface_size = ALIGN(set_surface_size, ANV_UBO_ALIGNMENT);