radv: add support for some device specific tess information.
authorDave Airlie <airlied@redhat.com>
Thu, 30 Mar 2017 06:58:22 +0000 (07:58 +0100)
committerDave Airlie <airlied@redhat.com>
Fri, 31 Mar 2017 21:15:26 +0000 (07:15 +1000)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_private.h

index 64970bd1b3a7b359dda4dbd5a9c1e797cad315c9..fe531e1072faa5e237002b360fbb2c9faa6c6f99 100644 (file)
@@ -962,6 +962,12 @@ VkResult radv_CreateDevice(
 
        radv_device_init_gs_info(device);
 
+       device->tess_offchip_block_dw_size =
+               device->physical_device->rad_info.family == CHIP_HAWAII ? 4096 : 8192;
+       device->has_distributed_tess =
+               device->physical_device->rad_info.chip_class >= VI &&
+               device->physical_device->rad_info.max_se >= 2;
+
        result = radv_device_init_meta(device);
        if (result != VK_SUCCESS)
                goto fail;
index 33f352457920827fdb82a7b7b79d31ae3d677131..3c246641af750b8e2fb222476707ca475a0f7c0e 100644 (file)
@@ -487,6 +487,8 @@ struct radv_device {
        uint64_t debug_flags;
 
        bool llvm_supports_spill;
+       bool has_distributed_tess;
+       uint32_t tess_offchip_block_dw_size;
        uint32_t scratch_waves;
 
        uint32_t gs_table_depth;