radv: Declare some gang submit functions in radv private header.

They will be called from the transfer copy functions.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39057>
This commit is contained in:
Timur Kristóf
2023-10-21 14:13:38 +02:00
committed by Marge Bot
parent b1938901d0
commit cc5190829f
2 changed files with 12 additions and 4 deletions

View File

@@ -1560,7 +1560,7 @@ radv_flush_gang_semaphore(struct radv_cmd_buffer *cmd_buffer, struct radv_cmd_st
return true;
}
ALWAYS_INLINE static bool
bool
radv_flush_gang_leader_semaphore(struct radv_cmd_buffer *cmd_buffer)
{
if (!radv_gang_leader_sem_dirty(cmd_buffer))
@@ -1571,7 +1571,7 @@ radv_flush_gang_leader_semaphore(struct radv_cmd_buffer *cmd_buffer)
return radv_flush_gang_semaphore(cmd_buffer, cmd_buffer->cs, 0, cmd_buffer->gang.sem.leader_value);
}
ALWAYS_INLINE static bool
bool
radv_flush_gang_follower_semaphore(struct radv_cmd_buffer *cmd_buffer)
{
if (!radv_gang_follower_sem_dirty(cmd_buffer))
@@ -1593,14 +1593,14 @@ radv_wait_gang_semaphore(struct radv_cmd_buffer *cmd_buffer, struct radv_cmd_str
radv_cp_wait_mem(cs, WAIT_REG_MEM_GREATER_OR_EQUAL, cmd_buffer->gang.sem.va + va_off, value, 0xffffffff);
}
ALWAYS_INLINE static void
void
radv_wait_gang_leader(struct radv_cmd_buffer *cmd_buffer)
{
/* Follower waits for the semaphore which the gang leader wrote. */
radv_wait_gang_semaphore(cmd_buffer, cmd_buffer->gang.cs, 0, cmd_buffer->gang.sem.leader_value);
}
ALWAYS_INLINE static void
void
radv_wait_gang_follower(struct radv_cmd_buffer *cmd_buffer)
{
/* Gang leader waits for the semaphore which the follower wrote. */

View File

@@ -646,6 +646,14 @@ void radv_cmd_buffer_annotate(struct radv_cmd_buffer *cmd_buffer, const char *an
void radv_gang_cache_flush(struct radv_cmd_buffer *cmd_buffer);
bool radv_flush_gang_leader_semaphore(struct radv_cmd_buffer *cmd_buffer);
bool radv_flush_gang_follower_semaphore(struct radv_cmd_buffer *cmd_buffer);
void radv_wait_gang_leader(struct radv_cmd_buffer *cmd_buffer);
void radv_wait_gang_follower(struct radv_cmd_buffer *cmd_buffer);
bool radv_gang_init(struct radv_cmd_buffer *cmd_buffer);
void radv_set_descriptor_set(struct radv_cmd_buffer *cmd_buffer, VkPipelineBindPoint bind_point,