Fix null shader module in raytracing tests
authorJaakko Konttinen <jaakko.konttinen@amd.com>
Thu, 30 Jul 2020 22:02:32 +0000 (18:02 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Wed, 5 Aug 2020 07:14:18 +0000 (03:14 -0400)
commit867a8cc4c4068e84ebb593530fbddd209a514054
tree40407ea1873395a9ad792aba2898fcafdd59dfda
parent082f93aae4ac3071ad0db8fd66e1937fc49873ff
Fix null shader module in raytracing tests

The dEQP-VK.ray_tracing_pipeline.build.gpu_cpu.* tests use a shader module
multiple times in two different hit groups. The variable is in Move
container, so the first call to addShader() moves the module handle to
the pipeline object and replaces the variable's value with a null
handle.  A subsequent call to addShader() then adds the null handle
as a shader stage module for another hit group.

I fixed it by just moving some code around to allow a second version of
addShader() that accepts a shared pointer instead.

Affects:

dEQP-VK.ray_tracing_pipeline.build.gpu_cpu.*
dEQP-VK.ray_tracing_pipeline.build.gpu_cpuht.*

Components: Vulkan
Change-Id: Ic2a4998e79b23cd43aaa1f6f267f60469de8f83a
external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp
external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingBuildTests.cpp