virgl: lower FMA and MULADD

On the host we emit this as separate ops anyway, so avoid
wired optimizations in the guest that might introduce
difficult to optimize dependencies.

v2: update trace expectations - some minor accuracy changes
    are to be expected when fma is handled differently

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20182>
This commit is contained in:
Gert Wollny 2022-11-14 13:52:53 +01:00 committed by Marge Bot
parent 8d10a6835f
commit b6616b036f
3 changed files with 9 additions and 7 deletions

View file

@ -12,7 +12,7 @@ traces:
checksum: c377f21f7bfaca0c04983612e7c9a7bb
gputest/pixmark-piano-v2.trace:
gl-virgl:
checksum: b284da2f0666e1b5fcdecbc3ab8e4270
checksum: 85620a20ed358db81a33ad117fd93739
gputest/triangle-v2.trace:
gl-virgl:
checksum: 5f694874b15bcd7a3689b387c143590b
@ -33,7 +33,7 @@ traces:
checksum: 1760aea00af985b8cd902128235b08f6
gputest/pixmark-volplosion-v2.trace:
gl-virgl:
checksum: 00642d04fd37eca519d07f7f345f6b9c
checksum: c4ae80a143de76e137e5dd406586a459
gputest/plot3d-v2.trace:
gl-virgl:
checksum: 56f11d133f72712a6df13855ec00cdb0
@ -89,7 +89,7 @@ traces:
checksum: b36c25e52624cbf8dab73b6acecb8e84
supertuxkart/supertuxkart-mansion-egl-gles-v2.trace:
gl-virgl:
checksum: e3f0df3f1162f7e9658b9c9225f0c28c
checksum: 5f09cbda043d1b6ee41ab287209e903d
xonotic/xonotic-keybench-high-v2.trace:
gl-virgl:
checksum: 181424f3afd256108be63d8ea0669b6b
@ -117,7 +117,7 @@ traces:
label: [crash]
godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc:
gl-virgl:
checksum: 2703d52248a4c6e76a4e748f31f7fb4d
checksum: 9f73f0d775b579a6bd15a75f86d956a2
ror/ror-default.trace:
gl-virgl:
label: [crash]

View file

@ -60,7 +60,7 @@ traces:
checksum: 2eb71553403ad8e0171abc9dc25e5bc1
itoral-gl-terrain-demo/demo-v2.trace:
gl-virgl:
checksum: 37780a6eaa38a55700e8207e89009f56
checksum: 716d4fe36a6212b161285fed8a423ee8
neverball/neverball-v2.trace:
gl-virgl:
checksum: 0b8ae7dd4f7f26c3278ded8a5694b983
@ -87,7 +87,7 @@ traces:
checksum: f4af4067b37c00861fa5911e4c0a6629
supertuxkart/supertuxkart-mansion-egl-gles-v2.trace:
gl-virgl:
checksum: cc7092975dd6c9064aa54cd7f18053b6
checksum: 4ac8b872bfa701632d76801a3f77c5db
xonotic/xonotic-keybench-high-v2.trace:
gl-virgl:
checksum: f3b184bf8858a6ebccd09e7ca032197e
@ -114,7 +114,7 @@ traces:
label: [crash]
godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc:
gl-virgl:
checksum: 232eb48d6689c0117e3cc1660af7f32d
checksum: 0258b50142f47396b4ad1d9d6d6331cf
ror/ror-default.trace:
gl-virgl:
label: [crash]

View file

@ -1176,6 +1176,8 @@ virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *c
screen->compiler_options.lower_ffloor = true;
screen->compiler_options.lower_fneg = true;
}
screen->compiler_options.lower_ffma32 = true;
screen->compiler_options.fuse_ffma32 = false;
slab_create_parent(&screen->transfer_pool, sizeof(struct virgl_transfer), 16);