radv: Add Renoir support.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 12 Aug 2019 21:11:15 +0000 (23:11 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 19 Aug 2019 22:34:11 +0000 (22:34 +0000)
Took the freedom to enable dfsm even though I don't have benchmark
results yet, but it seems Raven-like.

Rest is from radeonsi.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/vulkan/radv_device.c
src/amd/vulkan/si_cmd_buffer.c

index 05d09bb08eb68102ea87169ec49945198db88a3f..7cd7d9da1d6aa52bd939cc7c6f61dfde7b509ad0 100644 (file)
@@ -348,7 +348,8 @@ radv_physical_device_init(struct radv_physical_device *device,
                device->rbplus_allowed = device->rad_info.family == CHIP_STONEY ||
                                         device->rad_info.family == CHIP_VEGA12 ||
                                         device->rad_info.family == CHIP_RAVEN ||
-                                        device->rad_info.family == CHIP_RAVEN2;
+                                        device->rad_info.family == CHIP_RAVEN2 ||
+                                        device->rad_info.family == CHIP_RENOIR;
        }
 
        /* The mere presence of CLEAR_STATE in the IB causes random GPU hangs
@@ -379,6 +380,7 @@ radv_physical_device_init(struct radv_physical_device *device,
                                        device->rad_info.me_fw_feature >= 41);
 
        device->has_dcc_constant_encode = device->rad_info.family == CHIP_RAVEN2 ||
+                                         device->rad_info.family == CHIP_RENOIR ||
                                          device->rad_info.chip_class >= GFX10;
 
        device->use_shader_ballot = device->instance->perftest_flags & RADV_PERFTEST_SHADER_BALLOT;
@@ -1937,10 +1939,10 @@ VkResult radv_CreateDevice(
        device->pbb_allowed = device->physical_device->rad_info.chip_class >= GFX9 &&
                              !(device->instance->debug_flags & RADV_DEBUG_NOBINNING);
 
-       /* Disabled and not implemented for now. */
        device->dfsm_allowed = device->pbb_allowed &&
                               (device->physical_device->rad_info.family == CHIP_RAVEN ||
-                               device->physical_device->rad_info.family == CHIP_RAVEN2);
+                               device->physical_device->rad_info.family == CHIP_RAVEN2 ||
+                               device->physical_device->rad_info.family == CHIP_RENOIR);
 
 #ifdef ANDROID
        device->always_use_syncobj = device->physical_device->rad_info.has_syncobj_wait_for_submit;
index 701b2398b500d24ef42133879233f8f50ed25ce1..e8911dc591fe45fec12086ef13124fe6f330f707 100644 (file)
@@ -436,6 +436,7 @@ si_emit_graphics(struct radv_physical_device *physical_device,
                        break;
                case CHIP_RAVEN:
                case CHIP_RAVEN2:
+               case CHIP_RENOIR:
                case CHIP_NAVI10:
                case CHIP_NAVI12:
                        pc_lines = 1024;