driconf_static.h revision 96c5ddc4
1/* Copyright (C) 2021 Google, Inc. 2 * 3 * Permission is hereby granted, free of charge, to any person obtaining a 4 * copy of this software and associated documentation files (the "Software"), 5 * to deal in the Software without restriction, including without limitation 6 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 7 * and/or sell copies of the Software, and to permit persons to whom the 8 * Software is furnished to do so, subject to the following conditions: 9 * 10 * The above copyright notice and this permission notice (including the next 11 * paragraph) shall be included in all copies or substantial portions of the 12 * Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 20 * IN THE SOFTWARE. 21 */ 22 23struct driconf_option { 24 const char *name; 25 const char *value; 26}; 27 28struct driconf_application { 29 const char *name; 30 const char *executable; 31 const char *executable_regexp; 32 const char *sha1; 33 const char *application_name_match; 34 const char *application_versions; 35 unsigned num_options; 36 const struct driconf_option *options; 37}; 38 39struct driconf_engine { 40 const char *engine_name_match; 41 const char *engine_versions; 42 unsigned num_options; 43 const struct driconf_option *options; 44}; 45 46struct driconf_device { 47 const char *driver; 48 const char *device; 49 unsigned num_engines; 50 const struct driconf_engine *engines; 51 unsigned num_applications; 52 const struct driconf_application *applications; 53}; 54 55 56 57 58static const struct driconf_option engine_337_options[] = { 59 { .name = "vk_x11_strict_image_count", .value = "true" }, 60}; 61 62 63static const struct driconf_engine device_1_engines[] = { 64 { .engine_name_match = "UnrealEngine4.*", 65 .engine_versions = "0:23", 66 .num_options = 1, 67 .options = engine_337_options, 68 }, 69}; 70 71 72static const struct driconf_option application_2_options[] = { 73 { .name = "force_glsl_extensions_warn", .value = "true" }, 74 { .name = "disable_blend_func_extended", .value = "true" }, 75 { .name = "disable_arb_gpu_shader5", .value = "true" }, 76}; 77 78 79static const struct driconf_option application_6_options[] = { 80 { .name = "force_glsl_extensions_warn", .value = "true" }, 81 { .name = "disable_blend_func_extended", .value = "true" }, 82 { .name = "disable_arb_gpu_shader5", .value = "true" }, 83}; 84 85 86static const struct driconf_option application_10_options[] = { 87 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 88 { .name = "dual_color_blend_by_location", .value = "true" }, 89}; 90 91 92static const struct driconf_option application_13_options[] = { 93 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 94 { .name = "dual_color_blend_by_location", .value = "true" }, 95}; 96 97 98static const struct driconf_option application_16_options[] = { 99 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 100 { .name = "dual_color_blend_by_location", .value = "true" }, 101}; 102 103 104static const struct driconf_option application_19_options[] = { 105 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 106 { .name = "dual_color_blend_by_location", .value = "true" }, 107}; 108 109 110static const struct driconf_option application_22_options[] = { 111 { .name = "disable_blend_func_extended", .value = "true" }, 112 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 113}; 114 115 116static const struct driconf_option application_25_options[] = { 117 { .name = "disable_blend_func_extended", .value = "true" }, 118 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 119}; 120 121 122static const struct driconf_option application_28_options[] = { 123 { .name = "disable_glsl_line_continuations", .value = "true" }, 124}; 125 126 127static const struct driconf_option application_30_options[] = { 128 { .name = "always_have_depth_buffer", .value = "true" }, 129}; 130 131 132static const struct driconf_option application_32_options[] = { 133 { .name = "always_have_depth_buffer", .value = "true" }, 134}; 135 136 137static const struct driconf_option application_34_options[] = { 138 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 139 { .name = "allow_glsl_builtin_variable_redeclaration", .value = "true" }, 140}; 141 142 143static const struct driconf_option application_37_options[] = { 144 { .name = "allow_glsl_builtin_variable_redeclaration", .value = "true" }, 145}; 146 147 148static const struct driconf_option application_39_options[] = { 149 { .name = "allow_glsl_builtin_variable_redeclaration", .value = "true" }, 150 { .name = "force_glsl_extensions_warn", .value = "true" }, 151}; 152 153 154static const struct driconf_option application_42_options[] = { 155 { .name = "allow_glsl_builtin_variable_redeclaration", .value = "true" }, 156}; 157 158 159static const struct driconf_option application_44_options[] = { 160 { .name = "allow_glsl_builtin_variable_redeclaration", .value = "true" }, 161}; 162 163 164static const struct driconf_option application_46_options[] = { 165 { .name = "allow_glsl_builtin_variable_redeclaration", .value = "true" }, 166}; 167 168 169static const struct driconf_option application_48_options[] = { 170 { .name = "allow_glsl_builtin_variable_redeclaration", .value = "true" }, 171}; 172 173 174static const struct driconf_option application_50_options[] = { 175 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 176}; 177 178 179static const struct driconf_option application_52_options[] = { 180 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 181}; 182 183 184static const struct driconf_option application_54_options[] = { 185 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 186}; 187 188 189static const struct driconf_option application_56_options[] = { 190 { .name = "glsl_zero_init", .value = "true" }, 191}; 192 193 194static const struct driconf_option application_58_options[] = { 195 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 196 { .name = "glsl_correct_derivatives_after_discard", .value = "true" }, 197 { .name = "force_gl_vendor", .value = "ATI Technologies, Inc." }, 198}; 199 200 201static const struct driconf_option application_62_options[] = { 202 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 203}; 204 205 206static const struct driconf_option application_64_options[] = { 207 { .name = "allow_higher_compat_version", .value = "true" }, 208}; 209 210 211static const struct driconf_option application_66_options[] = { 212 { .name = "allow_higher_compat_version", .value = "true" }, 213}; 214 215 216static const struct driconf_option application_68_options[] = { 217 { .name = "allow_higher_compat_version", .value = "true" }, 218}; 219 220 221static const struct driconf_option application_70_options[] = { 222 { .name = "allow_higher_compat_version", .value = "true" }, 223}; 224 225 226static const struct driconf_option application_72_options[] = { 227 { .name = "allow_higher_compat_version", .value = "true" }, 228}; 229 230 231static const struct driconf_option application_74_options[] = { 232 { .name = "allow_higher_compat_version", .value = "true" }, 233}; 234 235 236static const struct driconf_option application_76_options[] = { 237 { .name = "force_glsl_version", .value = "440" }, 238}; 239 240 241static const struct driconf_option application_78_options[] = { 242 { .name = "force_glsl_abs_sqrt", .value = "true" }, 243}; 244 245 246static const struct driconf_option application_80_options[] = { 247 { .name = "force_glsl_abs_sqrt", .value = "true" }, 248}; 249 250 251static const struct driconf_option application_82_options[] = { 252 { .name = "glsl_zero_init", .value = "true" }, 253}; 254 255 256static const struct driconf_option application_84_options[] = { 257 { .name = "glsl_zero_init", .value = "true" }, 258}; 259 260 261static const struct driconf_option application_86_options[] = { 262 { .name = "force_glsl_version", .value = "130" }, 263 { .name = "glsl_ignore_write_to_readonly_var", .value = "true" }, 264}; 265 266 267static const struct driconf_option application_89_options[] = { 268 { .name = "glsl_correct_derivatives_after_discard", .value = "true" }, 269}; 270 271 272static const struct driconf_option application_91_options[] = { 273 { .name = "glsl_correct_derivatives_after_discard", .value = "true" }, 274}; 275 276 277static const struct driconf_option application_93_options[] = { 278 { .name = "allow_glsl_cross_stage_interpolation_mismatch", .value = "true" }, 279}; 280 281 282static const struct driconf_option application_95_options[] = { 283 { .name = "allow_glsl_cross_stage_interpolation_mismatch", .value = "true" }, 284}; 285 286 287static const struct driconf_option application_97_options[] = { 288 { .name = "allow_glsl_cross_stage_interpolation_mismatch", .value = "true" }, 289}; 290 291 292static const struct driconf_option application_99_options[] = { 293 { .name = "allow_glsl_cross_stage_interpolation_mismatch", .value = "true" }, 294}; 295 296 297static const struct driconf_option application_101_options[] = { 298 { .name = "allow_glsl_cross_stage_interpolation_mismatch", .value = "true" }, 299}; 300 301 302static const struct driconf_option application_103_options[] = { 303 { .name = "allow_glsl_builtin_const_expression", .value = "true" }, 304 { .name = "allow_glsl_relaxed_es", .value = "true" }, 305}; 306 307 308static const struct driconf_option application_106_options[] = { 309 { .name = "allow_extra_pp_tokens", .value = "true" }, 310}; 311 312 313static const struct driconf_option application_108_options[] = { 314 { .name = "force_compat_profile", .value = "true" }, 315}; 316 317 318static const struct driconf_option application_110_options[] = { 319 { .name = "glsl_correct_derivatives_after_discard", .value = "true" }, 320}; 321 322 323static const struct driconf_option application_112_options[] = { 324 { .name = "force_compat_profile", .value = "true" }, 325}; 326 327 328static const struct driconf_option application_114_options[] = { 329 { .name = "glsl_zero_init", .value = "true" }, 330}; 331 332 333static const struct driconf_option application_116_options[] = { 334 { .name = "glsl_zero_init", .value = "true" }, 335}; 336 337 338static const struct driconf_option application_118_options[] = { 339 { .name = "force_integer_tex_nearest", .value = "true" }, 340}; 341 342 343static const struct driconf_option application_120_options[] = { 344 { .name = "force_integer_tex_nearest", .value = "true" }, 345}; 346 347 348static const struct driconf_option application_122_options[] = { 349 { .name = "vs_position_always_invariant", .value = "true" }, 350}; 351 352 353static const struct driconf_option application_124_options[] = { 354 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 355 { .name = "allow_glsl_120_subset_in_110", .value = "true" }, 356 { .name = "force_gl_names_reuse", .value = "true" }, 357 { .name = "force_gl_vendor", .value = "NVIDIA Corporation" }, 358 { .name = "force_glsl_extensions_warn", .value = "true" }, 359 { .name = "allow_draw_out_of_order", .value = "true" }, 360 { .name = "mesa_glthread", .value = "true" }, 361 { .name = "mesa_no_error", .value = "true" }, 362 { .name = "allow_rgb10_configs", .value = "false" }, 363}; 364 365 366static const struct driconf_option application_134_options[] = { 367 { .name = "ignore_map_unsynchronized", .value = "true" }, 368}; 369 370 371static const struct driconf_option application_136_options[] = { 372 { .name = "force_integer_tex_nearest", .value = "true" }, 373 { .name = "allow_glsl_extension_directive_midshader", .value = "true" }, 374}; 375 376 377static const struct driconf_option application_139_options[] = { 378 { .name = "glsl_correct_derivatives_after_discard", .value = "true" }, 379}; 380 381 382static const struct driconf_option application_141_options[] = { 383 { .name = "mesa_glthread", .value = "true" }, 384}; 385 386 387static const struct driconf_option application_143_options[] = { 388 { .name = "mesa_glthread", .value = "true" }, 389}; 390 391 392static const struct driconf_option application_145_options[] = { 393 { .name = "mesa_glthread", .value = "true" }, 394}; 395 396 397static const struct driconf_option application_147_options[] = { 398 { .name = "mesa_glthread", .value = "true" }, 399}; 400 401 402static const struct driconf_option application_149_options[] = { 403 { .name = "mesa_glthread", .value = "true" }, 404}; 405 406 407static const struct driconf_option application_151_options[] = { 408 { .name = "mesa_glthread", .value = "true" }, 409}; 410 411 412static const struct driconf_option application_153_options[] = { 413 { .name = "mesa_glthread", .value = "true" }, 414}; 415 416 417static const struct driconf_option application_155_options[] = { 418 { .name = "mesa_glthread", .value = "true" }, 419}; 420 421 422static const struct driconf_option application_157_options[] = { 423 { .name = "mesa_glthread", .value = "true" }, 424}; 425 426 427static const struct driconf_option application_159_options[] = { 428 { .name = "mesa_glthread", .value = "true" }, 429}; 430 431 432static const struct driconf_option application_161_options[] = { 433 { .name = "mesa_glthread", .value = "true" }, 434}; 435 436 437static const struct driconf_option application_163_options[] = { 438 { .name = "mesa_glthread", .value = "true" }, 439}; 440 441 442static const struct driconf_option application_165_options[] = { 443 { .name = "mesa_glthread", .value = "true" }, 444}; 445 446 447static const struct driconf_option application_167_options[] = { 448 { .name = "mesa_glthread", .value = "true" }, 449}; 450 451 452static const struct driconf_option application_169_options[] = { 453 { .name = "mesa_glthread", .value = "true" }, 454}; 455 456 457static const struct driconf_option application_171_options[] = { 458 { .name = "mesa_glthread", .value = "true" }, 459}; 460 461 462static const struct driconf_option application_173_options[] = { 463 { .name = "mesa_glthread", .value = "true" }, 464}; 465 466 467static const struct driconf_option application_175_options[] = { 468 { .name = "mesa_glthread", .value = "true" }, 469}; 470 471 472static const struct driconf_option application_177_options[] = { 473 { .name = "mesa_glthread", .value = "true" }, 474}; 475 476 477static const struct driconf_option application_179_options[] = { 478 { .name = "mesa_glthread", .value = "true" }, 479}; 480 481 482static const struct driconf_option application_181_options[] = { 483 { .name = "mesa_glthread", .value = "true" }, 484}; 485 486 487static const struct driconf_option application_183_options[] = { 488 { .name = "mesa_glthread", .value = "true" }, 489}; 490 491 492static const struct driconf_option application_185_options[] = { 493 { .name = "mesa_glthread", .value = "true" }, 494}; 495 496 497static const struct driconf_option application_187_options[] = { 498 { .name = "mesa_glthread", .value = "true" }, 499}; 500 501 502static const struct driconf_option application_189_options[] = { 503 { .name = "mesa_glthread", .value = "true" }, 504}; 505 506 507static const struct driconf_option application_191_options[] = { 508 { .name = "mesa_glthread", .value = "true" }, 509}; 510 511 512static const struct driconf_option application_193_options[] = { 513 { .name = "mesa_glthread", .value = "true" }, 514}; 515 516 517static const struct driconf_option application_195_options[] = { 518 { .name = "mesa_glthread", .value = "true" }, 519}; 520 521 522static const struct driconf_option application_197_options[] = { 523 { .name = "mesa_glthread", .value = "true" }, 524}; 525 526 527static const struct driconf_option application_199_options[] = { 528 { .name = "mesa_glthread", .value = "true" }, 529}; 530 531 532static const struct driconf_option application_201_options[] = { 533 { .name = "mesa_glthread", .value = "true" }, 534}; 535 536 537static const struct driconf_option application_203_options[] = { 538 { .name = "mesa_glthread", .value = "true" }, 539}; 540 541 542static const struct driconf_option application_205_options[] = { 543 { .name = "mesa_glthread", .value = "true" }, 544}; 545 546 547static const struct driconf_option application_207_options[] = { 548 { .name = "mesa_glthread", .value = "true" }, 549}; 550 551 552static const struct driconf_option application_209_options[] = { 553 { .name = "mesa_glthread", .value = "true" }, 554}; 555 556 557static const struct driconf_option application_211_options[] = { 558 { .name = "mesa_glthread", .value = "true" }, 559}; 560 561 562static const struct driconf_option application_213_options[] = { 563 { .name = "mesa_glthread", .value = "true" }, 564}; 565 566 567static const struct driconf_option application_215_options[] = { 568 { .name = "mesa_glthread", .value = "true" }, 569}; 570 571 572static const struct driconf_option application_217_options[] = { 573 { .name = "mesa_glthread", .value = "true" }, 574}; 575 576 577static const struct driconf_option application_219_options[] = { 578 { .name = "mesa_glthread", .value = "true" }, 579}; 580 581 582static const struct driconf_option application_221_options[] = { 583 { .name = "mesa_glthread", .value = "true" }, 584}; 585 586 587static const struct driconf_option application_223_options[] = { 588 { .name = "mesa_glthread", .value = "true" }, 589}; 590 591 592static const struct driconf_option application_225_options[] = { 593 { .name = "mesa_glthread", .value = "true" }, 594}; 595 596 597static const struct driconf_option application_227_options[] = { 598 { .name = "mesa_glthread", .value = "true" }, 599}; 600 601 602static const struct driconf_option application_229_options[] = { 603 { .name = "mesa_glthread", .value = "true" }, 604}; 605 606 607static const struct driconf_option application_231_options[] = { 608 { .name = "mesa_glthread", .value = "true" }, 609}; 610 611 612static const struct driconf_option application_233_options[] = { 613 { .name = "mesa_glthread", .value = "true" }, 614}; 615 616 617static const struct driconf_option application_235_options[] = { 618 { .name = "mesa_glthread", .value = "true" }, 619}; 620 621 622static const struct driconf_option application_237_options[] = { 623 { .name = "mesa_glthread", .value = "true" }, 624}; 625 626 627static const struct driconf_option application_239_options[] = { 628 { .name = "adaptive_sync", .value = "false" }, 629 { .name = "v3d_nonmsaa_texture_size_limit", .value = "true" }, 630}; 631 632 633static const struct driconf_option application_242_options[] = { 634 { .name = "adaptive_sync", .value = "false" }, 635}; 636 637 638static const struct driconf_option application_244_options[] = { 639 { .name = "adaptive_sync", .value = "false" }, 640}; 641 642 643static const struct driconf_option application_246_options[] = { 644 { .name = "adaptive_sync", .value = "false" }, 645}; 646 647 648static const struct driconf_option application_248_options[] = { 649 { .name = "adaptive_sync", .value = "false" }, 650}; 651 652 653static const struct driconf_option application_250_options[] = { 654 { .name = "adaptive_sync", .value = "false" }, 655}; 656 657 658static const struct driconf_option application_252_options[] = { 659 { .name = "adaptive_sync", .value = "false" }, 660}; 661 662 663static const struct driconf_option application_254_options[] = { 664 { .name = "adaptive_sync", .value = "false" }, 665}; 666 667 668static const struct driconf_option application_256_options[] = { 669 { .name = "adaptive_sync", .value = "false" }, 670}; 671 672 673static const struct driconf_option application_258_options[] = { 674 { .name = "adaptive_sync", .value = "false" }, 675}; 676 677 678static const struct driconf_option application_260_options[] = { 679 { .name = "adaptive_sync", .value = "false" }, 680}; 681 682 683static const struct driconf_option application_262_options[] = { 684 { .name = "adaptive_sync", .value = "false" }, 685}; 686 687 688static const struct driconf_option application_264_options[] = { 689 { .name = "adaptive_sync", .value = "false" }, 690}; 691 692 693static const struct driconf_option application_266_options[] = { 694 { .name = "adaptive_sync", .value = "false" }, 695}; 696 697 698static const struct driconf_option application_268_options[] = { 699 { .name = "adaptive_sync", .value = "false" }, 700}; 701 702 703static const struct driconf_option application_270_options[] = { 704 { .name = "adaptive_sync", .value = "false" }, 705}; 706 707 708static const struct driconf_option application_272_options[] = { 709 { .name = "adaptive_sync", .value = "false" }, 710 { .name = "v3d_nonmsaa_texture_size_limit", .value = "true" }, 711}; 712 713 714static const struct driconf_option application_275_options[] = { 715 { .name = "adaptive_sync", .value = "false" }, 716}; 717 718 719static const struct driconf_option application_277_options[] = { 720 { .name = "adaptive_sync", .value = "false" }, 721}; 722 723 724static const struct driconf_option application_279_options[] = { 725 { .name = "adaptive_sync", .value = "false" }, 726}; 727 728 729static const struct driconf_option application_281_options[] = { 730 { .name = "adaptive_sync", .value = "false" }, 731}; 732 733 734static const struct driconf_option application_283_options[] = { 735 { .name = "adaptive_sync", .value = "false" }, 736}; 737 738 739static const struct driconf_option application_285_options[] = { 740 { .name = "adaptive_sync", .value = "false" }, 741}; 742 743 744static const struct driconf_option application_287_options[] = { 745 { .name = "adaptive_sync", .value = "false" }, 746}; 747 748 749static const struct driconf_option application_289_options[] = { 750 { .name = "adaptive_sync", .value = "false" }, 751}; 752 753 754static const struct driconf_option application_291_options[] = { 755 { .name = "adaptive_sync", .value = "false" }, 756}; 757 758 759static const struct driconf_option application_293_options[] = { 760 { .name = "adaptive_sync", .value = "false" }, 761}; 762 763 764static const struct driconf_option application_295_options[] = { 765 { .name = "adaptive_sync", .value = "false" }, 766}; 767 768 769static const struct driconf_option application_297_options[] = { 770 { .name = "adaptive_sync", .value = "false" }, 771}; 772 773 774static const struct driconf_option application_299_options[] = { 775 { .name = "adaptive_sync", .value = "false" }, 776}; 777 778 779static const struct driconf_option application_301_options[] = { 780 { .name = "adaptive_sync", .value = "false" }, 781}; 782 783 784static const struct driconf_option application_303_options[] = { 785 { .name = "adaptive_sync", .value = "false" }, 786}; 787 788 789static const struct driconf_option application_305_options[] = { 790 { .name = "adaptive_sync", .value = "false" }, 791}; 792 793 794static const struct driconf_option application_307_options[] = { 795 { .name = "v3d_nonmsaa_texture_size_limit", .value = "true" }, 796}; 797 798 799static const struct driconf_option application_309_options[] = { 800 { .name = "vk_x11_override_min_image_count", .value = "2" }, 801 { .name = "vk_wsi_force_bgra8_unorm_first", .value = "true" }, 802}; 803 804 805static const struct driconf_option application_312_options[] = { 806 { .name = "glx_extension_override", .value = "-GLX_OML_swap_method" }, 807 { .name = "allow_higher_compat_version", .value = "true" }, 808}; 809 810 811static const struct driconf_option application_315_options[] = { 812 { .name = "glsl_correct_derivatives_after_discard", .value = "true" }, 813}; 814 815 816static const struct driconf_option application_317_options[] = { 817 { .name = "glsl_correct_derivatives_after_discard", .value = "true" }, 818}; 819 820 821static const struct driconf_option application_319_options[] = { 822 { .name = "force_gl_names_reuse", .value = "true" }, 823}; 824 825 826static const struct driconf_option application_321_options[] = { 827 { .name = "vs_position_always_precise", .value = "true" }, 828}; 829 830 831static const struct driconf_option application_323_options[] = { 832 { .name = "vs_position_always_precise", .value = "true" }, 833}; 834 835 836static const struct driconf_option application_325_options[] = { 837 { .name = "vs_position_always_precise", .value = "true" }, 838}; 839 840 841static const struct driconf_option application_327_options[] = { 842 { .name = "vs_position_always_precise", .value = "true" }, 843}; 844 845 846static const struct driconf_option application_329_options[] = { 847 { .name = "vk_x11_strict_image_count", .value = "true" }, 848}; 849 850 851static const struct driconf_option application_331_options[] = { 852 { .name = "vk_x11_ensure_min_image_count", .value = "true" }, 853}; 854 855 856static const struct driconf_option application_333_options[] = { 857 { .name = "vk_x11_strict_image_count", .value = "true" }, 858}; 859 860 861static const struct driconf_option application_335_options[] = { 862 { .name = "vk_x11_strict_image_count", .value = "true" }, 863}; 864 865 866static const struct driconf_application device_1_applications[] = { 867 { .name = "Unigine Sanctuary", 868 .executable = "Sanctuary", 869 .num_options = 3, 870 .options = application_2_options, 871 }, 872 { .name = "Unigine Tropics", 873 .executable = "Tropics", 874 .num_options = 3, 875 .options = application_6_options, 876 }, 877 { .name = "Unigine Heaven (32-bit)", 878 .executable = "heaven_x86", 879 .num_options = 2, 880 .options = application_10_options, 881 }, 882 { .name = "Unigine Heaven (64-bit)", 883 .executable = "heaven_x64", 884 .num_options = 2, 885 .options = application_13_options, 886 }, 887 { .name = "Unigine Valley (32-bit)", 888 .executable = "valley_x86", 889 .num_options = 2, 890 .options = application_16_options, 891 }, 892 { .name = "Unigine Valley (64-bit)", 893 .executable = "valley_x64", 894 .num_options = 2, 895 .options = application_19_options, 896 }, 897 { .name = "Unigine OilRush (32-bit)", 898 .executable = "OilRush_x86", 899 .num_options = 2, 900 .options = application_22_options, 901 }, 902 { .name = "Unigine OilRush (64-bit)", 903 .executable = "OilRush_x64", 904 .num_options = 2, 905 .options = application_25_options, 906 }, 907 { .name = "Savage 2", 908 .executable = "savage2.bin", 909 .num_options = 1, 910 .options = application_28_options, 911 }, 912 { .name = "Topogun (32-bit)", 913 .executable = "topogun32", 914 .num_options = 1, 915 .options = application_30_options, 916 }, 917 { .name = "Topogun (64-bit)", 918 .executable = "topogun64", 919 .num_options = 1, 920 .options = application_32_options, 921 }, 922 { .name = "Dead Island (incl. Definitive Edition)", 923 .executable = "DeadIslandGame", 924 .num_options = 2, 925 .options = application_34_options, 926 }, 927 { .name = "Dead Island Riptide Definitive Edition", 928 .executable = "DeadIslandRiptideGame", 929 .num_options = 1, 930 .options = application_37_options, 931 }, 932 { .name = "Doom 3: BFG", 933 .executable = "Doom3BFG.exe", 934 .num_options = 2, 935 .options = application_39_options, 936 }, 937 { .name = "Dying Light", 938 .executable = "DyingLightGame", 939 .num_options = 1, 940 .options = application_42_options, 941 }, 942 { .name = "Full Bore", 943 .executable = "fullbore", 944 .num_options = 1, 945 .options = application_44_options, 946 }, 947 { .name = "RAGE (64-bit)", 948 .executable = "Rage64.exe", 949 .num_options = 1, 950 .options = application_46_options, 951 }, 952 { .name = "RAGE (32-bit)", 953 .executable = "Rage.exe", 954 .num_options = 1, 955 .options = application_48_options, 956 }, 957 { .name = "Second Life", 958 .executable = "do-not-directly-run-secondlife-bin", 959 .num_options = 1, 960 .options = application_50_options, 961 }, 962 { .name = "Warsow (32-bit)", 963 .executable = "warsow.i386", 964 .num_options = 1, 965 .options = application_52_options, 966 }, 967 { .name = "Warsow (64-bit)", 968 .executable = "warsow.x86_64", 969 .num_options = 1, 970 .options = application_54_options, 971 }, 972 { .name = "Rust", 973 .executable = "rust", 974 .num_options = 1, 975 .options = application_56_options, 976 }, 977 { .name = "Divinity: Original Sin Enhanced Edition", 978 .executable = "EoCApp", 979 .num_options = 3, 980 .options = application_58_options, 981 }, 982 { .name = "Metro 2033 Redux / Metro Last Night Redux", 983 .executable = "metro", 984 .num_options = 1, 985 .options = application_62_options, 986 }, 987 { .name = "Worms W.M.D", 988 .executable = "Worms W.M.Dx64", 989 .num_options = 1, 990 .options = application_64_options, 991 }, 992 { .name = "Crookz - The Big Heist", 993 .executable = "Crookz", 994 .num_options = 1, 995 .options = application_66_options, 996 }, 997 { .name = "Tropico 5", 998 .executable = "Tropico5", 999 .num_options = 1, 1000 .options = application_68_options, 1001 }, 1002 { .name = "Faster than Light (32-bit)", 1003 .executable = "FTL.x86", 1004 .num_options = 1, 1005 .options = application_70_options, 1006 }, 1007 { .name = "Faster than Light (64-bit)", 1008 .executable = "FTL.amd64", 1009 .num_options = 1, 1010 .options = application_72_options, 1011 }, 1012 { .name = "Final Fantasy VIII: Remastered", 1013 .executable = "FFVIII.exe", 1014 .num_options = 1, 1015 .options = application_74_options, 1016 }, 1017 { .name = "The Culling", 1018 .executable = "Victory", 1019 .num_options = 1, 1020 .options = application_76_options, 1021 }, 1022 { .name = "Spec Ops: The Line (32-bit)", 1023 .executable = "specops.i386", 1024 .num_options = 1, 1025 .options = application_78_options, 1026 }, 1027 { .name = "Spec Ops: The Line (64-bit)", 1028 .executable = "specops", 1029 .num_options = 1, 1030 .options = application_80_options, 1031 }, 1032 { .name = "Kerbal Space Program (32-bit)", 1033 .executable = "KSP.x86", 1034 .num_options = 1, 1035 .options = application_82_options, 1036 }, 1037 { .name = "Kerbal Space Program (64-bit)", 1038 .executable = "KSP.x86_64", 1039 .num_options = 1, 1040 .options = application_84_options, 1041 }, 1042 { .name = "Luna Sky", 1043 .executable = "lunasky", 1044 .num_options = 2, 1045 .options = application_86_options, 1046 }, 1047 { .name = "Rocket League", 1048 .executable = "RocketLeague", 1049 .num_options = 1, 1050 .options = application_89_options, 1051 }, 1052 { .name = "The Witcher 2", 1053 .executable = "witcher2", 1054 .num_options = 1, 1055 .options = application_91_options, 1056 }, 1057 { .name = "Unreal 4 Editor", 1058 .executable = "UE4Editor", 1059 .num_options = 1, 1060 .options = application_93_options, 1061 }, 1062 { .name = "Observer", 1063 .executable = "TheObserver-Linux-Shipping", 1064 .num_options = 1, 1065 .options = application_95_options, 1066 }, 1067 { .name = "Steamroll", 1068 .executable = "Steamroll-Linux-Shipping", 1069 .num_options = 1, 1070 .options = application_97_options, 1071 }, 1072 { .name = "Refunct", 1073 .executable = "Refunct-Linux-Shipping", 1074 .num_options = 1, 1075 .options = application_99_options, 1076 }, 1077 { .name = "We Happy Few", 1078 .executable = "GlimpseGame", 1079 .num_options = 1, 1080 .options = application_101_options, 1081 }, 1082 { .name = "Google Earth VR", 1083 .executable = "Earth.exe", 1084 .num_options = 2, 1085 .options = application_103_options, 1086 }, 1087 { .name = "Champions of Regnum", 1088 .executable = "game", 1089 .num_options = 1, 1090 .options = application_106_options, 1091 }, 1092 { .name = "Wolfenstein The Old Blood", 1093 .executable = "WolfOldBlood_x64.exe", 1094 .num_options = 1, 1095 .options = application_108_options, 1096 }, 1097 { .name = "ARMA 3", 1098 .executable = "arma3.x86_64", 1099 .num_options = 1, 1100 .options = application_110_options, 1101 }, 1102 { .name = "Epic Games Launcher", 1103 .executable = "EpicGamesLauncher.exe", 1104 .num_options = 1, 1105 .options = application_112_options, 1106 }, 1107 { .name = "GpuTest", 1108 .executable = "GpuTest", 1109 .num_options = 1, 1110 .options = application_114_options, 1111 }, 1112 { .name = "Curse of the Dead Gods", 1113 .executable = "Curse of the Dead Gods.exe", 1114 .num_options = 1, 1115 .options = application_116_options, 1116 }, 1117 { .name = "GRID Autosport", 1118 .executable = "GridAutosport", 1119 .num_options = 1, 1120 .options = application_118_options, 1121 }, 1122 { .name = "DIRT: Showdown", 1123 .executable = "dirt.i386", 1124 .num_options = 1, 1125 .options = application_120_options, 1126 }, 1127 { .name = "DiRT Rally", 1128 .executable = "DirtRally", 1129 .num_options = 1, 1130 .options = application_122_options, 1131 }, 1132 { .name = "SPECviewperf13", 1133 .executable = "viewperf", 1134 .num_options = 9, 1135 .options = application_124_options, 1136 }, 1137 { .name = "Dead-Cells", 1138 .executable = "com.playdigious.deadcells.mobile", 1139 .num_options = 1, 1140 .options = application_134_options, 1141 }, 1142 { .name = "Teardown", 1143 .executable = "teardown.exe", 1144 .num_options = 2, 1145 .options = application_136_options, 1146 }, 1147 { .name = "Golf With Your Friends", 1148 .executable = "Golf With Your Friends.x86_64", 1149 .num_options = 1, 1150 .options = application_139_options, 1151 }, 1152 { .name = "Alien Isolation", 1153 .executable = "AlienIsolation", 1154 .num_options = 1, 1155 .options = application_141_options, 1156 }, 1157 { .name = "BioShock Infinite", 1158 .executable = "bioshock.i386", 1159 .num_options = 1, 1160 .options = application_143_options, 1161 }, 1162 { .name = "Borderlands 2", 1163 .executable = "Borderlands2", 1164 .num_options = 1, 1165 .options = application_145_options, 1166 }, 1167 { .name = "Civilization 5", 1168 .executable = "Civ5XP", 1169 .num_options = 1, 1170 .options = application_147_options, 1171 }, 1172 { .name = "Civilization 6", 1173 .executable = "Civ6", 1174 .num_options = 1, 1175 .options = application_149_options, 1176 }, 1177 { .name = "Civilization 6", 1178 .executable = "Civ6Sub", 1179 .num_options = 1, 1180 .options = application_151_options, 1181 }, 1182 { .name = "Dreamfall Chapters", 1183 .executable = "Dreamfall Chapters", 1184 .num_options = 1, 1185 .options = application_153_options, 1186 }, 1187 { .name = "Hitman", 1188 .executable = "HitmanPro", 1189 .num_options = 1, 1190 .options = application_155_options, 1191 }, 1192 { .name = "Renowned Explorers: International Society", 1193 .executable = "abbeycore_steam", 1194 .num_options = 1, 1195 .options = application_157_options, 1196 }, 1197 { .name = "Saints Row 2", 1198 .executable = "saintsrow2.i386", 1199 .num_options = 1, 1200 .options = application_159_options, 1201 }, 1202 { .name = "Saints Row: The Third", 1203 .executable = "SaintsRow3.i386", 1204 .num_options = 1, 1205 .options = application_161_options, 1206 }, 1207 { .name = "Saints Row IV", 1208 .executable = "SaintsRow4.i386", 1209 .num_options = 1, 1210 .options = application_163_options, 1211 }, 1212 { .name = "Saints Row: Gat out of Hell", 1213 .executable = "SaintsRow4GooH.i386", 1214 .num_options = 1, 1215 .options = application_165_options, 1216 }, 1217 { .name = "Sid Meier's: Civilization Beyond Earth", 1218 .executable = "CivBE", 1219 .num_options = 1, 1220 .options = application_167_options, 1221 }, 1222 { .name = "The Witcher 2", 1223 .executable = "witcher2", 1224 .num_options = 1, 1225 .options = application_169_options, 1226 }, 1227 { .name = "American Truck Simulator", 1228 .executable = "amtrucks", 1229 .num_options = 1, 1230 .options = application_171_options, 1231 }, 1232 { .name = "Euro Truck Simulator 2", 1233 .executable = "eurotrucks2", 1234 .num_options = 1, 1235 .options = application_173_options, 1236 }, 1237 { .name = "Overlord", 1238 .executable = "overlord.i386", 1239 .num_options = 1, 1240 .options = application_175_options, 1241 }, 1242 { .name = "Overlord 2", 1243 .executable = "overlord2.i386", 1244 .num_options = 1, 1245 .options = application_177_options, 1246 }, 1247 { .name = "Oil Rush", 1248 .executable = "OilRush_x86", 1249 .num_options = 1, 1250 .options = application_179_options, 1251 }, 1252 { .name = "War Thunder", 1253 .executable = "aces", 1254 .num_options = 1, 1255 .options = application_181_options, 1256 }, 1257 { .name = "War Thunder (Wine)", 1258 .executable = "aces.exe", 1259 .num_options = 1, 1260 .options = application_183_options, 1261 }, 1262 { .name = "Outlast", 1263 .executable = "OLGame.x86_64", 1264 .num_options = 1, 1265 .options = application_185_options, 1266 }, 1267 { .name = "Spec Ops: The Line (32-bit)", 1268 .executable = "specops.i386", 1269 .num_options = 1, 1270 .options = application_187_options, 1271 }, 1272 { .name = "Spec Ops: The Line (64-bit)", 1273 .executable = "specops", 1274 .num_options = 1, 1275 .options = application_189_options, 1276 }, 1277 { .name = "Mount and Blade Warband", 1278 .executable = "mb_warband_linux", 1279 .num_options = 1, 1280 .options = application_191_options, 1281 }, 1282 { .name = "Valheim", 1283 .executable = "valheim.x86_64", 1284 .num_options = 1, 1285 .options = application_193_options, 1286 }, 1287 { .name = "Medieval II: Total War", 1288 .executable = "Medieval2", 1289 .num_options = 1, 1290 .options = application_195_options, 1291 }, 1292 { .name = "Carnivores: Dinosaur Hunter Reborn (wine)", 1293 .executable = "Carnivores-master.exe", 1294 .num_options = 1, 1295 .options = application_197_options, 1296 }, 1297 { .name = "Far Cry 2 (wine)", 1298 .executable = "farcry2.exe", 1299 .num_options = 1, 1300 .options = application_199_options, 1301 }, 1302 { .name = "Talos Principle", 1303 .executable = "Talos", 1304 .num_options = 1, 1305 .options = application_201_options, 1306 }, 1307 { .name = "Talos Principle (Unrestricted)", 1308 .executable = "Talos_Unrestricted", 1309 .num_options = 1, 1310 .options = application_203_options, 1311 }, 1312 { .name = "7 Days To Die (64-bit)", 1313 .executable = "7DaysToDie.x86_64", 1314 .num_options = 1, 1315 .options = application_205_options, 1316 }, 1317 { .name = "7 Days To Die (32-bit)", 1318 .executable = "7DaysToDie.x86", 1319 .num_options = 1, 1320 .options = application_207_options, 1321 }, 1322 { .name = "Dolphin Emulator", 1323 .executable = "dolphin-emu", 1324 .num_options = 1, 1325 .options = application_209_options, 1326 }, 1327 { .name = "Citra - Nintendo 3DS Emulator", 1328 .executable = "citra-qt", 1329 .num_options = 1, 1330 .options = application_211_options, 1331 }, 1332 { .name = "Yuzu - Nintendo Switch Emulator", 1333 .executable = "yuzu", 1334 .num_options = 1, 1335 .options = application_213_options, 1336 }, 1337 { .name = "RPCS3", 1338 .executable = "rpcs3", 1339 .num_options = 1, 1340 .options = application_215_options, 1341 }, 1342 { .name = "PCSX2", 1343 .executable = "PCSX2", 1344 .num_options = 1, 1345 .options = application_217_options, 1346 }, 1347 { .name = "From The Depths", 1348 .executable = "From_The_Depths.x86_64", 1349 .num_options = 1, 1350 .options = application_219_options, 1351 }, 1352 { .name = "Plague Inc Evolved (32-bit)", 1353 .executable = "PlagueIncEvolved.x86", 1354 .num_options = 1, 1355 .options = application_221_options, 1356 }, 1357 { .name = "Plague Inc Evolved (64-bit)", 1358 .executable = "PlagueIncEvolved.x86_64", 1359 .num_options = 1, 1360 .options = application_223_options, 1361 }, 1362 { .name = "Beholder (32-bit)", 1363 .executable = "Beholder.x86", 1364 .num_options = 1, 1365 .options = application_225_options, 1366 }, 1367 { .name = "Beholder (64-bit)", 1368 .executable = "Beholder.x86_64", 1369 .num_options = 1, 1370 .options = application_227_options, 1371 }, 1372 { .name = "X3 Reunion", 1373 .executable = "X3R_main", 1374 .num_options = 1, 1375 .options = application_229_options, 1376 }, 1377 { .name = "X3 Terran Conflict", 1378 .executable = "X3TR_main", 1379 .num_options = 1, 1380 .options = application_231_options, 1381 }, 1382 { .name = "X3 Albion Prelude", 1383 .executable = "X3AP_main", 1384 .num_options = 1, 1385 .options = application_233_options, 1386 }, 1387 { .name = "Borderlands: The Pre-Sequel", 1388 .executable = "BorderlandsPreSequel", 1389 .num_options = 1, 1390 .options = application_235_options, 1391 }, 1392 { .name = "Transport Fever", 1393 .executable = "TransportFever", 1394 .num_options = 1, 1395 .options = application_237_options, 1396 }, 1397 { .name = "gnome-shell", 1398 .executable = "gnome-shell", 1399 .num_options = 2, 1400 .options = application_239_options, 1401 }, 1402 { .name = "Desktop — Plasma", 1403 .executable = "plasmashell", 1404 .num_options = 1, 1405 .options = application_242_options, 1406 }, 1407 { .name = "budgie-wm", 1408 .executable = "budgie-wm", 1409 .num_options = 1, 1410 .options = application_244_options, 1411 }, 1412 { .name = "kwin_x11", 1413 .executable = "kwin_x11", 1414 .num_options = 1, 1415 .options = application_246_options, 1416 }, 1417 { .name = "ksmserver-logout-greeter", 1418 .executable = "ksmserver-logout-greeter", 1419 .num_options = 1, 1420 .options = application_248_options, 1421 }, 1422 { .name = "ksmserver-switchuser-greeter", 1423 .executable = "ksmserver-switchuser-greeter", 1424 .num_options = 1, 1425 .options = application_250_options, 1426 }, 1427 { .name = "kscreenlocker_greet", 1428 .executable = "kscreenlocker_greet", 1429 .num_options = 1, 1430 .options = application_252_options, 1431 }, 1432 { .name = "startplasma", 1433 .executable = "startplasma", 1434 .num_options = 1, 1435 .options = application_254_options, 1436 }, 1437 { .name = "sddm-greeter", 1438 .executable = "sddm-greeter", 1439 .num_options = 1, 1440 .options = application_256_options, 1441 }, 1442 { .name = "krunner", 1443 .executable = "krunner", 1444 .num_options = 1, 1445 .options = application_258_options, 1446 }, 1447 { .name = "spectacle", 1448 .executable = "spectacle", 1449 .num_options = 1, 1450 .options = application_260_options, 1451 }, 1452 { .name = "marco", 1453 .executable = "marco", 1454 .num_options = 1, 1455 .options = application_262_options, 1456 }, 1457 { .name = "compton", 1458 .executable = "compton", 1459 .num_options = 1, 1460 .options = application_264_options, 1461 }, 1462 { .name = "picom", 1463 .executable = "picom", 1464 .num_options = 1, 1465 .options = application_266_options, 1466 }, 1467 { .name = "xfwm4", 1468 .executable = "xfwm4", 1469 .num_options = 1, 1470 .options = application_268_options, 1471 }, 1472 { .name = "Enlightenment", 1473 .executable = "enlightenment", 1474 .num_options = 1, 1475 .options = application_270_options, 1476 }, 1477 { .name = "mutter", 1478 .executable = "mutter", 1479 .num_options = 2, 1480 .options = application_272_options, 1481 }, 1482 { .name = "muffin", 1483 .executable = "muffin", 1484 .num_options = 1, 1485 .options = application_275_options, 1486 }, 1487 { .name = "compiz", 1488 .executable = "compiz", 1489 .num_options = 1, 1490 .options = application_277_options, 1491 }, 1492 { .name = "Firefox", 1493 .executable = "firefox", 1494 .num_options = 1, 1495 .options = application_279_options, 1496 }, 1497 { .name = "Firefox ESR", 1498 .executable = "firefox-esr", 1499 .num_options = 1, 1500 .options = application_281_options, 1501 }, 1502 { .name = "Chromium", 1503 .executable = "chromium", 1504 .num_options = 1, 1505 .options = application_283_options, 1506 }, 1507 { .name = "Google Chrome", 1508 .executable = "chrome", 1509 .num_options = 1, 1510 .options = application_285_options, 1511 }, 1512 { .name = "Iceweasel", 1513 .executable = "iceweasel", 1514 .num_options = 1, 1515 .options = application_287_options, 1516 }, 1517 { .name = "Epiphany", 1518 .executable = "epiphany", 1519 .num_options = 1, 1520 .options = application_289_options, 1521 }, 1522 { .name = "Konqueror", 1523 .executable = "konqueror", 1524 .num_options = 1, 1525 .options = application_291_options, 1526 }, 1527 { .name = "Falkon", 1528 .executable = "falkon", 1529 .num_options = 1, 1530 .options = application_293_options, 1531 }, 1532 { .name = "Seamonkey", 1533 .executable = "seamonkey", 1534 .num_options = 1, 1535 .options = application_295_options, 1536 }, 1537 { .name = "Waterfox", 1538 .executable = "waterfox", 1539 .num_options = 1, 1540 .options = application_297_options, 1541 }, 1542 { .name = "VLC Media Player", 1543 .executable = "vlc", 1544 .num_options = 1, 1545 .options = application_299_options, 1546 }, 1547 { .name = "Totem", 1548 .executable = "totem", 1549 .num_options = 1, 1550 .options = application_301_options, 1551 }, 1552 { .name = "Dragon Player", 1553 .executable = "dragon", 1554 .num_options = 1, 1555 .options = application_303_options, 1556 }, 1557 { .name = "mpv", 1558 .executable = "mpv", 1559 .num_options = 1, 1560 .options = application_305_options, 1561 }, 1562 { .name = "Xorg", 1563 .executable = "Xorg", 1564 .num_options = 1, 1565 .options = application_307_options, 1566 }, 1567 { .name = "gfxbench", 1568 .executable = "testfw_app", 1569 .num_options = 2, 1570 .options = application_309_options, 1571 }, 1572 { .name = "Brink", 1573 .executable = "brink.exe", 1574 .num_options = 2, 1575 .options = application_312_options, 1576 }, 1577 { .name = "Enter The Gungeon (32 bits)", 1578 .executable = "EtG.x86", 1579 .num_options = 1, 1580 .options = application_315_options, 1581 }, 1582 { .name = "Enter The Gungeon (64 bits)", 1583 .executable = "EtG.x86_64", 1584 .num_options = 1, 1585 .options = application_317_options, 1586 }, 1587 { .name = "SWKOTOR (wine)", 1588 .executable = "swkotor.exe", 1589 .num_options = 1, 1590 .options = application_319_options, 1591 }, 1592 { .name = "Assault Android Cactus (32-bit)", 1593 .executable = "cactus_demo.x86", 1594 .num_options = 1, 1595 .options = application_321_options, 1596 }, 1597 { .name = "Assault Android Cactus (64-bit)", 1598 .executable = "cactus_demo.x86_64", 1599 .num_options = 1, 1600 .options = application_323_options, 1601 }, 1602 { .name = "Assault Android Cactus (32-bit)", 1603 .executable = "cactus.x86", 1604 .num_options = 1, 1605 .options = application_325_options, 1606 }, 1607 { .name = "Assault Android Cactus (64-bit)", 1608 .executable = "cactus.x86_64", 1609 .num_options = 1, 1610 .options = application_327_options, 1611 }, 1612 { .name = "DOOM", 1613 .executable = "DOOMx64vk.exe", 1614 .num_options = 1, 1615 .options = application_329_options, 1616 }, 1617 { .name = "DOOMEternal", 1618 .executable = "DOOMEternalx64vk.exe", 1619 .num_options = 1, 1620 .options = application_331_options, 1621 }, 1622 { .name = "Wolfenstein: Youngblood(x64vk)", 1623 .executable = "Youngblood_x64vk.exe", 1624 .num_options = 1, 1625 .options = application_333_options, 1626 }, 1627 { .name = "Metro: Exodus", 1628 .application_name_match = "metroexodus", 1629 .num_options = 1, 1630 .options = application_335_options, 1631 }, 1632}; 1633 1634static const struct driconf_device device_1 = { 1635 .num_engines = 1, 1636 .engines = device_1_engines, 1637 .num_applications = 153, 1638 .applications = device_1_applications, 1639}; 1640 1641 1642 1643static const struct driconf_option application_340_options[] = { 1644 { .name = "glx_extension_override", .value = "-GLX_EXT_buffer_age -GLX_OML_sync_control -GLX_SGI_video_sync" }, 1645}; 1646 1647 1648static const struct driconf_option application_342_options[] = { 1649 { .name = "glx_extension_override", .value = "-GLX_EXT_buffer_age -GLX_OML_sync_control" }, 1650}; 1651 1652 1653static const struct driconf_application device_339_applications[] = { 1654 { .name = "gnome-shell", 1655 .executable = "gnome-shell", 1656 .num_options = 1, 1657 .options = application_340_options, 1658 }, 1659 { .name = "Compiz", 1660 .executable = "Compiz", 1661 .num_options = 1, 1662 .options = application_342_options, 1663 }, 1664}; 1665 1666static const struct driconf_device device_339 = { 1667 .driver = "vmwgfx", 1668 .num_engines = 0, 1669 .num_applications = 2, 1670 .applications = device_339_applications, 1671}; 1672 1673 1674 1675static const struct driconf_option application_345_options[] = { 1676 { .name = "mesa_glthread", .value = "true" }, 1677}; 1678 1679 1680static const struct driconf_option application_347_options[] = { 1681 { .name = "mesa_glthread", .value = "true" }, 1682}; 1683 1684 1685static const struct driconf_option application_349_options[] = { 1686 { .name = "force_gl_vendor", .value = "X.Org" }, 1687}; 1688 1689 1690static const struct driconf_option application_351_options[] = { 1691 { .name = "radeonsi_zerovram", .value = "true" }, 1692}; 1693 1694 1695static const struct driconf_option application_353_options[] = { 1696 { .name = "mesa_glthread", .value = "true" }, 1697 { .name = "radeonsi_zerovram", .value = "true" }, 1698 { .name = "radeonsi_clamp_div_by_zero", .value = "true" }, 1699}; 1700 1701 1702static const struct driconf_option application_357_options[] = { 1703 { .name = "radeonsi_zerovram", .value = "true" }, 1704}; 1705 1706 1707static const struct driconf_option application_359_options[] = { 1708 { .name = "radeonsi_prim_restart_tri_strips_only", .value = "true" }, 1709}; 1710 1711 1712static const struct driconf_option application_361_options[] = { 1713 { .name = "mesa_glthread", .value = "true" }, 1714}; 1715 1716 1717static const struct driconf_option application_363_options[] = { 1718 { .name = "radeonsi_sync_compile", .value = "true" }, 1719 { .name = "radeonsi_zerovram", .value = "true" }, 1720}; 1721 1722 1723static const struct driconf_option application_366_options[] = { 1724 { .name = "radeonsi_sync_compile", .value = "true" }, 1725}; 1726 1727 1728static const struct driconf_option application_368_options[] = { 1729 { .name = "radeonsi_sync_compile", .value = "true" }, 1730}; 1731 1732 1733static const struct driconf_option application_370_options[] = { 1734 { .name = "radeonsi_sync_compile", .value = "true" }, 1735}; 1736 1737 1738static const struct driconf_option application_372_options[] = { 1739 { .name = "radeonsi_sync_compile", .value = "true" }, 1740}; 1741 1742 1743static const struct driconf_option application_374_options[] = { 1744 { .name = "radeonsi_sync_compile", .value = "true" }, 1745}; 1746 1747 1748static const struct driconf_option application_376_options[] = { 1749 { .name = "radeonsi_no_infinite_interp", .value = "true" }, 1750}; 1751 1752 1753static const struct driconf_option application_378_options[] = { 1754 { .name = "radeonsi_zerovram", .value = "true" }, 1755}; 1756 1757 1758static const struct driconf_option application_380_options[] = { 1759 { .name = "radeonsi_zerovram", .value = "true" }, 1760}; 1761 1762 1763static const struct driconf_option application_382_options[] = { 1764 { .name = "radeonsi_sync_compile", .value = "true" }, 1765 { .name = "radeonsi_clamp_div_by_zero", .value = "true" }, 1766 { .name = "radeonsi_inline_uniforms", .value = "true" }, 1767 { .name = "radeonsi_shader_culling", .value = "true" }, 1768}; 1769 1770 1771static const struct driconf_option application_387_options[] = { 1772 { .name = "radeonsi_clamp_div_by_zero", .value = "true" }, 1773}; 1774 1775 1776static const struct driconf_option application_389_options[] = { 1777 { .name = "radeonsi_clamp_div_by_zero", .value = "true" }, 1778}; 1779 1780 1781static const struct driconf_option application_391_options[] = { 1782 { .name = "radeonsi_clamp_div_by_zero", .value = "true" }, 1783 { .name = "radeonsi_no_infinite_interp", .value = "true" }, 1784}; 1785 1786 1787static const struct driconf_option application_394_options[] = { 1788 { .name = "force_gl_vendor", .value = "X.Org" }, 1789}; 1790 1791 1792static const struct driconf_application device_344_applications[] = { 1793 { .name = "Half Life 2", 1794 .executable = "hl2_linux", 1795 .num_options = 1, 1796 .options = application_345_options, 1797 }, 1798 { .name = "Black Mesa", 1799 .executable = "bms_linux", 1800 .num_options = 1, 1801 .options = application_347_options, 1802 }, 1803 { .name = "Alien Isolation", 1804 .executable = "AlienIsolation", 1805 .num_options = 1, 1806 .options = application_349_options, 1807 }, 1808 { .name = "American Truck Simulator", 1809 .executable = "amtrucks", 1810 .num_options = 1, 1811 .options = application_351_options, 1812 }, 1813 { .name = "Counter-Strike Global Offensive", 1814 .executable = "csgo_linux64", 1815 .num_options = 3, 1816 .options = application_353_options, 1817 }, 1818 { .name = "Rocket League", 1819 .executable = "RocketLeague", 1820 .num_options = 1, 1821 .options = application_357_options, 1822 }, 1823 { .name = "DiRT Rally", 1824 .executable = "DirtRally", 1825 .num_options = 1, 1826 .options = application_359_options, 1827 }, 1828 { .name = "Gfx Bench", 1829 .executable = "gfxbench_gl", 1830 .num_options = 1, 1831 .options = application_361_options, 1832 }, 1833 { .name = "Monolith demo5", 1834 .executable = "runner", 1835 .sha1 = "0c40d509a74e357f0280cb1bd882e9cd94b91bdf", 1836 .num_options = 2, 1837 .options = application_363_options, 1838 }, 1839 { .name = "Memoranda / Riptale", 1840 .executable = "runner", 1841 .sha1 = "aa13dec6af63c88f308ebb487693896434a4db56", 1842 .num_options = 1, 1843 .options = application_366_options, 1844 }, 1845 { .name = "Nuclear Throne", 1846 .executable = "runner", 1847 .sha1 = "84814e8db125e889f5d9d4195a0ca72a871ea1fd", 1848 .num_options = 1, 1849 .options = application_368_options, 1850 }, 1851 { .name = "Undertale", 1852 .executable = "runner", 1853 .sha1 = "dfa302e7ec78641d0696dbbc1a06fc29f34ff1ff", 1854 .num_options = 1, 1855 .options = application_370_options, 1856 }, 1857 { .name = "Turmoil", 1858 .executable = "runner", 1859 .sha1 = "cbbf757aaab289859f8dae191a7d63afc30643d9", 1860 .num_options = 1, 1861 .options = application_372_options, 1862 }, 1863 { .name = "Peace, Death!", 1864 .executable = "runner", 1865 .sha1 = "5b909f3d21799773370adf084f649848f098234e", 1866 .num_options = 1, 1867 .options = application_374_options, 1868 }, 1869 { .name = "Kerbal Space Program", 1870 .executable = "KSP.x86_64", 1871 .num_options = 1, 1872 .options = application_376_options, 1873 }, 1874 { .name = "7 Days to Die", 1875 .executable = "7DaysToDie.x86_64", 1876 .num_options = 1, 1877 .options = application_378_options, 1878 }, 1879 { .name = "7 Days to Die", 1880 .executable = "7DaysToDie.x86", 1881 .num_options = 1, 1882 .options = application_380_options, 1883 }, 1884 { .name = "SPECviewperf13", 1885 .executable = "viewperf", 1886 .num_options = 4, 1887 .options = application_382_options, 1888 }, 1889 { .name = "Road Redemption", 1890 .executable = "RoadRedemption.x86_64", 1891 .num_options = 1, 1892 .options = application_387_options, 1893 }, 1894 { .name = "Wasteland 2", 1895 .executable = "WL2", 1896 .num_options = 1, 1897 .options = application_389_options, 1898 }, 1899 { .name = "Teardown", 1900 .executable = "teardown.exe", 1901 .num_options = 2, 1902 .options = application_391_options, 1903 }, 1904 { .name = "SpaceEngine", 1905 .executable = "SpaceEngine.exe", 1906 .num_options = 1, 1907 .options = application_394_options, 1908 }, 1909}; 1910 1911static const struct driconf_device device_344 = { 1912 .driver = "radeonsi", 1913 .num_engines = 0, 1914 .num_applications = 22, 1915 .applications = device_344_applications, 1916}; 1917 1918 1919 1920static const struct driconf_option application_397_options[] = { 1921 { .name = "vs_position_always_invariant", .value = "true" }, 1922}; 1923 1924 1925static const struct driconf_application device_396_applications[] = { 1926 { .name = "Middle Earth: Shadow of Mordor", 1927 .executable = "ShadowOfMordor", 1928 .num_options = 1, 1929 .options = application_397_options, 1930 }, 1931}; 1932 1933static const struct driconf_device device_396 = { 1934 .driver = "i965", 1935 .num_engines = 0, 1936 .num_applications = 1, 1937 .applications = device_396_applications, 1938}; 1939 1940 1941 1942static const struct driconf_option application_400_options[] = { 1943 { .name = "vs_position_always_invariant", .value = "true" }, 1944}; 1945 1946 1947static const struct driconf_application device_399_applications[] = { 1948 { .name = "Middle Earth: Shadow of Mordor", 1949 .executable = "ShadowOfMordor", 1950 .num_options = 1, 1951 .options = application_400_options, 1952 }, 1953}; 1954 1955static const struct driconf_device device_399 = { 1956 .driver = "iris", 1957 .num_engines = 0, 1958 .num_applications = 1, 1959 .applications = device_399_applications, 1960}; 1961 1962static const struct driconf_option engine_447_options[] = { 1963 { .name = "radv_zero_vram", .value = "true" }, 1964}; 1965 1966 1967static const struct driconf_option engine_449_options[] = { 1968 { .name = "radv_zero_vram", .value = "true" }, 1969 { .name = "radv_lower_discard_to_demote", .value = "true" }, 1970 { .name = "radv_disable_tc_compat_htile_general", .value = "true" }, 1971}; 1972 1973 1974static const struct driconf_engine device_402_engines[] = { 1975 { .engine_name_match = "vkd3d", 1976 .num_options = 1, 1977 .options = engine_447_options, 1978 }, 1979 { .engine_name_match = "Quantic Dream Engine", 1980 .num_options = 3, 1981 .options = engine_449_options, 1982 }, 1983}; 1984 1985 1986static const struct driconf_option application_403_options[] = { 1987 { .name = "radv_report_llvm9_version_string", .value = "true" }, 1988 { .name = "radv_invariant_geom", .value = "true" }, 1989}; 1990 1991 1992static const struct driconf_option application_406_options[] = { 1993 { .name = "radv_invariant_geom", .value = "true" }, 1994}; 1995 1996 1997static const struct driconf_option application_408_options[] = { 1998 { .name = "radv_enable_mrt_output_nan_fixup", .value = "true" }, 1999}; 2000 2001 2002static const struct driconf_option application_410_options[] = { 2003 { .name = "radv_no_dynamic_bounds", .value = "true" }, 2004 { .name = "radv_absolute_depth_bias", .value = "true" }, 2005}; 2006 2007 2008static const struct driconf_option application_413_options[] = { 2009 { .name = "radv_no_dynamic_bounds", .value = "true" }, 2010 { .name = "radv_absolute_depth_bias", .value = "true" }, 2011}; 2012 2013 2014static const struct driconf_option application_416_options[] = { 2015 { .name = "radv_no_dynamic_bounds", .value = "true" }, 2016 { .name = "radv_absolute_depth_bias", .value = "true" }, 2017}; 2018 2019 2020static const struct driconf_option application_419_options[] = { 2021 { .name = "radv_no_dynamic_bounds", .value = "true" }, 2022 { .name = "radv_absolute_depth_bias", .value = "true" }, 2023}; 2024 2025 2026static const struct driconf_option application_422_options[] = { 2027 { .name = "radv_disable_shrink_image_store", .value = "true" }, 2028 { .name = "radv_zero_vram", .value = "true" }, 2029}; 2030 2031 2032static const struct driconf_option application_425_options[] = { 2033 { .name = "radv_override_uniform_offset_alignment", .value = "16" }, 2034 { .name = "radv_disable_shrink_image_store", .value = "true" }, 2035 { .name = "radv_invariant_geom", .value = "true" }, 2036}; 2037 2038 2039static const struct driconf_option application_429_options[] = { 2040 { .name = "radv_no_dynamic_bounds", .value = "true" }, 2041}; 2042 2043 2044static const struct driconf_option application_431_options[] = { 2045 { .name = "radv_zero_vram", .value = "true" }, 2046}; 2047 2048 2049static const struct driconf_option application_433_options[] = { 2050 { .name = "radv_lower_discard_to_demote", .value = "true" }, 2051}; 2052 2053 2054static const struct driconf_option application_435_options[] = { 2055 { .name = "radv_invariant_geom", .value = "true" }, 2056}; 2057 2058 2059static const struct driconf_option application_437_options[] = { 2060 { .name = "radv_disable_dcc", .value = "true" }, 2061}; 2062 2063 2064static const struct driconf_option application_439_options[] = { 2065 { .name = "radv_disable_dcc", .value = "true" }, 2066}; 2067 2068 2069static const struct driconf_option application_441_options[] = { 2070 { .name = "radv_report_apu_as_dgpu", .value = "true" }, 2071}; 2072 2073 2074static const struct driconf_option application_443_options[] = { 2075 { .name = "radv_invariant_geom", .value = "true" }, 2076}; 2077 2078 2079static const struct driconf_option application_445_options[] = { 2080 { .name = "radv_disable_htile_layers", .value = "true" }, 2081}; 2082 2083 2084static const struct driconf_application device_402_applications[] = { 2085 { .name = "Shadow Of The Tomb Raider (Native)", 2086 .application_name_match = "ShadowOfTheTomb", 2087 .num_options = 2, 2088 .options = application_403_options, 2089 }, 2090 { .name = "Shadow Of The Tomb Raider (DX11/DX12)", 2091 .application_name_match = "SOTTR.exe", 2092 .num_options = 1, 2093 .options = application_406_options, 2094 }, 2095 { .name = "RAGE 2", 2096 .executable = "RAGE2.exe", 2097 .num_options = 1, 2098 .options = application_408_options, 2099 }, 2100 { .name = "Path of Exile (64-bit, Steam)", 2101 .executable = "PathOfExile_x64Steam.exe", 2102 .num_options = 2, 2103 .options = application_410_options, 2104 }, 2105 { .name = "Path of Exile (32-bit, Steam)", 2106 .executable = "PathOfExileSteam.exe", 2107 .num_options = 2, 2108 .options = application_413_options, 2109 }, 2110 { .name = "Path of Exile (64-bit)", 2111 .executable = "PathOfExile_x64.exe", 2112 .num_options = 2, 2113 .options = application_416_options, 2114 }, 2115 { .name = "Path of Exile (32-bit)", 2116 .executable = "PathOfExile.exe", 2117 .num_options = 2, 2118 .options = application_419_options, 2119 }, 2120 { .name = "The Surge 2", 2121 .application_name_match = "Fledge", 2122 .num_options = 2, 2123 .options = application_422_options, 2124 }, 2125 { .name = "World War Z (and World War Z: Aftermath)", 2126 .application_name_match = "WWZ|wwz", 2127 .num_options = 3, 2128 .options = application_425_options, 2129 }, 2130 { .name = "DOOM VFR", 2131 .application_name_match = "DOOM_VFR", 2132 .num_options = 1, 2133 .options = application_429_options, 2134 }, 2135 { .name = "DOOM Eternal", 2136 .application_name_match = "DOOMEternal", 2137 .num_options = 1, 2138 .options = application_431_options, 2139 }, 2140 { .name = "No Man's Sky", 2141 .application_name_match = "No Man's Sky", 2142 .num_options = 1, 2143 .options = application_433_options, 2144 }, 2145 { .name = "Monster Hunter World", 2146 .application_name_match = "MonsterHunterWorld.exe", 2147 .num_options = 1, 2148 .options = application_435_options, 2149 }, 2150 { .name = "DOOM (2016)", 2151 .application_name_match = "DOOM$", 2152 .num_options = 1, 2153 .options = application_437_options, 2154 }, 2155 { .name = "Wolfenstein II", 2156 .application_name_match = "Wolfenstein II The New Colossus", 2157 .num_options = 1, 2158 .options = application_439_options, 2159 }, 2160 { .name = "RDR2", 2161 .application_name_match = "Red Dead Redemption 2", 2162 .num_options = 1, 2163 .options = application_441_options, 2164 }, 2165 { .name = "Resident Evil Village", 2166 .application_name_match = "re8.exe", 2167 .num_options = 1, 2168 .options = application_443_options, 2169 }, 2170 { .name = "F1 2021", 2171 .application_name_match = "F1_2021_dx12.exe", 2172 .num_options = 1, 2173 .options = application_445_options, 2174 }, 2175}; 2176 2177static const struct driconf_device device_402 = { 2178 .driver = "radv", 2179 .num_engines = 2, 2180 .engines = device_402_engines, 2181 .num_applications = 18, 2182 .applications = device_402_applications, 2183}; 2184 2185 2186 2187static const struct driconf_option application_454_options[] = { 2188 { .name = "force_gl_renderer", .value = "Adreno (TM) 618" }, 2189 { .name = "force_gl_vendor", .value = "Qualcomm" }, 2190}; 2191 2192 2193static const struct driconf_option application_457_options[] = { 2194 { .name = "force_gl_renderer", .value = "Adreno (TM) 630" }, 2195 { .name = "force_gl_vendor", .value = "Qualcomm" }, 2196}; 2197 2198 2199static const struct driconf_option application_460_options[] = { 2200 { .name = "force_gl_renderer", .value = "Adreno (TM) 618" }, 2201 { .name = "force_gl_vendor", .value = "Qualcomm" }, 2202}; 2203 2204 2205static const struct driconf_option application_463_options[] = { 2206 { .name = "force_gl_renderer", .value = "Adreno (TM) 630" }, 2207 { .name = "force_gl_vendor", .value = "Qualcomm" }, 2208}; 2209 2210 2211static const struct driconf_application device_453_applications[] = { 2212 { .name = "Call of Duty Mobile", 2213 .executable = "com.activision.callofduty.shooter", 2214 .num_options = 2, 2215 .options = application_454_options, 2216 }, 2217 { .name = "Asphalt 8", 2218 .executable = "com.gameloft.android.ANMP.GloftA8HM", 2219 .num_options = 2, 2220 .options = application_457_options, 2221 }, 2222 { .name = "Asphalt 9", 2223 .executable = "com.gameloft.android.ANMP.GloftA9HM", 2224 .num_options = 2, 2225 .options = application_460_options, 2226 }, 2227 { .name = "PUBG Mobile", 2228 .executable = "com.tencent.ig", 2229 .num_options = 2, 2230 .options = application_463_options, 2231 }, 2232}; 2233 2234static const struct driconf_device device_453 = { 2235 .driver = "msm", 2236 .device = "FD618", 2237 .num_engines = 0, 2238 .num_applications = 4, 2239 .applications = device_453_applications, 2240}; 2241 2242static const struct driconf_device *driconf[] = { 2243 &device_1, 2244 &device_339, 2245 &device_344, 2246 &device_396, 2247 &device_399, 2248 &device_402, 2249 &device_453, 2250}; 2251