mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-11 00:40:16 +00:00
Merge pull request #6006 from JonnyH/WIP/parse-imgtec-gl_version-string
Parse IMGTEC's GL_VERSION string format
This commit is contained in:
commit
657195fad5
@ -326,6 +326,29 @@ static void InitDriverInfo()
|
|||||||
version = 100 * major + minor;
|
version = 100 * major + minor;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case DriverDetails::VENDOR_IMGTEC:
|
||||||
|
{
|
||||||
|
// Example version string:
|
||||||
|
// "OpenGL ES 3.2 build 1.9@4850625"
|
||||||
|
// Ends up as "109.4850625" - "1.9" being the branch, "4850625" being the build's change ID
|
||||||
|
// The change ID only makes sense to compare within a branch
|
||||||
|
driver = DriverDetails::DRIVER_IMGTEC;
|
||||||
|
double gl_version;
|
||||||
|
int major, minor, change;
|
||||||
|
constexpr double change_scale = 10000000;
|
||||||
|
sscanf(g_ogl_config.gl_version, "OpenGL ES %lg build %d.%d@%d", &gl_version, &major, &minor,
|
||||||
|
&change);
|
||||||
|
version = 100 * major + minor;
|
||||||
|
if (change >= change_scale)
|
||||||
|
{
|
||||||
|
ERROR_LOG(VIDEO, "Version changeID overflow - change:%d scale:%f", change, change_scale);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
version += static_cast<double>(change) / change_scale;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
// We don't care about these
|
// We don't care about these
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -95,7 +95,7 @@ static BugInfo m_known_bugs[] = {
|
|||||||
{API_OPENGL, OS_OSX, VENDOR_INTEL, DRIVER_INTEL, Family::UNKNOWN,
|
{API_OPENGL, OS_OSX, VENDOR_INTEL, DRIVER_INTEL, Family::UNKNOWN,
|
||||||
BUG_BROKEN_DUAL_SOURCE_BLENDING, -1.0, -1.0, true},
|
BUG_BROKEN_DUAL_SOURCE_BLENDING, -1.0, -1.0, true},
|
||||||
{API_OPENGL, OS_ALL, VENDOR_IMGTEC, DRIVER_IMGTEC, Family::UNKNOWN,
|
{API_OPENGL, OS_ALL, VENDOR_IMGTEC, DRIVER_IMGTEC, Family::UNKNOWN,
|
||||||
BUG_BROKEN_BITWISE_OP_NEGATION, -1.0, -1.0, true},
|
BUG_BROKEN_BITWISE_OP_NEGATION, -1.0, 108.4693462, true},
|
||||||
{API_VULKAN, OS_ALL, VENDOR_ATI, DRIVER_ATI, Family::UNKNOWN, BUG_PRIMITIVE_RESTART, -1.0, -1.0,
|
{API_VULKAN, OS_ALL, VENDOR_ATI, DRIVER_ATI, Family::UNKNOWN, BUG_PRIMITIVE_RESTART, -1.0, -1.0,
|
||||||
true},
|
true},
|
||||||
{API_OPENGL, OS_LINUX, VENDOR_MESA, DRIVER_I965, Family::UNKNOWN,
|
{API_OPENGL, OS_LINUX, VENDOR_MESA, DRIVER_I965, Family::UNKNOWN,
|
||||||
|
@ -242,7 +242,7 @@ enum Bug
|
|||||||
BUG_BROKEN_DUAL_SOURCE_BLENDING,
|
BUG_BROKEN_DUAL_SOURCE_BLENDING,
|
||||||
// BUG: ImgTec GLSL shader compiler fails when negating the input to a bitwise operation
|
// BUG: ImgTec GLSL shader compiler fails when negating the input to a bitwise operation
|
||||||
// Started version: 1.5
|
// Started version: 1.5
|
||||||
// Ended version: 1.10
|
// Ended version: 1.8@4693462
|
||||||
// Shaders that do something like "variable <<= (-othervariable);" cause the shader to
|
// Shaders that do something like "variable <<= (-othervariable);" cause the shader to
|
||||||
// fail compilation with no useful diagnostic log. This can be worked around by storing
|
// fail compilation with no useful diagnostic log. This can be worked around by storing
|
||||||
// the negated value to a temporary variable then using that in the bitwise op.
|
// the negated value to a temporary variable then using that in the bitwise op.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user