radv: make the border color BO a resident buffer

It's always used if the feature is enabled.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9076>
This commit is contained in:
Samuel Pitoiset
2021-02-09 11:50:52 +01:00
committed by Marge Bot
parent 834b69d1ef
commit d96c0a2263
+5 -4
View File
@@ -2698,6 +2698,10 @@ static VkResult radv_device_init_border_color(struct radv_device *device)
if (device->border_color_data.bo == NULL)
return vk_error(device->physical_device->instance, VK_ERROR_OUT_OF_DEVICE_MEMORY);
result = device->ws->buffer_make_resident(device->ws, device->border_color_data.bo, true);
if (result != VK_SUCCESS)
return vk_error(device->physical_device->instance, result);
device->border_color_data.colors_gpu_ptr =
device->ws->buffer_map(device->border_color_data.bo);
if (!device->border_color_data.colors_gpu_ptr)
@@ -2710,6 +2714,7 @@ static VkResult radv_device_init_border_color(struct radv_device *device)
static void radv_device_finish_border_color(struct radv_device *device)
{
if (device->border_color_data.bo) {
device->ws->buffer_make_resident(device->ws, device->border_color_data.bo, false);
device->ws->buffer_destroy(device->ws, device->border_color_data.bo);
mtx_destroy(&device->border_color_data.mutex);
@@ -3985,10 +3990,6 @@ radv_get_preamble_cs(struct radv_queue *queue,
if (queue->device->trace_bo)
radv_cs_add_buffer(queue->device->ws, cs, queue->device->trace_bo);
if (queue->device->border_color_data.bo)
radv_cs_add_buffer(queue->device->ws, cs,
queue->device->border_color_data.bo);
if (i == 0) {
si_cs_emit_cache_flush(cs,
queue->device->physical_device->rad_info.chip_class,