aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-07-21 20:21:33 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-07-21 20:21:33 +0000
commit25a9c46c331fdc19864326b929b326d4fa10dc51 (patch)
tree52df8d57cd52c26ede0e5ed45af5f473c328318f
parent787e5869dabe41676017268e94de0cf8e6cd2a23 (diff)
parent2cac06fe7aba6d41752f68f1654cb5b4ee54542d (diff)
downloaddeqp-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
-rw-r--r--android/cts/master/gles3-master-2020-03-01.txt2
-rw-r--r--android/cts/master/gles3-master-2022-03-01.txt2
-rw-r--r--android/cts/master/src/gles3-master-2020-03-01.txt2
-rw-r--r--android/cts/master/src/vk-master-2019-03-01.txt2
-rw-r--r--android/cts/master/vk-master-2019-03-01/api.txt1
-rw-r--r--android/cts/master/vk-master-2019-03-01/ssbo.txt1
-rw-r--r--android/cts/master/vk-master-2022-03-01/api.txt1
-rw-r--r--android/cts/master/vk-master-2022-03-01/ssbo.txt1
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber14
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-dead-branch-func-return-arg.amber8
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-with-return.amber6
-rw-r--r--external/vulkancts/modules/vulkan/api/vktApiImageClearingTests.cpp9
-rw-r--r--external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp3
-rw-r--r--external/vulkancts/modules/vulkan/image/vktImageSampleCompressedTextureTests.cpp40
-rw-r--r--external/vulkancts/modules/vulkan/pipeline/vktPipelineBindPointTests.cpp10
-rw-r--r--external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingAccelerationStructuresTests.cpp2
-rw-r--r--external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp2
-rw-r--r--external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp4
-rw-r--r--external/vulkancts/modules/vulkan/ycbcr/vktYCbCrFilteringTests.cpp4
-rw-r--r--external/vulkancts/modules/vulkan/ycbcr/vktYCbCrViewTests.cpp27
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)