mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 13:48:06 +02:00
radv: use LOAD_CONTEXT_REG_INDEX when supported for streamout
It's supported on GFX9+ and on GFX8+ with a specific fw version. It's more correct with preemption. Also rewrite the comment now that we got more information from Marek. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40341>
This commit is contained in:
parent
dfbed0d016
commit
2751a427e1
1 changed files with 3 additions and 3 deletions
|
|
@ -15574,7 +15574,6 @@ radv_emit_strmout_buffer(struct radv_cmd_buffer *cmd_buffer, const struct radv_d
|
|||
{
|
||||
struct radv_device *device = radv_cmd_buffer_device(cmd_buffer);
|
||||
const struct radv_physical_device *pdev = radv_device_physical(device);
|
||||
const enum amd_gfx_level gfx_level = pdev->info.gfx_level;
|
||||
struct radv_cmd_stream *cs = cmd_buffer->cs;
|
||||
|
||||
radeon_begin(cs);
|
||||
|
|
@ -15594,9 +15593,10 @@ radv_emit_strmout_buffer(struct radv_cmd_buffer *cmd_buffer, const struct radv_d
|
|||
}
|
||||
radeon_end();
|
||||
|
||||
if (gfx_level >= GFX10) {
|
||||
if (pdev->info.has_load_ctx_reg_pkt) {
|
||||
/* Make sure that PFP waits for ME to avoid a race condition because the data is written by
|
||||
* STRMOUT_BUFFER_UPDATE in ME, but LOAD_CONTEXT_REG_INDEX is in PFP.
|
||||
* STRMOUT_BUFFER_UPDATE in ME, but LOAD_CONTEXT_REG_INDEX loads the value from memory between
|
||||
* PFP and ME.
|
||||
*/
|
||||
ac_emit_cp_pfp_sync_me(cs->b, false);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue