From 79410b1e875d701efaaf1ae2fb10ce7cdae2dcd2 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 30 Oct 2018 11:52:37 +0100 Subject: [PATCH] radv: add support for Raven2 Signed-off-by: Samuel Pitoiset Reviewed-by: Dave Airlie --- src/amd/vulkan/radv_device.c | 10 +++++++--- src/amd/vulkan/radv_pipeline.c | 1 + src/amd/vulkan/si_cmd_buffer.c | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 508fbb27721..6367c732dbb 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -113,6 +113,7 @@ radv_get_device_name(enum radeon_family family, char *name, size_t name_len) case CHIP_VEGA10: chip_string = "AMD RADV VEGA10"; break; case CHIP_VEGA12: chip_string = "AMD RADV VEGA12"; break; case CHIP_RAVEN: chip_string = "AMD RADV RAVEN"; break; + case CHIP_RAVEN2: chip_string = "AMD RADV RAVEN2"; break; default: chip_string = "AMD RADV unknown"; break; } @@ -336,7 +337,8 @@ radv_physical_device_init(struct radv_physical_device *device, device->has_rbplus = true; 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_RAVEN || + device->rad_info.family == CHIP_RAVEN2; } /* The mere presence of CLEAR_STATE in the IB causes random GPU hangs @@ -1635,11 +1637,13 @@ VkResult radv_CreateDevice( device->pbb_allowed = device->physical_device->rad_info.chip_class >= GFX9 && ((device->instance->perftest_flags & RADV_PERFTEST_BINNING) || - device->physical_device->rad_info.family == CHIP_RAVEN); + device->physical_device->rad_info.family == CHIP_RAVEN || + device->physical_device->rad_info.family == CHIP_RAVEN2); /* 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_RAVEN || + device->physical_device->rad_info.family == CHIP_RAVEN2); #ifdef ANDROID device->always_use_syncobj = device->physical_device->rad_info.has_syncobj_wait_for_submit; diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 4babb24a8eb..30459721692 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -2544,6 +2544,7 @@ radv_pipeline_generate_binning_state(struct radeon_cmdbuf *cs, fpovs_per_batch = 63; break; case CHIP_RAVEN: + case CHIP_RAVEN2: context_states_per_bin = 6; persistent_states_per_bin = 32; fpovs_per_batch = 63; diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c index 214bcead68c..9b5ebb29d61 100644 --- a/src/amd/vulkan/si_cmd_buffer.c +++ b/src/amd/vulkan/si_cmd_buffer.c @@ -337,6 +337,7 @@ si_emit_graphics(struct radv_physical_device *physical_device, pc_lines = 4096; break; case CHIP_RAVEN: + case CHIP_RAVEN2: pc_lines = 1024; break; default: