radv: Add dispatch_initiator_task field to radv_device.

This is going to be used with task shader dispatches.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531>
This commit is contained in:
Timur Kristóf 2022-07-15 12:06:11 +02:00 committed by Marge Bot
parent 822e370390
commit 44a71594c8
2 changed files with 8 additions and 0 deletions

View file

@ -3509,6 +3509,13 @@ radv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCr
device->dispatch_initiator |= S_00B800_ORDER_MODE(1);
}
/* Disable partial preemption for task shaders.
* The kernel may not support preemption, but PAL always sets this bit,
* so let's also set it here for consistency.
*/
device->dispatch_initiator_task =
device->dispatch_initiator | S_00B800_DISABLE_DISP_PREMPT_EN(1);
if (device->instance->debug_flags & RADV_DEBUG_HANG) {
/* Enable GPU hangs detection and dump logs if a GPU hang is
* detected.

View file

@ -810,6 +810,7 @@ struct radv_device {
bool pbb_allowed;
uint32_t scratch_waves;
uint32_t dispatch_initiator;
uint32_t dispatch_initiator_task;
/* MSAA sample locations.
* The first index is the sample index.