nir: Add missing dependency on nir_opcodes.py

Commit 38800b38 changed nir_opcodes.py, but that doesn't seem to have
triggered nir_opt_algebraic.py.  The change in 75ef5991 depends on
opt_algebraic lowering 16-bit versions of slt, but if opt_algebraic is
not rebuilt, this may not happen.  This resulted in some people seeing
assertion failures in, for example,
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_3.step,
due to the backend seeing nir_op_slt that it didn't know how to handle.

v2: Add nir_opcodes.py to nir_algebraic_py so that all the per-driver
algebraic passes pick up the dependency too.  Rename it to
nir_algebraic_depends.  Suggested by Emma.

Closes: #6047
Fixes: d1992255bb ("meson: Add build Intel "anv" vulkan driver")
Reviewed-by: Emma Anholt <emma@anholt.net>
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15050>
(cherry picked from commit a01b262990)
This commit is contained in:
Ian Romanick 2022-02-16 14:02:16 -08:00 committed by Eric Engestrom
parent 087e2d4d72
commit 45b0d0817f
9 changed files with 12 additions and 12 deletions

View file

@ -1858,7 +1858,7 @@
"description": "nir: Add missing dependency on nir_opcodes.py",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "d1992255bb29054fa51763376d125183a9f602f3"
},

View file

@ -20,6 +20,8 @@
nir_depends = files('nir_opcodes.py', 'nir_intrinsics.py')
nir_algebraic_depends = files('nir_opcodes.py', 'nir_algebraic.py')
nir_builder_opcodes_h = custom_target(
'nir_builder_opcodes.h',
input : 'nir_builder_opcodes_h.py',
@ -62,7 +64,7 @@ nir_opt_algebraic_c = custom_target(
output : 'nir_opt_algebraic.c',
command : [prog_python, '@INPUT@'],
capture : true,
depend_files : files('nir_algebraic.py'),
depend_files : nir_algebraic_depends,
)
nir_intrinsics_h = custom_target(
@ -366,8 +368,6 @@ idep_nir = declare_dependency(
link_with : _libnir,
)
nir_algebraic_py = files('nir_algebraic.py')
if with_tests
test(
'nir_builder',

View file

@ -27,7 +27,7 @@ ir3_nir_trig_c = custom_target(
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
capture : true,
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
)
ir3_nir_imul_c = custom_target(
@ -39,7 +39,7 @@ ir3_nir_imul_c = custom_target(
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
capture : true,
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
)
ir3_parser = custom_target(

View file

@ -92,7 +92,7 @@ lima_nir_algebraic_c = custom_target(
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
capture : true,
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
)
liblima = static_library(

View file

@ -71,7 +71,7 @@ zink_nir_algebraic_c = custom_target(
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
capture : true,
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
)
zink_c_args = []

View file

@ -143,7 +143,7 @@ brw_nir_trig = custom_target(
prog_python, '@INPUT@',
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
capture : true,
)

View file

@ -41,7 +41,7 @@ dxil_nir_algebraic_c = custom_target(
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
capture : true,
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
)
libdxil_compiler = static_library(

View file

@ -116,7 +116,7 @@ bifrost_nir_algebraic_c = custom_target(
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
capture : true,
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
)
libpanfrost_bifrost_disasm = static_library(

View file

@ -52,7 +52,7 @@ midgard_nir_algebraic_c = custom_target(
'-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
],
capture : true,
depend_files : nir_algebraic_py,
depend_files : nir_algebraic_depends,
)
libpanfrost_midgard_disasm = static_library(