diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-17 19:34:11 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-17 19:34:11 +0000 |
commit | f0c876035d1f0bd3dc4917e07697c70a93920f00 (patch) | |
tree | 94221124dc594c79b458104764a2817a1f76d89d /gpu | |
parent | 9c7830ba58277583ca0907237b7ab50b7d671aec (diff) | |
download | chromium_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.cc | 2 | ||||
-rw-r--r-- | gpu/config/gpu_driver_bug_list_json.cc | 13 | ||||
-rw-r--r-- | gpu/config/gpu_driver_bug_workaround_type.h | 6 |
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 { |