radv: Implement ordered compute dispatches

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21071>
This commit is contained in:
Konstantin Seurer 2023-02-02 16:00:24 +01:00 committed by Marge Bot
parent 77b0a4c025
commit 22a028ea99
2 changed files with 8 additions and 0 deletions

View file

@ -9561,6 +9561,9 @@ radv_emit_dispatch_packets(struct radv_cmd_buffer *cmd_buffer,
dispatch_initiator |= S_00B800_CS_W32_EN(1); dispatch_initiator |= S_00B800_CS_W32_EN(1);
} }
if (info->ordered)
dispatch_initiator &= ~S_00B800_ORDER_MODE(1);
if (info->va) { if (info->va) {
if (info->indirect) if (info->indirect)
radv_cs_add_buffer(ws, cs, info->indirect); radv_cs_add_buffer(ws, cs, info->indirect);

View file

@ -1705,6 +1705,11 @@ struct radv_dispatch_info {
*/ */
bool unaligned; bool unaligned;
/**
* Whether waves must be launched in order.
*/
bool ordered;
/** /**
* Indirect compute parameters resource. * Indirect compute parameters resource.
*/ */