mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
radv/xfb: fix counter buffer bounds checks.
If we gave this function 0 counter buffers, we'd still try and access pCounterBuffers[0] as this check was incorrect. Fixes crash with ext_transform_feedback-pipeline-basic-primgen on zink on radv. Fixes:677b496b6(radv: fix begin/end transform feedback with 0 counter buffers.) Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commitb3f2b03ece)
This commit is contained in:
parent
76dd56bfd5
commit
8b7b2222f1
1 changed files with 2 additions and 2 deletions
|
|
@ -4792,7 +4792,7 @@ void radv_CmdBeginTransformFeedbackEXT(
|
|||
assert(firstCounterBuffer + counterBufferCount <= MAX_SO_BUFFERS);
|
||||
for_each_bit(i, so->enabled_mask) {
|
||||
int32_t counter_buffer_idx = i - firstCounterBuffer;
|
||||
if (counter_buffer_idx >= 0 && counter_buffer_idx > counterBufferCount)
|
||||
if (counter_buffer_idx >= 0 && counter_buffer_idx >= counterBufferCount)
|
||||
counter_buffer_idx = -1;
|
||||
|
||||
/* SI binds streamout buffers as shader resources.
|
||||
|
|
@ -4854,7 +4854,7 @@ void radv_CmdEndTransformFeedbackEXT(
|
|||
assert(firstCounterBuffer + counterBufferCount <= MAX_SO_BUFFERS);
|
||||
for_each_bit(i, so->enabled_mask) {
|
||||
int32_t counter_buffer_idx = i - firstCounterBuffer;
|
||||
if (counter_buffer_idx >= 0 && counter_buffer_idx > counterBufferCount)
|
||||
if (counter_buffer_idx >= 0 && counter_buffer_idx >= counterBufferCount)
|
||||
counter_buffer_idx = -1;
|
||||
|
||||
if (counter_buffer_idx >= 0 && pCounterBuffers && pCounterBuffers[counter_buffer_idx]) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue