DriverDetails: Add bug for broken gl_ClipDistance on i965.

This commit is contained in:
Jules Blok 2016-08-12 13:42:18 +02:00
parent 94927f360f
commit afa251af42
3 changed files with 11 additions and 1 deletions

View File

@ -482,7 +482,8 @@ Renderer::Renderer()
GLExtensions::Supports("GL_ARB_shading_language_420pack");
// Clip distance support is useless without a method to clamp the depth range
g_Config.backend_info.bSupportsDepthClamp = GLExtensions::Supports("GL_ARB_depth_clamp");
g_Config.backend_info.bSupportsDepthClamp = GLExtensions::Supports("GL_ARB_depth_clamp") &&
!DriverDetails::HasBug(DriverDetails::BUG_BROKENCLIPDISTANCE);
g_ogl_config.bSupportsGLSLCache = GLExtensions::Supports("GL_ARB_get_program_binary");
g_ogl_config.bSupportsGLPinnedMemory = GLExtensions::Supports("GL_AMD_pinned_memory");

View File

@ -74,6 +74,7 @@ static BugInfo m_known_bugs[] = {
{OS_WINDOWS, VENDOR_INTEL, DRIVER_INTEL, Family::UNKNOWN, BUG_INTELBROKENBUFFERSTORAGE,
101810.3907, 101810.3960, true},
{OS_ALL, VENDOR_ATI, DRIVER_ATI, Family::UNKNOWN, BUG_SLOWGETBUFFERSUBDATA, -1.0, -1.0, true},
{OS_ALL, VENDOR_MESA, DRIVER_I965, Family::UNKNOWN, BUG_BROKENCLIPDISTANCE, -1.0, -1.0, true},
};
static std::map<Bug, BugInfo> m_bugs;

View File

@ -204,6 +204,14 @@ enum Bug
// GPU memory to system memory. Use glMapBufferRange for BBox reads on AMD, and glGetBufferSubData
// everywhere else.
BUG_SLOWGETBUFFERSUBDATA,
// Bug: Broken lines in geometry shaders when writing to gl_ClipDistance
// Affected Devices: Mesa i965
// Started Version: -1
// Ended Version: -1
// Mesa hasn't tested geometry shaders on i965 with user-defined clipping planes.
// Causes misrenderings on a large amount of things that draw lines.
BUG_BROKENCLIPDISTANCE,
};
// Initializes our internal vendor, device family, and driver version