summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 14:34:21 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 14:34:21 +0000
commitc18dfb934fe38d9e4a7fd1019d6eaacaca5b6348 (patch)
treec6c8f8ac6a11649f2120119cfd9c1cda84b17e37 /gpu
parentd400c332d6c2fd6d8a60ed676b9b1eacc0f2571c (diff)
downloadchromium_src-c18dfb934fe38d9e4a7fd1019d6eaacaca5b6348.zip
chromium_src-c18dfb934fe38d9e4a7fd1019d6eaacaca5b6348.tar.gz
chromium_src-c18dfb934fe38d9e4a7fd1019d6eaacaca5b6348.tar.bz2
GPU: Disable GL_OES_standard_derivatives on Intel Pineview.
Against the OpenGL 2.0 (big GL) spec, we don't have support for these on the Gallium driver (which is what we're using on ChromeOS). BUG=243038 TEST=by hand on device R=piman@chromium.org Review URL: https://codereview.chromium.org/15741020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202083 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/feature_info.cc5
-rw-r--r--gpu/config/gpu_driver_bug_list_json.cc15
-rw-r--r--gpu/config/gpu_driver_bug_workaround_type.h2
3 files changed, 19 insertions, 3 deletions
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc
index fa8abdd2..50f494d 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -548,8 +548,9 @@ void FeatureInfo::AddFeatures(const CommandLine& command_line) {
validators_.render_buffer_format.AddValue(GL_DEPTH_COMPONENT24);
}
- if (extensions.Contains("GL_OES_standard_derivatives") ||
- gfx::HasDesktopGLFeatures()) {
+ if (!workarounds_.disable_oes_standard_derivatives &&
+ (extensions.Contains("GL_OES_standard_derivatives") ||
+ gfx::HasDesktopGLFeatures())) {
AddExtensionString("GL_OES_standard_derivatives");
feature_flags_.oes_standard_derivatives = true;
validators_.hint_target.AddValue(GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES);
diff --git a/gpu/config/gpu_driver_bug_list_json.cc b/gpu/config/gpu_driver_bug_list_json.cc
index e324231..dc9e5bf 100644
--- a/gpu/config/gpu_driver_bug_list_json.cc
+++ b/gpu/config/gpu_driver_bug_list_json.cc
@@ -85,7 +85,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
{
"name": "gpu driver bug list",
// Please update the version number whenever you change this file.
- "version": "2.0",
+ "version": "2.1",
"entries": [
{
"id": 1,
@@ -343,6 +343,19 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
"features": [
"unbind_fbo_on_context_switch"
]
+ },
+ {
+ "id": 23,
+ "cr_bugs": [243038],
+ "description": "Disable OES_standard_derivative on Intel Pineview M Gallium drivers.",
+ "os": {
+ "type": "chromeos"
+ },
+ "vendor_id": "0x8086",
+ "device_id": ["0xa011", "0xa012"],
+ "features": [
+ "disable_oes_standard_derivatives"
+ ]
}
]
}
diff --git a/gpu/config/gpu_driver_bug_workaround_type.h b/gpu/config/gpu_driver_bug_workaround_type.h
index bb21425..1d78c97 100644
--- a/gpu/config/gpu_driver_bug_workaround_type.h
+++ b/gpu/config/gpu_driver_bug_workaround_type.h
@@ -22,6 +22,8 @@
disable_ext_draw_buffers) \
GPU_OP(DISABLE_EXT_OCCLUSION_QUERY, \
disable_ext_occlusion_query) \
+ GPU_OP(DISABLE_OES_STANDARD_DERIVATIVES, \
+ disable_oes_standard_derivatives) \
GPU_OP(ENABLE_CHROMIUM_FAST_NPOT_MO8_TEXTURES, \
enable_chromium_fast_npot_mo8_textures) \
GPU_OP(EXIT_ON_CONTEXT_LOST, \