radv: make sure to initialize wd_switch_on_eop before checking its value
This is technically not a bug because it might just trigger
SWITCH_ON_EOI when streamout is used and I think it was fine.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7303
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18700>
(cherry picked from commit 578e30f3e6
)
This commit is contained in:

committed by
Dylan Baker

parent
ee4b192b19
commit
fd2c55b4bd
@@ -2533,7 +2533,7 @@
|
||||
"description": "radv: make sure to initialize wd_switch_on_eop before checking its value",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
@@ -861,6 +861,12 @@ si_get_ia_multi_vgt_param(struct radv_cmd_buffer *cmd_buffer, bool instanced_dra
|
||||
if (gfx_level <= GFX8 && info->max_se == 4 && multi_instances_smaller_than_primgroup)
|
||||
wd_switch_on_eop = true;
|
||||
|
||||
/* Hardware requirement when drawing primitives from a stream
|
||||
* output buffer.
|
||||
*/
|
||||
if (count_from_stream_output)
|
||||
wd_switch_on_eop = true;
|
||||
|
||||
/* Required on GFX7 and later. */
|
||||
if (info->max_se > 2 && !wd_switch_on_eop)
|
||||
ia_switch_on_eoi = true;
|
||||
@@ -877,12 +883,6 @@ si_get_ia_multi_vgt_param(struct radv_cmd_buffer *cmd_buffer, bool instanced_dra
|
||||
if (family == CHIP_BONAIRE && ia_switch_on_eoi && (instanced_draw || indirect_draw))
|
||||
partial_vs_wave = true;
|
||||
|
||||
/* Hardware requirement when drawing primitives from a stream
|
||||
* output buffer.
|
||||
*/
|
||||
if (count_from_stream_output)
|
||||
wd_switch_on_eop = true;
|
||||
|
||||
/* If the WD switch is false, the IA switch must be false too. */
|
||||
assert(wd_switch_on_eop || !ia_switch_on_eop);
|
||||
}
|
||||
|
Reference in New Issue
Block a user