--- /dev/null
+// Copyright 2014 Samsung Electronics. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Determines whether a certain driver bug exists in the current system.
+// The format of a valid gpu_driver_bug_list.json file is defined in
+// <gpu/config/gpu_control_list_format.txt>.
+// The supported "features" can be found in
+// <gpu/config/gpu_driver_bug_workaround_type.h>.
+
+// This file is analogous to src/gpu/config/gpu_driver_bug_list_json.cc.
+// Please make changes accordingly when above referred file gets changed.
+
+#include "gpu/config/gpu_control_list_jsons.h"
+
+#define LONG_STRING_CONST(...) #__VA_ARGS__
+
+namespace gpu {
+
+const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
+
+{
+ "name": "gpu driver bug list",
+ // Please update the version number whenever you change this file.
+ "version": "7.12",
+ "entries": [
+ {
+ "id": 1,
+ "description": "Imagination driver doesn't like uploading lots of buffer data constantly",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Imagination.*",
+ "features": [
+ "use_client_side_arrays_for_stream_buffers"
+ ]
+ },
+ {
+ "id": 2,
+ "description": "ARM driver doesn't like uploading lots of buffer data constantly",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "ARM.*",
+ "features": [
+ "use_client_side_arrays_for_stream_buffers"
+ ]
+ },
+ {
+ "id": 3,
+ "description": "glGenerateMipmap leaks vram without setting texture filters on some Mac drivers",
+ "webkit_bugs": [48489],
+ "cr_bugs": [349137],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "features": [
+ "set_texture_filter_before_generating_mipmap"
+ ]
+ },
+ {
+ "id": 4,
+ "description": "glReadPixels incorrectly sets alpha to 0 on some drivers from a drawing buffer without alpha channel",
+ "webkit_bugs": [33416],
+ "cr_bugs": [349137],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "features": [
+ "clear_alpha_in_readpixels"
+ ]
+ },
+ {
+ "id": 5,
+ "description": "Always call glUseProgram after a successful link to avoid a driver bug",
+ "cr_bugs": [349137],
+ "vendor_id": "0x10de",
+ "exceptions": [
+ {
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": ">=",
+ "value": "10.9"
+ }
+ }
+ }
+ ],
+ "features": [
+ "use_current_program_after_successful_link"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 6,
+ "description": "Restore scissor on FBO change with Qualcomm GPUs on older versions of Android",
+ "cr_bugs": [165493, 222018],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "restore_scissor_on_fbo_change"
+ ]
+ },
+ {
+ "id": 7,
+ "cr_bugs": [89557],
+ "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on Macs",
+ "os": {
+ "type": "macosx"
+ },
+ "vendor_id": "0x10de",
+ "features": [
+ "needs_offscreen_buffer_workaround"
+ ]
+ },
+ {
+ "id": 8,
+ "description": "A few built-in glsl functions on Mac behave incorrectly",
+ "cr_bugs": [349137],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "vendor_id": "0x1002",
+ "features": [
+ "needs_glsl_built_in_function_emulation"
+ ]
+ },
+ {
+ "id": 9,
+ "description": "AMD drivers get gl_PointCoord backward on OS X 10.8 or earlier",
+ "cr_bugs": [256349],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "vendor_id": "0x1002",
+ "features": [
+ "reverse_point_sprite_coord_origin"
+ ]
+ },
+ {
+ "id": 10,
+ "description": "Intel drivers get gl_PointCoord backward on OS X 10.8 or earlier",
+ "cr_bugs": [256349],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "vendor_id": "0x8086",
+ "features": [
+ "reverse_point_sprite_coord_origin"
+ ]
+ },
+ {
+ "id": 11,
+ "description": "Limit max texure size to 4096 on Macs with Intel GPUs",
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "vendor_id": "0x8086",
+ "features": [
+ "max_texture_size_limit_4096"
+ ]
+ },
+ {
+ "id": 12,
+ "description": "Limit max cube map texure size to 1024 on Macs with Intel GPUs",
+ "os": {
+ "type": "macosx"
+ },
+ "vendor_id": "0x8086",
+ "features": [
+ "max_cube_map_texture_size_limit_1024"
+ ]
+ },
+ {
+ "id": 13,
+ "description": "Limit max cube map texure size to 512 on older Macs with Intel GPUs",
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.7.3"
+ }
+ },
+ "vendor_id": "0x8086",
+ "features": [
+ "max_cube_map_texture_size_limit_512"
+ ]
+ },
+ {
+ "id": 14,
+ "description": "Limit max texure size and cube map texture size to 4096 on Macs with AMD GPUs",
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "vendor_id": "0x1002",
+ "features": [
+ "max_texture_size_limit_4096",
+ "max_cube_map_texture_size_limit_4096"
+ ]
+ },
+ {
+ "id": 16,
+ "description": "EXT_occlusion_query appears to be buggy with Intel GPUs on Linux",
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x8086",
+ "features": [
+ "disable_ext_occlusion_query"
+ ]
+ },
+ {
+ "id": 17,
+ "description": "Some drivers are unable to reset the D3D device in the GPU process sandbox",
+ "os": {
+ "type": "win"
+ },
+ "features": [
+ "exit_on_context_lost"
+ ]
+ },
+ {
+ "id": 19,
+ "description": "Disable depth textures on Android with Qualcomm GPUs",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "disable_depth_texture"
+ ]
+ },
+ {
+ "id": 20,
+ "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X due to driver bugs",
+ "os": {
+ "type": "macosx"
+ },
+ "vendor_id": "0x10de",
+ "device_id": ["0x0fd5"],
+ "multi_gpu_category": "any",
+ "features": [
+ "disable_ext_draw_buffers"
+ ]
+ },
+ {
+ "id": 21,
+ "description": "Vivante GPUs are buggy with context switching",
+ "cr_bugs": [179250, 235935],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_extensions": ".*GL_VIV_shader_binary.*",
+ "features": [
+ "unbind_fbo_on_context_switch"
+ ]
+ },
+ {
+ "id": 22,
+ "description": "Imagination drivers are buggy with context switching",
+ "cr_bugs": [230896],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Imagination.*",
+ "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"
+ ]
+ },
+ {
+ "id": 24,
+ "cr_bugs": [231082],
+ "description": "Mali-400 drivers throw an error when a buffer object's size is set to 0",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "ARM.*",
+ "gl_renderer": ".*Mali-400.*",
+ "features": [
+ "use_non_zero_size_for_client_side_stream_buffers"
+ ]
+ },
+ {
+ "id": 25,
+ "cr_bugs": [152225],
+ "description": "PBO + Readpixels don't work on OS X 10.7",
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.8"
+ }
+ },
+ "features": [
+ "disable_async_readpixels"
+ ]
+ },
+ {
+ "id": 26,
+ "description": "Disable use of Direct3D 11 on Windows Vista and lower",
+ "os": {
+ "type": "win",
+ "version": {
+ "op": "<=",
+ "value": "6.0"
+ }
+ },
+ "features": [
+ "disable_d3d11"
+ ]
+ },
+ {
+ "id": 27,
+ "cr_bugs": [265115],
+ "description": "Async Readpixels with GL_BGRA format is broken on Haswell chipset on Macs",
+ "os": {
+ "type": "macosx"
+ },
+ "vendor_id": "0x8086",
+ "device_id": ["0x0402", "0x0406", "0x040a", "0x0412", "0x0416", "0x041a",
+ "0x0a04", "0x0a16", "0x0a22", "0x0a26", "0x0a2a"],
+ "features": [
+ "swizzle_rgba_for_async_readpixels"
+ ]
+ },
+ {
+ "id": 30,
+ "cr_bugs": [237931],
+ "description": "Multisampling is buggy on OSX when multiple monitors are connected",
+ "os": {
+ "type": "macosx"
+ },
+ "features": [
+ "disable_multimonitor_multisampling"
+ ]
+ },
+ {
+ "id": 31,
+ "cr_bugs": [154715, 10068, 269829, 294779, 285292],
+ "description": "The Mali-Txxx driver does not guarantee flush ordering",
+ "gl_vendor": "ARM.*",
+ "gl_renderer": "Mali-T.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+ {
+ "id": 32,
+ "cr_bugs": [179815],
+ "description": "Share groups are not working on (older?) Broadcom drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Broadcom.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+ {
+ "id": 33,
+ "description": "Share group-related crashes and poor context switching perf on Galaxy Nexus",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Imagination.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+ {
+ "id": 34,
+ "cr_bugs": [179250, 229643, 230896],
+ "description": "Share groups are not working on (older?) Vivante drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_extensions": ".*GL_VIV_shader_binary.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 35,
+ "cr_bugs": [163464],
+ "description": "Share-group related crashes on older NVIDIA drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "NVIDIA.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 36,
+ "cr_bugs": [163464, 233612],
+ "description": "Share-group related crashes on Qualcomm drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+ {
+ "id": 37,
+ "cr_bugs": [286468],
+ "description": "Program link fails in NVIDIA Linux if gl_Position is not set",
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x10de",
+ "features": [
+ "init_gl_position_in_vertex_shader"
+ ]
+ },
+ {
+ "id": 38,
+ "cr_bugs": [289461],
+ "description": "Non-virtual contexts on Qualcomm sometimes cause out-of-order frames",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+ {
+ "id": 39,
+ "cr_bugs": [290391],
+ "description": "Multisampled renderbuffer allocation must be validated on some Macs",
+ "os": {
+ "type": "macosx"
+ },
+ "features": [
+ "validate_multisample_buffer_allocation"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 40,
+ "cr_bugs": [290876],
+ "description": "Framebuffer discarding causes flickering on old ARM drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "ARM.*",
+ "features": [
+ "disable_ext_discard_framebuffer"
+ ]
+ },
+ {
+ "id": 42,
+ "cr_bugs": [290876],
+ "description": "Framebuffer discarding causes flickering on older IMG drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Imagination.*",
+ "gl_renderer": "PowerVR SGX 540",
+ "features": [
+ "disable_ext_discard_framebuffer"
+ ]
+ },
+ {
+ "id": 43,
+ "cr_bugs": [299494],
+ "description": "Framebuffer discarding doesn't accept trivial attachments on Vivante",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_extensions": ".*GL_VIV_shader_binary.*",
+ "features": [
+ "disable_ext_discard_framebuffer"
+ ]
+ },
+ {
+ "id": 44,
+ "cr_bugs": [301988],
+ "description": "Framebuffer discarding causes jumpy scrolling on Mali drivers",
+ "os": {
+ "type": "chromeos"
+ },
+ "features": [
+ "disable_ext_discard_framebuffer"
+ ]
+ },
+ {
+ "id": 45,
+ "cr_bugs": [307751],
+ "description": "Unfold short circuit on Mac OS X",
+ "os": {
+ "type": "macosx"
+ },
+ "features": [
+ "unfold_short_circuit_as_ternary_operation"
+ ]
+ },
+ {
+ "id": 48,
+ "description": "Force to use discrete GPU on older MacBookPro models",
+ "cr_bugs": [113703],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": ">=",
+ "value": "10.7"
+ }
+ },
+ "machine_model_name": ["MacBookPro"],
+ "machine_model_version": {
+ "op": "<",
+ "value": "8"
+ },
+ "gpu_count": {
+ "op": "=",
+ "value": "2"
+ },
+ "features": [
+ "force_discrete_gpu"
+ ]
+ },
+ {
+ "id": 49,
+ "cr_bugs": [309734],
+ "description": "The first draw operation from an idle state is slow",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "wake_up_gpu_before_drawing"
+ ]
+ },
+ {
+ "id": 51,
+ "description": "TexSubImage2D() is faster for full uploads on ANGLE",
+ "os": {
+ "type": "win"
+ },
+ "gl_renderer": "ANGLE.*",
+ "features": [
+ "texsubimage2d_faster_than_teximage2d"
+ ]
+ },
+ {
+ "id": 52,
+ "description": "ES3 MSAA is broken on Qualcomm",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "disable_multisampling"
+ ]
+ },
+ {
+ "id": 54,
+ "cr_bugs": [124764, 349137],
+ "description": "Clear uniforms before first program use on all platforms",
+ "exceptions": [
+ {
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": ">=",
+ "value": "10.9"
+ }
+ }
+ }
+ ],
+ "features": [
+ "clear_uniforms_before_first_program_use"
+ ]
+ },
+ {
+ "id": 55,
+ "cr_bugs": [333885],
+ "description": "Mesa drivers in Linux handle varyings without static use incorrectly",
+ "os": {
+ "type": "linux"
+ },
+ "driver_vendor": "Mesa",
+ "features": [
+ "count_all_in_varyings_packing"
+ ]
+ },
+ {
+ "id": 56,
+ "cr_bugs": [333885],
+ "description": "Mesa drivers in ChromeOS handle varyings without static use incorrectly",
+ "os": {
+ "type": "chromeos"
+ },
+ "driver_vendor": "Mesa",
+ "features": [
+ "count_all_in_varyings_packing"
+ ]
+ },
+ {
+ "id": 57,
+ "cr_bugs": [322760],
+ "description": "Mac drivers handle varyings without static use incorrectly",
+ "os": {
+ "type": "macosx"
+ },
+ "features": [
+ "init_varyings_without_static_use"
+ ]
+ },
+ {
+ "id": 58,
+ "description": "Multisampling is buggy in ATI cards on older Mac OS X",
+ "cr_bugs": [67752, 83153],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.7.2"
+ }
+ },
+ "vendor_id": "0x1002",
+ "features": [
+ "disable_multisampling"
+ ]
+ },
+ {
+ "id": 59,
+ "description": "Multisampling is buggy in Intel IvyBridge",
+ "cr_bugs": [116370],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x8086",
+ "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"],
+ "features": [
+ "disable_multisampling"
+ ]
+ },
+ {
+ "id": 60,
+ "description": "Multisampling is buggy on Mac OS X prior to 10.8.3",
+ "cr_bugs": [137303, 162466],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.8.3"
+ }
+ },
+ "features": [
+ "disable_multisampling"
+ ]
+ },
+ {
+ "id": 63,
+ "description": "Shaders with sampler arrays indexing for-loop indices cause the GLSL compiler to crash on OS X",
+ "cr_bugs": [348198, 349137],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.9"
+ }
+ },
+ "features": [
+ "unroll_for_loop_with_sampler_array_index"
+ ]
+ },
+ {
+ "id": 64,
+ "description": "Linux AMD drivers incorrectly return initial value of 1 for TEXTURE_MAX_ANISOTROPY",
+ "cr_bugs": [348237],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x1002",
+ "features": [
+ "init_texture_max_anisotropy"
+ ]
+ },
+ {
+ "id": 65,
+ "description": "Linux NVIDIA drivers don't have the correct defaults for vertex attributes",
+ "cr_bugs": [351528],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x10de",
+ "features": [
+ "init_vertex_attributes"
+ ]
+ },
+ {
+ "id": 66,
+ "description": "Force glFinish() after compositing on older OS X on Intel GPU",
+ "cr_bugs": [123409],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<=",
+ "value": "10.7"
+ }
+ },
+ "vendor_id": "0x8086",
+ "multi_gpu_category": "active",
+ "features": [
+ "force_gl_finish_after_compositing"
+ ]
+ },
+ {
+ "id": 68,
+ "description": "Disable partial swaps on linux drivers",
+ "cr_bugs": [339493],
+ "os": {
+ "type": "linux"
+ },
+ "driver_vendor": "Mesa",
+ "features": [
+ "disable_post_sub_buffers_for_onscreen_surfaces"
+ ]
+ },
+ {
+ "id": 69,
+ "description": "Some shaders in Skia need more than the min available vertex and fragment shader uniform vectors in case of OSMesa",
+ "cr_bugs": [174845],
+ "driver_vendor": "osmesa",
+ "features": [
+ "max_fragment_uniform_vectors_32",
+ "max_varying_vectors_16",
+ "max_vertex_uniform_vectors_256"
+ ]
+ },
+ {
+ "id": 70,
+ "description": "Disable D3D11 on older nVidia drivers",
+ "cr_bugs": [349929],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x10de",
+ "driver_version": {
+ "op": "<=",
+ "value": "8.17.12.6973"
+ },
+ "features": [
+ "disable_d3d11"
+ ]
+ },
+ {
+ "id": 71,
+ "description": "Vivante's support of OES_standard_derivatives is buggy",
+ "cr_bugs": [368005],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_extensions": ".*GL_VIV_shader_binary.*",
+ "features": [
+ "disable_oes_standard_derivatives"
+ ]
+ },
+ {
+ "id": 72,
+ "description": "Use virtual contexts on NVIDIA with GLES 3.1",
+ "cr_bugs": [369316],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_type": "gles",
+ "gl_version": {
+ "op": "=",
+ "value": "3.1"
+ },
+ "gl_vendor": "NVIDIA.*",
+ "features": [
+ "use_virtualized_gl_contexts"
+ ]
+ },
+) // LONG_STRING_CONST macro
+// Avoid C2026 (string too big) error on VisualStudio.
+LONG_STRING_CONST(
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 74,
+ "cr_bugs": [278606, 382686],
+ "description": "Testing EGL sync fences was broken on most Qualcomm drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "disable_egl_khr_fence_sync"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 75,
+ "description": "Mali-400 support of EXT_multisampled_render_to_texture is buggy on Android < 4.3",
+ "cr_bugs": [362435],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "ARM.*",
+ "gl_renderer": ".*Mali-400.*",
+ "features": [
+ "disable_multisampling"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 76,
+ "cr_bugs": [371530],
+ "description": "Testing EGL sync fences was broken on IMG",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Imagination Technologies.*",
+ "features": [
+ "disable_egl_khr_fence_sync"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 77,
+ "cr_bugs": [378691, 373360, 371530, 398964],
+ "description": "Testing fences was broken on Mali ES2 drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "ARM.*",
+ "gl_renderer": "Mali.*",
+ "gl_type": "gles",
+ "gl_version": {
+ "op": "<",
+ "value": "3.0"
+ },
+ "features": [
+ "disable_egl_khr_fence_sync"
+ ]
+ },
+ {
+ "id": 78,
+ "cr_bugs": [378691, 373360, 371530],
+ "description": "Testing fences was broken on Broadcom drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Broadcom.*",
+ "features": [
+ "disable_egl_khr_fence_sync"
+ ]
+ },
+ {
+ "id": 79,
+ "cr_bugs": [371530],
+ "description": "Testing ARB sync fences is broken on MacOSX",
+ "os": {
+ "type": "macosx"
+ },
+ "features": [
+ "disable_arb_sync"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 82,
+ "description": "PBO mappings segfault on certain older Qualcomm drivers",
+ "cr_bugs": [394510],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Qualcomm.*",
+ "features": [
+ "disable_async_readpixels"
+ ]
+ },
+ {
+ "id": 86,
+ "description": "Disable use of Direct3D 11 on Matrox video cards",
+ "cr_bugs": [395861],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x102b",
+ "features": [
+ "disable_d3d11"
+ ]
+ },
+ {
+ "id": 87,
+ "description": "Disable use of Direct3D 11 on older AMD drivers",
+ "cr_bugs": [402134],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x1002",
+ "driver_date": {
+ "op": "<",
+ "value": "2011.1"
+ },
+ "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"
+ ]
+ },
+ {
+ "id": 91,
+ "cr_bugs": [150500, 414816],
+ "description": "ETC1 non-power-of-two sized textures crash older IMG drivers",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Imagination.*",
+ "gl_renderer": "PowerVR SGX 5.*",
+ "features": [
+ "etc1_power_of_two_only"
+ ]
+ },
+ {
+ "id": 92,
+ "description": "Old Intel drivers cannot reliably support D3D11",
+ "cr_bugs": [363721],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x8086",
+ "driver_version": {
+ "op": "<",
+ "value": "8.16"
+ },
+ "features": [
+ "disable_d3d11"
+ ]
+ },
+ {
+ "id": 93,
+ "description": "The GL implementation on the Android emulator has problems with PBOs.",
+ "cr_bugs": [340882],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "VMware.*",
+ "gl_renderer": "Gallium.*",
+ "gl_type": "gles",
+ "gl_version": {
+ "op": "=",
+ "value": "3.0"
+ },
+ "features": [
+ "disable_async_readpixels"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 94,
+ "description": "Disable EGL_KHR_wait_sync on NVIDIA with GLES 3.1",
+ "cr_bugs": [433057],
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "NVIDIA.*",
+ "gl_type": "gles",
+ "gl_version": {
+ "op": "=",
+ "value": "3.1"
+ },
+ "features": [
+ "disable_egl_khr_wait_sync"
+ ]
+ },
+ {
+ // TODO(prashant.n): Check and verfiy this bug on latest tizen platforms,
+ // as latest versions (> 4.4) of Android have fixes for this.
+ "id": 95,
+ "description": "Framebuffer discarding causes tile jumps on reorient.",
+ "os": {
+ "type": "tizen"
+ },
+ "gl_vendor": "Broadcom.*",
+ "gl_renderer": "VideoCore IV HW*",
+ "features": [
+ "disable_ext_discard_framebuffer"
+ ]
+ },
+ {
+ "id": 96,
+ "description": "glBindFramebuffer sometimes requires a glBegin/End to take effect",
+ "cr_bugs": [435786],
+ "os": {
+ "type": "macosx"
+ },
+ "features": [
+ "gl_begin_gl_end_on_fbo_change_to_backbuffer"
+ ]
+ }
+ ]
+}
+
+); // LONG_STRING_CONST macro
+
+} // namespace gpu
--- /dev/null
+// Copyright 2014 Samsung Electronics. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Determines whether certain gpu-related features are blacklisted or not.
+// The format of a valid software_rendering_list.json file is defined in
+// <gpu/config/gpu_control_list_format.txt>.
+// The supported "features" can be found in <gpu/config/gpu_blacklist.cc>.
+
+// This file is analogous to src/gpu/config/software_rendering_list_json.cc.
+// Please make changes accordingly when above referred file gets changed.
+
+#include "gpu/config/gpu_control_list_jsons.h"
+
+#define LONG_STRING_CONST(...) #__VA_ARGS__
+
+namespace gpu {
+
+const char kSoftwareRenderingListJson[] = LONG_STRING_CONST(
+
+{
+ "name": "software rendering list",
+ // Please update the version number whenever you change this file.
+ "version": "9.13",
+ "entries": [
+ {
+ "id": 1,
+ "description": "ATI Radeon X1900 is not compatible with WebGL on the Mac",
+ "webkit_bugs": [47028],
+ "os": {
+ "type": "macosx"
+ },
+ "vendor_id": "0x1002",
+ "device_id": ["0x7249"],
+ "features": [
+ "webgl",
+ "flash_3d",
+ "flash_stage3d"
+ ]
+ },
+ {
+ "id": 3,
+ "description": "GL driver is software rendered. GPU acceleration is disabled",
+ "cr_bugs": [59302, 315217],
+ "os": {
+ "type": "linux"
+ },
+ "gl_renderer": "(?i).*software.*",
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 4,
+ "description": "The Intel Mobile 945 Express family of chipsets is not compatible with WebGL",
+ "cr_bugs": [232035],
+ "os": {
+ "type": "any"
+ },
+ "vendor_id": "0x8086",
+ "device_id": ["0x27AE", "0x27A2"],
+ "features": [
+ "webgl",
+ "flash_3d",
+ "flash_stage3d",
+ "accelerated_2d_canvas"
+ ]
+ },
+ {
+ "id": 5,
+ "description": "ATI/AMD cards with older drivers in Linux are crash-prone",
+ "cr_bugs": [71381, 76428, 73910, 101225, 136240, 357314],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x1002",
+ "exceptions": [
+ {
+ "driver_vendor": ".*AMD.*",
+ "driver_version": {
+ "op": ">=",
+ "style": "lexical",
+ "value": "8.98"
+ }
+ },
+ {
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": ">=",
+ "value": "10.0.4"
+ }
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 8,
+ "description": "NVIDIA GeForce FX Go5200 is assumed to be buggy",
+ "cr_bugs": [72938],
+ "os": {
+ "type": "any"
+ },
+ "vendor_id": "0x10de",
+ "device_id": ["0x0324"],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 10,
+ "description": "NVIDIA GeForce 7300 GT on Mac does not support WebGL",
+ "cr_bugs": [73794],
+ "os": {
+ "type": "macosx"
+ },
+ "vendor_id": "0x10de",
+ "device_id": ["0x0393"],
+ "features": [
+ "webgl",
+ "flash_3d",
+ "flash_stage3d"
+ ]
+ },
+ {
+ "id": 12,
+ "description": "Drivers older than 2009-01 on Windows are possibly unreliable",
+ "cr_bugs": [72979, 89802, 315205],
+ "os": {
+ "type": "win"
+ },
+ "driver_date": {
+ "op": "<",
+ "value": "2009.1"
+ },
+ "exceptions": [
+ {
+ "vendor_id": "0x8086",
+ "device_id": ["0x29a2"],
+ "driver_version": {
+ "op": ">=",
+ "value": "7.15.10.1624"
+ }
+ },
+ {
+ "driver_vendor": "osmesa"
+ },
+ {
+ "vendor_id": "0x1414",
+ "device_id": ["0x02c1"]
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 17,
+ "description": "Older Intel mesa drivers are crash-prone",
+ "cr_bugs": [76703, 164555, 225200, 340886],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x8086",
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": "<",
+ "value": "10.1"
+ },
+ "exceptions": [
+ {
+ "device_id": ["0x0102", "0x0106", "0x0112", "0x0116", "0x0122", "0x0126", "0x010a", "0x0152", "0x0156", "0x015a", "0x0162", "0x0166"],
+ "driver_version": {
+ "op": ">=",
+ "value": "8.0"
+ }
+ },
+ {
+ "device_id": ["0xa001", "0xa002", "0xa011", "0xa012", "0x29a2", "0x2992", "0x2982", "0x2972", "0x2a12", "0x2a42", "0x2e02", "0x2e12", "0x2e22", "0x2e32", "0x2e42", "0x2e92"],
+ "driver_version": {
+ "op": ">",
+ "value": "8.0.2"
+ }
+ },
+ {
+ "device_id": ["0x0042", "0x0046"],
+ "driver_version": {
+ "op": ">",
+ "value": "8.0.4"
+ }
+ },
+ {
+ "device_id": ["0x2a02"],
+ "driver_version": {
+ "op": ">=",
+ "value": "9.1"
+ }
+ },
+ {
+ "device_id": ["0x0a16", "0x0a26"],
+ "driver_version": {
+ "op": ">=",
+ "value": "10.0.1"
+ }
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 18,
+ "description": "NVIDIA Quadro FX 1500 is buggy",
+ "cr_bugs": [84701],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x10de",
+ "device_id": ["0x029e"],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 23,
+ "description": "Mesa drivers in linux older than 7.11 are assumed to be buggy",
+ "os": {
+ "type": "linux"
+ },
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": "<",
+ "value": "7.11"
+ },
+ "exceptions": [
+ {
+ "driver_vendor": "osmesa"
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 24,
+ "description": "Accelerated 2d canvas is unstable in Linux at the moment",
+ "os": {
+ "type": "linux"
+ },
+ "features": [
+ "accelerated_2d_canvas"
+ ]
+ },
+ {
+ "id": 27,
+ "description": "ATI/AMD cards with older drivers in Linux are crash-prone",
+ "cr_bugs": [95934, 94973, 136240, 357314],
+ "os": {
+ "type": "linux"
+ },
+ "gl_vendor": "ATI.*",
+ "exceptions": [
+ {
+ "driver_vendor": ".*AMD.*",
+ "driver_version": {
+ "op": ">=",
+ "style": "lexical",
+ "value": "8.98"
+ }
+ },
+ {
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": ">=",
+ "value": "10.0.4"
+ }
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 28,
+ "description": "ATI/AMD cards with third-party drivers in Linux are crash-prone",
+ "cr_bugs": [95934, 94973, 357314],
+ "os": {
+ "type": "linux"
+ },
+ "gl_vendor": "X\\.Org.*",
+ "gl_renderer": ".*AMD.*",
+ "exceptions": [
+ {
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": ">=",
+ "value": "10.0.4"
+ }
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 29,
+ "description": "ATI/AMD cards with third-party drivers in Linux are crash-prone",
+ "cr_bugs": [95934, 94973, 357314],
+ "os": {
+ "type": "linux"
+ },
+ "gl_vendor": "X\\.Org.*",
+ "gl_renderer": ".*ATI.*",
+ "exceptions": [
+ {
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": ">=",
+ "value": "10.0.4"
+ }
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 30,
+ "description": "NVIDIA cards with nouveau drivers in Linux are crash-prone",
+ "cr_bugs": [94103],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x10de",
+ "gl_vendor": "(?i)nouveau.*",
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 32,
+ "description": "Accelerated 2d canvas is disabled on Windows systems with low perf stats",
+ "cr_bugs": [116350, 151500],
+ "os": {
+ "type": "win"
+ },
+ "perf_overall": {
+ "op": "<",
+ "value": "3.5"
+ },
+ "exceptions": [
+ {
+ "perf_gaming": {
+ "op": ">",
+ "value": "3.5"
+ }
+ },
+ {
+ "cpu_info": "(?i).*Atom.*"
+ }
+ ],
+ "features": [
+ "accelerated_2d_canvas"
+ ]
+ },
+ {
+ "id": 34,
+ "description": "S3 Trio (used in Virtual PC) is not compatible",
+ "cr_bugs": [119948],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x5333",
+ "device_id": ["0x8811"],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 35,
+ "description": "Stage3D is not supported on Linux",
+ "cr_bugs": [129848],
+ "os": {
+ "type": "linux"
+ },
+ "features": [
+ "flash_stage3d"
+ ]
+ },
+ {
+ "id": 37,
+ "description": "Older drivers are unreliable for Optimus on Linux",
+ "cr_bugs": [131308, 363418],
+ "os": {
+ "type": "linux"
+ },
+ "multi_gpu_style": "optimus",
+ "exceptions": [
+ {
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": ">=",
+ "value": "10.1"
+ },
+ "gl_vendor": "Intel.*"
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 38,
+ "description": "Accelerated 2D canvas is unstable for NVidia GeForce 9400M on Lion",
+ "cr_bugs": [130495],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "=",
+ "value": "10.7"
+ }
+ },
+ "vendor_id": "0x10de",
+ "device_id": ["0x0863"],
+ "features": [
+ "accelerated_2d_canvas"
+ ]
+ },
+ {
+ "id": 42,
+ "description": "AMD Radeon HD 6490M and 6970M on Snow Leopard are buggy",
+ "cr_bugs": [137307, 285350],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "=",
+ "value": "10.6"
+ }
+ },
+ "vendor_id": "0x1002",
+ "device_id": ["0x6760", "0x6720"],
+ "features": [
+ "webgl"
+ ]
+ },
+ {
+ "id": 44,
+ "description": "Intel HD 4000 causes kernel panic on Lion",
+ "cr_bugs": [134015],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "between",
+ "value": "10.7.0",
+ "value2": "10.7.4"
+ }
+ },
+ "vendor_id": "0x8086",
+ "device_id": ["0x0166"],
+ "multi_gpu_category": "any",
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 45,
+ "description": "Parallels drivers older than 7 are buggy",
+ "cr_bugs": [138105],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x1ab8",
+ "driver_version": {
+ "op": "<",
+ "value": "7"
+ },
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 46,
+ "description": "ATI FireMV 2400 cards on Windows are buggy",
+ "cr_bugs": [124152],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x1002",
+ "device_id": ["0x3151"],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 47,
+ "description": "NVIDIA linux drivers older than 295.* are assumed to be buggy",
+ "cr_bugs": [78497],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x10de",
+ "driver_vendor": "NVIDIA",
+ "driver_version": {
+ "op": "<",
+ "value": "295"
+ },
+ "features": [
+ "all"
+ ]
+ },
+#if !defined(TIZEN_MULTIMEDIA_SUPPORT)
+ {
+ "id": 48,
+ "description": "Accelerated video decode is unavailable on Mac and Linux",
+ "cr_bugs": [137247, 133828],
+ "exceptions": [
+ {
+ "os": {
+ "type": "chromeos"
+ }
+ },
+ {
+ "os": {
+ "type": "win"
+ }
+ },
+ {
+ "os": {
+ "type": "android"
+ }
+ }
+ ],
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+#endif
+ {
+ "id": 49,
+ "description": "NVidia GeForce GT 650M can cause the system to hang with flash 3D",
+ "cr_bugs": [140175],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "between",
+ "value": "10.8.0",
+ "value2": "10.8.1"
+ }
+ },
+ "multi_gpu_style": "optimus",
+ "vendor_id": "0x10de",
+ "device_id": ["0x0fd5"],
+ "features": [
+ "flash_3d",
+ "flash_stage3d"
+ ]
+ },
+ {
+ "id": 50,
+ "description": "Disable VMware software renderer on older Mesa",
+ "cr_bugs": [145531, 332596],
+ "os": {
+ "type": "linux"
+ },
+ "gl_vendor": "VMware.*",
+ "exceptions": [
+ {
+ "driver_vendor": "Mesa",
+ "driver_version": {
+ "op": ">=",
+ "value": "9.2.1"
+ },
+ "gl_renderer": ".*SVGA3D.*"
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 53,
+ "description": "The Intel GMA500 is too slow for Stage3D",
+ "cr_bugs": [152096],
+ "vendor_id": "0x8086",
+ "device_id": ["0x8108", "0x8109"],
+ "features": [
+ "flash_stage3d"
+ ]
+ },
+ {
+ "id": 56,
+ "description": "NVIDIA linux drivers are unstable when using multiple Open GL contexts and with low memory",
+ "cr_bugs": [145600],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x10de",
+ "driver_vendor": "NVIDIA",
+ "features": [
+ "accelerated_video_decode",
+ "flash_3d",
+ "flash_stage3d"
+ ]
+ },
+ {
+ // Panel fitting is only used with OS_CHROMEOS. To avoid displaying an
+ // error in chrome:gpu on every other platform, this blacklist entry needs
+ // to only match on chromeos. The drawback is that panel_fitting will not
+ // appear to be blacklisted if accidentally queried on non-chromeos.
+ "id": 57,
+ "description": "Chrome OS panel fitting is only supported for Intel IVB and SNB Graphics Controllers",
+ "os": {
+ "type": "chromeos"
+ },
+ "exceptions": [
+ {
+ "vendor_id": "0x8086",
+ "device_id": ["0x0106", "0x0116", "0x0166"]
+ }
+ ],
+ "features": [
+ "panel_fitting"
+ ]
+ },
+ {
+ "id": 59,
+ "description": "NVidia driver 8.15.11.8593 is crashy on Windows",
+ "cr_bugs": [155749],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x10de",
+ "driver_version": {
+ "op": "=",
+ "value": "8.15.11.8593"
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 62,
+ "description": "Accelerated 2D canvas buggy on old Qualcomm Adreno",
+ "cr_bugs": [161575],
+ "os": {
+ "type": "android"
+ },
+ "gl_renderer": ".*Adreno.*",
+ "driver_version": {
+ "op": "<",
+ "value": "4.1"
+ },
+ "features": [
+ "accelerated_2d_canvas"
+ ]
+ },
+ {
+ "id": 64,
+ "description": "Hardware video decode is only supported in win7+",
+ "cr_bugs": [159458],
+ "os": {
+ "type": "win",
+ "version": {
+ "op": "<",
+ "value": "6.1"
+ }
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 68,
+ "description": "VMware Fusion 4 has corrupt rendering with Win Vista+",
+ "cr_bugs": [169470],
+ "os": {
+ "type": "win",
+ "version": {
+ "op": ">=",
+ "value": "6.0"
+ }
+ },
+ "vendor_id": "0x15ad",
+ "driver_version": {
+ "op": "<=",
+ "value": "7.14.1.1134"
+ },
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 69,
+ "description": "NVIDIA driver 8.17.11.9621 is buggy with Stage3D baseline mode",
+ "cr_bugs": [172771],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x10de",
+ "driver_version": {
+ "op": "=",
+ "value": "8.17.11.9621"
+ },
+ "features": [
+ "flash_stage3d_baseline"
+ ]
+ },
+ {
+ "id": 70,
+ "description": "NVIDIA driver 8.17.11.8267 is buggy with Stage3D baseline mode",
+ "cr_bugs": [172771],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x10de",
+ "driver_version": {
+ "op": "=",
+ "value": "8.17.11.8267"
+ },
+ "features": [
+ "flash_stage3d_baseline"
+ ]
+ },
+ {
+ "id": 71,
+ "description": "All Intel drivers before 8.15.10.2021 are buggy with Stage3D baseline mode",
+ "cr_bugs": [172771],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x8086",
+ "driver_version": {
+ "op": "<",
+ "value": "8.15.10.2021"
+ },
+ "features": [
+ "flash_stage3d_baseline"
+ ]
+ },
+ {
+ "id": 72,
+ "description": "NVIDIA GeForce 6200 LE is buggy with WebGL",
+ "cr_bugs": [232529],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x10de",
+ "device_id": ["0x0163"],
+ "features": [
+ "webgl"
+ ]
+ },
+ {
+ "id": 73,
+ "description": "WebGL is buggy with the NVIDIA GeForce GT 330M, 9400, and 9400M on MacOSX earlier than 10.8",
+ "cr_bugs": [233523],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<",
+ "value": "10.8"
+ }
+ },
+ "vendor_id": "0x10de",
+ "device_id": ["0x0a29", "0x0861", "0x0863"],
+ "features": [
+ "webgl"
+ ]
+ },
+ {
+ "id": 74,
+ "description": "GPU access is blocked if users don't have proper graphics driver installed after Windows installation",
+ "cr_bugs": [248178],
+ "os": {
+ "type": "win"
+ },
+ "driver_vendor": "Microsoft",
+ "exceptions": [
+ {
+ "vendor_id": "0x1414",
+ "device_id": ["0x02c1"]
+ }
+ ],
+ "features": [
+ "all"
+ ]
+ },
+) // String split to avoid MSVC char limit.
+LONG_STRING_CONST(
+ {
+ "id": 76,
+ "description": "WebGL is disabled on Android unless GPU reset notification is supported",
+ "os": {
+ "type": "android"
+ },
+ "exceptions": [
+ {
+ "gl_reset_notification_strategy": {
+ "op": "=",
+ "value": "33362"
+ }
+ },
+ {
+ "gl_renderer": "Mali-400.*",
+ "gl_extensions": ".*EXT_robustness.*"
+ }
+ ],
+ "features": [
+ "webgl"
+ ],
+ // FIXME(heejin): Remove when Mali-T628 DDK provides needed extensions.
+ "disabled": true
+ },
+ {
+ "id": 78,
+ "description": "Accelerated video decode interferes with GPU sandbox on older Intel drivers",
+ "cr_bugs": [180695],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x8086",
+ "driver_version": {
+ "op": "between",
+ "value": "8.15.10.1883",
+ "value2": "8.15.10.2702"
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 79,
+ "description": "Disable GPU on all Windows versions prior to and including Vista",
+ "cr_bugs": [315199],
+ "os": {
+ "type": "win",
+ "version": {
+ "op": "<=",
+ "value": "6.0"
+ }
+ },
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 81,
+ "description": "Apple software renderer used under VMWare hangs on Mac OS 10.6 and 10.7",
+ "cr_bugs": [230931],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "<=",
+ "value": "10.7"
+ }
+ },
+ "vendor_id": "0x15ad",
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 82,
+ "description": "MediaCodec is still too buggy to use for encoding (b/11536167)",
+ "os": {
+ "type": "android"
+ },
+ "features": [
+ "accelerated_video_encode"
+ ]
+ },
+ {
+ "id": 83,
+ "description": "Samsung Galaxy NOTE is too buggy to use for video decoding",
+ "cr_bugs": [308721],
+ "os": {
+ "type": "android",
+ "version": {
+ "op": "<",
+ "value": "4.4"
+ }
+ },
+ "machine_model_name": ["GT-.*"],
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 85,
+ "description": "Samsung Galaxy S4 is too buggy to use for video decoding",
+ "cr_bugs": [329072],
+ "os": {
+ "type": "android",
+ "version": {
+ "op": "<",
+ "value": "4.4"
+ }
+ },
+ "machine_model_name": ["SCH-.*"],
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 86,
+ "description": "Intel Graphics Media Accelerator 3150 causes the GPU process to hang running WebGL",
+ "cr_bugs": [305431],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x8086",
+ "device_id": ["0xa011"],
+ "features": [
+ "webgl"
+ ]
+ },
+ {
+ "id": 87,
+ "description": "Accelerated video decode on Intel driver 10.18.10.3308 is incompatible with the GPU sandbox",
+ "cr_bugs": [298968],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x8086",
+ "driver_version": {
+ "op": "=",
+ "value": "10.18.10.3308"
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 88,
+ "description": "Accelerated video decode on AMD driver 13.152.1.8000 is incompatible with the GPU sandbox",
+ "cr_bugs": [298968],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x1002",
+ "driver_version": {
+ "op": "=",
+ "value": "13.152.1.8000"
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 89,
+ "description": "Accelerated video decode interferes with GPU sandbox on certain AMD drivers",
+ "cr_bugs": [298968],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x1002",
+ "driver_version": {
+ "op": "between",
+ "value": "8.810.4.5000",
+ "value2": "8.970.100.1100"
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 90,
+ "description": "Accelerated video decode interferes with GPU sandbox on certain NVIDIA drivers",
+ "cr_bugs": [298968],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x10de",
+ "driver_version": {
+ "op": "between",
+ "value": "8.17.12.5729",
+ "value2": "8.17.12.8026"
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 91,
+ "description": "Accelerated video decode interferes with GPU sandbox on certain NVIDIA drivers",
+ "cr_bugs": [298968],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x10de",
+ "driver_version": {
+ "op": "between",
+ "value": "9.18.13.783",
+ "value2": "9.18.13.1090"
+ },
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 92,
+ "description": "Accelerated video decode does not work with the discrete GPU on AMD switchables",
+ "cr_bugs": [298968],
+ "os": {
+ "type": "win"
+ },
+ "multi_gpu_style": "amd_switchable_discrete",
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 93,
+ "description": "GLX indirect rendering (X remoting) is not supported",
+ "cr_bugs": [72373],
+ "os": {
+ "type": "linux"
+ },
+ "direct_rendering": false,
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 94,
+ "description": "Intel driver version 8.15.10.1749 causes GPU process hangs.",
+ "cr_bugs": [350566],
+ "os": {
+ "type": "win"
+ },
+ "vendor_id": "0x8086",
+ "driver_version": {
+ "op": "=",
+ "value": "8.15.10.1749"
+ },
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 95,
+ "description": "AMD driver version 13.101 is unstable on linux.",
+ "cr_bugs": [363378],
+ "os": {
+ "type": "linux"
+ },
+ "vendor_id": "0x1002",
+ "driver_vendor": ".*AMD.*",
+ "driver_version": {
+ "op": "=",
+ "value": "13.101"
+ },
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 96,
+ "description": "GPU rasterization is whitelisted on select devices on Android",
+ "cr_bugs": [362779],
+ "os": {
+ "type": "android"
+ },
+ "exceptions": [
+ {
+ "machine_model_name": ["Nexus 4", "Nexus 5", "Nexus 7",
+ "XT1049", "XT1050", "XT1052", "XT1053",
+ "XT1055", "XT1056", "XT1058", "XT1060",
+ "HTC One",
+ "C5303", "C6603", "C6903",
+ "GT-I9195",
+ "GT-I9505",
+ "SAMSUNG-SCH-I337", "SCH-I545", "SGH-M919",
+ "SM-N900", "SM-N9005", "SPH-L720",
+ "XT907", "XT1032", "XT1033", "XT1080"]
+ },
+ {
+ "os": {
+ "type": "android",
+ "version": {
+ "op": ">=",
+ "value": "4.4.99"
+ }
+ }
+ },
+ {
+ "os": {
+ "type": "android",
+ "version": {
+ "op": ">=",
+ "value": "4.4"
+ }
+ },
+ "gl_type": "gles",
+ "gl_version": {
+ "op": ">=",
+ "value": "3.0"
+ }
+ }
+ ],
+ "features": [
+ "gpu_rasterization"
+ ]
+ },
+ {
+ "id": 99,
+ "description": "GPU rasterization is blacklisted on non-Android",
+ "cr_bugs": [362779],
+ "exceptions": [
+ {
+ "os": {
+ "type": "android"
+ }
+ }
+ ],
+ "features": [
+ "gpu_rasterization"
+ ]
+ },
+ {
+ "id": 100,
+ "description": "GPU rasterization is blacklisted on Nexus 10",
+ "cr_bugs": [407144],
+ "gl_renderer": ".*Mali-T604.*",
+ "features": [
+ "gpu_rasterization"
+ ]
+ },
+ {
+ "id": 101,
+ "description": "Samsung Galaxy Tab is too buggy to use for video decoding",
+ "cr_bugs": [408353],
+ "os": {
+ "type": "android",
+ "version": {
+ "op": "<",
+ "value": "4.4"
+ }
+ },
+ "machine_model_name": ["SM-.*"],
+ "features": [
+ "accelerated_video_decode"
+ ]
+ },
+ {
+ "id": 102,
+ "description": "Accelerated 2D canvas and Ganesh broken on Galaxy Tab 2",
+ "cr_bugs": [416910],
+ "os": {
+ "type": "android"
+ },
+ "gl_renderer": "PowerVR SGX 540",
+ "features": [
+ "accelerated_2d_canvas",
+ "gpu_rasterization"
+ ]
+ },
+ {
+ "id": 103,
+ "description": "Intel GM965/GL960 crash often on Mac OS 10.6",
+ "cr_bugs": [421641],
+ "os": {
+ "type": "macosx",
+ "version": {
+ "op": "=",
+ "value": "10.6"
+ }
+ },
+ "vendor_id": "0x8086",
+ "device_id": ["0x2a02"],
+ "features": [
+ "all"
+ ]
+ },
+ {
+ "id": 104,
+ "description": "GPU raster broken on PowerVR Rogue",
+ "cr_bugs": [436331],
+ "os": {
+ "type": "android",
+ "version": {
+ "op": "<",
+ "value": "5.0"
+ }
+ },
+ "gl_renderer": "PowerVR Rogue.*",
+ "features": [
+ "accelerated_2d_canvas",
+ "gpu_rasterization"
+ ]
+ }
+ ]
+}
+
+); // LONG_STRING_CONST macro
+
+} // namespace gpu