summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-17 19:34:11 +0000
committerzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-17 19:34:11 +0000
commitf0c876035d1f0bd3dc4917e07697c70a93920f00 (patch)
tree94221124dc594c79b458104764a2817a1f76d89d /gpu
parent9c7830ba58277583ca0907237b7ab50b7d671aec (diff)
downloadchromium_src-f0c876035d1f0bd3dc4917e07697c70a93920f00.zip
chromium_src-f0c876035d1f0bd3dc4917e07697c70a93920f00.tar.gz
chromium_src-f0c876035d1f0bd3dc4917e07697c70a93920f00.tar.bz2
Apply shader short circuit workaround on MacOSX
BUG=307751 TEST=conformance test mentioned in the crbug R=bajones@chromium.org, kbr@chromium.org Review URL: https://codereview.chromium.org/27343003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229208 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc2
-rw-r--r--gpu/config/gpu_driver_bug_list_json.cc13
-rw-r--r--gpu/config/gpu_driver_bug_workaround_type.h6
3 files changed, 18 insertions, 3 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index f53120b..4dbae41 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -2550,6 +2550,8 @@ bool GLES2DecoderImpl::InitializeShaderTranslator() {
driver_bug_workarounds |= SH_EMULATE_BUILT_IN_FUNCTIONS;
if (workarounds().init_gl_position_in_vertex_shader)
driver_bug_workarounds |= SH_INIT_GL_POSITION;
+ if (workarounds().unfold_short_circuit_as_ternary_operation)
+ driver_bug_workarounds |= SH_UNFOLD_SHORT_CIRCUIT;
ShaderTranslatorCache* cache = ShaderTranslatorCache::GetInstance();
vertex_translator_ = cache->GetTranslator(
diff --git a/gpu/config/gpu_driver_bug_list_json.cc b/gpu/config/gpu_driver_bug_list_json.cc
index 1f5a05b..213ada5 100644
--- a/gpu/config/gpu_driver_bug_list_json.cc
+++ b/gpu/config/gpu_driver_bug_list_json.cc
@@ -19,7 +19,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
{
"name": "gpu driver bug list",
// Please update the version number whenever you change this file.
- "version": "2.22",
+ "version": "2.23",
"entries": [
{
"id": 1,
@@ -612,6 +612,17 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
"features": [
"disable_ext_discard_framebuffer"
]
+ },
+ {
+ "id": 45,
+ "cr_bugs": [307751],
+ "description": "Unfold short circuit on MacOSX.",
+ "os": {
+ "type": "macosx"
+ },
+ "features": [
+ "unfold_short_circuit_as_ternary_operation"
+ ]
}
]
}
diff --git a/gpu/config/gpu_driver_bug_workaround_type.h b/gpu/config/gpu_driver_bug_workaround_type.h
index e9b3524..66db5ff 100644
--- a/gpu/config/gpu_driver_bug_workaround_type.h
+++ b/gpu/config/gpu_driver_bug_workaround_type.h
@@ -24,6 +24,8 @@
disable_d3d11) \
GPU_OP(DISABLE_DEPTH_TEXTURE, \
disable_depth_texture) \
+ GPU_OP(DISABLE_EXT_DISCARD_FRAMEBUFFER, \
+ disable_ext_discard_framebuffer) \
GPU_OP(DISABLE_EXT_DRAW_BUFFERS, \
disable_ext_draw_buffers) \
GPU_OP(DISABLE_EXT_OCCLUSION_QUERY, \
@@ -60,6 +62,8 @@
swizzle_rgba_for_async_readpixels) \
GPU_OP(UNBIND_FBO_ON_CONTEXT_SWITCH, \
unbind_fbo_on_context_switch) \
+ GPU_OP(UNFOLD_SHORT_CIRCUIT_AS_TERNARY_OPERATION, \
+ unfold_short_circuit_as_ternary_operation) \
GPU_OP(USE_CLIENT_SIDE_ARRAYS_FOR_STREAM_BUFFERS, \
use_client_side_arrays_for_stream_buffers) \
GPU_OP(USE_CURRENT_PROGRAM_AFTER_SUCCESSFUL_LINK, \
@@ -70,8 +74,6 @@
use_virtualized_gl_contexts) \
GPU_OP(VALIDATE_MULTISAMPLE_BUFFER_ALLOCATION, \
validate_multisample_buffer_allocation) \
- GPU_OP(DISABLE_EXT_DISCARD_FRAMEBUFFER, \
- disable_ext_discard_framebuffer) \
namespace gpu {