mesa/src/compiler/spirv
Rhys Perry f6f9000f84 spirv: create ffma more often
We will not be able to combine instructions into ffma later if they are
exact, so create them from the start. They can be lowered later if they
are unwanted.

fossil-db (GFX10.3):
Totals from 14697 (10.05% of 146267) affected shaders:
VGPRs: 645736 -> 614168 (-4.89%)
CodeSize: 59312768 -> 58735352 (-0.97%); split: -0.97%, +0.00%
MaxWaves: 372900 -> 376666 (+1.01%)
Instrs: 11339280 -> 11120882 (-1.93%); split: -1.93%, +0.00%
Latency: 284874519 -> 285277327 (+0.14%); split: -0.10%, +0.24%
InvThroughput: 68791374 -> 68526739 (-0.38%); split: -0.49%, +0.10%

fossil-db (GFX10):
Totals from 11039 (7.55% of 146267) affected shaders:
CodeSize: 54785444 -> 54785268 (-0.00%); split: -0.00%, +0.00%
Instrs: 10401349 -> 10401396 (+0.00%); split: -0.00%, +0.00%
Latency: 277781803 -> 278572890 (+0.28%); split: -0.00%, +0.29%
InvThroughput: 65035902 -> 65100855 (+0.10%); split: -0.00%, +0.10%

fossil-db (GFX9):
Totals from 24055 (16.43% of 146401) affected shaders:
SGPRs: 1790704 -> 1790640 (-0.00%)
VGPRs: 1105736 -> 1105716 (-0.00%)
CodeSize: 110944732 -> 110948812 (+0.00%); split: -0.00%, +0.01%
Instrs: 21609095 -> 21610227 (+0.01%); split: -0.00%, +0.01%
Latency: 756137596 -> 756145812 (+0.00%); split: -0.02%, +0.02%
InvThroughput: 344103825 -> 344112245 (+0.00%); split: -0.00%, +0.01%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8056>
2021-08-16 17:19:45 +00:00
..
tests spirv: Initialize spirv_test member shader. 2020-09-09 22:24:09 +00:00
gl_spirv.c spirv: workaround setjmp/longjmp crash on MinGW 2020-11-18 13:53:36 +00:00
GLSL.ext.AMD.h spirv: import AMD extensions header from glslang 2018-03-07 23:09:58 +01:00
GLSL.std.450.h spirv: bump headers to SPIRV 1.1 2017-01-25 17:22:23 +00:00
meson.build spirv: add and use a generator id enum 2020-10-12 11:07:38 +00:00
nir_load_libclc.c nir_load_libclc: Mark libclc shader as internal 2020-11-18 04:05:37 +00:00
nir_lower_libclc.c nir/libclc: handle null callee name when lowering 2021-08-06 00:09:17 +00:00
nir_spirv.h spirv_to_nir: Add environment variable to change default log level 2021-06-22 13:59:43 +03:00
OpenCL.std.h spirv: Update the OpenCL.std.h header 2019-06-04 12:12:51 -07:00
spir-v.xml spirv: Update headers and metadata from latest Khronos commit 2021-06-25 22:41:32 +00:00
spirv.core.grammar.json spirv: Update headers and metadata from latest Khronos commit 2021-06-25 22:41:32 +00:00
spirv.h spirv: Update headers and metadata from latest Khronos commit 2021-06-25 22:41:32 +00:00
spirv2nir.c spirv2nir: Add --opengl (-g) argument for OpenGL SPIR-V 2020-12-22 09:34:00 -08:00
spirv_info.h spirv: vtn_fail with a nice message on unsupported rounding modes 2020-09-25 01:43:28 +00:00
spirv_info_c.py spirv: vtn_fail with a nice message on unsupported rounding modes 2020-09-25 01:43:28 +00:00
spirv_to_nir.c vtn: add support for atomic flag test/set/clear 2021-08-06 11:11:04 +10:00
vtn_alu.c spirv: create ffma more often 2021-08-16 17:19:45 +00:00
vtn_amd.c nir,amd: Suffix nir_op_cube_face_coord/index with _amd 2021-06-21 09:03:34 -05:00
vtn_cfg.c spirv: Fix handling of OpBranchConditional with same THEN and ELSE 2021-06-17 20:05:39 +00:00
vtn_gather_types_c.py spirv: Handle instruction aliases in vtn_gather_types 2020-04-24 05:56:05 +00:00
vtn_generator_ids_h.py android: fix SPIR-V -> NIR build 2020-10-12 22:26:05 +00:00
vtn_glsl450.c spirv: create ffma more often 2021-08-16 17:19:45 +00:00
vtn_opencl.c vtn: Use relaxed 24bit opcodes for CL 24bit math 2021-05-05 22:06:42 +00:00
vtn_private.h spirv: Fix handling of OpBranchConditional with same THEN and ELSE 2021-06-17 20:05:39 +00:00
vtn_subgroup.c spirv: Implement SpvCapabilitySubgroupShuffleINTEL from SPV_INTEL_subgroups 2020-11-04 20:24:48 +00:00
vtn_variables.c spirv: set medium precision with RelaxedPrecision decorator 2021-07-29 03:48:43 +00:00