From: Chia-I Wu Date: Tue, 22 Jan 2019 18:27:18 +0000 (-0800) Subject: turnip: preliminary support for tu_GetRenderAreaGranularity X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c4483de0ee7b46981dab0459d222774524db461;p=mesa.git turnip: preliminary support for tu_GetRenderAreaGranularity Set it to tile alignments, 32x32 on 6xx. --- diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c index 7360e58cd74..072da76a602 100644 --- a/src/freedreno/vulkan/tu_device.c +++ b/src/freedreno/vulkan/tu_device.c @@ -223,8 +223,9 @@ tu_physical_device_init(struct tu_physical_device *device, sprintf(device->name, "FD%d", device->gpu_id); switch (device->gpu_id) { - case 530: case 630: + device->tile_align_w = 32; + device->tile_align_h = 32; break; default: result = vk_errorf(instance, VK_ERROR_INITIALIZATION_FAILED, diff --git a/src/freedreno/vulkan/tu_pass.c b/src/freedreno/vulkan/tu_pass.c index 54047055a4f..e97cc2fc9d4 100644 --- a/src/freedreno/vulkan/tu_pass.c +++ b/src/freedreno/vulkan/tu_pass.c @@ -405,10 +405,12 @@ tu_DestroyRenderPass(VkDevice _device, } void -tu_GetRenderAreaGranularity(VkDevice device, +tu_GetRenderAreaGranularity(VkDevice _device, VkRenderPass renderPass, VkExtent2D *pGranularity) { - pGranularity->width = 1; - pGranularity->height = 1; + TU_FROM_HANDLE(tu_device, device, _device); + + pGranularity->width = device->physical_device->tile_align_w; + pGranularity->height = device->physical_device->tile_align_h; } diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h index b9b00c76a7c..3edb9913ce2 100644 --- a/src/freedreno/vulkan/tu_private.h +++ b/src/freedreno/vulkan/tu_private.h @@ -295,6 +295,8 @@ struct tu_physical_device unsigned gpu_id; uint32_t gmem_size; + uint32_t tile_align_w; + uint32_t tile_align_h; /* This is the drivers on-disk cache used as a fallback as opposed to * the pipeline cache defined by apps.