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