summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2016-05-19 13:31:30 +0200
committerMarkus Wick <degasus@users.noreply.github.com>2016-05-19 13:31:30 +0200
commitd2db329a42e8a61665f39e9d212d5ca5c35efc8a (patch)
tree6350eebcb6aa13339b2741b416c7779d6394ced2 /Source/Core/VideoCommon
parent24ea2dc2da94cd3d6c6ea7df8d2dcb65df2bb297 (diff)
parent89e54fbd6ca9cdfdb5766ea9ecf5fa1d81e786c7 (diff)
Merge pull request #3831 from stenzek/gl-bbox
OGL: Improve performance of bounding box on NVIDIA drivers
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/DriverDetails.cpp1
-rw-r--r--Source/Core/VideoCommon/DriverDetails.h8
2 files changed, 9 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/DriverDetails.cpp b/Source/Core/VideoCommon/DriverDetails.cpp
index 7e7aa9039b..9e147aec6b 100644
--- a/Source/Core/VideoCommon/DriverDetails.cpp
+++ b/Source/Core/VideoCommon/DriverDetails.cpp
@@ -60,6 +60,7 @@ namespace DriverDetails
{OS_WINDOWS,VENDOR_NVIDIA, DRIVER_NVIDIA, Family::UNKNOWN, BUG_BROKENUNSYNCMAPPING, -1.0, -1.0, true},
{OS_LINUX, VENDOR_NVIDIA, DRIVER_NVIDIA, Family::UNKNOWN, BUG_BROKENUNSYNCMAPPING, -1.0, -1.0, true},
{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},
};
static std::map<Bug, BugInfo> m_bugs;
diff --git a/Source/Core/VideoCommon/DriverDetails.h b/Source/Core/VideoCommon/DriverDetails.h
index ebfe4a1944..7b9f999961 100644
--- a/Source/Core/VideoCommon/DriverDetails.h
+++ b/Source/Core/VideoCommon/DriverDetails.h
@@ -184,6 +184,14 @@ namespace DriverDetails
// Qualcomm seems to have lots of overhead on exlicit flushing, but the coherent mapping path is fine.
// So let's use coherent mapping there.
BUG_BROKENEXPLICITFLUSH,
+
+ // Bug: glGetBufferSubData for bounding box reads is slow on AMD drivers
+ // Started Version: -1
+ // Ended Version: -1
+ // Bounding box reads use glGetBufferSubData to read back the contents of the SSBO, but this is slow on AMD drivers, compared to
+ // using glMapBufferRange. glMapBufferRange is slower on Nvidia drivers, we suspect due to the first call moving the buffer from
+ // GPU memory to system memory. Use glMapBufferRange for BBox reads on AMD, and glGetBufferSubData everywhere else.
+ BUG_SLOWGETBUFFERSUBDATA,
};
// Initializes our internal vendor, device family, and driver version