diff options
author | Ian Romanick <[email protected]> | 2019-06-03 15:22:15 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2019-07-11 10:20:03 -0700 |
commit | 1259f6d80215152e647b5c32db4fad32e420d495 (patch) | |
tree | 353a8c5eae4be4e57c748073e9a327ba9e579b9d /src/intel/compiler | |
parent | 3a1fdca5ad206f578b0d54a490a8bf6f199c8851 (diff) |
nir: intel/vec4: Add flag to disable some algebraic optimizations
A couple patches later in this series use the flag to avoid a few
thousand shader-db regresions on all vec4 platforms.
I'm not particularly enamored with the name of this flag. However, I
suspect the Intel vec4 backend is the only backend that will benefit
from it. Specifically, the cases where this helps are all cases where
we want to prevent nir_opt_algebraic from rearranging instructions to
create 3-source instructions, such as ffma and flrp, with additional
immediate value or uniform sources.
The earlier commit "intel/vec4: Try to emit a single load for multiple
3-src instruction operands" solves most of the problems caused by
additional immediate values, but the restrictions on register strides
that cause problems for uniforms and shader inputs persist.
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/intel/compiler')
-rw-r--r-- | src/intel/compiler/brw_compiler.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c index eb1f3808fbc..3a80f807b87 100644 --- a/src/intel/compiler/brw_compiler.c +++ b/src/intel/compiler/brw_compiler.c @@ -82,6 +82,7 @@ static const struct nir_shader_compiler_options vector_nir_options = { .lower_unpack_unorm_2x16 = true, .lower_extract_byte = true, .lower_extract_word = true, + .intel_vec4 = true, .max_unroll_iterations = 32, }; |