freedreno/drm: Used cached coherent buffers (when avail) for cmdstream
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