mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-21 00:39:53 +00:00
vk: Disable primitive restart for old GCN cards
- Also adds more Navi 14 chips to detection table
This commit is contained in:
parent
5867b3b72e
commit
bd14429f20
@ -32,7 +32,7 @@ namespace vk
|
|||||||
table.add(0x15DD, chip_class::AMD_vega); // Raven Ridge
|
table.add(0x15DD, chip_class::AMD_vega); // Raven Ridge
|
||||||
table.add(0x15D8, chip_class::AMD_vega); // Raven Ridge
|
table.add(0x15D8, chip_class::AMD_vega); // Raven Ridge
|
||||||
table.add(0x7310, 0x731F, chip_class::AMD_navi); // Navi10
|
table.add(0x7310, 0x731F, chip_class::AMD_navi); // Navi10
|
||||||
table.add(0x7340, 0x7340, chip_class::AMD_navi); // Navi14
|
table.add(0x7340, 0x734F, chip_class::AMD_navi); // Navi14
|
||||||
|
|
||||||
return table;
|
return table;
|
||||||
}();
|
}();
|
||||||
@ -88,7 +88,7 @@ namespace vk
|
|||||||
VkFlags g_heap_compatible_buffer_types = 0;
|
VkFlags g_heap_compatible_buffer_types = 0;
|
||||||
driver_vendor g_driver_vendor = driver_vendor::unknown;
|
driver_vendor g_driver_vendor = driver_vendor::unknown;
|
||||||
chip_class g_chip_class = chip_class::unknown;
|
chip_class g_chip_class = chip_class::unknown;
|
||||||
bool g_drv_no_primitive_restart_flag = false;
|
bool g_drv_no_primitive_restart = false;
|
||||||
bool g_drv_sanitize_fp_values = false;
|
bool g_drv_sanitize_fp_values = false;
|
||||||
bool g_drv_disable_fence_reset = false;
|
bool g_drv_disable_fence_reset = false;
|
||||||
bool g_drv_emulate_cond_render = false;
|
bool g_drv_emulate_cond_render = false;
|
||||||
@ -463,7 +463,7 @@ namespace vk
|
|||||||
{
|
{
|
||||||
g_current_renderer = &device;
|
g_current_renderer = &device;
|
||||||
g_runtime_state.clear();
|
g_runtime_state.clear();
|
||||||
g_drv_no_primitive_restart_flag = false;
|
g_drv_no_primitive_restart = false;
|
||||||
g_drv_sanitize_fp_values = false;
|
g_drv_sanitize_fp_values = false;
|
||||||
g_drv_disable_fence_reset = false;
|
g_drv_disable_fence_reset = false;
|
||||||
g_drv_emulate_cond_render = (g_cfg.video.relaxed_zcull_sync && !g_current_renderer->get_conditional_render_support());
|
g_drv_emulate_cond_render = (g_cfg.video.relaxed_zcull_sync && !g_current_renderer->get_conditional_render_support());
|
||||||
@ -480,6 +480,9 @@ namespace vk
|
|||||||
switch (g_driver_vendor)
|
switch (g_driver_vendor)
|
||||||
{
|
{
|
||||||
case driver_vendor::AMD:
|
case driver_vendor::AMD:
|
||||||
|
// Primitive restart on older GCN is still broken
|
||||||
|
g_drv_no_primitive_restart = (g_chip_class == vk::chip_class::AMD_gcn_generic);
|
||||||
|
break;
|
||||||
case driver_vendor::RADV:
|
case driver_vendor::RADV:
|
||||||
// Previous bugs with fence reset and primitive restart seem to have been fixed with newer drivers
|
// Previous bugs with fence reset and primitive restart seem to have been fixed with newer drivers
|
||||||
break;
|
break;
|
||||||
@ -550,7 +553,7 @@ namespace vk
|
|||||||
|
|
||||||
bool emulate_primitive_restart(rsx::primitive_type type)
|
bool emulate_primitive_restart(rsx::primitive_type type)
|
||||||
{
|
{
|
||||||
if (g_drv_no_primitive_restart_flag)
|
if (g_drv_no_primitive_restart)
|
||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user