Disable geometry shaders on mesa AMD/ATI drivers.
Causes misrenderings in games that uses them.
This commit is contained in:
parent
5db10d83f7
commit
b4eb5d8e3f
|
@ -385,7 +385,7 @@ Renderer::Renderer()
|
||||||
g_Config.backend_info.bSupportsBBox = GLExtensions::Supports("GL_ARB_shader_storage_buffer_object");
|
g_Config.backend_info.bSupportsBBox = GLExtensions::Supports("GL_ARB_shader_storage_buffer_object");
|
||||||
g_Config.backend_info.bSupportsGSInstancing = GLExtensions::Supports("GL_ARB_gpu_shader5");
|
g_Config.backend_info.bSupportsGSInstancing = GLExtensions::Supports("GL_ARB_gpu_shader5");
|
||||||
g_Config.backend_info.bSupportsSSAA = GLExtensions::Supports("GL_ARB_gpu_shader5") && GLExtensions::Supports("GL_ARB_sample_shading");
|
g_Config.backend_info.bSupportsSSAA = GLExtensions::Supports("GL_ARB_gpu_shader5") && GLExtensions::Supports("GL_ARB_sample_shading");
|
||||||
g_Config.backend_info.bSupportsGeometryShaders = GLExtensions::Version() >= 320;
|
g_Config.backend_info.bSupportsGeometryShaders = GLExtensions::Version() >= 320 && !DriverDetails::HasBug(DriverDetails::BUG_BROKENGEOMETRYSHADERS);
|
||||||
g_Config.backend_info.bSupportsPaletteConversion = GLExtensions::Supports("GL_ARB_texture_buffer_object") ||
|
g_Config.backend_info.bSupportsPaletteConversion = GLExtensions::Supports("GL_ARB_texture_buffer_object") ||
|
||||||
GLExtensions::Supports("GL_OES_texture_buffer") ||
|
GLExtensions::Supports("GL_OES_texture_buffer") ||
|
||||||
GLExtensions::Supports("GL_EXT_texture_buffer");
|
GLExtensions::Supports("GL_EXT_texture_buffer");
|
||||||
|
|
|
@ -51,6 +51,7 @@ namespace DriverDetails
|
||||||
{OS_ALL, VENDOR_IMGTEC, DRIVER_IMGTEC, -1, BUG_BROKENBUFFERSTREAM, -1.0, -1.0, true},
|
{OS_ALL, VENDOR_IMGTEC, DRIVER_IMGTEC, -1, BUG_BROKENBUFFERSTREAM, -1.0, -1.0, true},
|
||||||
{OS_ALL, VENDOR_MESA, DRIVER_NOUVEAU, -1, BUG_BROKENUBO, 900, 916, true},
|
{OS_ALL, VENDOR_MESA, DRIVER_NOUVEAU, -1, BUG_BROKENUBO, 900, 916, true},
|
||||||
{OS_ALL, VENDOR_MESA, DRIVER_R600, -1, BUG_BROKENUBO, 900, 913, true},
|
{OS_ALL, VENDOR_MESA, DRIVER_R600, -1, BUG_BROKENUBO, 900, 913, true},
|
||||||
|
{OS_ALL, VENDOR_MESA, DRIVER_R600, -1, BUG_BROKENGEOMETRYSHADERS, -1.0, -1.0, true},
|
||||||
{OS_ALL, VENDOR_MESA, DRIVER_I965, -1, BUG_BROKENUBO, 900, 920, true},
|
{OS_ALL, VENDOR_MESA, DRIVER_I965, -1, BUG_BROKENUBO, 900, 920, true},
|
||||||
{OS_ALL, VENDOR_MESA, DRIVER_ALL, -1, BUG_BROKENCOPYIMAGE, -1.0, 1064.0, true},
|
{OS_ALL, VENDOR_MESA, DRIVER_ALL, -1, BUG_BROKENCOPYIMAGE, -1.0, 1064.0, true},
|
||||||
{OS_LINUX, VENDOR_ATI, DRIVER_ATI, -1, BUG_BROKENPINNEDMEMORY, -1.0, -1.0, true},
|
{OS_LINUX, VENDOR_ATI, DRIVER_ATI, -1, BUG_BROKENPINNEDMEMORY, -1.0, -1.0, true},
|
||||||
|
|
|
@ -180,6 +180,14 @@ namespace DriverDetails
|
||||||
// Example alpha test path
|
// Example alpha test path
|
||||||
// if(( (prev.a > alphaRef.r) && (prev.a > alphaRef.g)) == false) {
|
// if(( (prev.a > alphaRef.r) && (prev.a > alphaRef.g)) == false) {
|
||||||
BUG_BROKENALPHATEST,
|
BUG_BROKENALPHATEST,
|
||||||
|
|
||||||
|
// Bug: Broken lines in geometry shaders
|
||||||
|
// Affected Devices: Mesa r600/radeonsi
|
||||||
|
// Started Version: -1
|
||||||
|
// Ended Version: -1
|
||||||
|
// Mesa inroduced geometry shader support for radeon devices and failed to test it with us.
|
||||||
|
// Causes misrenderings on a large amount of things that draw lines.
|
||||||
|
BUG_BROKENGEOMETRYSHADERS,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Initializes our internal vendor, device family, and driver version
|
// Initializes our internal vendor, device family, and driver version
|
||||||
|
|
Loading…
Reference in New Issue