diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-07-21 20:21:33 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-07-21 20:21:33 +0000 |
commit | 25a9c46c331fdc19864326b929b326d4fa10dc51 (patch) | |
tree | 52df8d57cd52c26ede0e5ed45af5f473c328318f | |
parent | 787e5869dabe41676017268e94de0cf8e6cd2a23 (diff) | |
parent | 2cac06fe7aba6d41752f68f1654cb5b4ee54542d (diff) | |
download | deqp-android13-mainline-go-media-release.tar.gz |
Snap for 8857176 from 2cac06fe7aba6d41752f68f1654cb5b4ee54542d to mainline-go-media-releaseaml_go_med_330913000android13-mainline-go-media-release
Change-Id: Id1ecea9322833297247215853a592e2732628565
20 files changed, 75 insertions, 66 deletions
diff --git a/android/cts/master/gles3-master-2020-03-01.txt b/android/cts/master/gles3-master-2020-03-01.txt index d04ea067f..830305f1d 100644 --- a/android/cts/master/gles3-master-2020-03-01.txt +++ b/android/cts/master/gles3-master-2020-03-01.txt @@ -15691,9 +15691,7 @@ dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat3_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat3_float_fragment dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat3_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat3_float_fragment -dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.lowp_mat4_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.lowp_mat4_float_fragment -dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat4_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat4_float_fragment dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat4_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat4_float_fragment diff --git a/android/cts/master/gles3-master-2022-03-01.txt b/android/cts/master/gles3-master-2022-03-01.txt index 12dadf7a8..f88ca6542 100644 --- a/android/cts/master/gles3-master-2022-03-01.txt +++ b/android/cts/master/gles3-master-2022-03-01.txt @@ -1,3 +1,5 @@ +dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.lowp_mat4_float_vertex +dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat4_float_vertex dEQP-GLES3.functional.texture.format.sized.2d.srgb_rg8_pot dEQP-GLES3.functional.texture.format.sized.2d.srgb_rg8_npot dEQP-GLES3.functional.texture.format.sized.cube.srgb_rg8_pot diff --git a/android/cts/master/src/gles3-master-2020-03-01.txt b/android/cts/master/src/gles3-master-2020-03-01.txt index ab66dc8bd..cd4351081 100644 --- a/android/cts/master/src/gles3-master-2020-03-01.txt +++ b/android/cts/master/src/gles3-master-2020-03-01.txt @@ -15691,9 +15691,7 @@ dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat3_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat3_float_fragment dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat3_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat3_float_fragment -dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.lowp_mat4_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.lowp_mat4_float_fragment -dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat4_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat4_float_fragment dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat4_float_vertex dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.highp_mat4_float_fragment diff --git a/android/cts/master/src/vk-master-2019-03-01.txt b/android/cts/master/src/vk-master-2019-03-01.txt index 2fc58caf8..bf53003f1 100644 --- a/android/cts/master/src/vk-master-2019-03-01.txt +++ b/android/cts/master/src/vk-master-2019-03-01.txt @@ -3840,7 +3840,6 @@ dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_baryc dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_footprint_features_nv dEQP-VK.api.device_init.create_device_unsupported_features.exclusive_scissor_features_nv dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel -dEQP-VK.api.device_init.create_device_unsupported_features.fragment_density_map_features_ext dEQP-VK.api.device_init.create_device_unsupported_features.coherent_memory_features_amd dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_atomic_int64_features_ext dEQP-VK.api.device_init.create_device_unsupported_features.memory_priority_features_ext @@ -300439,7 +300438,6 @@ dEQP-VK.ssbo.layout.random.scalar.66 dEQP-VK.ssbo.layout.random.scalar.67 dEQP-VK.ssbo.layout.random.scalar.68 dEQP-VK.ssbo.layout.random.scalar.69 -dEQP-VK.ssbo.layout.random.scalar.70 dEQP-VK.ssbo.layout.random.scalar.71 dEQP-VK.ssbo.layout.random.scalar.72 dEQP-VK.ssbo.layout.random.scalar.73 diff --git a/android/cts/master/vk-master-2019-03-01/api.txt b/android/cts/master/vk-master-2019-03-01/api.txt index 3d2b3ac81..23a3106d7 100644 --- a/android/cts/master/vk-master-2019-03-01/api.txt +++ b/android/cts/master/vk-master-2019-03-01/api.txt @@ -3823,7 +3823,6 @@ dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_baryc dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_footprint_features_nv dEQP-VK.api.device_init.create_device_unsupported_features.exclusive_scissor_features_nv dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel -dEQP-VK.api.device_init.create_device_unsupported_features.fragment_density_map_features_ext dEQP-VK.api.device_init.create_device_unsupported_features.coherent_memory_features_amd dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_atomic_int64_features_ext dEQP-VK.api.device_init.create_device_unsupported_features.memory_priority_features_ext diff --git a/android/cts/master/vk-master-2019-03-01/ssbo.txt b/android/cts/master/vk-master-2019-03-01/ssbo.txt index 7531331b1..8bbbecd74 100644 --- a/android/cts/master/vk-master-2019-03-01/ssbo.txt +++ b/android/cts/master/vk-master-2019-03-01/ssbo.txt @@ -2702,7 +2702,6 @@ dEQP-VK.ssbo.layout.random.scalar.66 dEQP-VK.ssbo.layout.random.scalar.67 dEQP-VK.ssbo.layout.random.scalar.68 dEQP-VK.ssbo.layout.random.scalar.69 -dEQP-VK.ssbo.layout.random.scalar.70 dEQP-VK.ssbo.layout.random.scalar.71 dEQP-VK.ssbo.layout.random.scalar.72 dEQP-VK.ssbo.layout.random.scalar.73 diff --git a/android/cts/master/vk-master-2022-03-01/api.txt b/android/cts/master/vk-master-2022-03-01/api.txt index 51aecc7c9..a735947e9 100644 --- a/android/cts/master/vk-master-2022-03-01/api.txt +++ b/android/cts/master/vk-master-2022-03-01/api.txt @@ -16,6 +16,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.multiview_features dEQP-VK.api.device_init.create_device_unsupported_features.buffer_device_address_features dEQP-VK.api.device_init.create_device_unsupported_features.inline_uniform_block_features dEQP-VK.api.device_init.create_device_unsupported_features.transform_feedback_features_ext +dEQP-VK.api.device_init.create_device_unsupported_features.fragment_density_map_features_ext dEQP-VK.api.device_init.create_device_unsupported_features.provoking_vertex_features_ext dEQP-VK.api.device_init.create_device_unsupported_features.line_rasterization_features_ext dEQP-VK.api.buffer.basic.max_size diff --git a/android/cts/master/vk-master-2022-03-01/ssbo.txt b/android/cts/master/vk-master-2022-03-01/ssbo.txt index 2ae9c90a4..f911fd241 100644 --- a/android/cts/master/vk-master-2022-03-01/ssbo.txt +++ b/android/cts/master/vk-master-2022-03-01/ssbo.txt @@ -64,6 +64,7 @@ dEQP-VK.ssbo.layout.random.all_shared_buffer.20 dEQP-VK.ssbo.layout.random.scalar.19 dEQP-VK.ssbo.layout.random.scalar.26 dEQP-VK.ssbo.layout.random.scalar.38 +dEQP-VK.ssbo.layout.random.scalar.70 dEQP-VK.ssbo.layout.random.16bit.all_per_block_buffers.47 dEQP-VK.ssbo.layout.random.16bit.all_shared_buffer.31 dEQP-VK.ssbo.layout.random.16bit.all_shared_buffer.45 diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber index 6f9dbaaeb..3393d1bca 100644 --- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber +++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber @@ -89,7 +89,7 @@ SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 ; SPIR-V ; Version: 1.0 ; Generator: Khronos SPIR-V Tools Assembler; 0 -; Bound: 72 +; Bound: 73 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" @@ -153,20 +153,22 @@ SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 OpLoopMerge %40 %41 None OpBranch %42 %42 = OpLabel - %43 = OpPhi %8 %28 %39 %44 %45 - %46 = OpPhi %11 %12 %39 %47 %45 + %43 = OpPhi %8 %28 %39 %44 %72 + %46 = OpPhi %11 %12 %39 %47 %72 %48 = OpSLessThan %8 %46 %13 - OpLoopMerge %49 %45 None + OpLoopMerge %49 %72 None OpBranchConditional %48 %50 %49 %50 = OpLabel %51 = OpConvertFToS %11 %35 OpSelectionMerge %52 None OpSwitch %51 %45 9 %53 42 %54 %52 = OpLabel - OpBranch %45 + OpBranch %72 %45 = OpLabel - %44 = OpPhi %8 %43 %50 %55 %56 %27 %52 + %44 = OpPhi %8 %43 %50 %55 %56 %47 = OpIAdd %11 %46 %13 + OpBranch %72 + %72 = OpLabel OpBranch %42 %53 = OpLabel OpBranch %54 diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-dead-branch-func-return-arg.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-dead-branch-func-return-arg.amber index 3c2f4f095..66fc691a6 100644 --- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-dead-branch-func-return-arg.amber +++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-dead-branch-func-return-arg.amber @@ -93,7 +93,7 @@ SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 ; SPIR-V ; Version: 1.0 ; Generator: Khronos Glslang Reference Front End; 8 -; Bound: 126 +; Bound: 127 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" @@ -150,7 +150,7 @@ SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 %42 = OpLoad %6 %36 OpStore %41 %42 OpStore %74 %68 - OpLoopMerge %39 %37 None + OpLoopMerge %39 %126 None OpBranch %78 %78 = OpLabel %79 = OpLoad %6 %41 @@ -244,7 +244,9 @@ SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 %47 = OpFAdd %6 %46 %125 OpStore %36 %47 %50 = OpFOrdLessThan %20 %47 %49 - OpBranchConditional %50 %37 %39 + OpBranchConditional %50 %126 %39 + %126 = OpLabel + OpBranch %37 %39 = OpLabel %51 = OpLoad %6 %35 %53 = OpFOrdEqual %20 %51 %52 diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-with-return.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-with-return.amber index ab0ad543a..97f8be1e4 100644 --- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-with-return.amber +++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-with-return.amber @@ -87,7 +87,7 @@ SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 ; SPIR-V ; Version: 1.0 ; Generator: Khronos Glslang Reference Front End; 7 -; Bound: 65 +; Bound: 66 ; Schema: 0 OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" @@ -164,8 +164,10 @@ SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0 OpBranch %32 %32 = OpLabel %39 = OpSLessThan %14 %22 %38 - OpLoopMerge %34 %35 None + OpLoopMerge %65 %35 None OpBranch %33 + %65 = OpLabel + OpBranch %34 %33 = OpLabel OpReturnValue %12 %35 = OpLabel diff --git a/external/vulkancts/modules/vulkan/api/vktApiImageClearingTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiImageClearingTests.cpp index b97ba824b..6a787922f 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiImageClearingTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiImageClearingTests.cpp @@ -498,7 +498,7 @@ public: void submitCommandBuffer (void) const; void beginRenderPass (VkSubpassContents content, VkClearValue clearValue) const; void preClearImage (const deUint32 imageMipLevels, VkExtent3D imageExtent, deUint32 imageLayerCount, Unique<VkCommandBuffer>& commandBuffer) const; - Move<VkBuffer> createImageClearingBuffer (const DeviceInterface& vkd, const VkDevice device, Unique<VkImage>& image); + Move<VkBuffer> createImageClearingBuffer (const DeviceInterface& vkd, const VkDevice device); void pipelineImageBarrier (VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkImageLayout oldLayout, VkImageLayout newLayout, VkImageAspectFlags aspectMask = 0u) const; de::MovePtr<TextureLevelPyramid> readImage (VkImageAspectFlags aspectMask, deUint32 baseLayer) const; @@ -578,7 +578,7 @@ ImageClearingTestInstance::ImageClearingTestInstance (Context& context, const Te params.imageLayerCount, m_imageUsageFlags)) - , m_stagingBuffer (createImageClearingBuffer(m_vkd, m_device, m_image)) + , m_stagingBuffer (createImageClearingBuffer(m_vkd, m_device)) , m_stagingBufferMemory (allocateAndBindBufferMemory(*m_stagingBuffer)) , m_imageMemory (allocateAndBindImageMemory(*m_image)) @@ -1311,11 +1311,12 @@ tcu::TestStatus ImageClearingTestInstance::verifyResultImage (const std::string& return TestStatus::pass(successMessage); } -Move<VkBuffer> ImageClearingTestInstance::createImageClearingBuffer(const DeviceInterface& vkd, const VkDevice device, Unique<VkImage>& image) +Move<VkBuffer> ImageClearingTestInstance::createImageClearingBuffer(const DeviceInterface& vkd, const VkDevice device) { Move<VkBuffer> stagingBuffer; de::MovePtr<Allocation> stagingBufferAlloc; - const VkDeviceSize stagingBufferSize = getImageMemoryRequirements(vkd, device, *image).size; + const VkDeviceSize stagingBufferSize = m_params.imageExtent.width * m_params.imageExtent.height * m_params.imageExtent.depth + * getPixelSize(mapVkFormat(m_params.imageFormat)) * m_params.imageLayerCount; // Create image clearing buffer { const VkBufferCreateInfo bufferParams = diff --git a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp index 032e9cee1..ea74b0088 100644 --- a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp +++ b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp @@ -1891,6 +1891,9 @@ void BindingAcceleratioStructureRayTracingRayTracingTestInstance::checkSupport ( if (rayTracingPipelineFeaturesKHR.rayTracingPipeline == DE_FALSE) TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipeline"); + const VkPhysicalDeviceRayTracingPipelinePropertiesKHR& rayTracingPipelinePropertiesKHR = context.getRayTracingPipelineProperties(); + if (rayTracingPipelinePropertiesKHR.maxRayRecursionDepth < 2 && testParams.testType == TEST_TYPE_USING_RAY_TRACING && (testParams.stage == VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR || testParams.stage == VK_SHADER_STAGE_MISS_BIT_KHR)) + TCU_THROW(NotSupportedError, "rayTracingPipelinePropertiesKHR.maxRayRecursionDepth is smaller than required"); } void BindingAcceleratioStructureRayTracingRayTracingTestInstance::initPrograms (SourceCollections& programCollection, diff --git a/external/vulkancts/modules/vulkan/image/vktImageSampleCompressedTextureTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageSampleCompressedTextureTests.cpp index e34304724..0e0a45776 100644 --- a/external/vulkancts/modules/vulkan/image/vktImageSampleCompressedTextureTests.cpp +++ b/external/vulkancts/modules/vulkan/image/vktImageSampleCompressedTextureTests.cpp @@ -71,7 +71,6 @@ using tcu::Vec4; using std::vector; using de::MovePtr; using tcu::TextureLevel; -using tcu::PixelBufferAccess; using tcu::ConstPixelBufferAccess; const VkDeviceSize BUFFERSIZE = 100u * 1024; @@ -79,12 +78,17 @@ const int WIDTH = 80; const int HEIGHT = 80; const int FACES = 6; +uint32_t getLayerCount (const bool cubemap) +{ + return (cubemap ? static_cast<uint32_t>(FACES) : 1u); +} + inline VkImageCreateInfo makeImageCreateInfo (const IVec3& size, const VkFormat& format, bool storageImage, bool cubemap) { VkImageUsageFlags usageFlags = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT; VkImageCreateFlags createFlags = cubemap ? VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT : DE_NULL; - const deUint32 layerCount = cubemap ? 6u : 1u; + const deUint32 layerCount = getLayerCount(cubemap); if (storageImage) { @@ -162,12 +166,6 @@ SampleDrawnTextureTestInstance::SampleDrawnTextureTestInstance (Context& context { } -template<typename T> -inline size_t sizeInBytes (const vector<T>& vec) -{ - return vec.size() * sizeof(vec[0]); -} - Move<VkSampler> makeSampler (const DeviceInterface& vk, const VkDevice& device) { const VkSamplerCreateInfo samplerParams = @@ -298,7 +296,8 @@ tcu::TestStatus SampleDrawnTextureTestInstance::iterate (void) // Create a storage image. The first pipeline fills it and the second pipeline // uses it as a sampling source. const VkImageCreateInfo imageCreateInfo = makeImageCreateInfo(imageSize, m_imageFormat, true, m_cubemap); - const VkImageSubresourceRange imageSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1, 0, 1); + const auto layerCount = getLayerCount(m_cubemap); + const VkImageSubresourceRange imageSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1, 0, layerCount); const ImageWithMemory storageImage (vk, device, m_context.getDefaultAllocator(), imageCreateInfo, MemoryRequirement::Any); // Create image views and descriptor sets for the first pipeline @@ -441,8 +440,11 @@ tcu::TestStatus SampleDrawnTextureTestInstance::iterate (void) Move<VkImageView> targetImageView = makeImageView(vk, device, *targetImage, VK_IMAGE_VIEW_TYPE_2D, renderedImageFormat, targetSubresourceRange); // Clear the render target image as black and do a layout transition. + const auto clearColor = makeClearValueColor(Vec4(0.0f, 0.0f, 0.0f, 0.0f)).color; clearColorImage(vk, device, m_context.getUniversalQueue(), m_context.getUniversalQueueFamilyIndex(), targetImage.get(), - Vec4(0, 0, 0, 0), VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT); + clearColor, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, + (VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT), + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT); const VkPushConstantRange pushConstantRange2 = { @@ -455,10 +457,11 @@ tcu::TestStatus SampleDrawnTextureTestInstance::iterate (void) // Vertices for a full quad and texture coordinates for each vertex. const vector<Vertex> vertices = generateVertices(); + const uint32_t vertexCount = static_cast<uint32_t>(vertices.size()); Move<VkBuffer> vertexBuffer = makeVertexBuffer(vk, device, queueFamilyIndex); de::MovePtr<Allocation> vertexBufferAlloc = bindBuffer(vk, device, allocator, *vertexBuffer, MemoryRequirement::HostVisible); const VkDeviceSize vertexBufferOffset = 0ull; - deMemcpy(vertexBufferAlloc->getHostPtr(), &vertices[0], sizeInBytes(vertices)); + deMemcpy(vertexBufferAlloc->getHostPtr(), de::dataOrNull(vertices), de::dataSize(vertices)); flushAlloc(vk, device, *vertexBufferAlloc); const auto vtxBindingDescription = Vertex::getBindingDescription(); @@ -499,11 +502,10 @@ tcu::TestStatus SampleDrawnTextureTestInstance::iterate (void) beginCommandBuffer(vk, *cmdBuffer); // Do a layout transition for the storage image. - const VkImageSubresourceRange imageSubresourceRange2 = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1, 0, m_cubemap ? 6 : 1); - const auto barrier1 = makeImageMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_SHADER_WRITE_BIT, + const auto barrier1 = makeImageMemoryBarrier(0u, VK_ACCESS_SHADER_WRITE_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, - storageImage.get(), imageSubresourceRange2); - vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, DE_NULL, 0, DE_NULL, 1u, &barrier1); + storageImage.get(), imageSubresourceRange); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, DE_NULL, 0, DE_NULL, 1u, &barrier1); // Bind the vertices and the descriptors used in the graphics pipeline. vk.cmdBindVertexBuffers(*cmdBuffer, 0u, 1u, &vertexBuffer.get(), &vertexBufferOffset); @@ -551,12 +553,12 @@ tcu::TestStatus SampleDrawnTextureTestInstance::iterate (void) vk.cmdBindDescriptorSets(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *graphicsPipelineLayout, 0u, 1u, &(cubeSamplerDescriptorSets[face].get()), 0u, DE_NULL); beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, makeRect2D(0, 0, imageSize.x(), imageSize.y()),0u, DE_NULL); - vk.cmdDraw(*cmdBuffer, 6u, 1u, 0u, 0u); + vk.cmdDraw(*cmdBuffer, vertexCount, 1u, 0u, 0u); endRenderPass(vk, *cmdBuffer); if (face < FACES-1) { - const auto barrier4 = makeImageMemoryBarrier(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + const auto barrier4 = makeImageMemoryBarrier(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, (VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_COLOR_ATTACHMENT_READ_BIT), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, targetImage.get(), targetSubresourceRange); vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, @@ -569,7 +571,7 @@ tcu::TestStatus SampleDrawnTextureTestInstance::iterate (void) vk.cmdBindDescriptorSets(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *graphicsPipelineLayout, 0u, 1u, &(graphicsDescriptorSet.get()), 0u, DE_NULL); beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, makeRect2D(0, 0, imageSize.x(), imageSize.y()),0u, DE_NULL); - vk.cmdDraw(*cmdBuffer, 6u, 1u, 0u, 0u); + vk.cmdDraw(*cmdBuffer, vertexCount, 1u, 0u, 0u); endRenderPass(vk, *cmdBuffer); } @@ -579,7 +581,7 @@ tcu::TestStatus SampleDrawnTextureTestInstance::iterate (void) VK_IMAGE_LAYOUT_GENERAL, storageImage.get(), imageSubresourceRange); vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0, 0, DE_NULL, 0, DE_NULL, 1u, &barrier3); - const auto barrier4 = makeImageMemoryBarrier(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + const auto barrier4 = makeImageMemoryBarrier(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, (VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_COLOR_ATTACHMENT_READ_BIT), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, targetImage.get(), targetSubresourceRange); vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, 0, 0, DE_NULL, 0, DE_NULL, 1u, &barrier4); diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp index ae9520893..152934efd 100644 --- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp +++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp @@ -180,12 +180,18 @@ BindPointTest::BindPointTest (tcu::TestContext& testCtx, const std::string& name void BindPointTest::checkSupport (Context& context) const { - if (m_params.graphicsSetUpdateType != SetUpdateType::WRITE || m_params.computeSetUpdateType != SetUpdateType::WRITE) + if ((m_params.hasGraphics() && m_params.graphicsSetUpdateType != SetUpdateType::WRITE) || + (m_params.hasCompute() && m_params.computeSetUpdateType != SetUpdateType::WRITE) || + (m_params.hasRayTracing() && m_params.rayTracingSetUpdateType != SetUpdateType::WRITE)) { context.requireDeviceFunctionality("VK_KHR_push_descriptor"); - if (m_params.graphicsSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE || m_params.computeSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE) + if ((m_params.hasGraphics() && m_params.graphicsSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE) || + (m_params.hasCompute() && m_params.computeSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE) || + (m_params.hasRayTracing() && m_params.rayTracingSetUpdateType == SetUpdateType::PUSH_WITH_TEMPLATE)) + { context.requireDeviceFunctionality("VK_KHR_descriptor_update_template"); + } } if (m_params.hasRayTracing()) diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp index 2e957beaf..db49077cb 100644 --- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp +++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp @@ -2797,6 +2797,7 @@ tcu::TestStatus RayTracingHeaderBottomAddressTestInstance::iterate (void) // deserialize all from the previous step to a new top-level AS // bottom-level structure addresses should be updated when deep data is deserialized + vkd.resetCommandBuffer(*cmdBuffer, 0); beginCommandBuffer(vkd, *cmdBuffer, 0); dst->createAndDeserializeFrom(vkd, device, *cmdBuffer, allocator, &deepStorage); endCommandBuffer(vkd, *cmdBuffer); @@ -2805,6 +2806,7 @@ tcu::TestStatus RayTracingHeaderBottomAddressTestInstance::iterate (void) SerialStorage shallowStorage (vkd, device, allocator, m_params->buildType, inSizes[0]); // make shallow serialization - only top-level AS without bottom-level structures + vkd.resetCommandBuffer(*cmdBuffer, 0); beginCommandBuffer(vkd, *cmdBuffer, 0); dst->serialize(vkd, device, *cmdBuffer, &shallowStorage); endCommandBuffer(vkd, *cmdBuffer); diff --git a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp index 36f623335..c4e407cea 100644 --- a/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp +++ b/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp @@ -7795,7 +7795,7 @@ public: " float tmin = 0.001;\n" " float tmax = 9.0;\n" " vec3 origin = vec3(-1, -1, -1);\n" - " vec3 target = vec3(0.5, 0.5, 0);\n" + " vec3 target = vec3(0.0, 0.5, 0);\n" " vec3 direct = normalize(target - origin);\n" "\n" " traceRayEXT(topLevelAS, rayFlags, cullMask, 0, 0, 0, origin, tmin, direct, tmax, 0);\n" diff --git a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp index c11886077..76b5bf1d6 100644 --- a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp +++ b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp @@ -508,9 +508,9 @@ Move<VkRenderPass> DepthStencilResolveTest::createRenderPass(VkFormat vkformat, m_config.format, // VkFormat format; samples, // VkSampleCountFlagBits samples; (renderPassNo == 0) ? VK_ATTACHMENT_LOAD_OP_CLEAR : VK_ATTACHMENT_LOAD_OP_LOAD, // VkAttachmentLoadOp loadOp; - VK_ATTACHMENT_STORE_OP_STORE, + (m_numRenderPasses > 1) ? VK_ATTACHMENT_STORE_OP_STORE : VK_ATTACHMENT_STORE_OP_DONT_CARE, (renderPassNo == 0) ? VK_ATTACHMENT_LOAD_OP_CLEAR : VK_ATTACHMENT_LOAD_OP_LOAD, // VkAttachmentLoadOp stencilLoadOp; - VK_ATTACHMENT_STORE_OP_STORE, + (m_numRenderPasses > 1) ? VK_ATTACHMENT_STORE_OP_STORE : VK_ATTACHMENT_STORE_OP_DONT_CARE, (renderPassNo == 0) ? VK_IMAGE_LAYOUT_UNDEFINED : layout, // VkImageLayout initialLayout; finalLayout // VkImageLayout finalLayout; ); diff --git a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrFilteringTests.cpp b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrFilteringTests.cpp index 6073e0d68..9c5a1d79c 100644 --- a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrFilteringTests.cpp +++ b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrFilteringTests.cpp @@ -609,6 +609,10 @@ void LinearFilteringTestCase::checkSupport(Context& context) const if (m_chromaFiltering != VK_FILTER_LINEAR && (featureFlags & VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT) == 0) TCU_THROW(NotSupportedError, "Different chroma, min, and mag filters not supported for format"); + + if (m_chromaFiltering == VK_FILTER_LINEAR && + (featureFlags & VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT) == 0) + TCU_THROW(NotSupportedError, "Linear chroma filtering not supported for format"); } vkt::TestInstance* LinearFilteringTestCase::createInstance(vkt::Context& context) const diff --git a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp index fd4ed135a..1734b5f12 100644 --- a/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp +++ b/external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp @@ -392,32 +392,21 @@ void generateLookupCoordinates (const UVec2& imageSize, size_t numCoords, de::Ra } } -void checkImageUsageSupport (Context& context, - VkFormat format, - VkImageUsageFlags usage) +void checkImageFeatureSupport (Context& context, VkFormat format, VkFormatFeatureFlags req) { - const VkFormatProperties formatProperties = getPhysicalDeviceFormatProperties(context.getInstanceInterface(), - context.getPhysicalDevice(), - format); - const VkFormatFeatureFlags featureFlags = formatProperties.optimalTilingFeatures; + const VkFormatProperties formatProperties = getPhysicalDeviceFormatProperties( context.getInstanceInterface(), + context.getPhysicalDevice(), + format); - if ((usage & VK_IMAGE_USAGE_SAMPLED_BIT) != 0 - && (featureFlags & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT) == 0) - { - TCU_THROW(NotSupportedError, "Format doesn't support sampling"); - } - - // Other image usages are not handled currently - DE_ASSERT((usage & ~(VK_IMAGE_USAGE_TRANSFER_SRC_BIT|VK_IMAGE_USAGE_TRANSFER_DST_BIT|VK_IMAGE_USAGE_SAMPLED_BIT)) == 0); + if (req & ~formatProperties.optimalTilingFeatures) + TCU_THROW(NotSupportedError, "Format doesn't support required features"); } void checkSupport(Context& context, TestParameters params) { - const VkImageUsageFlags usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT; - checkImageSupport(context, params.format, params.createFlags); - checkImageUsageSupport(context, params.format, usage); - checkImageUsageSupport(context, params.planeCompatibleFormat, usage); + checkImageFeatureSupport(context, params.format, VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | VK_FORMAT_FEATURE_TRANSFER_DST_BIT | VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT); + checkImageFeatureSupport(context, params.planeCompatibleFormat, VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | VK_FORMAT_FEATURE_TRANSFER_DST_BIT); } tcu::TestStatus testPlaneView (Context& context, TestParameters params) |