mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 22:30:12 +01:00
radv/rra/gfx12: Fix primitive/geometry index validation
Reviewed-by: Natalie Vock <natalie.vock@gmx.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38462>
This commit is contained in:
parent
07afe65beb
commit
685d34a6d3
1 changed files with 4 additions and 4 deletions
|
|
@ -121,16 +121,16 @@ rra_validate_node_gfx12(struct hash_table_u64 *accel_struct_vas, uint8_t *data,
|
||||||
} else {
|
} else {
|
||||||
uint32_t pair_index = (child_type & 0x3) | ((child_type & 0x8) >> 1);
|
uint32_t pair_index = (child_type & 0x3) | ((child_type & 0x8) >> 1);
|
||||||
|
|
||||||
if (BITSET_EXTRACT(node, 1024 - 29 * (pair_index + 1) + 17, 12)) {
|
if (BITSET_EXTRACT(child_node, 1024 - 29 * (pair_index + 1) + 17, 12)) {
|
||||||
uint32_t geometry_id = get_geometry_id(node, pair_index * 2 + 0);
|
uint32_t geometry_id = get_geometry_id(child_node, pair_index * 2 + 0);
|
||||||
if (geometry_id >= geometry_count) {
|
if (geometry_id >= geometry_count) {
|
||||||
rra_validation_fail(&child_ctx, "Invalid geometry_id(%u) >= geometry_count(%u)", geometry_id,
|
rra_validation_fail(&child_ctx, "Invalid geometry_id(%u) >= geometry_count(%u)", geometry_id,
|
||||||
geometry_count);
|
geometry_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BITSET_EXTRACT(node, 1024 - 29 * (pair_index + 1) + 3, 12)) {
|
if (BITSET_EXTRACT(child_node, 1024 - 29 * (pair_index + 1) + 3, 12)) {
|
||||||
uint32_t geometry_id = get_geometry_id(node, pair_index * 2 + 1);
|
uint32_t geometry_id = get_geometry_id(child_node, pair_index * 2 + 1);
|
||||||
if (geometry_id >= geometry_count) {
|
if (geometry_id >= geometry_count) {
|
||||||
rra_validation_fail(&child_ctx, "Invalid geometry_id(%u) >= geometry_count(%u)", geometry_id,
|
rra_validation_fail(&child_ctx, "Invalid geometry_id(%u) >= geometry_count(%u)", geometry_id,
|
||||||
geometry_count);
|
geometry_count);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue