freedreno/tools: Fix build failure when cffdump isn't built but tests are.
Can't test the tool if we don't build it. Move the other test definition
next to the tool, too.
Fixes: 82b5c95265
("freedreno: Move crashdec/cffdec tests to be meson unit tests.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13183>
This commit is contained in:
@@ -18,6 +18,10 @@
|
|||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
|
|
||||||
|
if with_tests
|
||||||
|
diff = find_program('diff')
|
||||||
|
endif
|
||||||
|
|
||||||
# Shared cmdstream decoding:
|
# Shared cmdstream decoding:
|
||||||
libfreedreno_cffdec = static_library(
|
libfreedreno_cffdec = static_library(
|
||||||
'freedreno_cffdec',
|
'freedreno_cffdec',
|
||||||
@@ -93,6 +97,37 @@ if dep_lua.found() and dep_libarchive.found()
|
|||||||
build_by_default: with_tools.contains('freedreno'),
|
build_by_default: with_tools.contains('freedreno'),
|
||||||
install: install_fd_decode_tools,
|
install: install_fd_decode_tools,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if with_tests
|
||||||
|
# dump only a single frame, and single tile pass, to keep the
|
||||||
|
# reference output size managable
|
||||||
|
cffdump_tests = [
|
||||||
|
['fd-clouds', ['--frame', '0', '--once']],
|
||||||
|
['es2gears-a320', ['--frame', '0', '--once']],
|
||||||
|
['glxgears-a420', ['--frame', '1', '--once']],
|
||||||
|
['dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d', ['--once']],
|
||||||
|
['dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list', ['--frame', '0', '--once']],
|
||||||
|
# Test a lua script to ensure we don't break scripting API
|
||||||
|
['shadow', ['--script', files(join_paths(meson.current_source_dir(), 'scripts', 'parse-submits.lua'))]],
|
||||||
|
]
|
||||||
|
foreach cffdump_test: cffdump_tests
|
||||||
|
name = cffdump_test[0]
|
||||||
|
args = cffdump_test[1]
|
||||||
|
|
||||||
|
log = custom_target(name + '.log',
|
||||||
|
output: name + '.log',
|
||||||
|
command: [cffdump, '--unit-test', args, files('../.gitlab-ci/traces/' + name + '.rd.gz')],
|
||||||
|
capture: true,
|
||||||
|
)
|
||||||
|
test('cffdump-' + name,
|
||||||
|
diff,
|
||||||
|
args: ['-u', files('../.gitlab-ci/reference/' + name + '.log'), log],
|
||||||
|
suite: 'freedreno',
|
||||||
|
workdir: meson.source_root()
|
||||||
|
)
|
||||||
|
|
||||||
|
endforeach
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
crashdec = executable(
|
crashdec = executable(
|
||||||
@@ -113,6 +148,20 @@ crashdec = executable(
|
|||||||
install: install_fd_decode_tools,
|
install: install_fd_decode_tools,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if with_tests
|
||||||
|
crashdec_output = custom_target('crashdec.txt',
|
||||||
|
output: 'crashdec.txt',
|
||||||
|
command: [crashdec, '-sf', files('../.gitlab-ci/traces/crash.devcore')],
|
||||||
|
capture: true
|
||||||
|
)
|
||||||
|
test('crashdec',
|
||||||
|
diff,
|
||||||
|
args: ['-u', files('../.gitlab-ci/reference/crash.log'), crashdec_output],
|
||||||
|
suite: 'freedreno',
|
||||||
|
workdir: meson.source_root()
|
||||||
|
)
|
||||||
|
endif
|
||||||
|
|
||||||
if dep_libarchive.found()
|
if dep_libarchive.found()
|
||||||
pgmdump = executable(
|
pgmdump = executable(
|
||||||
'pgmdump',
|
'pgmdump',
|
||||||
@@ -153,49 +202,3 @@ if dep_libarchive.found()
|
|||||||
install: false,
|
install: false,
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if with_tests
|
|
||||||
diff = find_program('diff')
|
|
||||||
|
|
||||||
crashdec_output = custom_target('crashdec.txt',
|
|
||||||
output: 'crashdec.txt',
|
|
||||||
command: [crashdec, '-sf', files('../.gitlab-ci/traces/crash.devcore')],
|
|
||||||
capture: true
|
|
||||||
)
|
|
||||||
test('crashdec',
|
|
||||||
diff,
|
|
||||||
args: ['-u', files('../.gitlab-ci/reference/crash.log'), crashdec_output],
|
|
||||||
suite: 'freedreno',
|
|
||||||
workdir: meson.source_root()
|
|
||||||
)
|
|
||||||
|
|
||||||
# dump only a single frame, and single tile pass, to keep the
|
|
||||||
# reference output size managable
|
|
||||||
cffdump_tests = [
|
|
||||||
['fd-clouds', ['--frame', '0', '--once']],
|
|
||||||
['es2gears-a320', ['--frame', '0', '--once']],
|
|
||||||
['glxgears-a420', ['--frame', '1', '--once']],
|
|
||||||
['dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d', ['--once']],
|
|
||||||
['dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list', ['--frame', '0', '--once']],
|
|
||||||
# Test a lua script to ensure we don't break scripting API
|
|
||||||
['shadow', ['--script', files(join_paths(meson.current_source_dir(), 'scripts', 'parse-submits.lua'))]],
|
|
||||||
]
|
|
||||||
foreach cffdump_test: cffdump_tests
|
|
||||||
name = cffdump_test[0]
|
|
||||||
args = cffdump_test[1]
|
|
||||||
|
|
||||||
log = custom_target(name + '.log',
|
|
||||||
output: name + '.log',
|
|
||||||
command: [cffdump, '--unit-test', args, files('../.gitlab-ci/traces/' + name + '.rd.gz')],
|
|
||||||
capture: true,
|
|
||||||
)
|
|
||||||
test('cffdump-' + name,
|
|
||||||
diff,
|
|
||||||
args: ['-u', files('../.gitlab-ci/reference/' + name + '.log'), log],
|
|
||||||
suite: 'freedreno',
|
|
||||||
workdir: meson.source_root()
|
|
||||||
)
|
|
||||||
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
Reference in New Issue
Block a user