1*8975f5c5SAndroid Build Coastguard Worker{ 2*8975f5c5SAndroid Build Coastguard Worker "description": [ 3*8975f5c5SAndroid Build Coastguard Worker "Copyright 2022 The ANGLE Project Authors. All rights reserved.", 4*8975f5c5SAndroid Build Coastguard Worker "Use of this source code is governed by a BSD-style license that can be", 5*8975f5c5SAndroid Build Coastguard Worker "found in the LICENSE file.", 6*8975f5c5SAndroid Build Coastguard Worker "", 7*8975f5c5SAndroid Build Coastguard Worker "gl_features.json: angle::Features and workarounds for GL driver bugs and other issues." 8*8975f5c5SAndroid Build Coastguard Worker ], 9*8975f5c5SAndroid Build Coastguard Worker "features": [ 10*8975f5c5SAndroid Build Coastguard Worker { 11*8975f5c5SAndroid Build Coastguard Worker "name": "avoid_1_bit_alpha_texture_formats", 12*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 13*8975f5c5SAndroid Build Coastguard Worker "description": [ 14*8975f5c5SAndroid Build Coastguard Worker "Issue with 1-bit alpha framebuffer formats" 15*8975f5c5SAndroid Build Coastguard Worker ] 16*8975f5c5SAndroid Build Coastguard Worker }, 17*8975f5c5SAndroid Build Coastguard Worker { 18*8975f5c5SAndroid Build Coastguard Worker "name": "RGBA4_is_not_supported_for_color_rendering", 19*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 20*8975f5c5SAndroid Build Coastguard Worker "description": [ 21*8975f5c5SAndroid Build Coastguard Worker "GL_RGBA4 is not color renderable" 22*8975f5c5SAndroid Build Coastguard Worker ] 23*8975f5c5SAndroid Build Coastguard Worker }, 24*8975f5c5SAndroid Build Coastguard Worker { 25*8975f5c5SAndroid Build Coastguard Worker "name": "allow_ETC_formats", 26*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 27*8975f5c5SAndroid Build Coastguard Worker "description": [ 28*8975f5c5SAndroid Build Coastguard Worker "Enable ETC2/EAC on desktop OpenGL" 29*8975f5c5SAndroid Build Coastguard Worker ] 30*8975f5c5SAndroid Build Coastguard Worker }, 31*8975f5c5SAndroid Build Coastguard Worker { 32*8975f5c5SAndroid Build Coastguard Worker "name": "allow_astc_formats", 33*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 34*8975f5c5SAndroid Build Coastguard Worker "description": [ 35*8975f5c5SAndroid Build Coastguard Worker "Enable ASTC on desktop OpenGL" 36*8975f5c5SAndroid Build Coastguard Worker ] 37*8975f5c5SAndroid Build Coastguard Worker }, 38*8975f5c5SAndroid Build Coastguard Worker { 39*8975f5c5SAndroid Build Coastguard Worker "name": "clears_with_gaps_need_flush", 40*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 41*8975f5c5SAndroid Build Coastguard Worker "description": [ 42*8975f5c5SAndroid Build Coastguard Worker "Clearing an FBO with multiple attachments may need a flush to avoid race conditions" 43*8975f5c5SAndroid Build Coastguard Worker ] 44*8975f5c5SAndroid Build Coastguard Worker }, 45*8975f5c5SAndroid Build Coastguard Worker { 46*8975f5c5SAndroid Build Coastguard Worker "name": "does_SRGB_clears_on_linear_framebuffer_attachments", 47*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 48*8975f5c5SAndroid Build Coastguard Worker "description": [ 49*8975f5c5SAndroid Build Coastguard Worker "Issue clearing framebuffers with linear attachments when GL_FRAMEBUFFER_SRGB is enabled" 50*8975f5c5SAndroid Build Coastguard Worker ] 51*8975f5c5SAndroid Build Coastguard Worker }, 52*8975f5c5SAndroid Build Coastguard Worker { 53*8975f5c5SAndroid Build Coastguard Worker "name": "do_while_GLSL_causes_GPU_hang", 54*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 55*8975f5c5SAndroid Build Coastguard Worker "description": [ 56*8975f5c5SAndroid Build Coastguard Worker "Some GLSL constructs involving do-while loops cause GPU hangs" 57*8975f5c5SAndroid Build Coastguard Worker ], 58*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/644669" 59*8975f5c5SAndroid Build Coastguard Worker }, 60*8975f5c5SAndroid Build Coastguard Worker { 61*8975f5c5SAndroid Build Coastguard Worker "name": "vertex_ID_does_not_include_base_vertex", 62*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 63*8975f5c5SAndroid Build Coastguard Worker "description": [ 64*8975f5c5SAndroid Build Coastguard Worker "gl_VertexID in GLSL vertex shader doesn't include base vertex value" 65*8975f5c5SAndroid Build Coastguard Worker ] 66*8975f5c5SAndroid Build Coastguard Worker }, 67*8975f5c5SAndroid Build Coastguard Worker { 68*8975f5c5SAndroid Build Coastguard Worker "name": "finish_does_not_cause_queries_to_be_available", 69*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 70*8975f5c5SAndroid Build Coastguard Worker "description": [ 71*8975f5c5SAndroid Build Coastguard Worker "glFinish doesn't cause all queries to report available result" 72*8975f5c5SAndroid Build Coastguard Worker ] 73*8975f5c5SAndroid Build Coastguard Worker }, 74*8975f5c5SAndroid Build Coastguard Worker { 75*8975f5c5SAndroid Build Coastguard Worker "name": "always_call_use_program_after_link", 76*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 77*8975f5c5SAndroid Build Coastguard Worker "description": [ 78*8975f5c5SAndroid Build Coastguard Worker "Always call useProgram after a successful link to avoid a driver bug" 79*8975f5c5SAndroid Build Coastguard Worker ], 80*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/110263" 81*8975f5c5SAndroid Build Coastguard Worker }, 82*8975f5c5SAndroid Build Coastguard Worker { 83*8975f5c5SAndroid Build Coastguard Worker "name": "unpack_overlapping_rows_separately_unpack_buffer", 84*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 85*8975f5c5SAndroid Build Coastguard Worker "description": [ 86*8975f5c5SAndroid Build Coastguard Worker "In the case of unpacking from a pixel unpack buffer, unpack overlapping rows row by row" 87*8975f5c5SAndroid Build Coastguard Worker ] 88*8975f5c5SAndroid Build Coastguard Worker }, 89*8975f5c5SAndroid Build Coastguard Worker { 90*8975f5c5SAndroid Build Coastguard Worker "name": "pack_overlapping_rows_separately_pack_buffer", 91*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 92*8975f5c5SAndroid Build Coastguard Worker "description": [ 93*8975f5c5SAndroid Build Coastguard Worker "In the case of packing to a pixel pack buffer, pack overlapping rows row by row" 94*8975f5c5SAndroid Build Coastguard Worker ] 95*8975f5c5SAndroid Build Coastguard Worker }, 96*8975f5c5SAndroid Build Coastguard Worker { 97*8975f5c5SAndroid Build Coastguard Worker "name": "initialize_current_vertex_attributes", 98*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 99*8975f5c5SAndroid Build Coastguard Worker "description": [ 100*8975f5c5SAndroid Build Coastguard Worker "During initialization, assign the current vertex attributes to the spec-mandated defaults" 101*8975f5c5SAndroid Build Coastguard Worker ] 102*8975f5c5SAndroid Build Coastguard Worker }, 103*8975f5c5SAndroid Build Coastguard Worker { 104*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_abs_int_function", 105*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 106*8975f5c5SAndroid Build Coastguard Worker "description": [ 107*8975f5c5SAndroid Build Coastguard Worker "abs(i) where i is an integer returns unexpected result" 108*8975f5c5SAndroid Build Coastguard Worker ], 109*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/642227" 110*8975f5c5SAndroid Build Coastguard Worker }, 111*8975f5c5SAndroid Build Coastguard Worker { 112*8975f5c5SAndroid Build Coastguard Worker "name": "add_and_true_to_loop_condition", 113*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 114*8975f5c5SAndroid Build Coastguard Worker "description": [ 115*8975f5c5SAndroid Build Coastguard Worker "Calculation of loop conditions in for and while loop has bug" 116*8975f5c5SAndroid Build Coastguard Worker ] 117*8975f5c5SAndroid Build Coastguard Worker }, 118*8975f5c5SAndroid Build Coastguard Worker { 119*8975f5c5SAndroid Build Coastguard Worker "name": "unpack_last_row_separately_for_padding_inclusion", 120*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 121*8975f5c5SAndroid Build Coastguard Worker "description": [ 122*8975f5c5SAndroid Build Coastguard Worker "When uploading textures from an unpack buffer, some drivers count an extra row padding" 123*8975f5c5SAndroid Build Coastguard Worker ], 124*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42260492" 125*8975f5c5SAndroid Build Coastguard Worker }, 126*8975f5c5SAndroid Build Coastguard Worker { 127*8975f5c5SAndroid Build Coastguard Worker "name": "pack_last_row_separately_for_padding_inclusion", 128*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 129*8975f5c5SAndroid Build Coastguard Worker "description": [ 130*8975f5c5SAndroid Build Coastguard Worker "When uploading textures from an pack buffer, some drivers count an extra row padding" 131*8975f5c5SAndroid Build Coastguard Worker ], 132*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42260492" 133*8975f5c5SAndroid Build Coastguard Worker }, 134*8975f5c5SAndroid Build Coastguard Worker { 135*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_isnan_float", 136*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 137*8975f5c5SAndroid Build Coastguard Worker "description": [ 138*8975f5c5SAndroid Build Coastguard Worker "Using isnan() on highp float will get wrong answer" 139*8975f5c5SAndroid Build Coastguard Worker ], 140*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/650547" 141*8975f5c5SAndroid Build Coastguard Worker }, 142*8975f5c5SAndroid Build Coastguard Worker { 143*8975f5c5SAndroid Build Coastguard Worker "name": "use_unused_blocks_with_standard_or_shared_layout", 144*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 145*8975f5c5SAndroid Build Coastguard Worker "description": [ 146*8975f5c5SAndroid Build Coastguard Worker "Unused std140 or shared uniform blocks will be treated as inactive" 147*8975f5c5SAndroid Build Coastguard Worker ] 148*8975f5c5SAndroid Build Coastguard Worker }, 149*8975f5c5SAndroid Build Coastguard Worker { 150*8975f5c5SAndroid Build Coastguard Worker "name": "remove_invariant_and_centroid_for_ESSL3", 151*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 152*8975f5c5SAndroid Build Coastguard Worker "description": [ 153*8975f5c5SAndroid Build Coastguard Worker "Fix spec difference between GLSL 4.1 or lower and ESSL3" 154*8975f5c5SAndroid Build Coastguard Worker ] 155*8975f5c5SAndroid Build Coastguard Worker }, 156*8975f5c5SAndroid Build Coastguard Worker { 157*8975f5c5SAndroid Build Coastguard Worker "name": "rewrite_float_unary_minus_operator", 158*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 159*8975f5c5SAndroid Build Coastguard Worker "description": [ 160*8975f5c5SAndroid Build Coastguard Worker "Using '-<float>' will get wrong answer" 161*8975f5c5SAndroid Build Coastguard Worker ], 162*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/308366" 163*8975f5c5SAndroid Build Coastguard Worker }, 164*8975f5c5SAndroid Build Coastguard Worker { 165*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_atan_2_float", 166*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 167*8975f5c5SAndroid Build Coastguard Worker "description": [ 168*8975f5c5SAndroid Build Coastguard Worker "atan(y, x) may return a wrong answer" 169*8975f5c5SAndroid Build Coastguard Worker ], 170*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/672380" 171*8975f5c5SAndroid Build Coastguard Worker }, 172*8975f5c5SAndroid Build Coastguard Worker { 173*8975f5c5SAndroid Build Coastguard Worker "name": "reapply_UBO_bindings_after_using_binary_program", 174*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 175*8975f5c5SAndroid Build Coastguard Worker "description": [ 176*8975f5c5SAndroid Build Coastguard Worker "Some drivers forget about UBO bindings when using program binaries" 177*8975f5c5SAndroid Build Coastguard Worker ], 178*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42260591" 179*8975f5c5SAndroid Build Coastguard Worker }, 180*8975f5c5SAndroid Build Coastguard Worker { 181*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_max_vertex_attrib_stride", 182*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 183*8975f5c5SAndroid Build Coastguard Worker "description": [ 184*8975f5c5SAndroid Build Coastguard Worker "Some drivers return 0 when MAX_VERTEX_ATTRIB_STRIED queried" 185*8975f5c5SAndroid Build Coastguard Worker ], 186*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42260722" 187*8975f5c5SAndroid Build Coastguard Worker }, 188*8975f5c5SAndroid Build Coastguard Worker { 189*8975f5c5SAndroid Build Coastguard Worker "name": "dont_initialize_uninitialized_locals", 190*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 191*8975f5c5SAndroid Build Coastguard Worker "description": [ 192*8975f5c5SAndroid Build Coastguard Worker "Initializing uninitialized locals caused odd behavior in a few WebGL 2 tests" 193*8975f5c5SAndroid Build Coastguard Worker ], 194*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096454" 195*8975f5c5SAndroid Build Coastguard Worker }, 196*8975f5c5SAndroid Build Coastguard Worker { 197*8975f5c5SAndroid Build Coastguard Worker "name": "clamp_point_size", 198*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 199*8975f5c5SAndroid Build Coastguard Worker "description": [ 200*8975f5c5SAndroid Build Coastguard Worker "The point size range reported from the API is inconsistent with the actual behavior" 201*8975f5c5SAndroid Build Coastguard Worker ] 202*8975f5c5SAndroid Build Coastguard Worker }, 203*8975f5c5SAndroid Build Coastguard Worker { 204*8975f5c5SAndroid Build Coastguard Worker "name": "dont_use_loops_to_initialize_variables", 205*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 206*8975f5c5SAndroid Build Coastguard Worker "description": [ 207*8975f5c5SAndroid Build Coastguard Worker "For loops used to initialize variables hit native GLSL compiler bugs" 208*8975f5c5SAndroid Build Coastguard Worker ], 209*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/809422" 210*8975f5c5SAndroid Build Coastguard Worker }, 211*8975f5c5SAndroid Build Coastguard Worker { 212*8975f5c5SAndroid Build Coastguard Worker "name": "clamp_frag_depth", 213*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 214*8975f5c5SAndroid Build Coastguard Worker "description": [ 215*8975f5c5SAndroid Build Coastguard Worker "gl_FragDepth is not clamped correctly when rendering to a floating point depth buffer" 216*8975f5c5SAndroid Build Coastguard Worker ] 217*8975f5c5SAndroid Build Coastguard Worker }, 218*8975f5c5SAndroid Build Coastguard Worker { 219*8975f5c5SAndroid Build Coastguard Worker "name": "rewrite_repeated_assign_to_swizzled", 220*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 221*8975f5c5SAndroid Build Coastguard Worker "description": [ 222*8975f5c5SAndroid Build Coastguard Worker "Repeated assignment to swizzled values inside a ", 223*8975f5c5SAndroid Build Coastguard Worker "GLSL user-defined function have incorrect results" 224*8975f5c5SAndroid Build Coastguard Worker ] 225*8975f5c5SAndroid Build Coastguard Worker }, 226*8975f5c5SAndroid Build Coastguard Worker { 227*8975f5c5SAndroid Build Coastguard Worker "name": "pre_transform_texture_cube_grad_derivatives", 228*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 229*8975f5c5SAndroid Build Coastguard Worker "description": [ 230*8975f5c5SAndroid Build Coastguard Worker "Apply a vendor-specific transformation to explicit cubemap derivatives" 231*8975f5c5SAndroid Build Coastguard Worker ] 232*8975f5c5SAndroid Build Coastguard Worker }, 233*8975f5c5SAndroid Build Coastguard Worker { 234*8975f5c5SAndroid Build Coastguard Worker "name": "disable_blend_func_extended", 235*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 236*8975f5c5SAndroid Build Coastguard Worker "description": [ 237*8975f5c5SAndroid Build Coastguard Worker "ARB_blend_func_extended does not pass the tests" 238*8975f5c5SAndroid Build Coastguard Worker ], 239*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40644593" 240*8975f5c5SAndroid Build Coastguard Worker }, 241*8975f5c5SAndroid Build Coastguard Worker { 242*8975f5c5SAndroid Build Coastguard Worker "name": "unsized_SRGB_read_pixels_doesnt_transform", 243*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 244*8975f5c5SAndroid Build Coastguard Worker "description": [ 245*8975f5c5SAndroid Build Coastguard Worker "Drivers returning raw sRGB values instead of linearized values when calling glReadPixels ", 246*8975f5c5SAndroid Build Coastguard Worker "on unsized sRGB texture formats" 247*8975f5c5SAndroid Build Coastguard Worker ], 248*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/550292 http://crbug.com/565179" 249*8975f5c5SAndroid Build Coastguard Worker }, 250*8975f5c5SAndroid Build Coastguard Worker { 251*8975f5c5SAndroid Build Coastguard Worker "name": "query_counter_bits_generates_errors", 252*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 253*8975f5c5SAndroid Build Coastguard Worker "description": [ 254*8975f5c5SAndroid Build Coastguard Worker "Drivers generate errors when querying the number of bits in timer queries" 255*8975f5c5SAndroid Build Coastguard Worker ], 256*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42261713" 257*8975f5c5SAndroid Build Coastguard Worker }, 258*8975f5c5SAndroid Build Coastguard Worker { 259*8975f5c5SAndroid Build Coastguard Worker "name": "limit_webgl_max_texture_size_to_4096", 260*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 261*8975f5c5SAndroid Build Coastguard Worker "description": [ 262*8975f5c5SAndroid Build Coastguard Worker "Limit webgl max texture size to 4096 to avoid frequent ", 263*8975f5c5SAndroid Build Coastguard Worker "out-of-memory errors" 264*8975f5c5SAndroid Build Coastguard Worker ], 265*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/927470" 266*8975f5c5SAndroid Build Coastguard Worker }, 267*8975f5c5SAndroid Build Coastguard Worker { 268*8975f5c5SAndroid Build Coastguard Worker "name": "limit_webgl_max_texture_size_to_8192", 269*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 270*8975f5c5SAndroid Build Coastguard Worker "description": [ 271*8975f5c5SAndroid Build Coastguard Worker "Limit webgl max texture size to 8192 to avoid frequent ", 272*8975f5c5SAndroid Build Coastguard Worker "out-of-memory errors" 273*8975f5c5SAndroid Build Coastguard Worker ], 274*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42267045" 275*8975f5c5SAndroid Build Coastguard Worker }, 276*8975f5c5SAndroid Build Coastguard Worker { 277*8975f5c5SAndroid Build Coastguard Worker "name": "limit_max_MSAA_samples_to_4", 278*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 279*8975f5c5SAndroid Build Coastguard Worker "description": [ 280*8975f5c5SAndroid Build Coastguard Worker "Various rendering bugs have been observed when using higher MSAA counts" 281*8975f5c5SAndroid Build Coastguard Worker ], 282*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/797243" 283*8975f5c5SAndroid Build Coastguard Worker }, 284*8975f5c5SAndroid Build Coastguard Worker { 285*8975f5c5SAndroid Build Coastguard Worker "name": "allow_clear_for_robust_resource_init", 286*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 287*8975f5c5SAndroid Build Coastguard Worker "description": [ 288*8975f5c5SAndroid Build Coastguard Worker "Using glClear for robust resource initialization is buggy on some drivers and leads to ", 289*8975f5c5SAndroid Build Coastguard Worker "texture corruption. Default to data uploads except on MacOS where it is very slow." 290*8975f5c5SAndroid Build Coastguard Worker ], 291*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/848952 http://crbug.com/883276" 292*8975f5c5SAndroid Build Coastguard Worker }, 293*8975f5c5SAndroid Build Coastguard Worker { 294*8975f5c5SAndroid Build Coastguard Worker "name": "clamp_array_access", 295*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 296*8975f5c5SAndroid Build Coastguard Worker "description": [ 297*8975f5c5SAndroid Build Coastguard Worker "Clamp uniform array access to avoid reading invalid memory." 298*8975f5c5SAndroid Build Coastguard Worker ], 299*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096539" 300*8975f5c5SAndroid Build Coastguard Worker }, 301*8975f5c5SAndroid Build Coastguard Worker { 302*8975f5c5SAndroid Build Coastguard Worker "name": "reset_TexImage2D_base_level", 303*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 304*8975f5c5SAndroid Build Coastguard Worker "description": [ 305*8975f5c5SAndroid Build Coastguard Worker "Reset texture base level before calling glTexImage2D to ", 306*8975f5c5SAndroid Build Coastguard Worker "work around pixel comparison failure." 307*8975f5c5SAndroid Build Coastguard Worker ], 308*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/705865" 309*8975f5c5SAndroid Build Coastguard Worker }, 310*8975f5c5SAndroid Build Coastguard Worker { 311*8975f5c5SAndroid Build Coastguard Worker "name": "clear_to_zero_or_one_broken", 312*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 313*8975f5c5SAndroid Build Coastguard Worker "description": [ 314*8975f5c5SAndroid Build Coastguard Worker "Clears when the clear color is all zeros or ones do not work." 315*8975f5c5SAndroid Build Coastguard Worker ], 316*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/710443" 317*8975f5c5SAndroid Build Coastguard Worker }, 318*8975f5c5SAndroid Build Coastguard Worker { 319*8975f5c5SAndroid Build Coastguard Worker "name": "limit_max_3d_array_texture_size_to_1024", 320*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 321*8975f5c5SAndroid Build Coastguard Worker "description": [ 322*8975f5c5SAndroid Build Coastguard Worker "Limit max 3d texture size and max array texture layers to 1024 to avoid system hang" 323*8975f5c5SAndroid Build Coastguard Worker ], 324*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/927470" 325*8975f5c5SAndroid Build Coastguard Worker }, 326*8975f5c5SAndroid Build Coastguard Worker { 327*8975f5c5SAndroid Build Coastguard Worker "name": "adjust_src_dst_region_for_BlitFramebuffer", 328*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 329*8975f5c5SAndroid Build Coastguard Worker "description": [ 330*8975f5c5SAndroid Build Coastguard Worker "Many platforms have issues with blitFramebuffer when the parameters are large." 331*8975f5c5SAndroid Build Coastguard Worker ], 332*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/830046" 333*8975f5c5SAndroid Build Coastguard Worker }, 334*8975f5c5SAndroid Build Coastguard Worker { 335*8975f5c5SAndroid Build Coastguard Worker "name": "clip_src_region_for_BlitFramebuffer", 336*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 337*8975f5c5SAndroid Build Coastguard Worker "description": [ 338*8975f5c5SAndroid Build Coastguard Worker "Issues with blitFramebuffer when the parameters don't match the framebuffer size." 339*8975f5c5SAndroid Build Coastguard Worker ], 340*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/830046" 341*8975f5c5SAndroid Build Coastguard Worker }, 342*8975f5c5SAndroid Build Coastguard Worker { 343*8975f5c5SAndroid Build Coastguard Worker "name": "RGB_DXT1_textures_sample_zero_alpha", 344*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 345*8975f5c5SAndroid Build Coastguard Worker "description": [ 346*8975f5c5SAndroid Build Coastguard Worker "Sampling BLACK texels from RGB DXT1 textures returns transparent black on Mac." 347*8975f5c5SAndroid Build Coastguard Worker ], 348*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42262386" 349*8975f5c5SAndroid Build Coastguard Worker }, 350*8975f5c5SAndroid Build Coastguard Worker { 351*8975f5c5SAndroid Build Coastguard Worker "name": "unfold_short_circuits", 352*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 353*8975f5c5SAndroid Build Coastguard Worker "description": [ 354*8975f5c5SAndroid Build Coastguard Worker "Mac incorrectly executes both sides of && and || expressions when they should ", 355*8975f5c5SAndroid Build Coastguard Worker "short-circuit." 356*8975f5c5SAndroid Build Coastguard Worker ], 357*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42263407" 358*8975f5c5SAndroid Build Coastguard Worker }, 359*8975f5c5SAndroid Build Coastguard Worker { 360*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_primitive_restart_fixed_index", 361*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 362*8975f5c5SAndroid Build Coastguard Worker "description": [ 363*8975f5c5SAndroid Build Coastguard Worker "When GL_PRIMITIVE_RESTART_FIXED_INDEX is not available, emulate it with ", 364*8975f5c5SAndroid Build Coastguard Worker "GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex." 365*8975f5c5SAndroid Build Coastguard Worker ], 366*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096648" 367*8975f5c5SAndroid Build Coastguard Worker }, 368*8975f5c5SAndroid Build Coastguard Worker { 369*8975f5c5SAndroid Build Coastguard Worker "name": "set_primitive_restart_fixed_index_for_draw_arrays", 370*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 371*8975f5c5SAndroid Build Coastguard Worker "description": [ 372*8975f5c5SAndroid Build Coastguard Worker "Some drivers discard vertex data in DrawArrays calls when the fixed primitive restart ", 373*8975f5c5SAndroid Build Coastguard Worker "index is within the number of primitives being drawn." 374*8975f5c5SAndroid Build Coastguard Worker ], 375*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096648" 376*8975f5c5SAndroid Build Coastguard Worker }, 377*8975f5c5SAndroid Build Coastguard Worker { 378*8975f5c5SAndroid Build Coastguard Worker "name": "remove_dynamic_indexing_of_swizzled_vector", 379*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 380*8975f5c5SAndroid Build Coastguard Worker "description": [ 381*8975f5c5SAndroid Build Coastguard Worker "Dynamic indexing of swizzled l-values doesn't work correctly on various platforms." 382*8975f5c5SAndroid Build Coastguard Worker ], 383*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/709351" 384*8975f5c5SAndroid Build Coastguard Worker }, 385*8975f5c5SAndroid Build Coastguard Worker { 386*8975f5c5SAndroid Build Coastguard Worker "name": "pre_add_texel_fetch_offsets", 387*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 388*8975f5c5SAndroid Build Coastguard Worker "description": [ 389*8975f5c5SAndroid Build Coastguard Worker "Intel Mac drivers mistakenly consider the parameter position of nagative vaule as invalid ", 390*8975f5c5SAndroid Build Coastguard Worker "even if the sum of position and offset is in range, so we need to add workarounds by ", 391*8975f5c5SAndroid Build Coastguard Worker "rewriting texelFetchOffset(sampler, position, lod, offset) into texelFetch(sampler, ", 392*8975f5c5SAndroid Build Coastguard Worker "position + offset, lod)." 393*8975f5c5SAndroid Build Coastguard Worker ], 394*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/642605" 395*8975f5c5SAndroid Build Coastguard Worker }, 396*8975f5c5SAndroid Build Coastguard Worker { 397*8975f5c5SAndroid Build Coastguard Worker "name": "regenerate_struct_names", 398*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 399*8975f5c5SAndroid Build Coastguard Worker "description": [ 400*8975f5c5SAndroid Build Coastguard Worker "All Mac drivers do not handle struct scopes correctly. This workaround overwrites a struct", 401*8975f5c5SAndroid Build Coastguard Worker "name with a unique prefix." 402*8975f5c5SAndroid Build Coastguard Worker ], 403*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/403957" 404*8975f5c5SAndroid Build Coastguard Worker }, 405*8975f5c5SAndroid Build Coastguard Worker { 406*8975f5c5SAndroid Build Coastguard Worker "name": "read_pixels_using_implementation_color_read_format_for_norm16", 407*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 408*8975f5c5SAndroid Build Coastguard Worker "description": [ 409*8975f5c5SAndroid Build Coastguard Worker "Quite some OpenGL ES drivers don't implement readPixels for RGBA/UNSIGNED_SHORT from ", 410*8975f5c5SAndroid Build Coastguard Worker "EXT_texture_norm16 correctly" 411*8975f5c5SAndroid Build Coastguard Worker ], 412*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096661" 413*8975f5c5SAndroid Build Coastguard Worker }, 414*8975f5c5SAndroid Build Coastguard Worker { 415*8975f5c5SAndroid Build Coastguard Worker "name": "flush_before_delete_texture_if_copied_to", 416*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 417*8975f5c5SAndroid Build Coastguard Worker "description": [ 418*8975f5c5SAndroid Build Coastguard Worker "Some drivers track CopyTex{Sub}Image texture dependencies incorrectly. Flush", 419*8975f5c5SAndroid Build Coastguard Worker " before glDeleteTextures in this case" 420*8975f5c5SAndroid Build Coastguard Worker ], 421*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40644715" 422*8975f5c5SAndroid Build Coastguard Worker }, 423*8975f5c5SAndroid Build Coastguard Worker { 424*8975f5c5SAndroid Build Coastguard Worker "name": "rewrite_row_major_matrices", 425*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 426*8975f5c5SAndroid Build Coastguard Worker "description": [ 427*8975f5c5SAndroid Build Coastguard Worker "Rewrite row major matrices in shaders as column major as a driver bug workaround" 428*8975f5c5SAndroid Build Coastguard Worker ], 429*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096480" 430*8975f5c5SAndroid Build Coastguard Worker }, 431*8975f5c5SAndroid Build Coastguard Worker { 432*8975f5c5SAndroid Build Coastguard Worker "name": "disable_draw_buffers_indexed", 433*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 434*8975f5c5SAndroid Build Coastguard Worker "description": [ 435*8975f5c5SAndroid Build Coastguard Worker "Disable OES_draw_buffers_indexed extension." 436*8975f5c5SAndroid Build Coastguard Worker ] 437*8975f5c5SAndroid Build Coastguard Worker }, 438*8975f5c5SAndroid Build Coastguard Worker { 439*8975f5c5SAndroid Build Coastguard Worker "name": "disable_semaphore_fd", 440*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 441*8975f5c5SAndroid Build Coastguard Worker "description": [ 442*8975f5c5SAndroid Build Coastguard Worker "Disable GL_EXT_semaphore_fd extension" 443*8975f5c5SAndroid Build Coastguard Worker ], 444*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/1046462" 445*8975f5c5SAndroid Build Coastguard Worker }, 446*8975f5c5SAndroid Build Coastguard Worker { 447*8975f5c5SAndroid Build Coastguard Worker "name": "disable_timestamp_queries", 448*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 449*8975f5c5SAndroid Build Coastguard Worker "description": [ 450*8975f5c5SAndroid Build Coastguard Worker "Disable GL_EXT_disjoint_timer_query extension" 451*8975f5c5SAndroid Build Coastguard Worker ], 452*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/811661" 453*8975f5c5SAndroid Build Coastguard Worker }, 454*8975f5c5SAndroid Build Coastguard Worker { 455*8975f5c5SAndroid Build Coastguard Worker "name": "decode_encode_SRGB_for_GenerateMipmap", 456*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 457*8975f5c5SAndroid Build Coastguard Worker "description": [ 458*8975f5c5SAndroid Build Coastguard Worker "Decode and encode before generateMipmap for srgb format textures." 459*8975f5c5SAndroid Build Coastguard Worker ], 460*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40644730" 461*8975f5c5SAndroid Build Coastguard Worker }, 462*8975f5c5SAndroid Build Coastguard Worker { 463*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_CopyTexImage2D", 464*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 465*8975f5c5SAndroid Build Coastguard Worker "description": [ 466*8975f5c5SAndroid Build Coastguard Worker "Replace CopyTexImage2D with TexImage2D + CopyTexSubImage2D." 467*8975f5c5SAndroid Build Coastguard Worker ] 468*8975f5c5SAndroid Build Coastguard Worker }, 469*8975f5c5SAndroid Build Coastguard Worker { 470*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_CopyTexImage2D_from_renderbuffers", 471*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 472*8975f5c5SAndroid Build Coastguard Worker "description": [ 473*8975f5c5SAndroid Build Coastguard Worker "CopyTexImage2D spuriously returns errors on iOS when copying from renderbuffers." 474*8975f5c5SAndroid Build Coastguard Worker ], 475*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42263273" 476*8975f5c5SAndroid Build Coastguard Worker }, 477*8975f5c5SAndroid Build Coastguard Worker { 478*8975f5c5SAndroid Build Coastguard Worker "name": "disable_GPU_switching_support", 479*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 480*8975f5c5SAndroid Build Coastguard Worker "description": [ 481*8975f5c5SAndroid Build Coastguard Worker "Disable GPU switching support (use only the low-power GPU) on older MacBook Pros." 482*8975f5c5SAndroid Build Coastguard Worker ], 483*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/1091824" 484*8975f5c5SAndroid Build Coastguard Worker }, 485*8975f5c5SAndroid Build Coastguard Worker { 486*8975f5c5SAndroid Build Coastguard Worker "name": "disable_native_parallel_compile", 487*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 488*8975f5c5SAndroid Build Coastguard Worker "description": [ 489*8975f5c5SAndroid Build Coastguard Worker "Do not use native KHR_parallel_shader_compile even when available." 490*8975f5c5SAndroid Build Coastguard Worker ], 491*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1094869" 492*8975f5c5SAndroid Build Coastguard Worker }, 493*8975f5c5SAndroid Build Coastguard Worker { 494*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_pack_skip_rows_and_pack_skip_pixels", 495*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 496*8975f5c5SAndroid Build Coastguard Worker "description": [ 497*8975f5c5SAndroid Build Coastguard Worker "GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored in Apple's OpenGL driver." 498*8975f5c5SAndroid Build Coastguard Worker ], 499*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/40096712" 500*8975f5c5SAndroid Build Coastguard Worker }, 501*8975f5c5SAndroid Build Coastguard Worker { 502*8975f5c5SAndroid Build Coastguard Worker "name": "clamp_msc_rate", 503*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 504*8975f5c5SAndroid Build Coastguard Worker "description": [ 505*8975f5c5SAndroid Build Coastguard Worker "Some drivers return bogus values for GetMscRate, so we clamp it to 30Hz" 506*8975f5c5SAndroid Build Coastguard Worker ], 507*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/1042393" 508*8975f5c5SAndroid Build Coastguard Worker }, 509*8975f5c5SAndroid Build Coastguard Worker { 510*8975f5c5SAndroid Build Coastguard Worker "name": "bind_transform_feedback_buffer_before_bind_buffer_range", 511*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 512*8975f5c5SAndroid Build Coastguard Worker "description": [ 513*8975f5c5SAndroid Build Coastguard Worker "Bind transform feedback buffers to the generic binding point before calling ", 514*8975f5c5SAndroid Build Coastguard Worker "glBindBufferBase or glBindBufferRange." 515*8975f5c5SAndroid Build Coastguard Worker ], 516*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42263702" 517*8975f5c5SAndroid Build Coastguard Worker }, 518*8975f5c5SAndroid Build Coastguard Worker { 519*8975f5c5SAndroid Build Coastguard Worker "name": "disable_sync_control_support", 520*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 521*8975f5c5SAndroid Build Coastguard Worker "description": [ 522*8975f5c5SAndroid Build Coastguard Worker "Speculative fix for issues on Linux/Wayland where exposing GLX_OML_sync_control renders ", 523*8975f5c5SAndroid Build Coastguard Worker "Chrome unusable" 524*8975f5c5SAndroid Build Coastguard Worker ], 525*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/1137851" 526*8975f5c5SAndroid Build Coastguard Worker }, 527*8975f5c5SAndroid Build Coastguard Worker { 528*8975f5c5SAndroid Build Coastguard Worker "name": "keep_buffer_shadow_copy", 529*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 530*8975f5c5SAndroid Build Coastguard Worker "description": [ 531*8975f5c5SAndroid Build Coastguard Worker "Maintain a shadow copy of buffer data when the GL API does not permit reading data back." 532*8975f5c5SAndroid Build Coastguard Worker ] 533*8975f5c5SAndroid Build Coastguard Worker }, 534*8975f5c5SAndroid Build Coastguard Worker { 535*8975f5c5SAndroid Build Coastguard Worker "name": "set_zero_level_before_GenerateMipmap", 536*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 537*8975f5c5SAndroid Build Coastguard Worker "description": [ 538*8975f5c5SAndroid Build Coastguard Worker "glGenerateMipmap fails if the zero texture level is not set on some Mac drivers." 539*8975f5c5SAndroid Build Coastguard Worker ] 540*8975f5c5SAndroid Build Coastguard Worker }, 541*8975f5c5SAndroid Build Coastguard Worker { 542*8975f5c5SAndroid Build Coastguard Worker "name": "promote_packed_formats_to_8_bit_per_channel", 543*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 544*8975f5c5SAndroid Build Coastguard Worker "description": [ 545*8975f5c5SAndroid Build Coastguard Worker "Packed color formats are buggy on Macs with AMD GPUs" 546*8975f5c5SAndroid Build Coastguard Worker ], 547*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42264008" 548*8975f5c5SAndroid Build Coastguard Worker }, 549*8975f5c5SAndroid Build Coastguard Worker { 550*8975f5c5SAndroid Build Coastguard Worker "name": "init_fragment_output_variables", 551*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 552*8975f5c5SAndroid Build Coastguard Worker "description": [ 553*8975f5c5SAndroid Build Coastguard Worker "No init gl_FragColor causes context lost" 554*8975f5c5SAndroid Build Coastguard Worker ], 555*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1171371" 556*8975f5c5SAndroid Build Coastguard Worker }, 557*8975f5c5SAndroid Build Coastguard Worker { 558*8975f5c5SAndroid Build Coastguard Worker "name": "shift_instanced_array_data_with_offset", 559*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 560*8975f5c5SAndroid Build Coastguard Worker "description": [ 561*8975f5c5SAndroid Build Coastguard Worker "glDrawArraysInstanced is buggy on certain new Mac Intel GPUs" 562*8975f5c5SAndroid Build Coastguard Worker ], 563*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1144207" 564*8975f5c5SAndroid Build Coastguard Worker }, 565*8975f5c5SAndroid Build Coastguard Worker { 566*8975f5c5SAndroid Build Coastguard Worker "name": "sync_all_vertex_arrays_to_default", 567*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 568*8975f5c5SAndroid Build Coastguard Worker "description": [ 569*8975f5c5SAndroid Build Coastguard Worker "Only use the default VAO because of missing support or driver bugs" 570*8975f5c5SAndroid Build Coastguard Worker ], 571*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096758" 572*8975f5c5SAndroid Build Coastguard Worker }, 573*8975f5c5SAndroid Build Coastguard Worker { 574*8975f5c5SAndroid Build Coastguard Worker "name": "sync_default_vertex_arrays_to_default", 575*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 576*8975f5c5SAndroid Build Coastguard Worker "description": [ 577*8975f5c5SAndroid Build Coastguard Worker "Sync all frontend vertex array objects to the driver default vertex array" 578*8975f5c5SAndroid Build Coastguard Worker ], 579*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/355034686" 580*8975f5c5SAndroid Build Coastguard Worker }, 581*8975f5c5SAndroid Build Coastguard Worker { 582*8975f5c5SAndroid Build Coastguard Worker "name": "sanitize_AMDGPU_renderer_string", 583*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 584*8975f5c5SAndroid Build Coastguard Worker "description": [ 585*8975f5c5SAndroid Build Coastguard Worker "Strip precise kernel and DRM version information from amdgpu renderer strings." 586*8975f5c5SAndroid Build Coastguard Worker ], 587*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1181193" 588*8975f5c5SAndroid Build Coastguard Worker }, 589*8975f5c5SAndroid Build Coastguard Worker { 590*8975f5c5SAndroid Build Coastguard Worker "name": "unbind_FBO_before_switching_context", 591*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 592*8975f5c5SAndroid Build Coastguard Worker "description": [ 593*8975f5c5SAndroid Build Coastguard Worker "Imagination GL drivers are buggy with context switching." 594*8975f5c5SAndroid Build Coastguard Worker ], 595*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1181193" 596*8975f5c5SAndroid Build Coastguard Worker }, 597*8975f5c5SAndroid Build Coastguard Worker { 598*8975f5c5SAndroid Build Coastguard Worker "name": "flush_on_framebuffer_change", 599*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 600*8975f5c5SAndroid Build Coastguard Worker "description": [ 601*8975f5c5SAndroid Build Coastguard Worker "Switching framebuffers without a flush can lead to ", 602*8975f5c5SAndroid Build Coastguard Worker "crashes on Intel 9th Generation GPU Macs." 603*8975f5c5SAndroid Build Coastguard Worker ], 604*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1181068" 605*8975f5c5SAndroid Build Coastguard Worker }, 606*8975f5c5SAndroid Build Coastguard Worker { 607*8975f5c5SAndroid Build Coastguard Worker "name": "disable_multisampled_render_to_texture", 608*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 609*8975f5c5SAndroid Build Coastguard Worker "description": [ 610*8975f5c5SAndroid Build Coastguard Worker "Many drivers have bugs when using GL_EXT_multisampled_render_to_texture" 611*8975f5c5SAndroid Build Coastguard Worker ], 612*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096530" 613*8975f5c5SAndroid Build Coastguard Worker }, 614*8975f5c5SAndroid Build Coastguard Worker { 615*8975f5c5SAndroid Build Coastguard Worker "name": "upload_texture_data_in_chunks", 616*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 617*8975f5c5SAndroid Build Coastguard Worker "description": [ 618*8975f5c5SAndroid Build Coastguard Worker "Upload texture data in <120kb chunks to work around Mac driver hangs and crashes." 619*8975f5c5SAndroid Build Coastguard Worker ], 620*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1181068" 621*8975f5c5SAndroid Build Coastguard Worker }, 622*8975f5c5SAndroid Build Coastguard Worker { 623*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_immutable_compressed_texture_3D", 624*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 625*8975f5c5SAndroid Build Coastguard Worker "description": [ 626*8975f5c5SAndroid Build Coastguard Worker "Use non-immutable texture allocation to work around a driver bug." 627*8975f5c5SAndroid Build Coastguard Worker ], 628*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/1060012" 629*8975f5c5SAndroid Build Coastguard Worker }, 630*8975f5c5SAndroid Build Coastguard Worker { 631*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_RGB10", 632*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 633*8975f5c5SAndroid Build Coastguard Worker "description": [ 634*8975f5c5SAndroid Build Coastguard Worker "Emulate RGB10 support using RGB10_A2." 635*8975f5c5SAndroid Build Coastguard Worker ], 636*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/1300575" 637*8975f5c5SAndroid Build Coastguard Worker }, 638*8975f5c5SAndroid Build Coastguard Worker { 639*8975f5c5SAndroid Build Coastguard Worker "name": "always_unbind_framebuffer_texture_2D", 640*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 641*8975f5c5SAndroid Build Coastguard Worker "description": [ 642*8975f5c5SAndroid Build Coastguard Worker "Force unbind framebufferTexture2D before binding renderbuffer to work around driver bug." 643*8975f5c5SAndroid Build Coastguard Worker ], 644*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42264072" 645*8975f5c5SAndroid Build Coastguard Worker }, 646*8975f5c5SAndroid Build Coastguard Worker { 647*8975f5c5SAndroid Build Coastguard Worker "name": "disable_texture_clamp_to_border", 648*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 649*8975f5c5SAndroid Build Coastguard Worker "description": [ 650*8975f5c5SAndroid Build Coastguard Worker "Imagination devices generate INVALID_ENUM when setting the texture border color." 651*8975f5c5SAndroid Build Coastguard Worker ], 652*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42265877" 653*8975f5c5SAndroid Build Coastguard Worker }, 654*8975f5c5SAndroid Build Coastguard Worker { 655*8975f5c5SAndroid Build Coastguard Worker "name": "pass_highp_to_pack_unorm_snorm_builtins", 656*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 657*8975f5c5SAndroid Build Coastguard Worker "description": [ 658*8975f5c5SAndroid Build Coastguard Worker "packUnorm4x8 fails on Pixel 4 if it is not passed a highp vec4." 659*8975f5c5SAndroid Build Coastguard Worker ], 660*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42265995" 661*8975f5c5SAndroid Build Coastguard Worker }, 662*8975f5c5SAndroid Build Coastguard Worker { 663*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_clip_distance_state", 664*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 665*8975f5c5SAndroid Build Coastguard Worker "description": [ 666*8975f5c5SAndroid Build Coastguard Worker "Some drivers ignore GL_CLIP_DISTANCEi_EXT state." 667*8975f5c5SAndroid Build Coastguard Worker ] 668*8975f5c5SAndroid Build Coastguard Worker }, 669*8975f5c5SAndroid Build Coastguard Worker { 670*8975f5c5SAndroid Build Coastguard Worker "name": "emulate_clip_origin", 671*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 672*8975f5c5SAndroid Build Coastguard Worker "description": [ 673*8975f5c5SAndroid Build Coastguard Worker "Some drivers incorrectly apply GL_CLIP_ORIGIN_EXT state." 674*8975f5c5SAndroid Build Coastguard Worker ] 675*8975f5c5SAndroid Build Coastguard Worker }, 676*8975f5c5SAndroid Build Coastguard Worker { 677*8975f5c5SAndroid Build Coastguard Worker "name": "bind_complete_framebuffer_for_timer_queries", 678*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 679*8975f5c5SAndroid Build Coastguard Worker "description": [ 680*8975f5c5SAndroid Build Coastguard Worker "Some drivers require a complete framebuffer when beginQuery for TimeElapsed or", 681*8975f5c5SAndroid Build Coastguard Worker "Timestampis called." 682*8975f5c5SAndroid Build Coastguard Worker ], 683*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/1356053" 684*8975f5c5SAndroid Build Coastguard Worker }, 685*8975f5c5SAndroid Build Coastguard Worker { 686*8975f5c5SAndroid Build Coastguard Worker "name": "disable_base_instance_vertex", 687*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 688*8975f5c5SAndroid Build Coastguard Worker "description": [ 689*8975f5c5SAndroid Build Coastguard Worker "Some drivers have buggy implementations of glDraw*BaseVertex*." 690*8975f5c5SAndroid Build Coastguard Worker ], 691*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/42266610" 692*8975f5c5SAndroid Build Coastguard Worker }, 693*8975f5c5SAndroid Build Coastguard Worker { 694*8975f5c5SAndroid Build Coastguard Worker "name": "supports_fragment_shader_interlock_NV", 695*8975f5c5SAndroid Build Coastguard Worker "category": "Features", 696*8975f5c5SAndroid Build Coastguard Worker "description": [ 697*8975f5c5SAndroid Build Coastguard Worker "Backend GL context supports NV_fragment_shader_interlock extension" 698*8975f5c5SAndroid Build Coastguard Worker ], 699*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096838" 700*8975f5c5SAndroid Build Coastguard Worker }, 701*8975f5c5SAndroid Build Coastguard Worker { 702*8975f5c5SAndroid Build Coastguard Worker "name": "supports_fragment_shader_ordering_INTEL", 703*8975f5c5SAndroid Build Coastguard Worker "category": "Features", 704*8975f5c5SAndroid Build Coastguard Worker "description": [ 705*8975f5c5SAndroid Build Coastguard Worker "Backend GL context supports GL_INTEL_fragment_shader_ordering extension" 706*8975f5c5SAndroid Build Coastguard Worker ], 707*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096838" 708*8975f5c5SAndroid Build Coastguard Worker }, 709*8975f5c5SAndroid Build Coastguard Worker { 710*8975f5c5SAndroid Build Coastguard Worker "name": "supports_fragment_shader_interlock_ARB", 711*8975f5c5SAndroid Build Coastguard Worker "category": "Features", 712*8975f5c5SAndroid Build Coastguard Worker "description": [ 713*8975f5c5SAndroid Build Coastguard Worker "Backend GL context supports ARB_fragment_shader_interlock extension" 714*8975f5c5SAndroid Build Coastguard Worker ], 715*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096838" 716*8975f5c5SAndroid Build Coastguard Worker }, 717*8975f5c5SAndroid Build Coastguard Worker { 718*8975f5c5SAndroid Build Coastguard Worker "name": "supports_shader_framebuffer_fetch_EXT", 719*8975f5c5SAndroid Build Coastguard Worker "category": "Features", 720*8975f5c5SAndroid Build Coastguard Worker "description": [ 721*8975f5c5SAndroid Build Coastguard Worker "Backend GL context supports EXT_shader_framebuffer_fetch extension" 722*8975f5c5SAndroid Build Coastguard Worker ], 723*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096838" 724*8975f5c5SAndroid Build Coastguard Worker }, 725*8975f5c5SAndroid Build Coastguard Worker { 726*8975f5c5SAndroid Build Coastguard Worker "name": "supports_shader_framebuffer_fetch_non_coherent_EXT", 727*8975f5c5SAndroid Build Coastguard Worker "category": "Features", 728*8975f5c5SAndroid Build Coastguard Worker "description": [ 729*8975f5c5SAndroid Build Coastguard Worker "Backend GL context supports EXT_shader_framebuffer_fetch_non_coherent extension" 730*8975f5c5SAndroid Build Coastguard Worker ], 731*8975f5c5SAndroid Build Coastguard Worker "issue": "http://anglebug.com/40096838" 732*8975f5c5SAndroid Build Coastguard Worker }, 733*8975f5c5SAndroid Build Coastguard Worker { 734*8975f5c5SAndroid Build Coastguard Worker "name": "disable_clip_control", 735*8975f5c5SAndroid Build Coastguard Worker "category": "Features", 736*8975f5c5SAndroid Build Coastguard Worker "description": [ 737*8975f5c5SAndroid Build Coastguard Worker "Some devices genenerate errors when querying the clip control state" 738*8975f5c5SAndroid Build Coastguard Worker ], 739*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1434317" 740*8975f5c5SAndroid Build Coastguard Worker }, 741*8975f5c5SAndroid Build Coastguard Worker { 742*8975f5c5SAndroid Build Coastguard Worker "name": "scalarize_vec_and_mat_constructor_args", 743*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 744*8975f5c5SAndroid Build Coastguard Worker "description": [ 745*8975f5c5SAndroid Build Coastguard Worker "Rewrite vec/mat constructors to work around driver bugs" 746*8975f5c5SAndroid Build Coastguard Worker ], 747*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1420130" 748*8975f5c5SAndroid Build Coastguard Worker }, 749*8975f5c5SAndroid Build Coastguard Worker { 750*8975f5c5SAndroid Build Coastguard Worker "name": "ensure_non_empty_buffer_is_bound_for_draw", 751*8975f5c5SAndroid Build Coastguard Worker "category": "Features", 752*8975f5c5SAndroid Build Coastguard Worker "description": [ 753*8975f5c5SAndroid Build Coastguard Worker "Apple OpenGL drivers crash when drawing with a zero-sized buffer bound using a non-zero divisor." 754*8975f5c5SAndroid Build Coastguard Worker ], 755*8975f5c5SAndroid Build Coastguard Worker "issue": "http://crbug.com/1456243" 756*8975f5c5SAndroid Build Coastguard Worker }, 757*8975f5c5SAndroid Build Coastguard Worker { 758*8975f5c5SAndroid Build Coastguard Worker "name": "explicit_fragment_locations", 759*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 760*8975f5c5SAndroid Build Coastguard Worker "description": [ 761*8975f5c5SAndroid Build Coastguard Worker "Always write explicit location layout qualifiers for fragment outputs." 762*8975f5c5SAndroid Build Coastguard Worker ], 763*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42266740" 764*8975f5c5SAndroid Build Coastguard Worker }, 765*8975f5c5SAndroid Build Coastguard Worker { 766*8975f5c5SAndroid Build Coastguard Worker "name": "disable_render_snorm", 767*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 768*8975f5c5SAndroid Build Coastguard Worker "description": [ 769*8975f5c5SAndroid Build Coastguard Worker "Disable EXT_render_snorm extension." 770*8975f5c5SAndroid Build Coastguard Worker ], 771*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42266745" 772*8975f5c5SAndroid Build Coastguard Worker }, 773*8975f5c5SAndroid Build Coastguard Worker { 774*8975f5c5SAndroid Build Coastguard Worker "name": "disable_texture_mirror_clamp_to_edge", 775*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 776*8975f5c5SAndroid Build Coastguard Worker "description": [ 777*8975f5c5SAndroid Build Coastguard Worker "Disable EXT_texture_mirror_clamp_to_edge extension." 778*8975f5c5SAndroid Build Coastguard Worker ], 779*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42266748" 780*8975f5c5SAndroid Build Coastguard Worker }, 781*8975f5c5SAndroid Build Coastguard Worker { 782*8975f5c5SAndroid Build Coastguard Worker "name": "resync_depth_range_on_clip_control", 783*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 784*8975f5c5SAndroid Build Coastguard Worker "description": [ 785*8975f5c5SAndroid Build Coastguard Worker "Resync depth range to apply clip control updates." 786*8975f5c5SAndroid Build Coastguard Worker ], 787*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42266811" 788*8975f5c5SAndroid Build Coastguard Worker }, 789*8975f5c5SAndroid Build Coastguard Worker { 790*8975f5c5SAndroid Build Coastguard Worker "name": "corrupt_program_binary_for_testing", 791*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 792*8975f5c5SAndroid Build Coastguard Worker "description": [ 793*8975f5c5SAndroid Build Coastguard Worker "Corrupt the program binary retrieved from the driver for testing purposes." 794*8975f5c5SAndroid Build Coastguard Worker ], 795*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/41488638" 796*8975f5c5SAndroid Build Coastguard Worker }, 797*8975f5c5SAndroid Build Coastguard Worker { 798*8975f5c5SAndroid Build Coastguard Worker "name": "use_intermediate_texture_for_generate_mipmap", 799*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 800*8975f5c5SAndroid Build Coastguard Worker "description": [ 801*8975f5c5SAndroid Build Coastguard Worker "Some drivers lose context when repeatedly generating mipmaps on textures that were used as framebuffers." 802*8975f5c5SAndroid Build Coastguard Worker ], 803*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/40279678" 804*8975f5c5SAndroid Build Coastguard Worker }, 805*8975f5c5SAndroid Build Coastguard Worker { 806*8975f5c5SAndroid Build Coastguard Worker "name": "avoid_bind_frag_data_location", 807*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 808*8975f5c5SAndroid Build Coastguard Worker "description": [ 809*8975f5c5SAndroid Build Coastguard Worker "Qualcomm drivers fail to link after binding fragment data locations." 810*8975f5c5SAndroid Build Coastguard Worker ], 811*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/8646" 812*8975f5c5SAndroid Build Coastguard Worker }, 813*8975f5c5SAndroid Build Coastguard Worker { 814*8975f5c5SAndroid Build Coastguard Worker "name": "srgb_blending_broken", 815*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 816*8975f5c5SAndroid Build Coastguard Worker "description": [ 817*8975f5c5SAndroid Build Coastguard Worker "SRGB blending does not appear to work correctly on the some Qualcomm devices. ", 818*8975f5c5SAndroid Build Coastguard Worker "Writing to an SRGB framebuffer with GL_FRAMEBUFFER_SRGB enabled and ", 819*8975f5c5SAndroid Build Coastguard Worker "then reading back returns the same value. Disabling GL_FRAMEBUFFER_SRGB ", 820*8975f5c5SAndroid Build Coastguard Worker "will then convert in the wrong direction." 821*8975f5c5SAndroid Build Coastguard Worker ], 822*8975f5c5SAndroid Build Coastguard Worker "issue": "https://crbug.com/40488750" 823*8975f5c5SAndroid Build Coastguard Worker }, 824*8975f5c5SAndroid Build Coastguard Worker { 825*8975f5c5SAndroid Build Coastguard Worker "name": "bgra_tex_image_formats_broken", 826*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 827*8975f5c5SAndroid Build Coastguard Worker "description": [ 828*8975f5c5SAndroid Build Coastguard Worker "BGRA formats do not appear to be accepted by some qualcomm despite the extension being exposed." 829*8975f5c5SAndroid Build Coastguard Worker ], 830*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/40096376" 831*8975f5c5SAndroid Build Coastguard Worker }, 832*8975f5c5SAndroid Build Coastguard Worker { 833*8975f5c5SAndroid Build Coastguard Worker "name": "disable_tiled_rendering", 834*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 835*8975f5c5SAndroid Build Coastguard Worker "description": [ 836*8975f5c5SAndroid Build Coastguard Worker "Disable QCOM_tiled_rendering on devices with rendering artifacts or which improperly expose the extension." 837*8975f5c5SAndroid Build Coastguard Worker ], 838*8975f5c5SAndroid Build Coastguard Worker "issue": "http://skbug.com/9491 https://github.com/flutter/flutter/issues/47164 https://github.com/flutter/flutter/issues/47804" 839*8975f5c5SAndroid Build Coastguard Worker }, 840*8975f5c5SAndroid Build Coastguard Worker { 841*8975f5c5SAndroid Build Coastguard Worker "name": "disable_blend_equation_advanced", 842*8975f5c5SAndroid Build Coastguard Worker "category": "Workarounds", 843*8975f5c5SAndroid Build Coastguard Worker "description": [ 844*8975f5c5SAndroid Build Coastguard Worker "Disable GL_KHR_blend_equation_advanced due to various driver issues." 845*8975f5c5SAndroid Build Coastguard Worker ], 846*8975f5c5SAndroid Build Coastguard Worker "issue": "https://anglebug.com/42267098" 847*8975f5c5SAndroid Build Coastguard Worker } 848*8975f5c5SAndroid Build Coastguard Worker ] 849*8975f5c5SAndroid Build Coastguard Worker} 850