summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-29 19:32:04 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-29 19:32:04 +0000
commit101fb33c4578cfbb5e53ef061cd111650aa110c5 (patch)
tree9ab76ded87766001fde79f3c683dca1c5d1a54ce
parent3d18764730f716d9b0db239fe0ae7712f79eb908 (diff)
downloadchromium_src-101fb33c4578cfbb5e53ef061cd111650aa110c5.zip
chromium_src-101fb33c4578cfbb5e53ef061cd111650aa110c5.tar.gz
chromium_src-101fb33c4578cfbb5e53ef061cd111650aa110c5.tar.bz2
Manually merge 202083: "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 TBR=backer@chromium.org Review URL: https://codereview.chromium.org/16135005 git-svn-id: svn://svn.chromium.org/chrome/branches/1500/src@202935 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/browser/gpu/gpu_driver_bug_list.json13
-rw-r--r--gpu/command_buffer/service/feature_info.cc5
-rw-r--r--gpu/command_buffer/service/gpu_driver_bug_workaround_type.h2
3 files changed, 18 insertions, 2 deletions
diff --git a/content/browser/gpu/gpu_driver_bug_list.json b/content/browser/gpu/gpu_driver_bug_list.json
index c559173..76b17db 100644
--- a/content/browser/gpu/gpu_driver_bug_list.json
+++ b/content/browser/gpu/gpu_driver_bug_list.json
@@ -300,6 +300,19 @@
"features": [
"disable_ext_draw_buffers"
]
+ },
+ {
+ "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/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc
index d70b6f1..ca9a375 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -553,8 +553,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/command_buffer/service/gpu_driver_bug_workaround_type.h b/gpu/command_buffer/service/gpu_driver_bug_workaround_type.h
index 2ce4e42..1bd3471 100644
--- a/gpu/command_buffer/service/gpu_driver_bug_workaround_type.h
+++ b/gpu/command_buffer/service/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, \