Skip to content

freedreno/drm: Used cached coherent buffers (when avail) for cmdstream

Rob Clark requested to merge robclark/mesa:drm/cached-cmdstream into main

Some more extreme examples, like gl_driver2_off, can be bottlenecked on writes to cmdstream. OTOH the CP is pretty pipelined in how it slurps in memory, so the penalty of using coherent buffers should not be so much.

The play store perf traces seem to like this:

Results: (21/∞ iterations)
./hay_day:                        +5.7% +/-  11.1% (85.1 -> 89.9 fps)
./ragnarok_m_eternal_love:        +5.3% +/-  13.5% (39.7 -> 41.8 fps)
./nba2k20_800:                    +3.4% +/-  19.1% (38.9 -> 40.2 fps)
./standoff_2:                     +2.8% +/-   9.0% (73.4 -> 75.4 fps)
./world_of_tanks_blitz:           +2.7% +/-   1.1% (94.7 -> 97.2 fps)
./fallout_shelter_online:         +1.7% +/-   3.9% (89.5 -> 91.1 fps)
./free_fire:                      +1.6% +/-   6.7% (91.6 -> 93.1 fps)
./minecraft:                      +1.5% +/-   6.9% (62.6 -> 63.5 fps)
./efootball_pes_2021:             +1.3% +/-   6.2% (89.9 -> 91.1 fps)
./candy_crush_500:                +1.2% +/-   3.5% (118.6 -> 120.0 fps)
./asphalt_8:                      +1.2% +/-   1.0% (65.9 -> 66.6 fps)
./shadow_fight_2:                 +1.0% +/-   3.0% (74.7 -> 75.5 fps)
./talking_tom_hero_dash:          +0.9% +/-   0.5% (109.9 -> 110.8 fps)
./fifa_mobile:                    +0.9% +/-   1.4% (67.5 -> 68.1 fps)
./car_parking_multiplayer:        +0.9% +/-   0.7% (37.6 -> 37.9 fps)
./one_punch_man:                  +0.8% +/-   0.2% (34.5 -> 34.8 fps)
./plants_vs_zombies_2:            +0.8% +/-   3.5% (84.7 -> 85.4 fps)
./egypt_1500:                     +0.8% +/-   0.4% (49.8 -> 50.2 fps)
./eight_ball_pool:                +0.8% +/-   0.5% (49.4 -> 49.7 fps)
./klondike_adventures:            +0.7% +/-   5.4% (118.5 -> 119.4 fps)
./rope_hero_vice_town:            +0.6% +/-   0.5% (38.3 -> 38.6 fps)
./real_gangster_crime:            +0.6% +/-   0.8% (106.2 -> 106.8 fps)
./lineage_m:                      +0.5% +/-   0.3% (48.0 -> 48.2 fps)
./mobile_legends:                 +0.5% +/-   3.2% (73.5 -> 73.8 fps)
./brawl_stars:                    +0.4% +/-   1.4% (120.1 -> 120.5 fps)
./manhattan_10:                   +0.3% +/-   0.4% (23.9 -> 24.0 fps)
./manhattan_31:                   +0.3% +/-   0.2% (11.9 -> 11.9 fps)
./dragon_raja:                    +0.3% +/-   6.5% (66.8 -> 67.0 fps)
./cod_mobile:                     +0.3% +/-   1.2% (72.2 -> 72.4 fps)
./trex_200:                       +0.2% +/-   0.3% (41.0 -> 41.1 fps)
./lego_legacy:                    +0.2% +/-   0.3% (28.3 -> 28.4 fps)
./real_commando_secret_mission:   +0.2% +/-   0.9% (70.9 -> 71.1 fps)
./avakin_life:                    +0.2% +/-   1.0% (106.3 -> 106.5 fps)
./real_cricket_20:                +0.1% +/-   0.5% (53.1 -> 53.1 fps)
./hearthstone:                    +0.1% +/-   0.4% (60.2 -> 60.3 fps)
./temple_run_2:                   +0.1% +/-   1.0% (116.2 -> 116.3 fps)
./raid_shadow_legends:            +0.1% +/-   0.6% (124.5 -> 124.6 fps)
./temple_run_300:                 +0.1% +/-   0.1% (120.4 -> 120.5 fps)
./extreme_car_driving_simulator:  +0.1% +/-   0.7% (104.3 -> 104.4 fps)
./junes_journey:                  +0.0% +/-   0.5% (100.3 -> 100.3 fps)
./fate_grand_order:               +0.0% +/-   1.3% (66.8 -> 66.8 fps)
./aztec_ruins:                    +0.0% +/-   0.7% (10.4 -> 10.4 fps)
./sniper_3d:                      +0.0% +/-   0.2% (60.3 -> 60.3 fps)
./clash_of_clans:                 +0.0% +/-   0.1% (120.1 -> 120.1 fps)
./arena_of_valor:                 -0.0% +/-   0.3% (121.4 -> 121.4 fps)
./worms_zone_io:                  -0.0% +/-   0.1% (120.1 -> 120.0 fps)
./angry_birds_2_1500:             -0.0% +/-   1.7% (89.7 -> 89.6 fps)
./league_of_legends_wild_rift:    -0.0% +/-   1.1% (56.1 -> 56.1 fps)
./dragon_ball_legends:            -0.1% +/-   0.3% (121.5 -> 121.4 fps)
./clash_royale:                   -0.1% +/-   0.3% (120.1 -> 120.0 fps)
./subway_surfers:                 -0.1% +/-   0.9% (122.0 -> 121.9 fps)
./hill_climb_racing:              -0.2% +/-   0.7% (120.2 -> 120.0 fps)
./bus_simulator_indonesia:        -0.2% +/-   1.3% (78.4 -> 78.2 fps)
./marvel_contest_of_champions:    -0.3% +/-   2.2% (47.7 -> 47.6 fps)
./kartrider_rush:                 -0.3% +/-   3.5% (121.7 -> 121.2 fps)
./world_war_doh:                  -0.4% +/-   0.8% (47.3 -> 47.1 fps)
./romancing_saga:                 -0.4% +/-   2.8% (78.8 -> 78.5 fps)
./saint_seiya_awakening:          -0.6% +/-   2.5% (91.1 -> 90.6 fps)
./rise_of_kingdoms:               -0.6% +/-   2.7% (122.0 -> 121.3 fps)
./among_us:                       -0.9% +/-   1.2% (123.6 -> 122.5 fps)
Edited by Rob Clark

Merge request reports

Loading