| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Determines whether a certain driver bug exists in the current system. | 5 // Determines whether a certain driver bug exists in the current system. |
| 6 // The format of a valid gpu_driver_bug_list.json file is defined in | 6 // The format of a valid gpu_driver_bug_list.json file is defined in |
| 7 // <gpu/config/gpu_control_list_format.txt>. | 7 // <gpu/config/gpu_control_list_format.txt>. |
| 8 // The supported "features" can be found in | 8 // The supported "features" can be found in |
| 9 // <gpu/config/gpu_driver_bug_workaround_type.h>. | 9 // <gpu/config/gpu_driver_bug_workaround_type.h>. |
| 10 | 10 |
| 11 #include "gpu/config/gpu_control_list_jsons.h" | 11 #include "gpu/config/gpu_control_list_jsons.h" |
| 12 | 12 |
| 13 #define LONG_STRING_CONST(...) #__VA_ARGS__ | 13 #define LONG_STRING_CONST(...) #__VA_ARGS__ |
| 14 | 14 |
| 15 namespace gpu { | 15 namespace gpu { |
| 16 | 16 |
| 17 const char kGpuDriverBugListJson[] = LONG_STRING_CONST( | 17 const char kGpuDriverBugListJson[] = LONG_STRING_CONST( |
| 18 | 18 |
| 19 { | 19 { |
| 20 "name": "gpu driver bug list", | 20 "name": "gpu driver bug list", |
| 21 // Please update the version number whenever you change this file. | 21 // Please update the version number whenever you change this file. |
| 22 "version": "6.9", | 22 "version": "7.0", |
| 23 "entries": [ | 23 "entries": [ |
| 24 { | 24 { |
| 25 "id": 1, | 25 "id": 1, |
| 26 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", | 26 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", |
| 27 "os": { | 27 "os": { |
| 28 "type": "android" | 28 "type": "android" |
| 29 }, | 29 }, |
| 30 "gl_vendor": { | 30 "gl_vendor": "Imagination.*", |
| 31 "op": "beginwith", | |
| 32 "value": "Imagination" | |
| 33 }, | |
| 34 "features": [ | 31 "features": [ |
| 35 "use_client_side_arrays_for_stream_buffers" | 32 "use_client_side_arrays_for_stream_buffers" |
| 36 ] | 33 ] |
| 37 }, | 34 }, |
| 38 { | 35 { |
| 39 "id": 2, | 36 "id": 2, |
| 40 "description": "ARM driver doesn't like uploading lots of buffer data cons
tantly", | 37 "description": "ARM driver doesn't like uploading lots of buffer data cons
tantly", |
| 41 "os": { | 38 "os": { |
| 42 "type": "android" | 39 "type": "android" |
| 43 }, | 40 }, |
| 44 "gl_vendor": { | 41 "gl_vendor": "ARM.*", |
| 45 "op": "beginwith", | |
| 46 "value": "ARM" | |
| 47 }, | |
| 48 "features": [ | 42 "features": [ |
| 49 "use_client_side_arrays_for_stream_buffers" | 43 "use_client_side_arrays_for_stream_buffers" |
| 50 ] | 44 ] |
| 51 }, | 45 }, |
| 52 { | 46 { |
| 53 "id": 3, | 47 "id": 3, |
| 54 "description": "glGenerateMipmap leaks vram without setting texture filter
s on some Mac drivers", | 48 "description": "glGenerateMipmap leaks vram without setting texture filter
s on some Mac drivers", |
| 55 "webkit_bugs": [48489], | 49 "webkit_bugs": [48489], |
| 56 "cr_bugs": [349137], | 50 "cr_bugs": [349137], |
| 57 "os": { | 51 "os": { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 "id": 6, | 99 "id": 6, |
| 106 "description": "Restore scissor on FBO change with Qualcomm GPUs on older
versions of Android", | 100 "description": "Restore scissor on FBO change with Qualcomm GPUs on older
versions of Android", |
| 107 "cr_bugs": [165493, 222018], | 101 "cr_bugs": [165493, 222018], |
| 108 "os": { | 102 "os": { |
| 109 "type": "android", | 103 "type": "android", |
| 110 "version": { | 104 "version": { |
| 111 "op": "<", | 105 "op": "<", |
| 112 "value": "4.3" | 106 "value": "4.3" |
| 113 } | 107 } |
| 114 }, | 108 }, |
| 115 "gl_vendor": { | 109 "gl_vendor": "Qualcomm.*", |
| 116 "op": "beginwith", | |
| 117 "value": "Qualcomm" | |
| 118 }, | |
| 119 "features": [ | 110 "features": [ |
| 120 "restore_scissor_on_fbo_change" | 111 "restore_scissor_on_fbo_change" |
| 121 ] | 112 ] |
| 122 }, | 113 }, |
| 123 { | 114 { |
| 124 "id": 7, | 115 "id": 7, |
| 125 "cr_bugs": [89557], | 116 "cr_bugs": [89557], |
| 126 "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on M
acs", | 117 "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on M
acs", |
| 127 "os": { | 118 "os": { |
| 128 "type": "macosx" | 119 "type": "macosx" |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 "features": [ | 240 "features": [ |
| 250 "exit_on_context_lost" | 241 "exit_on_context_lost" |
| 251 ] | 242 ] |
| 252 }, | 243 }, |
| 253 { | 244 { |
| 254 "id": 19, | 245 "id": 19, |
| 255 "description": "Disable depth textures on Android with Qualcomm GPUs", | 246 "description": "Disable depth textures on Android with Qualcomm GPUs", |
| 256 "os": { | 247 "os": { |
| 257 "type": "android" | 248 "type": "android" |
| 258 }, | 249 }, |
| 259 "gl_vendor": { | 250 "gl_vendor": "Qualcomm.*", |
| 260 "op": "beginwith", | |
| 261 "value": "Qualcomm" | |
| 262 }, | |
| 263 "features": [ | 251 "features": [ |
| 264 "disable_depth_texture" | 252 "disable_depth_texture" |
| 265 ] | 253 ] |
| 266 }, | 254 }, |
| 267 { | 255 { |
| 268 "id": 20, | 256 "id": 20, |
| 269 "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X du
e to driver bugs", | 257 "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X du
e to driver bugs", |
| 270 "os": { | 258 "os": { |
| 271 "type": "macosx" | 259 "type": "macosx" |
| 272 }, | 260 }, |
| 273 "vendor_id": "0x10de", | 261 "vendor_id": "0x10de", |
| 274 "device_id": ["0x0fd5"], | 262 "device_id": ["0x0fd5"], |
| 275 "multi_gpu_category": "any", | 263 "multi_gpu_category": "any", |
| 276 "features": [ | 264 "features": [ |
| 277 "disable_ext_draw_buffers" | 265 "disable_ext_draw_buffers" |
| 278 ] | 266 ] |
| 279 }, | 267 }, |
| 280 { | 268 { |
| 281 "id": 21, | 269 "id": 21, |
| 282 "description": "Vivante GPUs are buggy with context switching", | 270 "description": "Vivante GPUs are buggy with context switching", |
| 283 "cr_bugs": [179250, 235935], | 271 "cr_bugs": [179250, 235935], |
| 284 "os": { | 272 "os": { |
| 285 "type": "android" | 273 "type": "android" |
| 286 }, | 274 }, |
| 287 "gl_extensions": { | 275 "gl_extensions": ".*GL_VIV_shader_binary.*", |
| 288 "op": "contains", | |
| 289 "value": "GL_VIV_shader_binary" | |
| 290 }, | |
| 291 "features": [ | 276 "features": [ |
| 292 "unbind_fbo_on_context_switch" | 277 "unbind_fbo_on_context_switch" |
| 293 ] | 278 ] |
| 294 }, | 279 }, |
| 295 { | 280 { |
| 296 "id": 22, | 281 "id": 22, |
| 297 "description": "Imagination drivers are buggy with context switching", | 282 "description": "Imagination drivers are buggy with context switching", |
| 298 "cr_bugs": [230896], | 283 "cr_bugs": [230896], |
| 299 "os": { | 284 "os": { |
| 300 "type": "android" | 285 "type": "android" |
| 301 }, | 286 }, |
| 302 "gl_vendor": { | 287 "gl_vendor": "Imagination.*", |
| 303 "op": "beginwith", | |
| 304 "value": "Imagination" | |
| 305 }, | |
| 306 "features": [ | 288 "features": [ |
| 307 "unbind_fbo_on_context_switch" | 289 "unbind_fbo_on_context_switch" |
| 308 ] | 290 ] |
| 309 }, | 291 }, |
| 310 { | 292 { |
| 311 "id": 23, | 293 "id": 23, |
| 312 "cr_bugs": [243038], | 294 "cr_bugs": [243038], |
| 313 "description": "Disable OES_standard_derivative on Intel Pineview M Galliu
m drivers", | 295 "description": "Disable OES_standard_derivative on Intel Pineview M Galliu
m drivers", |
| 314 "os": { | 296 "os": { |
| 315 "type": "chromeos" | 297 "type": "chromeos" |
| 316 }, | 298 }, |
| 317 "vendor_id": "0x8086", | 299 "vendor_id": "0x8086", |
| 318 "device_id": ["0xa011", "0xa012"], | 300 "device_id": ["0xa011", "0xa012"], |
| 319 "features": [ | 301 "features": [ |
| 320 "disable_oes_standard_derivatives" | 302 "disable_oes_standard_derivatives" |
| 321 ] | 303 ] |
| 322 }, | 304 }, |
| 323 { | 305 { |
| 324 "id": 24, | 306 "id": 24, |
| 325 "cr_bugs": [231082], | 307 "cr_bugs": [231082], |
| 326 "description": "Mali-400 drivers throw an error when a buffer object's siz
e is set to 0", | 308 "description": "Mali-400 drivers throw an error when a buffer object's siz
e is set to 0", |
| 327 "os": { | 309 "os": { |
| 328 "type": "android" | 310 "type": "android" |
| 329 }, | 311 }, |
| 330 "gl_vendor": { | 312 "gl_vendor": "ARM.*", |
| 331 "op": "beginwith", | 313 "gl_renderer": ".*Mali-400.*", |
| 332 "value": "ARM" | |
| 333 }, | |
| 334 "gl_renderer": { | |
| 335 "op": "contains", | |
| 336 "value": "Mali-400" | |
| 337 }, | |
| 338 "features": [ | 314 "features": [ |
| 339 "use_non_zero_size_for_client_side_stream_buffers" | 315 "use_non_zero_size_for_client_side_stream_buffers" |
| 340 ] | 316 ] |
| 341 }, | 317 }, |
| 342 { | 318 { |
| 343 "id": 25, | 319 "id": 25, |
| 344 "cr_bugs": [152225], | 320 "cr_bugs": [152225], |
| 345 "description": "PBO + Readpixels don't work on OS X 10.7", | 321 "description": "PBO + Readpixels don't work on OS X 10.7", |
| 346 "os": { | 322 "os": { |
| 347 "type": "macosx", | 323 "type": "macosx", |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 "type": "macosx" | 366 "type": "macosx" |
| 391 }, | 367 }, |
| 392 "features": [ | 368 "features": [ |
| 393 "disable_multimonitor_multisampling" | 369 "disable_multimonitor_multisampling" |
| 394 ] | 370 ] |
| 395 }, | 371 }, |
| 396 { | 372 { |
| 397 "id": 31, | 373 "id": 31, |
| 398 "cr_bugs": [154715, 10068, 269829, 294779, 285292], | 374 "cr_bugs": [154715, 10068, 269829, 294779, 285292], |
| 399 "description": "The Mali-Txxx driver does not guarantee flush ordering", | 375 "description": "The Mali-Txxx driver does not guarantee flush ordering", |
| 400 "gl_vendor": { | 376 "gl_vendor": "ARM.*", |
| 401 "op": "beginwith", | 377 "gl_renderer": "Mali-T.*", |
| 402 "value": "ARM" | |
| 403 }, | |
| 404 "gl_renderer": { | |
| 405 "op": "beginwith", | |
| 406 "value": "Mali-T" | |
| 407 }, | |
| 408 "features": [ | 378 "features": [ |
| 409 "use_virtualized_gl_contexts" | 379 "use_virtualized_gl_contexts" |
| 410 ] | 380 ] |
| 411 }, | 381 }, |
| 412 { | 382 { |
| 413 "id": 32, | 383 "id": 32, |
| 414 "cr_bugs": [179815], | 384 "cr_bugs": [179815], |
| 415 "description": "Share groups are not working on (older?) Broadcom drivers"
, | 385 "description": "Share groups are not working on (older?) Broadcom drivers"
, |
| 416 "os": { | 386 "os": { |
| 417 "type": "android" | 387 "type": "android" |
| 418 }, | 388 }, |
| 419 "gl_vendor": { | 389 "gl_vendor": "Broadcom.*", |
| 420 "op": "beginwith", | |
| 421 "value": "Broadcom" | |
| 422 }, | |
| 423 "features": [ | 390 "features": [ |
| 424 "use_virtualized_gl_contexts" | 391 "use_virtualized_gl_contexts" |
| 425 ] | 392 ] |
| 426 }, | 393 }, |
| 427 { | 394 { |
| 428 "id": 33, | 395 "id": 33, |
| 429 "description": "Share group-related crashes and poor context switching per
f on Galaxy Nexus", | 396 "description": "Share group-related crashes and poor context switching per
f on Galaxy Nexus", |
| 430 "os": { | 397 "os": { |
| 431 "type": "android" | 398 "type": "android" |
| 432 }, | 399 }, |
| 433 "gl_vendor": { | 400 "gl_vendor": "Imagination.*", |
| 434 "op": "beginwith", | |
| 435 "value": "Imagination" | |
| 436 }, | |
| 437 "features": [ | 401 "features": [ |
| 438 "use_virtualized_gl_contexts" | 402 "use_virtualized_gl_contexts" |
| 439 ] | 403 ] |
| 440 }, | 404 }, |
| 441 { | 405 { |
| 442 "id": 34, | 406 "id": 34, |
| 443 "cr_bugs": [179250, 229643, 230896], | 407 "cr_bugs": [179250, 229643, 230896], |
| 444 "description": "Share groups are not working on (older?) Vivante drivers", | 408 "description": "Share groups are not working on (older?) Vivante drivers", |
| 445 "os": { | 409 "os": { |
| 446 "type": "android" | 410 "type": "android" |
| 447 }, | 411 }, |
| 448 "gl_extensions": { | 412 "gl_extensions": ".*GL_VIV_shader_binary.*", |
| 449 "op": "contains", | |
| 450 "value": "GL_VIV_shader_binary" | |
| 451 }, | |
| 452 "features": [ | 413 "features": [ |
| 453 "use_virtualized_gl_contexts" | 414 "use_virtualized_gl_contexts" |
| 454 ] | 415 ] |
| 455 }, | 416 }, |
| 456 { | 417 { |
| 457 "id": 35, | 418 "id": 35, |
| 458 "cr_bugs": [163464], | 419 "cr_bugs": [163464], |
| 459 "description": "Share-group related crashes on older NVIDIA drivers", | 420 "description": "Share-group related crashes on older NVIDIA drivers", |
| 460 "os": { | 421 "os": { |
| 461 "type": "android", | 422 "type": "android", |
| 462 "version": { | 423 "version": { |
| 463 "op": "<", | 424 "op": "<", |
| 464 "value": "4.3" | 425 "value": "4.3" |
| 465 } | 426 } |
| 466 }, | 427 }, |
| 467 "gl_vendor": { | 428 "gl_vendor": "NVIDIA.*", |
| 468 "op": "beginwith", | |
| 469 "value": "NVIDIA" | |
| 470 }, | |
| 471 "features": [ | 429 "features": [ |
| 472 "use_virtualized_gl_contexts" | 430 "use_virtualized_gl_contexts" |
| 473 ] | 431 ] |
| 474 }, | 432 }, |
| 475 { | 433 { |
| 476 "id": 36, | 434 "id": 36, |
| 477 "cr_bugs": [163464, 233612], | 435 "cr_bugs": [163464, 233612], |
| 478 "description": "Share-group related crashes on Qualcomm drivers", | 436 "description": "Share-group related crashes on Qualcomm drivers", |
| 479 "os": { | 437 "os": { |
| 480 "type": "android", | 438 "type": "android", |
| 481 "version": { | 439 "version": { |
| 482 "op": "<", | 440 "op": "<", |
| 483 "value": "4.3" | 441 "value": "4.3" |
| 484 } | 442 } |
| 485 }, | 443 }, |
| 486 "gl_vendor": { | 444 "gl_vendor": "Qualcomm.*", |
| 487 "op": "beginwith", | |
| 488 "value": "Qualcomm" | |
| 489 }, | |
| 490 "features": [ | 445 "features": [ |
| 491 "use_virtualized_gl_contexts" | 446 "use_virtualized_gl_contexts" |
| 492 ] | 447 ] |
| 493 }, | 448 }, |
| 494 { | 449 { |
| 495 "id": 37, | 450 "id": 37, |
| 496 "cr_bugs": [286468], | 451 "cr_bugs": [286468], |
| 497 "description": "Program link fails in NVIDIA Linux if gl_Position is not s
et", | 452 "description": "Program link fails in NVIDIA Linux if gl_Position is not s
et", |
| 498 "os": { | 453 "os": { |
| 499 "type": "linux" | 454 "type": "linux" |
| 500 }, | 455 }, |
| 501 "vendor_id": "0x10de", | 456 "vendor_id": "0x10de", |
| 502 "features": [ | 457 "features": [ |
| 503 "init_gl_position_in_vertex_shader" | 458 "init_gl_position_in_vertex_shader" |
| 504 ] | 459 ] |
| 505 }, | 460 }, |
| 506 { | 461 { |
| 507 "id": 38, | 462 "id": 38, |
| 508 "cr_bugs": [289461], | 463 "cr_bugs": [289461], |
| 509 "description": "Non-virtual contexts on Qualcomm sometimes cause out-of-or
der frames", | 464 "description": "Non-virtual contexts on Qualcomm sometimes cause out-of-or
der frames", |
| 510 "os": { | 465 "os": { |
| 511 "type": "android" | 466 "type": "android" |
| 512 }, | 467 }, |
| 513 "gl_vendor": { | 468 "gl_vendor": "Qualcomm.*", |
| 514 "op": "beginwith", | |
| 515 "value": "Qualcomm" | |
| 516 }, | |
| 517 "features": [ | 469 "features": [ |
| 518 "use_virtualized_gl_contexts" | 470 "use_virtualized_gl_contexts" |
| 519 ] | 471 ] |
| 520 }, | 472 }, |
| 521 { | 473 { |
| 522 "id": 39, | 474 "id": 39, |
| 523 "cr_bugs": [290391], | 475 "cr_bugs": [290391], |
| 524 "description": "Multisampled renderbuffer allocation must be validated on
some Macs", | 476 "description": "Multisampled renderbuffer allocation must be validated on
some Macs", |
| 525 "os": { | 477 "os": { |
| 526 "type": "macosx" | 478 "type": "macosx" |
| 527 }, | 479 }, |
| 528 "features": [ | 480 "features": [ |
| 529 "validate_multisample_buffer_allocation" | 481 "validate_multisample_buffer_allocation" |
| 530 ] | 482 ] |
| 531 }, | 483 }, |
| 532 { | 484 { |
| 533 "id": 40, | 485 "id": 40, |
| 534 "cr_bugs": [290876], | 486 "cr_bugs": [290876], |
| 535 "description": "Framebuffer discarding causes flickering on old ARM driver
s", | 487 "description": "Framebuffer discarding causes flickering on old ARM driver
s", |
| 536 "os": { | 488 "os": { |
| 537 "type": "android", | 489 "type": "android", |
| 538 "version": { | 490 "version": { |
| 539 "op": "<", | 491 "op": "<", |
| 540 "value": "4.4" | 492 "value": "4.4" |
| 541 } | 493 } |
| 542 }, | 494 }, |
| 543 "gl_vendor": { | 495 "gl_vendor": "ARM.*", |
| 544 "op": "beginwith", | |
| 545 "value": "ARM" | |
| 546 }, | |
| 547 "features": [ | 496 "features": [ |
| 548 "disable_ext_discard_framebuffer" | 497 "disable_ext_discard_framebuffer" |
| 549 ] | 498 ] |
| 550 }, | 499 }, |
| 551 { | 500 { |
| 552 "id": 42, | 501 "id": 42, |
| 553 "cr_bugs": [290876], | 502 "cr_bugs": [290876], |
| 554 "description": "Framebuffer discarding causes flickering on older IMG driv
ers", | 503 "description": "Framebuffer discarding causes flickering on older IMG driv
ers", |
| 555 "os": { | 504 "os": { |
| 556 "type": "android" | 505 "type": "android" |
| 557 }, | 506 }, |
| 558 "gl_vendor": { | 507 "gl_vendor": "Imagination.*", |
| 559 "op": "beginwith", | 508 "gl_renderer": "PowerVR SGX 540", |
| 560 "value": "Imagination" | |
| 561 }, | |
| 562 "gl_renderer": { | |
| 563 "op": "=", | |
| 564 "value": "PowerVR SGX 540" | |
| 565 }, | |
| 566 "features": [ | 509 "features": [ |
| 567 "disable_ext_discard_framebuffer" | 510 "disable_ext_discard_framebuffer" |
| 568 ] | 511 ] |
| 569 }, | 512 }, |
| 570 { | 513 { |
| 571 "id": 43, | 514 "id": 43, |
| 572 "cr_bugs": [299494], | 515 "cr_bugs": [299494], |
| 573 "description": "Framebuffer discarding doesn't accept trivial attachments
on Vivante", | 516 "description": "Framebuffer discarding doesn't accept trivial attachments
on Vivante", |
| 574 "os": { | 517 "os": { |
| 575 "type": "android" | 518 "type": "android" |
| 576 }, | 519 }, |
| 577 "gl_extensions": { | 520 "gl_extensions": ".*GL_VIV_shader_binary.*", |
| 578 "op": "contains", | |
| 579 "value": "GL_VIV_shader_binary" | |
| 580 }, | |
| 581 "features": [ | 521 "features": [ |
| 582 "disable_ext_discard_framebuffer" | 522 "disable_ext_discard_framebuffer" |
| 583 ] | 523 ] |
| 584 }, | 524 }, |
| 585 { | 525 { |
| 586 "id": 44, | 526 "id": 44, |
| 587 "cr_bugs": [301988], | 527 "cr_bugs": [301988], |
| 588 "description": "Framebuffer discarding causes jumpy scrolling on Mali driv
ers", | 528 "description": "Framebuffer discarding causes jumpy scrolling on Mali driv
ers", |
| 589 "os": { | 529 "os": { |
| 590 "type": "chromeos" | 530 "type": "chromeos" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 "force_discrete_gpu" | 568 "force_discrete_gpu" |
| 629 ] | 569 ] |
| 630 }, | 570 }, |
| 631 { | 571 { |
| 632 "id": 49, | 572 "id": 49, |
| 633 "cr_bugs": [309734], | 573 "cr_bugs": [309734], |
| 634 "description": "The first draw operation from an idle state is slow", | 574 "description": "The first draw operation from an idle state is slow", |
| 635 "os": { | 575 "os": { |
| 636 "type": "android" | 576 "type": "android" |
| 637 }, | 577 }, |
| 638 "gl_vendor": { | 578 "gl_vendor": "Qualcomm.*", |
| 639 "op": "beginwith", | |
| 640 "value": "Qualcomm" | |
| 641 }, | |
| 642 "features": [ | 579 "features": [ |
| 643 "wake_up_gpu_before_drawing" | 580 "wake_up_gpu_before_drawing" |
| 644 ] | 581 ] |
| 645 }, | 582 }, |
| 646 { | 583 { |
| 647 "id": 50, | 584 "id": 50, |
| 648 "description": "NVIDIA driver requires unbinding a GpuMemoryBuffer from th
e texture before mapping it to main memory", | 585 "description": "NVIDIA driver requires unbinding a GpuMemoryBuffer from th
e texture before mapping it to main memory", |
| 649 "os": { | 586 "os": { |
| 650 "type": "android" | 587 "type": "android" |
| 651 }, | 588 }, |
| 652 "gl_type": "gles", | 589 "gl_type": "gles", |
| 653 "gl_version": { | 590 "gl_version": { |
| 654 "op": "<", | 591 "op": "<", |
| 655 "value": "3.1" | 592 "value": "3.1" |
| 656 }, | 593 }, |
| 657 "gl_vendor": { | 594 "gl_vendor": "NVIDIA.*", |
| 658 "op": "beginwith", | |
| 659 "value": "NVIDIA" | |
| 660 }, | |
| 661 "features": [ | 595 "features": [ |
| 662 "release_image_after_use" | 596 "release_image_after_use" |
| 663 ] | 597 ] |
| 664 }, | 598 }, |
| 665 { | 599 { |
| 666 "id": 51, | 600 "id": 51, |
| 667 "description": "TexSubImage2D() is faster for full uploads on ANGLE", | 601 "description": "TexSubImage2D() is faster for full uploads on ANGLE", |
| 668 "os": { | 602 "os": { |
| 669 "type": "win" | 603 "type": "win" |
| 670 }, | 604 }, |
| 671 "gl_renderer": { | 605 "gl_renderer": "ANGLE.*", |
| 672 "op": "beginwith", | |
| 673 "value": "ANGLE" | |
| 674 }, | |
| 675 "features": [ | 606 "features": [ |
| 676 "texsubimage2d_faster_than_teximage2d" | 607 "texsubimage2d_faster_than_teximage2d" |
| 677 ] | 608 ] |
| 678 }, | 609 }, |
| 679 { | 610 { |
| 680 "id": 52, | 611 "id": 52, |
| 681 "description": "ES3 MSAA is broken on Qualcomm", | 612 "description": "ES3 MSAA is broken on Qualcomm", |
| 682 "os": { | 613 "os": { |
| 683 "type": "android" | 614 "type": "android" |
| 684 }, | 615 }, |
| 685 "gl_vendor": { | 616 "gl_vendor": "Qualcomm.*", |
| 686 "op": "beginwith", | |
| 687 "value": "Qualcomm" | |
| 688 }, | |
| 689 "features": [ | 617 "features": [ |
| 690 "disable_multisampling" | 618 "disable_multisampling" |
| 691 ] | 619 ] |
| 692 }, | 620 }, |
| 693 { | 621 { |
| 694 "id": 54, | 622 "id": 54, |
| 695 "cr_bugs": [124764, 349137], | 623 "cr_bugs": [124764, 349137], |
| 696 "description": "Clear uniforms before first program use on all platforms", | 624 "description": "Clear uniforms before first program use on all platforms", |
| 697 "exceptions": [ | 625 "exceptions": [ |
| 698 { | 626 { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 709 "clear_uniforms_before_first_program_use" | 637 "clear_uniforms_before_first_program_use" |
| 710 ] | 638 ] |
| 711 }, | 639 }, |
| 712 { | 640 { |
| 713 "id": 55, | 641 "id": 55, |
| 714 "cr_bugs": [333885], | 642 "cr_bugs": [333885], |
| 715 "description": "Mesa drivers in Linux handle varyings without static use i
ncorrectly", | 643 "description": "Mesa drivers in Linux handle varyings without static use i
ncorrectly", |
| 716 "os": { | 644 "os": { |
| 717 "type": "linux" | 645 "type": "linux" |
| 718 }, | 646 }, |
| 719 "driver_vendor": { | 647 "driver_vendor": "Mesa", |
| 720 "op": "=", | |
| 721 "value": "Mesa" | |
| 722 }, | |
| 723 "features": [ | 648 "features": [ |
| 724 "count_all_in_varyings_packing" | 649 "count_all_in_varyings_packing" |
| 725 ] | 650 ] |
| 726 }, | 651 }, |
| 727 { | 652 { |
| 728 "id": 56, | 653 "id": 56, |
| 729 "cr_bugs": [333885], | 654 "cr_bugs": [333885], |
| 730 "description": "Mesa drivers in ChromeOS handle varyings without static us
e incorrectly", | 655 "description": "Mesa drivers in ChromeOS handle varyings without static us
e incorrectly", |
| 731 "os": { | 656 "os": { |
| 732 "type": "chromeos" | 657 "type": "chromeos" |
| 733 }, | 658 }, |
| 734 "driver_vendor": { | 659 "driver_vendor": "Mesa", |
| 735 "op": "=", | |
| 736 "value": "Mesa" | |
| 737 }, | |
| 738 "features": [ | 660 "features": [ |
| 739 "count_all_in_varyings_packing" | 661 "count_all_in_varyings_packing" |
| 740 ] | 662 ] |
| 741 }, | 663 }, |
| 742 { | 664 { |
| 743 "id": 57, | 665 "id": 57, |
| 744 "cr_bugs": [322760], | 666 "cr_bugs": [322760], |
| 745 "description": "Mac drivers handle varyings without static use incorrectly
", | 667 "description": "Mac drivers handle varyings without static use incorrectly
", |
| 746 "os": { | 668 "os": { |
| 747 "type": "macosx" | 669 "type": "macosx" |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 858 "type": "linux" | 780 "type": "linux" |
| 859 }, | 781 }, |
| 860 "features": [ | 782 "features": [ |
| 861 "disable_post_sub_buffers_for_onscreen_surfaces" | 783 "disable_post_sub_buffers_for_onscreen_surfaces" |
| 862 ] | 784 ] |
| 863 }, | 785 }, |
| 864 { | 786 { |
| 865 "id": 69, | 787 "id": 69, |
| 866 "description": "Some shaders in Skia need more than the min available vert
ex and fragment shader uniform vectors in case of OSMesa", | 788 "description": "Some shaders in Skia need more than the min available vert
ex and fragment shader uniform vectors in case of OSMesa", |
| 867 "cr_bugs": [174845], | 789 "cr_bugs": [174845], |
| 868 "driver_vendor": { | 790 "driver_vendor": "osmesa", |
| 869 "op": "=", | |
| 870 "value": "osmesa" | |
| 871 }, | |
| 872 "features": [ | 791 "features": [ |
| 873 "max_fragment_uniform_vectors_32", | 792 "max_fragment_uniform_vectors_32", |
| 874 "max_varying_vectors_16", | 793 "max_varying_vectors_16", |
| 875 "max_vertex_uniform_vectors_256" | 794 "max_vertex_uniform_vectors_256" |
| 876 ] | 795 ] |
| 877 }, | 796 }, |
| 878 { | 797 { |
| 879 "id": 70, | 798 "id": 70, |
| 880 "description": "Disable D3D11 on older nVidia drivers", | 799 "description": "Disable D3D11 on older nVidia drivers", |
| 881 "cr_bugs": [349929], | 800 "cr_bugs": [349929], |
| 882 "os": { | 801 "os": { |
| 883 "type": "win" | 802 "type": "win" |
| 884 }, | 803 }, |
| 885 "vendor_id": "0x10de", | 804 "vendor_id": "0x10de", |
| 886 "driver_version": { | 805 "driver_version": { |
| 887 "op": "<=", | 806 "op": "<=", |
| 888 "value": "8.17.12.6973" | 807 "value": "8.17.12.6973" |
| 889 }, | 808 }, |
| 890 "features": [ | 809 "features": [ |
| 891 "disable_d3d11" | 810 "disable_d3d11" |
| 892 ] | 811 ] |
| 893 }, | 812 }, |
| 894 { | 813 { |
| 895 "id": 71, | 814 "id": 71, |
| 896 "description": "Vivante's support of OES_standard_derivatives is buggy", | 815 "description": "Vivante's support of OES_standard_derivatives is buggy", |
| 897 "cr_bugs": [368005], | 816 "cr_bugs": [368005], |
| 898 "os": { | 817 "os": { |
| 899 "type": "android" | 818 "type": "android" |
| 900 }, | 819 }, |
| 901 "gl_extensions": { | 820 "gl_extensions": ".*GL_VIV_shader_binary.*", |
| 902 "op": "contains", | |
| 903 "value": "GL_VIV_shader_binary" | |
| 904 }, | |
| 905 "features": [ | 821 "features": [ |
| 906 "disable_oes_standard_derivatives" | 822 "disable_oes_standard_derivatives" |
| 907 ] | 823 ] |
| 908 }, | 824 }, |
| 909 { | 825 { |
| 910 "id": 72, | 826 "id": 72, |
| 911 "description": "Use virtual contexts on NVIDIA with GLES 3.1", | 827 "description": "Use virtual contexts on NVIDIA with GLES 3.1", |
| 912 "cr_bugs": [369316], | 828 "cr_bugs": [369316], |
| 913 "os": { | 829 "os": { |
| 914 "type": "android" | 830 "type": "android" |
| 915 }, | 831 }, |
| 916 "gl_type": "gles", | 832 "gl_type": "gles", |
| 917 "gl_version": { | 833 "gl_version": { |
| 918 "op": "=", | 834 "op": "=", |
| 919 "value": "3.1" | 835 "value": "3.1" |
| 920 }, | 836 }, |
| 921 "gl_vendor": { | 837 "gl_vendor": "NVidia.*", |
| 922 "op": "beginwith", | |
| 923 "value": "NVidia" | |
| 924 }, | |
| 925 "features": [ | 838 "features": [ |
| 926 "use_virtualized_gl_contexts" | 839 "use_virtualized_gl_contexts" |
| 927 ] | 840 ] |
| 928 }, | 841 }, |
| 929 { | 842 { |
| 930 "id": 73, | 843 "id": 73, |
| 931 "description": "Using D3D11 causes browser crashes on certain Intel GPUs", | 844 "description": "Using D3D11 causes browser crashes on certain Intel GPUs", |
| 932 "cr_bugs": [310808], | 845 "cr_bugs": [310808], |
| 933 "os": { | 846 "os": { |
| 934 "type": "win" | 847 "type": "win" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 945 "id": 74, | 858 "id": 74, |
| 946 "cr_bugs": [278606, 382686], | 859 "cr_bugs": [278606, 382686], |
| 947 "description": "Testing EGL sync fences was broken on most Qualcomm driver
s", | 860 "description": "Testing EGL sync fences was broken on most Qualcomm driver
s", |
| 948 "os": { | 861 "os": { |
| 949 "type": "android", | 862 "type": "android", |
| 950 "version": { | 863 "version": { |
| 951 "op": "<=", | 864 "op": "<=", |
| 952 "value": "4.4.4" | 865 "value": "4.4.4" |
| 953 } | 866 } |
| 954 }, | 867 }, |
| 955 "gl_vendor": { | 868 "gl_vendor": "Qualcomm.*", |
| 956 "op": "beginwith", | |
| 957 "value": "Qualcomm" | |
| 958 }, | |
| 959 "features": [ | 869 "features": [ |
| 960 "disable_egl_khr_fence_sync" | 870 "disable_egl_khr_fence_sync" |
| 961 ] | 871 ] |
| 962 }, | 872 }, |
| 963 { | 873 { |
| 964 "id": 75, | 874 "id": 75, |
| 965 "description": "Mali-400 support of EXT_multisampled_render_to_texture is
buggy on Android < 4.3", | 875 "description": "Mali-400 support of EXT_multisampled_render_to_texture is
buggy on Android < 4.3", |
| 966 "cr_bugs": [362435], | 876 "cr_bugs": [362435], |
| 967 "os": { | 877 "os": { |
| 968 "type": "android", | 878 "type": "android", |
| 969 "version": { | 879 "version": { |
| 970 "op": "<", | 880 "op": "<", |
| 971 "value": "4.3" | 881 "value": "4.3" |
| 972 } | 882 } |
| 973 }, | 883 }, |
| 974 "gl_vendor": { | 884 "gl_vendor": "ARM.*", |
| 975 "op": "beginwith", | 885 "gl_renderer": ".*Mali-400.*", |
| 976 "value": "ARM" | |
| 977 }, | |
| 978 "gl_renderer": { | |
| 979 "op": "contains", | |
| 980 "value": "Mali-400" | |
| 981 }, | |
| 982 "features": [ | 886 "features": [ |
| 983 "disable_multisampling" | 887 "disable_multisampling" |
| 984 ] | 888 ] |
| 985 }, | 889 }, |
| 986 { | 890 { |
| 987 "id": 76, | 891 "id": 76, |
| 988 "cr_bugs": [371530], | 892 "cr_bugs": [371530], |
| 989 "description": "Testing EGL sync fences was broken on IMG", | 893 "description": "Testing EGL sync fences was broken on IMG", |
| 990 "os": { | 894 "os": { |
| 991 "type": "android", | 895 "type": "android", |
| 992 "version": { | 896 "version": { |
| 993 "op": "<=", | 897 "op": "<=", |
| 994 "value": "4.4.4" | 898 "value": "4.4.4" |
| 995 } | 899 } |
| 996 }, | 900 }, |
| 997 "gl_vendor": { | 901 "gl_vendor": "Imagination Technologies.*", |
| 998 "op": "beginwith", | |
| 999 "value": "Imagination Technologies" | |
| 1000 }, | |
| 1001 "features": [ | 902 "features": [ |
| 1002 "disable_egl_khr_fence_sync" | 903 "disable_egl_khr_fence_sync" |
| 1003 ] | 904 ] |
| 1004 }, | 905 }, |
| 1005 { | 906 { |
| 1006 "id": 77, | 907 "id": 77, |
| 1007 "cr_bugs": [378691, 373360, 371530], | 908 "cr_bugs": [378691, 373360, 371530], |
| 1008 "description": "Testing fences was broken on Mali-400 MP drivers", | 909 "description": "Testing fences was broken on Mali-400 MP drivers", |
| 1009 "os": { | 910 "os": { |
| 1010 "type": "android", | 911 "type": "android", |
| 1011 "version": { | 912 "version": { |
| 1012 "op": "<=", | 913 "op": "<=", |
| 1013 "value": "4.4.4" | 914 "value": "4.4.4" |
| 1014 } | 915 } |
| 1015 }, | 916 }, |
| 1016 "gl_vendor": { | 917 "gl_vendor": "ARM.*", |
| 1017 "op": "beginwith", | 918 "gl_renderer": "Mali-400 MP.*", |
| 1018 "value": "ARM" | |
| 1019 }, | |
| 1020 "gl_renderer": { | |
| 1021 "op": "beginwith", | |
| 1022 "value": "Mali-400 MP" | |
| 1023 }, | |
| 1024 "features": [ | 919 "features": [ |
| 1025 "disable_egl_khr_fence_sync" | 920 "disable_egl_khr_fence_sync" |
| 1026 ] | 921 ] |
| 1027 }, | 922 }, |
| 1028 { | 923 { |
| 1029 "id": 78, | 924 "id": 78, |
| 1030 "cr_bugs": [378691, 373360, 371530], | 925 "cr_bugs": [378691, 373360, 371530], |
| 1031 "description": "Testing fences was broken on Broadcom drivers", | 926 "description": "Testing fences was broken on Broadcom drivers", |
| 1032 "os": { | 927 "os": { |
| 1033 "type": "android", | 928 "type": "android", |
| 1034 "version": { | 929 "version": { |
| 1035 "op": "<=", | 930 "op": "<=", |
| 1036 "value": "4.4.4" | 931 "value": "4.4.4" |
| 1037 } | 932 } |
| 1038 }, | 933 }, |
| 1039 "gl_vendor": { | 934 "gl_vendor": "Broadcom.*", |
| 1040 "op": "beginwith", | |
| 1041 "value": "Broadcom" | |
| 1042 }, | |
| 1043 "features": [ | 935 "features": [ |
| 1044 "disable_egl_khr_fence_sync" | 936 "disable_egl_khr_fence_sync" |
| 1045 ] | 937 ] |
| 1046 }, | 938 }, |
| 1047 { | 939 { |
| 1048 "id": 79, | 940 "id": 79, |
| 1049 "cr_bugs": [371530], | 941 "cr_bugs": [371530], |
| 1050 "description": "Testing ARB sync fences is broken on MacOSX", | 942 "description": "Testing ARB sync fences is broken on MacOSX", |
| 1051 "os": { | 943 "os": { |
| 1052 "type": "macosx" | 944 "type": "macosx" |
| 1053 }, | 945 }, |
| 1054 "features": [ | 946 "features": [ |
| 1055 "disable_arb_sync" | 947 "disable_arb_sync" |
| 1056 ] | 948 ] |
| 1057 }, | 949 }, |
| 1058 { | 950 { |
| 1059 "id": 82, | 951 "id": 82, |
| 1060 "description": "PBO mappings segfault on certain older Qualcomm drivers", | 952 "description": "PBO mappings segfault on certain older Qualcomm drivers", |
| 1061 "cr_bugs": [394510], | 953 "cr_bugs": [394510], |
| 1062 "os": { | 954 "os": { |
| 1063 "type": "android", | 955 "type": "android", |
| 1064 "version": { | 956 "version": { |
| 1065 "op": "<", | 957 "op": "<", |
| 1066 "value": "4.3" | 958 "value": "4.3" |
| 1067 } | 959 } |
| 1068 }, | 960 }, |
| 1069 "gl_vendor": { | 961 "gl_vendor": "Qualcomm.*", |
| 1070 "op": "beginwith", | |
| 1071 "value": "Qualcomm" | |
| 1072 }, | |
| 1073 "features": [ | 962 "features": [ |
| 1074 "disable_async_readpixels" | 963 "disable_async_readpixels" |
| 1075 ] | 964 ] |
| 1076 }, | 965 }, |
| 1077 { | 966 { |
| 1078 "id": 86, | 967 "id": 86, |
| 1079 "description": "Disable use of Direct3D 11 on Matrox video cards", | 968 "description": "Disable use of Direct3D 11 on Matrox video cards", |
| 1080 "cr_bugs": [395861], | 969 "cr_bugs": [395861], |
| 1081 "os": { | 970 "os": { |
| 1082 "type": "win" | 971 "type": "win" |
| 1083 }, | 972 }, |
| 1084 "vendor_id": "0x102b", | 973 "vendor_id": "0x102b", |
| 1085 "features": [ | 974 "features": [ |
| 1086 "disable_d3d11" | 975 "disable_d3d11" |
| 1087 ] | 976 ] |
| 1088 } | 977 } |
| 1089 ] | 978 ] |
| 1090 } | 979 } |
| 1091 | 980 |
| 1092 ); // LONG_STRING_CONST macro | 981 ); // LONG_STRING_CONST macro |
| 1093 | 982 |
| 1094 } // namespace gpu | 983 } // namespace gpu |
| OLD | NEW |