diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-18 18:10:27 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-18 18:11:50 +0000 |
commit | fa6d398436096ef8f1e595fad4cd00be3e89a9ff (patch) | |
tree | cfb2d65de547434421d222863040e6c50063d6b1 /gpu | |
parent | 36b2b0af7a30d7c89b6597b60f7ac9a4e65c27d9 (diff) | |
download | chromium_src-fa6d398436096ef8f1e595fad4cd00be3e89a9ff.zip chromium_src-fa6d398436096ef8f1e595fad4cd00be3e89a9ff.tar.gz chromium_src-fa6d398436096ef8f1e595fad4cd00be3e89a9ff.tar.bz2 |
Hook up two GPU driver bug workarounds.
* scalarize_vec_and_mat_constructor_args
per discussion with kbr, we decided to turn it on always for
consistency.
* regenerate_struct_names
all mac drivers, linux amd drivers
BUG=398694,403957
TEST=gpu_unittests
R=bajones@chromium.org,kbr@chromium.org
Review URL: https://codereview.chromium.org/474093002
Cr-Commit-Position: refs/heads/master@{#290303}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290303 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 | 33 | ||||
-rw-r--r-- | gpu/config/gpu_driver_bug_workaround_type.h | 2 |
3 files changed, 36 insertions, 1 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc index 10d5439..af8abd0 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -2819,6 +2819,8 @@ bool GLES2DecoderImpl::InitializeShaderTranslator() { driver_bug_workarounds |= SH_UNROLL_FOR_LOOP_WITH_SAMPLER_ARRAY_INDEX; if (workarounds().scalarize_vec_and_mat_constructor_args) driver_bug_workarounds |= SH_SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS; + if (workarounds().regenerate_struct_names) + driver_bug_workarounds |= SH_REGENERATE_STRUCT_NAMES; vertex_translator_ = shader_translator_cache()->GetTranslator( #if (ANGLE_SH_VERSION >= 126) diff --git a/gpu/config/gpu_driver_bug_list_json.cc b/gpu/config/gpu_driver_bug_list_json.cc index ffaa929..33a5aae 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": "7.0", + "version": "7.1", "entries": [ { "id": 1, @@ -990,6 +990,37 @@ LONG_STRING_CONST( "features": [ "disable_d3d11" ] + }, + { + "id": 88, + "description": "Always rewrite vec/mat constructors to be consistent", + "cr_bugs": [398694], + "features": [ + "scalarize_vec_and_mat_constructor_args" + ] + }, + { + "id": 89, + "description": "Mac drivers handle struct scopes incorrectly", + "cr_bugs": [403957], + "os": { + "type": "macosx" + }, + "features": [ + "regenerate_struct_names" + ] + }, + { + "id": 90, + "description": "Linux AMD drivers handle struct scopes incorrectly", + "cr_bugs": [403957], + "os": { + "type": "linux" + }, + "vendor_id": "0x1002", + "features": [ + "regenerate_struct_names" + ] } ] } diff --git a/gpu/config/gpu_driver_bug_workaround_type.h b/gpu/config/gpu_driver_bug_workaround_type.h index 730eb4f..2b220e0 100644 --- a/gpu/config/gpu_driver_bug_workaround_type.h +++ b/gpu/config/gpu_driver_bug_workaround_type.h @@ -76,6 +76,8 @@ needs_glsl_built_in_function_emulation) \ GPU_OP(NEEDS_OFFSCREEN_BUFFER_WORKAROUND, \ needs_offscreen_buffer_workaround) \ + GPU_OP(REGENERATE_STRUCT_NAMES, \ + regenerate_struct_names) \ GPU_OP(RELEASE_IMAGE_AFTER_USE, \ release_image_after_use) \ GPU_OP(RESTORE_SCISSOR_ON_FBO_CHANGE, \ |