OGL: Disable geometry shaders on Intel's Windows drivers due to broken interface blocks.
This commit is contained in:
parent
b30802e2f0
commit
bc3ed44050
|
@ -465,7 +465,8 @@ Renderer::Renderer()
|
|||
g_Config.backend_info.bSupportsEarlyZ = GLExtensions::Supports("GL_ARB_shader_image_load_store");
|
||||
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.bSupportsGeometryShaders = (GLExtensions::Version() >= 320);
|
||||
g_Config.backend_info.bSupportsGeometryShaders = (GLExtensions::Version() >= 320) &&
|
||||
!DriverDetails::HasBug(DriverDetails::BUG_INTELBROKENINTERFACEBLOCKS);
|
||||
|
||||
// Desktop OpenGL supports the binding layout if it supports 420pack
|
||||
// OpenGL ES 3.1 supports it implicitly without an extension
|
||||
|
|
|
@ -59,6 +59,7 @@ namespace DriverDetails
|
|||
{OS_WINDOWS,VENDOR_NVIDIA, DRIVER_NVIDIA, -1, BUG_BROKENUNSYNCMAPPING, -1.0, -1.0, true},
|
||||
{OS_LINUX, VENDOR_NVIDIA, DRIVER_NVIDIA, -1, BUG_BROKENUNSYNCMAPPING, -1.0, -1.0, true},
|
||||
{OS_WINDOWS,VENDOR_INTEL, DRIVER_INTEL, -1, BUG_INTELBROKENBUFFERSTORAGE, 101810.3907, 101810.3960, true},
|
||||
{OS_WINDOWS,VENDOR_INTEL, DRIVER_INTEL, -1, BUG_INTELBROKENINTERFACEBLOCKS, -1.0, -1.0, true},
|
||||
};
|
||||
|
||||
static std::map<Bug, BugInfo> m_bugs;
|
||||
|
|
|
@ -200,6 +200,15 @@ namespace DriverDetails
|
|||
// Broken on Windows Intel
|
||||
// if (cond == false)
|
||||
BUG_BROKENNEGATEDBOOLEAN,
|
||||
// Bug: Intel's Windows driver breaks interface blocks that contain structs.
|
||||
// Affected devices: Intel (Windows)
|
||||
// Started Version: -1
|
||||
// Ended Version: -1
|
||||
// We need interface blocks to make the geometry shader optional and we need structs to make
|
||||
// assignment easier in the geometry shader stage. However Intel's Windows drivers don't seem
|
||||
// to be able handle this combination.
|
||||
// TODO: Find affected versions.
|
||||
BUG_INTELBROKENINTERFACEBLOCKS,
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue