Upstream version 11.39.250.0
[platform/framework/web/crosswalk.git] / src / gpu / config / gpu_driver_bug_list_json.cc
index dd38d57..bd7f0f7 100644 (file)
@@ -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.26",
+  "version": "7.7",
   "entries": [
     {
       "id": 1,
@@ -27,10 +27,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Imagination"
-      },
+      "gl_vendor": "Imagination.*",
       "features": [
         "use_client_side_arrays_for_stream_buffers"
       ]
@@ -41,36 +38,66 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "ARM"
-      },
+      "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": "Need to set the alpha to 255",
+      "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"
       ]
     },
     {
       "id": 6,
+      "description": "Restore scissor on FBO change with Qualcomm GPUs on older versions of Android",
       "cr_bugs": [165493, 222018],
       "os": {
         "type": "android",
@@ -79,10 +106,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
           "value": "4.3"
         }
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Qualcomm"
-      },
+      "gl_vendor": "Qualcomm.*",
       "features": [
         "restore_scissor_on_fbo_change"
       ]
@@ -90,6 +114,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 7,
       "cr_bugs": [89557],
+      "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on Macs",
       "os": {
         "type": "macosx"
       },
@@ -100,8 +125,14 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 8,
+      "description": "A few built-in glsl functions on Mac behave incorrectly",
+      "cr_bugs": [349137],
       "os": {
-        "type": "macosx"
+        "type": "macosx",
+        "version": {
+          "op": "<",
+          "value": "10.9"
+        }
       },
       "vendor_id": "0x1002",
       "features": [
@@ -110,7 +141,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 9,
-      "description": "Mac AMD drivers get gl_PointCoord backward on OSX 10.8 or earlier",
+      "description": "AMD drivers get gl_PointCoord backward on OS X 10.8 or earlier",
       "cr_bugs": [256349],
       "os": {
         "type": "macosx",
@@ -126,7 +157,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 10,
-      "description": "Mac Intel drivers get gl_PointCoord backward on OSX 10.8 or earlier",
+      "description": "Intel drivers get gl_PointCoord backward on OS X 10.8 or earlier",
       "cr_bugs": [256349],
       "os": {
         "type": "macosx",
@@ -142,6 +173,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 11,
+      "description": "Limit max texure size to 4096 on Macs with Intel GPUs",
       "os": {
         "type": "macosx"
       },
@@ -152,6 +184,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 12,
+      "description": "Limit max cube map texure size to 1024 on Macs with Intel GPUs",
       "os": {
         "type": "macosx"
       },
@@ -162,6 +195,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 13,
+      "description": "Limit max cube map texure size to 512 on older Macs with Intel GPUs",
       "os": {
         "type": "macosx",
         "version": {
@@ -176,6 +210,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 14,
+      "description": "Limit max texure size and cube map texture size to 4096 on Macs with AMD GPUs",
       "os": {
         "type": "macosx"
       },
@@ -186,23 +221,8 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
       ]
     },
     {
-      "id": 15,
-      "description": "Some Android Qualcomm drivers falsely report GL_ANGLE_framebuffer_multisample",
-      "cr_bugs": [165736],
-      "os": {
-        "type": "android"
-      },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Qualcomm"
-      },
-      "features": [
-        "disable_angle_framebuffer_multisample"
-      ]
-    },
-    {
       "id": 16,
-      "description": "Intel drivers on Linux appear to be buggy",
+      "description": "EXT_occlusion_query appears to be buggy with Intel GPUs on Linux",
       "os": {
         "type": "linux"
       },
@@ -222,35 +242,19 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
       ]
     },
     {
-      "id": 18,
-      "description": "Everything except async + NPOT + multiple-of-8 textures are brutally slow for Imagination drivers",
-      "os": {
-        "type": "android"
-      },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Imagination"
-      },
-      "features": [
-        "enable_chromium_fast_npot_mo8_textures"
-      ]
-    },
-    {
       "id": 19,
+      "description": "Disable depth textures on Android with Qualcomm GPUs",
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Qualcomm"
-      },
+      "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.",
+      "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X due to driver bugs",
       "os": {
         "type": "macosx"
       },
@@ -263,30 +267,24 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 21,
-      "description": "Vivante GPUs are buggy with context switching.",
+      "description": "Vivante GPUs are buggy with context switching",
       "cr_bugs": [179250, 235935],
       "os": {
         "type": "android"
       },
-      "gl_extensions": {
-        "op": "contains",
-        "value": "GL_VIV_shader_binary"
-      },
+      "gl_extensions": ".*GL_VIV_shader_binary.*",
       "features": [
         "unbind_fbo_on_context_switch"
       ]
     },
     {
       "id": 22,
-      "description": "Imagination drivers are buggy with context switching.",
+      "description": "Imagination drivers are buggy with context switching",
       "cr_bugs": [230896],
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Imagination"
-      },
+      "gl_vendor": "Imagination.*",
       "features": [
         "unbind_fbo_on_context_switch"
       ]
@@ -294,7 +292,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 23,
       "cr_bugs": [243038],
-      "description": "Disable OES_standard_derivative on Intel Pineview M Gallium drivers.",
+      "description": "Disable OES_standard_derivative on Intel Pineview M Gallium drivers",
       "os": {
         "type": "chromeos"
       },
@@ -307,18 +305,12 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 24,
       "cr_bugs": [231082],
-      "description": "Mali-400 drivers throw an error when a buffer object's size is set to 0.",
+      "description": "Mali-400 drivers throw an error when a buffer object's size is set to 0",
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "ARM"
-      },
-      "gl_renderer": {
-        "op": "contains",
-        "value": "Mali-400"
-      },
+      "gl_vendor": "ARM.*",
+      "gl_renderer": ".*Mali-400.*",
       "features": [
         "use_non_zero_size_for_client_side_stream_buffers"
       ]
@@ -326,8 +318,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 25,
       "cr_bugs": [152225],
-      "description":
-          "PBO + Readpixels + intel gpu doesn't work on OSX 10.7.",
+      "description": "PBO + Readpixels don't work on OS X 10.7",
       "os": {
         "type": "macosx",
         "version": {
@@ -335,14 +326,13 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
           "value": "10.8"
         }
       },
-      "vendor_id": "0x8086",
       "features": [
         "disable_async_readpixels"
       ]
     },
     {
       "id": 26,
-      "description": "Disable use of Direct3D 11 on Windows Vista and lower.",
+      "description": "Disable use of Direct3D 11 on Windows Vista and lower",
       "os": {
         "type": "win",
         "version": {
@@ -357,7 +347,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 27,
       "cr_bugs": [265115],
-      "description": "Async Readpixels with GL_BGRA format is broken on Haswell chipset on Mac.",
+      "description": "Async Readpixels with GL_BGRA format is broken on Haswell chipset on Macs",
       "os": {
         "type": "macosx"
       },
@@ -369,21 +359,6 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
       ]
     },
     {
-      "id": 29,
-      "cr_bugs": [278606],
-      "description": "Testing fences is broken on QualComm.",
-      "os": {
-        "type": "android"
-      },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Qualcomm"
-      },
-      "features": [
-        "disable_async_readpixels"
-      ]
-    },
-    {
       "id": 30,
       "cr_bugs": [237931],
       "description": "Multisampling is buggy on OSX when multiple monitors are connected",
@@ -396,19 +371,10 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     },
     {
       "id": 31,
-      "cr_bugs": [154715, 10068, 269829, 294779],
-      "description": "The Mali T-6xx driver does not guarantee flush ordering.",
-      "os": {
-        "type": "android"
-      },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "ARM"
-      },
-      "gl_renderer": {
-        "op": "beginwith",
-        "value": "Mali-T6"
-      },
+      "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"
       ]
@@ -416,28 +382,22 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 32,
       "cr_bugs": [179815],
-      "description": "Share groups are not working on (older?) Broadcom drivers.",
+      "description": "Share groups are not working on (older?) Broadcom drivers",
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Broadcom"
-      },
+      "gl_vendor": "Broadcom.*",
       "features": [
         "use_virtualized_gl_contexts"
       ]
     },
     {
       "id": 33,
-      "description": "Share group-related crashes and poor context switching perf on Galaxy Nexus.",
+      "description": "Share group-related crashes and poor context switching perf on Galaxy Nexus",
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Imagination"
-      },
+      "gl_vendor": "Imagination.*",
       "features": [
         "use_virtualized_gl_contexts"
       ]
@@ -445,14 +405,11 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 34,
       "cr_bugs": [179250, 229643, 230896],
-      "description": "Share groups are not working on (older?) Vivante drivers.",
+      "description": "Share groups are not working on (older?) Vivante drivers",
       "os": {
         "type": "android"
       },
-      "gl_extensions": {
-        "op": "contains",
-        "value": "GL_VIV_shader_binary"
-      },
+      "gl_extensions": ".*GL_VIV_shader_binary.*",
       "features": [
         "use_virtualized_gl_contexts"
       ]
@@ -460,7 +417,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 35,
       "cr_bugs": [163464],
-      "description": "Share-group related crashes on older NVIDIA drivers.",
+      "description": "Share-group related crashes on older NVIDIA drivers",
       "os": {
         "type": "android",
         "version": {
@@ -468,10 +425,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
           "value": "4.3"
         }
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "NVIDIA"
-      },
+      "gl_vendor": "NVIDIA.*",
       "features": [
         "use_virtualized_gl_contexts"
       ]
@@ -479,7 +433,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 36,
       "cr_bugs": [163464, 233612],
-      "description": "Share-group related crashes on Qualcomm drivers.",
+      "description": "Share-group related crashes on Qualcomm drivers",
       "os": {
         "type": "android",
         "version": {
@@ -487,10 +441,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
           "value": "4.3"
         }
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Qualcomm"
-      },
+      "gl_vendor": "Qualcomm.*",
       "features": [
         "use_virtualized_gl_contexts"
       ]
@@ -514,10 +465,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Qualcomm"
-      },
+      "gl_vendor": "Qualcomm.*",
       "features": [
         "use_virtualized_gl_contexts"
       ]
@@ -544,10 +492,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
           "value": "4.4"
         }
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "ARM"
-      },
+      "gl_vendor": "ARM.*",
       "features": [
         "disable_ext_discard_framebuffer"
       ]
@@ -555,18 +500,12 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 42,
       "cr_bugs": [290876],
-      "description": "Framebuffer discarding causes flickering on older IMG drivers.",
+      "description": "Framebuffer discarding causes flickering on older IMG drivers",
       "os": {
         "type": "android"
       },
-      "gl_vendor": {
-        "op": "beginwith",
-        "value": "Imagination"
-      },
-      "gl_renderer": {
-        "op": "=",
-        "value": "PowerVR SGX 540"
-      },
+      "gl_vendor": "Imagination.*",
+      "gl_renderer": "PowerVR SGX 540",
       "features": [
         "disable_ext_discard_framebuffer"
       ]
@@ -574,14 +513,11 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 43,
       "cr_bugs": [299494],
-      "description": "Framebuffer discarding doesn't accept trivial attachments on Vivante.",
+      "description": "Framebuffer discarding doesn't accept trivial attachments on Vivante",
       "os": {
         "type": "android"
       },
-      "gl_extensions": {
-        "op": "contains",
-        "value": "GL_VIV_shader_binary"
-      },
+      "gl_extensions": ".*GL_VIV_shader_binary.*",
       "features": [
         "disable_ext_discard_framebuffer"
       ]
@@ -600,7 +536,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
     {
       "id": 45,
       "cr_bugs": [307751],
-      "description": "Unfold short circuit on MacOSX.",
+      "description": "Unfold short circuit on Mac OS X",
       "os": {
         "type": "macosx"
       },
@@ -609,31 +545,518 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
       ]
     },
     {
-      "id": 46,
-      "description": "Using D3D11 causes browser crashes on certain Intel GPUs.",
-      "cr_bugs": [310808],
+      "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": "android"
+      },
+      "gl_vendor": "Qualcomm.*",
+      "features": [
+        "wake_up_gpu_before_drawing"
+      ]
+    },
+    {
+      "id": 50,
+      "description": "NVIDIA driver requires unbinding a GpuMemoryBuffer from the texture before mapping it to main memory",
+      "os": {
+        "type": "android"
+      },
+      "gl_type": "gles",
+      "gl_version": {
+        "op": "<",
+        "value": "3.1"
+      },
+      "gl_vendor": "NVIDIA.*",
+      "features": [
+        "release_image_after_use"
+      ]
+    },
+    {
+      "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": "android"
+      },
+      "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"
+      },
+      "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": 47,
-      "description": "The Mali T-6xx driver does not guarantee flush ordering.",
-      "cr_bugs": [285292],
+      "id": 71,
+      "description": "Vivante's support of OES_standard_derivatives is buggy",
+      "cr_bugs": [368005],
       "os": {
-        "type": "chromeos"
+        "type": "android"
+      },
+      "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": "android"
       },
-      "cpu_info": {
+      "gl_type": "gles",
+      "gl_version": {
         "op": "=",
-        "value": "ARM"  // TODO(piman): change to GL_VENDOR/GL_RENDERER switch
+        "value": "3.1"
       },
+      "gl_vendor": "NVIDIA.*",
       "features": [
         "use_virtualized_gl_contexts"
       ]
+    },
+    {
+      "id": 73,
+      "description": "Using D3D11 causes browser crashes on certain Intel GPUs",
+      "cr_bugs": [310808],
+      "os": {
+        "type": "win"
+      },
+      "vendor_id": "0x8086",
+      "features": [
+        "disable_d3d11"
+      ]
+    },
+)  // LONG_STRING_CONST macro
+// Avoid C2026 (string too big) error on VisualStudio.
+LONG_STRING_CONST(
+    {
+      "id": 74,
+      "cr_bugs": [278606, 382686],
+      "description": "Testing EGL sync fences was broken on most Qualcomm drivers",
+      "os": {
+        "type": "android",
+        "version": {
+          "op": "<=",
+          "value": "4.4.4"
+        }
+      },
+      "gl_vendor": "Qualcomm.*",
+      "features": [
+        "disable_egl_khr_fence_sync"
+      ]
+    },
+    {
+      "id": 75,
+      "description": "Mali-400 support of EXT_multisampled_render_to_texture is buggy on Android < 4.3",
+      "cr_bugs": [362435],
+      "os": {
+        "type": "android",
+        "version": {
+          "op": "<",
+          "value": "4.3"
+        }
+      },
+      "gl_vendor": "ARM.*",
+      "gl_renderer": ".*Mali-400.*",
+      "features": [
+        "disable_multisampling"
+      ]
+    },
+    {
+      "id": 76,
+      "cr_bugs": [371530],
+      "description": "Testing EGL sync fences was broken on IMG",
+      "os": {
+        "type": "android",
+        "version": {
+          "op": "<=",
+          "value": "4.4.4"
+        }
+      },
+      "gl_vendor": "Imagination Technologies.*",
+      "features": [
+        "disable_egl_khr_fence_sync"
+      ]
+    },
+    {
+      "id": 77,
+      "cr_bugs": [378691, 373360, 371530, 398964],
+      "description": "Testing fences was broken on Mali ES2 drivers",
+      "os": {
+        "type": "android",
+        "version": {
+          "op": "<=",
+          "value": "4.4.4"
+        }
+      },
+      "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": "android",
+        "version": {
+          "op": "<=",
+          "value": "4.4.4"
+        }
+      },
+      "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"
+      ]
+    },
+    {
+      "id": 82,
+      "description": "PBO mappings segfault on certain older Qualcomm drivers",
+      "cr_bugs": [394510],
+      "os": {
+        "type": "android",
+        "version": {
+          "op": "<",
+          "value": "4.3"
+        }
+      },
+      "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": "android"
+      },
+      "gl_vendor": "Imagination.*",
+      "gl_renderer": "PowerVR SGX 5.*",
+      "features": [
+        "etc1_power_of_two_only"
+      ]
+    },
+    {
+      "id": 93,
+      "description": "The GL implementation on the Android emulator has problems with PBOs.",
+      "cr_bugs": [340882],
+      "os": {
+        "type": "android"
+      },
+      "gl_vendor": "VMware.*",
+      "gl_renderer": "Gallium.*",
+      "gl_type": "gles",
+      "gl_version": {
+        "op": "=",
+        "value": "3.0"
+      },
+      "features": [
+        "disable_async_readpixels"
+      ]
     }
   ]
 }