diff options
author | Eero Tamminen <eero.t.tamminen@intel.com> | 2017-09-12 17:33:21 +0300 |
---|---|---|
committer | Martin Peres <martin.peres@linux.intel.com> | 2017-10-04 19:04:39 +0300 |
commit | c0711aef8a21d431e758de37dfc86d7704fc8218 (patch) | |
tree | 3bf7698ad4245d6084cb6e3a3951a4bf2cd89ccc | |
parent | c27955fce7a4079fef8b22f442872bdde9c3d96e (diff) |
test/vktrace_validate: support multiple frames per trace
Had missed that vkreplay also accepts comma separate list of frames.
Update documentation accordingly.
-rwxr-xr-x | tests.d/vulkan/vktrace_validate.test | 35 | ||||
-rw-r--r-- | user_parameters.sh.sample | 4 |
2 files changed, 23 insertions, 16 deletions
diff --git a/tests.d/vulkan/vktrace_validate.test b/tests.d/vulkan/vktrace_validate.test index 3ba9d2f..490b054 100755 --- a/tests.d/vulkan/vktrace_validate.test +++ b/tests.d/vulkan/vktrace_validate.test @@ -19,34 +19,39 @@ test -x "${VKREPLAY_BINARY}" || return 1 # 1 argument: $trace function __vkreplay_validate_run__ { local trace=$1 + local image local frame - local oldname + local frames local newname + local imgcount local sha output=${run_log_file}_tmp mkdir -p "$output" pushd "$output" >/dev/null - # for now, vktrace supports just one frame - frame=$(head -1 "${trace}.validate"|cut -d, -f1) + # comma separated frame numbers + frames=$(head -1 "${trace}.validate") - run_bench 0 "${VKREPLAY_BINARY}" -s ${frame}-1-1 -o "$trace" >/dev/null 2>&1 - oldname=$frame.ppm - if [ \! -f "$oldname" ]; then - touch "$oldname" - echo "ERROR: no image; Vulkan replay failure, or screenshot layer missing!" 1>&2 - fi - - # store file under its own SHA to get free de-duplication - sha=$(sha1sum $oldname | cut -d' ' -f1) - newname=$sha.png - convert $oldname ../$newname + run_bench 0 "${VKREPLAY_BINARY}" -s ${frames} -o "$trace" >/dev/null 2>&1 - echo "$frame,$newname" + imgcount=0 + for image in *.ppm; do + frame=${image%.ppm} + # store file under its own SHA to get free de-duplication + sha=$(sha1sum $image | cut -d' ' -f1) + newname=$sha.png + convert $image ../$newname + echo "$frame,$newname" + imgcount=$(($imgcount+1)) + done popd >/dev/null rm -r "$output" + + if [ $imgcount -eq 0 ]; then + echo "ERROR: no images - Vulkan replay failure, screenshot layer missing, or no screenshots specified!" 1>&2 + fi } for framefile in "${VKREPLAY_TRACE_FOLDER}/"*.validate; do diff --git a/user_parameters.sh.sample b/user_parameters.sh.sample index 315306e..a0f4256 100644 --- a/user_parameters.sh.sample +++ b/user_parameters.sh.sample @@ -69,6 +69,7 @@ GLRETRACE_BINARY=/usr/bin/glretrace # Notes: # - Frames are ID'd by their Apitrace GL/ES call numbers # - Only the first line in benchmark & validate files is significant, rest can be comments +# - Numbers are separated by commas, without any whitespace! # # For example: # - dota2:tutorial:high:1080p.trace @@ -84,7 +85,8 @@ VKREPLAY_BINARY=/usr/bin/vkreplay # VulkanTools screenshot layer location (needed for validation) for Vulkan loader VK_LAYER_PATH=/usr/lib/VulkanTools/layersvt/ -# Traces and files listing which frame in them is to be validated are named as: +# Traces, and files containing comma separate list of frames to +# validate from them, are named as: # <name>.vktrace # <name>.vktrace.validate # Only the first line in validate files is significant, rest can be comments |