summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2013-06-18 12:44:06 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2013-06-18 12:44:06 -0500
commit02cbcc8ec49676739315223b8d2b0867867f7352 (patch)
tree5357d7a2798bb5060fe52ab32b7b57bcea9892c3 /Source/Core/VideoCommon
parent9c32c923bc7a88c9ee6d2036275383726b359d25 (diff)
[Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen.
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/Src/DriverDetails.cpp1
-rw-r--r--Source/Core/VideoCommon/Src/DriverDetails.h10
2 files changed, 11 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/Src/DriverDetails.cpp b/Source/Core/VideoCommon/Src/DriverDetails.cpp
index 51b5275a5f..41f22be55c 100644
--- a/Source/Core/VideoCommon/Src/DriverDetails.cpp
+++ b/Source/Core/VideoCommon/Src/DriverDetails.cpp
@@ -29,6 +29,7 @@ namespace DriverDetails
{BUG_NODYNUBOACCESS, 300, 14.0, -1.0},
{BUG_BROKENCENTROID, 300, 14.0, -1.0},
{BUG_BROKENINFOLOG, 300, -1.0, -1.0},
+ {BUG_BROKENBUFFERS, 300, 14.0, -1.0},
};
std::map<std::pair<Vendor, Bug>, BugInfo> m_bugs;
diff --git a/Source/Core/VideoCommon/Src/DriverDetails.h b/Source/Core/VideoCommon/Src/DriverDetails.h
index c3bfc25ec5..bf831e29b9 100644
--- a/Source/Core/VideoCommon/Src/DriverDetails.h
+++ b/Source/Core/VideoCommon/Src/DriverDetails.h
@@ -52,6 +52,16 @@ namespace DriverDetails
// Adreno devices /always/ return 0 when querying GL_INFO_LOG_LENGTH
// They also max out at 1024 bytes(1023 characters + null terminator) for the log
BUG_BROKENINFOLOG,
+ // Bug: Uploading data with rendering causes issues
+ // Affected devices: Qualcomm/Adreno
+ // Started Version: 14
+ // Ended Version: -1
+ // When drawing our elements, the instruction buffer on Adreno devices
+ // becomes too long, causing the device to quickly run out of RAM
+ // I've watched the kernel module go up to ~700MB of RAM in a few seconds
+ // The "workaround" is calling swapbuffers every single time we flush
+ // This causes flickering, but it is the only known way to work around it
+ BUG_BROKENBUFFERS,
};
// Initializes our internal vendor, device family, and driver version