mirror of
https://gitee.com/openharmony/third_party_vulkan-loader
synced 2024-11-23 23:29:44 +00:00
bebf064ad4
Change-Id: I482e3fa6b959983d427caef4de7d703b6f7003c2
134 lines
3.7 KiB
Bash
Executable File
134 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
pushd $(dirname "$0") > /dev/null
|
|
|
|
# Check for insertion of wrap-objects layer.
|
|
output=$(VK_LAYER_PATH=$VK_LAYER_PATH:`pwd`/layers \
|
|
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/layers \
|
|
VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_wrap_objects \
|
|
VK_LOADER_DEBUG=all \
|
|
GTEST_FILTER=WrapObjects.Insert \
|
|
./vk_loader_validation_tests 2>&1)
|
|
|
|
echo "$output" | grep -q "Insert instance layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Insertion test FAILED - wrap-objects not detected in instance layers" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "$output" | grep -q "Insert device layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Insertion test FAILED - wrap-objects not detected in device layers" >&2
|
|
exit 1
|
|
fi
|
|
echo "Insertion test PASSED"
|
|
|
|
# Check for insertion of wrap-objects layer in front.
|
|
output=$(VK_LAYER_PATH=$VK_LAYER_PATH:`pwd`/layers \
|
|
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/layers \
|
|
VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_parameter_validation:VK_LAYER_LUNARG_wrap_objects \
|
|
VK_LOADER_DEBUG=all \
|
|
GTEST_FILTER=WrapObjects.Insert \
|
|
./vk_loader_validation_tests 2>&1)
|
|
|
|
echo "$output" | grep -q "Insert instance layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Front insertion test FAILED - wrap-objects not detected in instance layers" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "$output" | grep -q "Insert device layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Front insertion test FAILED - wrap-objects not detected in device layers" >&2
|
|
exit 1
|
|
fi
|
|
echo "Front insertion test PASSED"
|
|
|
|
# Check for insertion of wrap-objects layer in back.
|
|
output=$(VK_LAYER_PATH=$VK_LAYER_PATH:`pwd`/layers \
|
|
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/layers \
|
|
VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_wrap_objects:VK_LAYER_LUNARG_parameter_validation \
|
|
VK_LOADER_DEBUG=all \
|
|
GTEST_FILTER=WrapObjects.Insert \
|
|
./vk_loader_validation_tests 2>&1)
|
|
|
|
echo "$output" | grep -q "Insert instance layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Back insertion test FAILED - wrap-objects not detected in instance layers" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "$output" | grep -q "Insert device layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Back insertion test FAILED - wrap-objects not detected in device layers" >&2
|
|
exit 1
|
|
fi
|
|
echo "Back insertion test PASSED"
|
|
|
|
# Check for insertion of wrap-objects layer in middle.
|
|
output=$(VK_LAYER_PATH=$VK_LAYER_PATH:`pwd`/layers \
|
|
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/layers \
|
|
VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_image:VK_LAYER_LUNARG_wrap_objects:VK_LAYER_LUNARG_parameter_validation \
|
|
VK_LOADER_DEBUG=all \
|
|
GTEST_FILTER=WrapObjects.Insert \
|
|
./vk_loader_validation_tests 2>&1)
|
|
|
|
echo "$output" | grep -q "Insert instance layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Middle insertion test FAILED - wrap-objects not detected in instance layers" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "$output" | grep -q "Insert device layer VK_LAYER_LUNARG_wrap_objects"
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Middle insertion test FAILED - wrap-objects not detected in device layers" >&2
|
|
exit 1
|
|
fi
|
|
echo "Middle insertion test PASSED"
|
|
|
|
# Run the layer validation tests with and without the wrap-objects layer. Diff the results.
|
|
diff \
|
|
<(GTEST_PRINT_TIME=0 \
|
|
./vk_layer_validation_tests) \
|
|
<(GTEST_PRINT_TIME=0 \
|
|
VK_LAYER_PATH=$VK_LAYER_PATH:`pwd`/layers \
|
|
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/layers \
|
|
VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_wrap_objects \
|
|
./vk_layer_validation_tests)
|
|
ec=$?
|
|
|
|
if [ $ec -eq 1 ]
|
|
then
|
|
echo "Wrap-objects layer validation tests FAILED - wrap-objects altered the results of the layer validation tests" >&2
|
|
exit 1
|
|
fi
|
|
echo "Wrap-objects layer validation tests PASSED"
|
|
|
|
popd > /dev/null
|
|
|
|
exit 0
|