aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-03-16 22:49:35 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-03-16 22:49:35 +0000
commit5469e481f64e3044db9db7126604284cae600576 (patch)
tree3643ceb8b1afd7dbd87a670f0832d4a4073ed184
parent39ca1b039d9a4d51efa534d52d3cd6b85a517dbb (diff)
parent26014091f52b3bd7c23053ad341da19c3f38ae2b (diff)
downloaddeqp-emu-31-release.tar.gz
Snap for 8292146 from 26014091f52b3bd7c23053ad341da19c3f38ae2b to emu-31-releaseemu-31-release
Change-Id: I5aaea392417211f9a31ee88ac1ed5b7854e05a26
-rw-r--r--android/cts/AndroidTest.xml1
-rw-r--r--external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.5.x/gles2-master.txt1
-rw-r--r--external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.6.x/gles2-master.txt1
-rw-r--r--external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles2-master.txt1
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-switch-fallthrough.amber6
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-access-chains.amber12
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-copy-object.amber12
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-dead-break-and-unroll.amber12
-rw-r--r--external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-stable-maze-flatten-copy-composite.amber18
-rw-r--r--external/vulkancts/data/vulkan/amber/spirv_assembly/instruction/spirv1p4/entrypoint/comp_workgroup_entry_point.amber5
-rw-r--r--external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp11
-rw-r--r--external/vulkancts/framework/vulkan/vkRenderDocUtil.cpp2
-rw-r--r--external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp4
-rw-r--r--external/vulkancts/modules/vulkan/draw/vktDrawInvertedDepthRangesTests.cpp3
-rw-r--r--external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRatePixelConsistency.cpp107
-rw-r--r--external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp12
-rw-r--r--external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp3
-rw-r--r--external/vulkancts/modules/vulkan/pipeline/vktPipelineNoPositionTests.cpp3
-rw-r--r--external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerTests.cpp32
-rw-r--r--external/vulkancts/modules/vulkan/rasterization/vktRasterizationFragShaderSideEffectsTests.cpp12
-rw-r--r--external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp2
-rw-r--r--external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp6
-rw-r--r--external/vulkancts/modules/vulkan/shaderexecutor/vktOpaqueTypeIndexingTests.cpp30
-rw-r--r--external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp2
-rw-r--r--external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp2
-rw-r--r--external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp20
-rw-r--r--external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.hpp1
-rw-r--r--external/vulkancts/modules/vulkan/texture/vktTextureFilteringAnisotropyTests.cpp12
-rw-r--r--external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp3
-rw-r--r--external/vulkancts/modules/vulkan/vktTestCase.cpp2
-rw-r--r--modules/gles2/functional/es2fFunctionalTests.cpp60
-rw-r--r--scripts/build_android_mustpass.py8
-rw-r--r--scripts/mustpass.py1
-rw-r--r--scripts/src_util/check_all.py2
-rw-r--r--scripts/src_util/check_invalid_literals.py111
35 files changed, 274 insertions, 246 deletions
diff --git a/android/cts/AndroidTest.xml b/android/cts/AndroidTest.xml
index b98554aa1..2bacc4af8 100644
--- a/android/cts/AndroidTest.xml
+++ b/android/cts/AndroidTest.xml
@@ -27,6 +27,7 @@
<option key="parameter" name="config-descriptor:metadata" value="not_instant_app"/>
<option key="parameter" name="config-descriptor:metadata" value="multi_abi"/>
<option key="parameter" name="config-descriptor:metadata" value="secondary_user"/>
+ <option key="parameter" name="config-descriptor:metadata" value="no_foldable_states"/>
<object class="com.android.tradefed.testtype.suite.module.TestFailureModuleController" type="module_controller">
<option name="screenshot-on-failure" value="false"/>
</object>
diff --git a/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.5.x/gles2-master.txt b/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.5.x/gles2-master.txt
index c63235cf2..1662414b1 100644
--- a/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.5.x/gles2-master.txt
+++ b/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.5.x/gles2-master.txt
@@ -129,6 +129,7 @@ dEQP-GLES2.functional.light_amount.10omni
dEQP-GLES2.functional.light_amount.12omni
dEQP-GLES2.functional.light_amount.14omni
dEQP-GLES2.functional.light_amount.16omni
+dEQP-GLES2.functional.multisampled_render_to_texture.readpixels
dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_vertex
dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_fragment
dEQP-GLES2.functional.shaders.preprocessor.basic.invalid_identifier_vertex
diff --git a/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.6.x/gles2-master.txt b/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.6.x/gles2-master.txt
index c63235cf2..1662414b1 100644
--- a/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.6.x/gles2-master.txt
+++ b/external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.6.x/gles2-master.txt
@@ -129,6 +129,7 @@ dEQP-GLES2.functional.light_amount.10omni
dEQP-GLES2.functional.light_amount.12omni
dEQP-GLES2.functional.light_amount.14omni
dEQP-GLES2.functional.light_amount.16omni
+dEQP-GLES2.functional.multisampled_render_to_texture.readpixels
dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_vertex
dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_fragment
dEQP-GLES2.functional.shaders.preprocessor.basic.invalid_identifier_vertex
diff --git a/external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles2-master.txt b/external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles2-master.txt
index c63235cf2..1662414b1 100644
--- a/external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles2-master.txt
+++ b/external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles2-master.txt
@@ -129,6 +129,7 @@ dEQP-GLES2.functional.light_amount.10omni
dEQP-GLES2.functional.light_amount.12omni
dEQP-GLES2.functional.light_amount.14omni
dEQP-GLES2.functional.light_amount.16omni
+dEQP-GLES2.functional.multisampled_render_to_texture.readpixels
dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_vertex
dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_fragment
dEQP-GLES2.functional.shaders.preprocessor.basic.invalid_identifier_vertex
diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-switch-fallthrough.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-switch-fallthrough.amber
index 7cbee38da..91b21003f 100644
--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-switch-fallthrough.amber
+++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/nested-for-loops-switch-fallthrough.amber
@@ -543,13 +543,13 @@ BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics variant_pipeline
ATTACH variant_vertex_shader
ATTACH variant_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 64 64
BIND BUFFER variant_framebuffer AS color LOCATION 0
BIND BUFFER variant_zero AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR variant_pipeline 0 0 0 255
CLEAR variant_pipeline
-RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 64 64
-EXPECT variant_framebuffer IDX 0 0 SIZE 256 256 EQ_RGBA 255 0 0 255
+EXPECT variant_framebuffer IDX 0 0 SIZE 64 64 EQ_RGBA 255 0 0 255
diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-access-chains.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-access-chains.amber
index 496062250..fa77d836b 100644
--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-access-chains.amber
+++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-access-chains.amber
@@ -644,7 +644,7 @@ END
# resolution
BUFFER reference_resolution DATA_TYPE vec2<float> DATA
- 256.0 256.0
+ 64.0 64.0
END
BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
@@ -652,14 +652,14 @@ BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics reference_pipeline
ATTACH reference_vertex_shader
ATTACH reference_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 64 64
BIND BUFFER reference_framebuffer AS color LOCATION 0
BIND BUFFER reference_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR reference_pipeline 0 0 0 255
CLEAR reference_pipeline
-RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 64 64
SHADER vertex variant_vertex_shader PASSTHROUGH
@@ -1287,7 +1287,7 @@ END
# resolution
BUFFER variant_resolution DATA_TYPE vec2<float> DATA
- 256.0 256.0
+ 64.0 64.0
END
BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
@@ -1295,13 +1295,13 @@ BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics variant_pipeline
ATTACH variant_vertex_shader
ATTACH variant_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 64 64
BIND BUFFER variant_framebuffer AS color LOCATION 0
BIND BUFFER variant_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR variant_pipeline 0 0 0 255
CLEAR variant_pipeline
-RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 64 64
EXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005
diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-copy-object.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-copy-object.amber
index 7286518c9..fa4af4ae0 100644
--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-copy-object.amber
+++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-copy-object.amber
@@ -644,7 +644,7 @@ END
# resolution
BUFFER reference_resolution DATA_TYPE vec2<float> DATA
- 256.0 256.0
+ 64.0 64.0
END
BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
@@ -652,14 +652,14 @@ BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics reference_pipeline
ATTACH reference_vertex_shader
ATTACH reference_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 64 64
BIND BUFFER reference_framebuffer AS color LOCATION 0
BIND BUFFER reference_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR reference_pipeline 0 0 0 255
CLEAR reference_pipeline
-RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 64 64
SHADER vertex variant_vertex_shader PASSTHROUGH
@@ -1288,7 +1288,7 @@ END
# resolution
BUFFER variant_resolution DATA_TYPE vec2<float> DATA
- 256.0 256.0
+ 64.0 64.0
END
BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
@@ -1296,13 +1296,13 @@ BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics variant_pipeline
ATTACH variant_vertex_shader
ATTACH variant_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 64 64
BIND BUFFER variant_framebuffer AS color LOCATION 0
BIND BUFFER variant_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR variant_pipeline 0 0 0 255
CLEAR variant_pipeline
-RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 64 64
EXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005
diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-dead-break-and-unroll.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-dead-break-and-unroll.amber
index 6bf3d1903..07d752d30 100644
--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-dead-break-and-unroll.amber
+++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-dead-break-and-unroll.amber
@@ -644,7 +644,7 @@ END
# resolution
BUFFER reference_resolution DATA_TYPE vec2<float> DATA
- 256.0 256.0
+ 64.0 64.0
END
BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
@@ -652,14 +652,14 @@ BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics reference_pipeline
ATTACH reference_vertex_shader
ATTACH reference_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 64 64
BIND BUFFER reference_framebuffer AS color LOCATION 0
BIND BUFFER reference_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR reference_pipeline 0 0 0 255
CLEAR reference_pipeline
-RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 64 64
SHADER vertex variant_vertex_shader PASSTHROUGH
@@ -1296,7 +1296,7 @@ END
# resolution
BUFFER variant_resolution DATA_TYPE vec2<float> DATA
- 256.0 256.0
+ 64.0 64.0
END
BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
@@ -1304,13 +1304,13 @@ BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics variant_pipeline
ATTACH variant_vertex_shader
ATTACH variant_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 64 64
BIND BUFFER variant_framebuffer AS color LOCATION 0
BIND BUFFER variant_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR variant_pipeline 0 0 0 255
CLEAR variant_pipeline
-RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 64 64
EXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005
diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-stable-maze-flatten-copy-composite.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-stable-maze-flatten-copy-composite.amber
index eadf828fb..303cc8dfa 100644
--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-stable-maze-flatten-copy-composite.amber
+++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/spv-stable-maze-flatten-copy-composite.amber
@@ -647,7 +647,7 @@ END
# resolution
BUFFER reference_resolution DATA_TYPE vec2<float> STD140 DATA
- 256.0 256.0
+ 32.0 32.0
END
BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
@@ -655,14 +655,14 @@ BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics reference_pipeline
ATTACH reference_vertex_shader
ATTACH reference_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 32 32
BIND BUFFER reference_framebuffer AS color LOCATION 0
BIND BUFFER reference_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR reference_pipeline 0 0 0 255
CLEAR reference_pipeline
-RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 32 32
SHADER vertex variant_vertex_shader PASSTHROUGH
@@ -1341,7 +1341,7 @@ END
# resolution
BUFFER variant_resolution DATA_TYPE vec2<float> STD140 DATA
- 256.0 256.0
+ 32.0 32.0
END
BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
@@ -1349,14 +1349,14 @@ BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics variant_pipeline
ATTACH variant_vertex_shader
ATTACH variant_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 32 32
BIND BUFFER variant_framebuffer AS color LOCATION 0
BIND BUFFER variant_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR variant_pipeline 0 0 0 255
CLEAR variant_pipeline
-RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 32 32
SHADER vertex variant_2_vertex_shader PASSTHROUGH
@@ -1990,7 +1990,7 @@ END
# resolution
BUFFER variant_2_resolution DATA_TYPE vec2<float> STD140 DATA
- 256.0 256.0
+ 32.0 32.0
END
BUFFER variant_2_framebuffer FORMAT B8G8R8A8_UNORM
@@ -1998,14 +1998,14 @@ BUFFER variant_2_framebuffer FORMAT B8G8R8A8_UNORM
PIPELINE graphics variant_2_pipeline
ATTACH variant_2_vertex_shader
ATTACH variant_2_fragment_shader
- FRAMEBUFFER_SIZE 256 256
+ FRAMEBUFFER_SIZE 32 32
BIND BUFFER variant_2_framebuffer AS color LOCATION 0
BIND BUFFER variant_2_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR variant_2_pipeline 0 0 0 255
CLEAR variant_2_pipeline
-RUN variant_2_pipeline DRAW_RECT POS 0 0 SIZE 256 256
+RUN variant_2_pipeline DRAW_RECT POS 0 0 SIZE 32 32
EXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005
EXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_2_framebuffer TOLERANCE 0.005
diff --git a/external/vulkancts/data/vulkan/amber/spirv_assembly/instruction/spirv1p4/entrypoint/comp_workgroup_entry_point.amber b/external/vulkancts/data/vulkan/amber/spirv_assembly/instruction/spirv1p4/entrypoint/comp_workgroup_entry_point.amber
index 074624428..1993946a5 100644
--- a/external/vulkancts/data/vulkan/amber/spirv_assembly/instruction/spirv1p4/entrypoint/comp_workgroup_entry_point.amber
+++ b/external/vulkancts/data/vulkan/amber/spirv_assembly/instruction/spirv1p4/entrypoint/comp_workgroup_entry_point.amber
@@ -17,6 +17,7 @@ VK_KHR_spirv_1_4
;
; void main() {
; atomicExchange(wg_data[gl_LocalInvocationIndex], gl_LocalInvocationIndex);
+; barrier();
; uint val = atomicExchange(wg_data[(gl_LocalInvocationIndex+1)%4], 0);
; x[gl_LocalInvocationIndex] = val;
; }
@@ -62,6 +63,7 @@ VK_KHR_spirv_1_4
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%v3uint = OpTypeVector %uint 3
%uint_2 = OpConstant %uint 2
+ %uint_264 = OpConstant %uint 264
%gl_WorkGroupSize = OpConstantComposite %v3uint %uint_2 %uint_2 %uint_1
%main = OpFunction %void None %3
%5 = OpLabel
@@ -70,6 +72,7 @@ VK_KHR_spirv_1_4
%15 = OpAccessChain %_ptr_Workgroup_uint %wg_data %13
%16 = OpLoad %uint %gl_LocalInvocationIndex
%19 = OpAtomicExchange %uint %15 %uint_1 %uint_0 %16
+ OpControlBarrier %uint_2 %uint_2 %uint_264
%22 = OpLoad %uint %gl_LocalInvocationIndex
%23 = OpIAdd %uint %22 %uint_1
%24 = OpUMod %uint %23 %uint_4
@@ -88,4 +91,4 @@ ssbo 0:1 subdata int 0 -1 -1 -1 -1
compute entrypoint main
compute 1 1 1
-probe ssbo int 0:1 0 == 1 2 3 0 \ No newline at end of file
+probe ssbo int 0:1 0 == 1 2 3 0
diff --git a/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp b/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
index d3d5a59c0..1402dba18 100644
--- a/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
+++ b/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
@@ -1840,7 +1840,8 @@ void TopLevelAccelerationStructureKHR::create (const DeviceInterface& vk,
if (m_useArrayOfPointers)
{
- const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(m_bottomLevelInstances.size() * sizeof(VkDeviceOrHostAddressConstKHR), VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR | VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT);
+ const size_t pointerSize = (m_buildType == VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR) ? sizeof(VkDeviceOrHostAddressConstKHR::deviceAddress) : sizeof(VkDeviceOrHostAddressConstKHR::hostAddress);
+ const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(static_cast<VkDeviceSize>(m_bottomLevelInstances.size() * pointerSize), VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR | VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT);
m_instanceAddressBuffer = de::MovePtr<BufferWithMemory>(new BufferWithMemory(vk, device, allocator, bufferCreateInfo, MemoryRequirement::HostVisible | MemoryRequirement::Coherent | MemoryRequirement::DeviceAddress));
}
@@ -2090,8 +2091,8 @@ void TopLevelAccelerationStructureKHR::prepareInstances (const DeviceInterface&
VkDeviceOrHostAddressConstKHR currentInstance;
currentInstance.deviceAddress = firstInstance.deviceAddress + instanceNdx * sizeof(VkAccelerationStructureInstanceKHR);
- deMemcpy(&bufferStart[bufferOffset], &currentInstance, sizeof(VkDeviceOrHostAddressConstKHR));
- bufferOffset += sizeof(VkDeviceOrHostAddressConstKHR);
+ deMemcpy(&bufferStart[bufferOffset], &currentInstance, sizeof(VkDeviceOrHostAddressConstKHR::deviceAddress));
+ bufferOffset += sizeof(VkDeviceOrHostAddressConstKHR::deviceAddress);
}
flushMappedMemoryRange(vk, device, m_instanceAddressBuffer->getAllocation().getMemory(), m_instanceAddressBuffer->getAllocation().getOffset(), VK_WHOLE_SIZE);
@@ -2116,8 +2117,8 @@ void TopLevelAccelerationStructureKHR::prepareInstances (const DeviceInterface&
VkDeviceOrHostAddressConstKHR currentInstance;
currentInstance.hostAddress = (deUint8*)m_instanceBuffer->getAllocation().getHostPtr() + instanceNdx * sizeof(VkAccelerationStructureInstanceKHR);
- deMemcpy(&bufferStart[bufferOffset], &currentInstance, sizeof(VkDeviceOrHostAddressConstKHR));
- bufferOffset += sizeof(VkDeviceOrHostAddressConstKHR);
+ deMemcpy(&bufferStart[bufferOffset], &currentInstance, sizeof(VkDeviceOrHostAddressConstKHR::hostAddress));
+ bufferOffset += sizeof(VkDeviceOrHostAddressConstKHR::hostAddress);
}
instancesData = makeDeviceOrHostAddressConstKHR(m_instanceAddressBuffer->getAllocation().getHostPtr());
}
diff --git a/external/vulkancts/framework/vulkan/vkRenderDocUtil.cpp b/external/vulkancts/framework/vulkan/vkRenderDocUtil.cpp
index a4423b4ad..f6ba0a59b 100644
--- a/external/vulkancts/framework/vulkan/vkRenderDocUtil.cpp
+++ b/external/vulkancts/framework/vulkan/vkRenderDocUtil.cpp
@@ -35,6 +35,8 @@
#if (DE_OS == DE_OS_WIN32)
# define RENDERDOC_LIBRARY_NAME "renderdoc.dll"
+#elif (DE_OS == DE_OS_ANDROID)
+# define RENDERDOC_LIBRARY_NAME "libVkLayer_GLES_RenderDoc.so"
#else
# define RENDERDOC_LIBRARY_NAME "librenderdoc.so"
#endif
diff --git a/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp
index 77b076a33..9196af561 100644
--- a/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp
@@ -4256,9 +4256,9 @@ tcu::TestStatus testAndroidHardwareBufferImageFormat (Context& context, vk::VkF
context.getTestContext().touchWatchdog();
}
- if (properties.imageFormatProperties.maxMipLevels > 1u)
+ if (properties.imageFormatProperties.maxMipLevels >= 7u)
{
- const vk::Unique<vk::VkImage> image (createExternalImage(vkd, *device, queueFamilyIndex, externalMemoryType, format, 64u, 64u, tiling, createFlag, usage, properties.imageFormatProperties.maxMipLevels));
+ const vk::Unique<vk::VkImage> image (createExternalImage(vkd, *device, queueFamilyIndex, externalMemoryType, format, 64u, 64u, tiling, createFlag, usage, 7u));
const vk::VkMemoryRequirements requirements (getImageMemoryRequirements(vkd, *device, *image, externalMemoryType));
const deUint32 exportedMemoryTypeIndex (chooseMemoryType(requirements.memoryTypeBits));
const vk::Unique<vk::VkDeviceMemory> memory (allocateExportableMemory(vkd, *device, requirements.size, exportedMemoryTypeIndex, externalMemoryType, *image));
diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawInvertedDepthRangesTests.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawInvertedDepthRangesTests.cpp
index 6fad4f026..3fc330ad0 100644
--- a/external/vulkancts/modules/vulkan/draw/vktDrawInvertedDepthRangesTests.cpp
+++ b/external/vulkancts/modules/vulkan/draw/vktDrawInvertedDepthRangesTests.cpp
@@ -598,6 +598,9 @@ public:
if (m_params.depthClampEnable)
context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_DEPTH_CLAMP);
+ if (m_params.depthBiasEnable && m_params.depthBiasClamp != 0.0f)
+ context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_DEPTH_BIAS_CLAMP);
+
if (m_params.minDepth > 1.0f || m_params.minDepth < 0.0f || m_params.maxDepth > 1.0f || m_params.maxDepth < 0.0f)
context.requireDeviceFunctionality("VK_EXT_depth_range_unrestricted");
}
diff --git a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRatePixelConsistency.cpp b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRatePixelConsistency.cpp
index 04929d459..229cb5d95 100644
--- a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRatePixelConsistency.cpp
+++ b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRatePixelConsistency.cpp
@@ -1103,23 +1103,43 @@ tcu::TestStatus FSRPixelConsistencyInstance::iterate (void)
Move<VkCommandPool> cmdPool = createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, m_context.getUniversalQueueFamilyIndex());
Move<VkCommandBuffer> cmdBuffer = allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
- VkImageMemoryBarrier preImageBarrier =
+ VkImageMemoryBarrier preImageBarriers[] =
{
- VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType
- DE_NULL, // const void* pNext
- 0u, // VkAccessFlags srcAccessMask
- VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags dstAccessMask
- VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout
- VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout
- VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex
- VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex
- **cbImagePass0, // VkImage image
{
- VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask
- 0u, // uint32_t baseMipLevel
- VK_REMAINING_MIP_LEVELS, // uint32_t mipLevels,
- 0u, // uint32_t baseArray
- VK_REMAINING_ARRAY_LAYERS, // uint32_t arraySize
+ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType
+ DE_NULL, // const void* pNext
+ 0u, // VkAccessFlags srcAccessMask
+ VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags dstAccessMask
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex
+ **cbImagePass0, // VkImage image
+ {
+ VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask
+ 0u, // uint32_t baseMipLevel
+ VK_REMAINING_MIP_LEVELS, // uint32_t mipLevels,
+ 0u, // uint32_t baseArray
+ VK_REMAINING_ARRAY_LAYERS, // uint32_t arraySize
+ }
+ },
+ {
+ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType
+ DE_NULL, // const void* pNext
+ 0u, // VkAccessFlags srcAccessMask
+ VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags dstAccessMask
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex
+ **cbImagePass1, // VkImage image
+ {
+ VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask
+ 0u, // uint32_t baseMipLevel
+ VK_REMAINING_MIP_LEVELS, // uint32_t mipLevels,
+ 0u, // uint32_t baseArray
+ VK_REMAINING_ARRAY_LAYERS, // uint32_t arraySize
+ }
}
};
@@ -1130,15 +1150,7 @@ tcu::TestStatus FSRPixelConsistencyInstance::iterate (void)
(VkDependencyFlags)0,
0, (const VkMemoryBarrier*)DE_NULL,
0, (const VkBufferMemoryBarrier*)DE_NULL,
- 1, &preImageBarrier);
-
- preImageBarrier.image = **cbImagePass1;
-
- vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
- (VkDependencyFlags)0,
- 0, (const VkMemoryBarrier*)DE_NULL,
- 0, (const VkBufferMemoryBarrier*)DE_NULL,
- 1, &preImageBarrier);
+ sizeof(preImageBarriers) / sizeof(preImageBarriers[0]), preImageBarriers);
// Clear both images to UINT_MAX
VkImageSubresourceRange range = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
@@ -1147,6 +1159,53 @@ tcu::TestStatus FSRPixelConsistencyInstance::iterate (void)
vk.cmdClearColorImage(*cmdBuffer, **cbImagePass0, VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &range);
vk.cmdClearColorImage(*cmdBuffer, **cbImagePass1, VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &range);
+ // Barrier between the clear and the rendering
+ VkImageMemoryBarrier clearColorBarriers[] =
+ {
+ {
+ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType
+ DE_NULL, // const void* pNext
+ VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags srcAccessMask
+ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, // VkAccessFlags dstAccessMask
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout oldLayout
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex
+ **cbImagePass0, // VkImage image
+ {
+ VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask
+ 0u, // uint32_t baseMipLevel
+ VK_REMAINING_MIP_LEVELS, // uint32_t mipLevels,
+ 0u, // uint32_t baseArray
+ VK_REMAINING_ARRAY_LAYERS, // uint32_t arraySize
+ }
+ },
+ {
+ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType
+ DE_NULL, // const void* pNext
+ VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags srcAccessMask
+ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, // VkAccessFlags dstAccessMask
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout oldLayout
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex
+ VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex
+ **cbImagePass1, // VkImage image
+ {
+ VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask
+ 0u, // uint32_t baseMipLevel
+ VK_REMAINING_MIP_LEVELS, // uint32_t mipLevels,
+ 0u, // uint32_t baseArray
+ VK_REMAINING_ARRAY_LAYERS, // uint32_t arraySize
+ }
+ }
+ };
+
+ vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
+ (VkDependencyFlags)0,
+ 0, (const VkMemoryBarrier*)DE_NULL,
+ 0, (const VkBufferMemoryBarrier*)DE_NULL,
+ sizeof(clearColorBarriers) / sizeof(clearColorBarriers[0]), clearColorBarriers);
+
beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer,
makeRect2D(m_data.framebufferExtent.width, m_data.framebufferExtent.height),
0, DE_NULL, VK_SUBPASS_CONTENTS_INLINE, DE_NULL);
diff --git a/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp
index 6593c74f0..917165ebb 100644
--- a/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp
+++ b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp
@@ -1056,6 +1056,18 @@ void UploadDownloadExecutor::run(Context& context, VkBuffer buffer)
const VkImageUsageFlags imageUsage = getImageUsageForTestCase(m_caseDef);
const VkImageCreateFlags imageFlags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | (m_haveMaintenance2 ? VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR : 0);
+ VkImageFormatProperties properties;
+ if ((context.getInstanceInterface().getPhysicalDeviceImageFormatProperties(context.getPhysicalDevice(),
+ m_caseDef.imageFormat,
+ getImageType(m_caseDef.imageType),
+ VK_IMAGE_TILING_OPTIMAL,
+ imageUsage,
+ imageFlags,
+ &properties) == VK_ERROR_FORMAT_NOT_SUPPORTED))
+ {
+ TCU_THROW(NotSupportedError, "Format not supported");
+ }
+
m_imageHolder = makeImage(m_vk, m_device, imageFlags, getImageType(m_caseDef.imageType), m_caseDef.imageFormat, m_caseDef.viewFormat,
m_caseDef.isFormatListTest, m_caseDef.size, 1u, m_caseDef.numLayers, imageUsage);
m_image = *m_imageHolder;
diff --git a/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp
index 668dd0e29..61fc220f6 100644
--- a/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp
+++ b/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp
@@ -831,6 +831,9 @@ void ImageTranscodingCase::checkSupport (Context& context) const
{
context.requireDeviceFunctionality("VK_KHR_maintenance2");
+ if ((m_parameters.operation == OPERATION_TEXTURE_READ || m_parameters.operation == OPERATION_TEXTURE_WRITE) && !context.getDeviceFeatures().fragmentStoresAndAtomics)
+ TCU_THROW(NotSupportedError, "fragmentStoresAndAtomics not supported");
+
if (!isFormatUsageFlagSupported(context, m_parameters.featuredFormat, m_parameters.testedImageUsageFeature))
TCU_THROW(NotSupportedError, "Test skipped due to feature is not supported by the format");
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineNoPositionTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineNoPositionTests.cpp
index f90eec42a..16de0cb64 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineNoPositionTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineNoPositionTests.cpp
@@ -380,6 +380,7 @@ tcu::TestStatus NoPositionInstance::iterate (void)
const auto extent = NoPositionCase::getImageExtent();
const auto color = NoPositionCase::getBackGroundColor();
const VkImageUsageFlags usage = (VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT);
+ const auto viewType = (m_params.numViews > 1u ? VK_IMAGE_VIEW_TYPE_2D_ARRAY : VK_IMAGE_VIEW_TYPE_2D);
const bool tess = m_params.tessellation();
VkShaderStageFlags stageFlags = 0u;
@@ -436,7 +437,7 @@ tcu::TestStatus NoPositionInstance::iterate (void)
ImageWithMemory colorImage (vkd, device, alloc, colorImageInfo, MemoryRequirement::Any);
const auto subresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, m_params.numViews);
- const auto colorImageView = makeImageView(vkd, device, colorImage.get(), VK_IMAGE_VIEW_TYPE_2D, format, subresourceRange);
+ const auto colorImageView = makeImageView(vkd, device, colorImage.get(), viewType, format, subresourceRange);
// Vertices and vertex buffer.
std::vector<tcu::Vec4> vertices =
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerTests.cpp
index 749612220..34a444085 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerTests.cpp
@@ -417,9 +417,9 @@ void SamplerTest::initPrograms (SourceCollections& sourceCollections) const
<< "{\n"
<< " fragColor = ";
- if (m_samplerLod > 0.0f)
+ if (m_samplerLod > 0.0f || !m_imageViewType.isNormalized())
{
- DE_ASSERT(m_imageViewType.isNormalized());
+ DE_ASSERT(m_imageViewType.isNormalized() || (m_samplerLod == 0.0f && !m_imageViewType.isNormalized()));
fragmentSrc << "textureLod(texSampler, vtxTexCoords." << texCoordSwizzle << ", " << std::fixed << m_samplerLod << ")";
}
else
@@ -1328,10 +1328,18 @@ void ExactSamplingCase::initPrograms (vk::SourceCollections& programCollection)
<< "\n"
<< "layout(location = 0) out " << colorType << " outColor;\n"
<< "\n"
- << "void main() {\n"
- << " outColor = texture(texSampler, fragTexCoord);\n"
- << "}\n"
- ;
+ << "void main() {\n";
+
+ if (m_params.unnormalizedCoordinates)
+ {
+ fragmentShader << " outColor = textureLod(texSampler, fragTexCoord, 0.0f);";
+ }
+ else
+ {
+ fragmentShader << " outColor = texture(texSampler, fragTexCoord);\n";
+ }
+
+ fragmentShader << "}\n";
programCollection.glslSources.add("frag") << glu::FragmentSource{fragmentShader.str()};
}
@@ -1370,8 +1378,6 @@ vk::VkExtent3D ExactSamplingInstance::getTextureExtent (void) const
tcu::TestStatus ExactSamplingInstance::iterate (void)
{
- const auto& vki = m_context.getInstanceInterface();
- const auto physDevice = m_context.getPhysicalDevice();
const auto& vkd = m_context.getDeviceInterface();
const auto device = m_context.getDevice();
auto& allocator = m_context.getDefaultAllocator();
@@ -1536,12 +1542,8 @@ tcu::TestStatus ExactSamplingInstance::iterate (void)
const auto descriptorSet = vk::makeDescriptorSet(vkd, device, descriptorPool.get(), descriptorSetLayout.get());
// Texture sampler. When using a solid color, test linear filtering. Linear filtering may incur in a small precission loss, but
- // it should be minimal and we should get the same color when converting back to the original format. Anisotropy should be
- // irrelevant too, so it is enabled and set to the maximum level if available.
+ // it should be minimal and we should get the same color when converting back to the original format.
const auto minMagFilter = (m_params.solidColor ? vk::VK_FILTER_LINEAR : vk::VK_FILTER_NEAREST);
- const bool anisotropySupported = (vk::getPhysicalDeviceFeatures(vki, physDevice).samplerAnisotropy == VK_TRUE);
- const bool anisotropyEnable = (!unnorm && m_params.solidColor && anisotropySupported);
- const float maxAnisotropy = (anisotropyEnable ? vk::getPhysicalDeviceProperties(vki, physDevice).limits.maxSamplerAnisotropy : 1.0f);
const auto addressMode = (unnorm ? vk::VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE : vk::VK_SAMPLER_ADDRESS_MODE_REPEAT);
const auto unnormalizedCoordinates = (unnorm ? VK_TRUE : VK_FALSE);
@@ -1557,8 +1559,8 @@ tcu::TestStatus ExactSamplingInstance::iterate (void)
addressMode, // VkSamplerAddressMode addressModeV;
addressMode, // VkSamplerAddressMode addressModeW;
0.0f, // float mipLodBias;
- (anisotropyEnable ? VK_TRUE : VK_FALSE), // VkBool32 anisotropyEnable;
- maxAnisotropy, // float maxAnisotropy;
+ VK_FALSE, // VkBool32 anisotropyEnable;
+ 1.0f, // float maxAnisotropy;
VK_FALSE, // VkBool32 compareEnable;
vk::VK_COMPARE_OP_NEVER, // VkCompareOp compareOp;
0.0f, // float minLod;
diff --git a/external/vulkancts/modules/vulkan/rasterization/vktRasterizationFragShaderSideEffectsTests.cpp b/external/vulkancts/modules/vulkan/rasterization/vktRasterizationFragShaderSideEffectsTests.cpp
index bfefbb6b9..c9332d473 100644
--- a/external/vulkancts/modules/vulkan/rasterization/vktRasterizationFragShaderSideEffectsTests.cpp
+++ b/external/vulkancts/modules/vulkan/rasterization/vktRasterizationFragShaderSideEffectsTests.cpp
@@ -73,7 +73,6 @@ constexpr deUint32 kFramebufferWidth = 32u;
constexpr deUint32 kFramebufferHeight = 32u;
constexpr deUint32 kTotalPixels = kFramebufferWidth * kFramebufferHeight;
-constexpr vk::VkFormatFeatureFlags kNeededColorFeatures = (vk::VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT | vk::VK_FORMAT_FEATURE_TRANSFER_SRC_BIT);
constexpr vk::VkFormat kColorFormat = vk::VK_FORMAT_R8G8B8A8_UNORM;
constexpr vk::VkFormatFeatureFlags kNeededDSFeatures = vk::VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT;
// VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT must be supported for one of these two, according to the spec.
@@ -154,12 +153,13 @@ FragSideEffectsTestCase::FragSideEffectsTestCase (tcu::TestContext& testCtx, con
void FragSideEffectsTestCase::checkSupport (Context& context) const
{
- const auto& vki = context.getInstanceInterface();
- const auto physicalDevice = context.getPhysicalDevice();
+ const auto& features = context.getDeviceFeatures();
+
+ if (!features.fragmentStoresAndAtomics)
+ TCU_THROW(NotSupportedError, "Fragment shader stores and atomics not supported");
if (m_params.caseType == CaseType::DEPTH_BOUNDS)
{
- const auto features = vk::getPhysicalDeviceFeatures(vki, physicalDevice);
if (!features.depthBounds)
TCU_THROW(NotSupportedError, "Depth bounds test not supported");
}
@@ -171,10 +171,6 @@ void FragSideEffectsTestCase::checkSupport (Context& context) const
{
context.requireDeviceFunctionality("VK_KHR_shader_terminate_invocation");
}
-
- const auto colorFormatProperties = vk::getPhysicalDeviceFormatProperties(vki, physicalDevice, kColorFormat);
- if ((colorFormatProperties.optimalTilingFeatures & kNeededColorFeatures) != kNeededColorFeatures)
- TCU_THROW(NotSupportedError, "Color format lacks required features");
}
void FragSideEffectsTestCase::initPrograms (vk::SourceCollections& programCollection) const
diff --git a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp
index 3a15c873d..7a3dd9beb 100644
--- a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp
+++ b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp
@@ -580,7 +580,7 @@ Move<VkRenderPass> DepthStencilResolveTest::createRenderPass (VkFormat vkformat)
AttachmentReference2 singlesampleAttachmentRef // VkAttachmentReference2
(
// VkStructureType sType;
- DE_NULL, // const void* pNext;
+ attachmentRefStencil, // const void* pNext;
(m_config.unusedResolve ? VK_ATTACHMENT_UNUSED : 1u), // deUint32 attachment;
layout, // VkImageLayout layout;
aspectFlags // VkImageAspectFlags aspectMask;
diff --git a/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp b/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp
index 631692095..a6205ef28 100644
--- a/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp
+++ b/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp
@@ -401,6 +401,9 @@ void RobustnessExtsTestCase::checkSupport(Context& context) const
if (m_data.stage == STAGE_VERTEX && !features2.features.vertexPipelineStoresAndAtomics)
TCU_THROW(NotSupportedError, "Vertex pipeline stores and atomics not supported");
+ if (m_data.stage == STAGE_FRAGMENT && !features2.features.fragmentStoresAndAtomics)
+ TCU_THROW(NotSupportedError, "Fragment shader stores not supported");
+
if (m_data.stage == STAGE_RAYGEN)
context.requireDeviceFunctionality("VK_NV_ray_tracing");
@@ -458,6 +461,9 @@ void RobustnessExtsTestCase::checkSupport(Context& context) const
if (m_data.pushDescriptor)
context.requireDeviceFunctionality("VK_KHR_push_descriptor");
+
+ if (m_data.viewType == VK_IMAGE_VIEW_TYPE_CUBE_ARRAY && !features2.features.imageCubeArray)
+ TCU_THROW(NotSupportedError, "Cube array image view type not supported");
}
void generateLayout(Layout &layout, const CaseDef &caseDef)
diff --git a/external/vulkancts/modules/vulkan/shaderexecutor/vktOpaqueTypeIndexingTests.cpp b/external/vulkancts/modules/vulkan/shaderexecutor/vktOpaqueTypeIndexingTests.cpp
index 131542721..498562053 100644
--- a/external/vulkancts/modules/vulkan/shaderexecutor/vktOpaqueTypeIndexingTests.cpp
+++ b/external/vulkancts/modules/vulkan/shaderexecutor/vktOpaqueTypeIndexingTests.cpp
@@ -185,7 +185,7 @@ public:
generateSources(m_shaderType, m_shaderSpec, programCollection);
}
- void checkSupport (Context& context) const;
+ virtual void checkSupport (Context& context) const;
protected:
const char* m_name;
@@ -1390,6 +1390,7 @@ public:
virtual ~BlockArrayIndexingCase (void);
virtual TestInstance* createInstance (Context& ctx) const;
+ virtual void checkSupport (Context& context) const;
private:
BlockArrayIndexingCase (const BlockArrayIndexingCase&);
@@ -1424,6 +1425,33 @@ BlockArrayIndexingCase::~BlockArrayIndexingCase (void)
{
}
+void BlockArrayIndexingCase::checkSupport(Context &context) const
+{
+ OpaqueTypeIndexingCase::checkSupport(context);
+
+ uint32_t maxDescriptorStorageBuffers = (uint32_t)(m_inValues.size());
+
+ switch (m_shaderType)
+ {
+ case glu::SHADERTYPE_VERTEX:
+ case glu::SHADERTYPE_TESSELLATION_CONTROL:
+ case glu::SHADERTYPE_TESSELLATION_EVALUATION:
+ case glu::SHADERTYPE_GEOMETRY:
+ case glu::SHADERTYPE_FRAGMENT:
+ // No extra storage buffers
+ break;
+ case glu::SHADERTYPE_COMPUTE:
+ // From ComputerShaderExecutor class
+ maxDescriptorStorageBuffers += 2u;
+ break;
+ default:
+ TCU_THROW(InternalError, "Unsupported shader type");
+ }
+
+ if (maxDescriptorStorageBuffers > context.getDeviceProperties2().properties.limits.maxPerStageDescriptorStorageBuffers)
+ TCU_THROW(NotSupportedError, "Driver supports less maxPerStageDescriptorStorageBuffers than the ones required");
+}
+
TestInstance* BlockArrayIndexingCase::createInstance (Context& ctx) const
{
return new BlockArrayIndexingCaseInstance(ctx,
diff --git a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp
index 28eeb95d7..48e93b519 100644
--- a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp
+++ b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp
@@ -3251,7 +3251,7 @@ protected:
ret |= ctx.format.roundOut(Interval(-DE_PI_DOUBLE, DE_PI_DOUBLE), true);
}
- if (ctx.format.hasInf() != YES && (!yi.isFinite() || !xi.isFinite()))
+ if (!yi.isFinite() || !xi.isFinite())
{
// Infinities may not be supported, allow anything, including NaN
ret |= TCU_NAN;
diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
index 5ee6ba9b9..e57b34b86 100644
--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
+++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
@@ -15279,7 +15279,7 @@ struct fp16Atan2 : public fp16PerComponent
const double yd (y.asDouble());
double result (0.0);
- if (x.isZero() && y.isZero())
+ if ((x.isZero() && y.isZero())||(x.isInf() && y.isInf()))
return false;
if (getFlavor() == 0)
diff --git a/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp b/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp
index b8acab56f..6191a1b42 100644
--- a/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp
+++ b/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp
@@ -2597,6 +2597,11 @@ void SSBOLayoutCase::initPrograms (vk::SourceCollections& programCollection) con
TestInstance* SSBOLayoutCase::createInstance (Context& context) const
{
+ return new SSBOLayoutCaseInstance(context, m_bufferMode, m_interface, m_refLayout, m_initialData, m_writeData, m_usePhysStorageBuffer);
+}
+
+void SSBOLayoutCase::checkSupport(Context& context) const
+{
if (!context.isDeviceFunctionalitySupported("VK_KHR_relaxed_block_layout") && usesRelaxedLayout(m_interface))
TCU_THROW(NotSupportedError, "VK_KHR_relaxed_block_layout not supported");
if (!context.get16BitStorageFeatures().storageBuffer16BitAccess && uses16BitStorage(m_interface))
@@ -2607,9 +2612,20 @@ TestInstance* SSBOLayoutCase::createInstance (Context& context) const
TCU_THROW(NotSupportedError, "scalarBlockLayout not supported");
if (m_usePhysStorageBuffer && !context.isBufferDeviceAddressSupported())
TCU_THROW(NotSupportedError, "Physical storage buffer pointers not supported");
- if (!context.getDescriptorIndexingFeatures().shaderStorageBufferArrayNonUniformIndexing && usesDescriptorIndexing(m_interface))
+ if (usesDescriptorIndexing(m_interface) && ( !context.getDescriptorIndexingFeatures().shaderStorageBufferArrayNonUniformIndexing ||
+ !context.getDescriptorIndexingFeatures().runtimeDescriptorArray ) )
TCU_THROW(NotSupportedError, "Descriptor indexing over storage buffer not supported");
- return new SSBOLayoutCaseInstance(context, m_bufferMode, m_interface, m_refLayout, m_initialData, m_writeData, m_usePhysStorageBuffer);
+
+ const vk::VkPhysicalDeviceProperties &properties = context.getDeviceProperties();
+ // Shader defines N+1 storage buffers: N to operate and one more to store the number of cases passed.
+ deUint32 blockCount = 1u;
+ for (deInt32 blockIdx = 0u; blockIdx < m_interface.getNumBlocks(); blockIdx++)
+ {
+ blockCount += m_interface.getBlock(blockIdx).getArraySize() ? m_interface.getBlock(blockIdx).getArraySize() : 1u;
+ }
+
+ if (properties.limits.maxPerStageDescriptorStorageBuffers < blockCount)
+ TCU_THROW(NotSupportedError, "Descriptor set storage buffers count higher than the maximum supported by the driver");
}
void SSBOLayoutCase::delayedInit (void)
diff --git a/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.hpp b/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.hpp
index aa8ad2a04..5008098c1 100644
--- a/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.hpp
+++ b/external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.hpp
@@ -244,6 +244,7 @@ public:
virtual void delayedInit (void);
virtual void initPrograms (vk::SourceCollections& programCollection) const;
virtual TestInstance* createInstance (Context& context) const;
+ virtual void checkSupport (Context &context) const;
protected:
BufferMode m_bufferMode;
diff --git a/external/vulkancts/modules/vulkan/texture/vktTextureFilteringAnisotropyTests.cpp b/external/vulkancts/modules/vulkan/texture/vktTextureFilteringAnisotropyTests.cpp
index c9582b065..113a54e09 100644
--- a/external/vulkancts/modules/vulkan/texture/vktTextureFilteringAnisotropyTests.cpp
+++ b/external/vulkancts/modules/vulkan/texture/vktTextureFilteringAnisotropyTests.cpp
@@ -99,10 +99,6 @@ public:
tcu::TestStatus iterate (void)
{
- // Check device for anisotropic filtering support
- if (!m_context.getDeviceFeatures().samplerAnisotropy)
- TCU_THROW(NotSupportedError, "Skipping anisotropic tests since the device does not support anisotropic filtering.");
-
TextureRenderer renderer (m_context, VK_SAMPLE_COUNT_1_BIT, ANISOTROPY_TEST_RESOLUTION, ANISOTROPY_TEST_RESOLUTION);
TestTexture2DSp texture = TestTexture2DSp(new pipeline::TestTexture2D(vk::mapVkFormat(VK_FORMAT_R8G8B8A8_UNORM), ANISOTROPY_TEST_RESOLUTION, ANISOTROPY_TEST_RESOLUTION));
@@ -176,6 +172,14 @@ public:
{
return new FilteringAnisotropyInstance(context, m_refParams);
}
+
+ virtual void checkSupport (Context& context) const
+ {
+ // Check device for anisotropic filtering support.
+ if (!context.getDeviceFeatures().samplerAnisotropy)
+ TCU_THROW(NotSupportedError, "Skipping anisotropic tests since the device does not support anisotropic filtering.");
+ }
+
private :
const AnisotropyParams m_refParams;
};
diff --git a/external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp b/external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp
index 943f54c20..35bb5edb3 100644
--- a/external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp
+++ b/external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp
@@ -2232,7 +2232,8 @@ TestInstance* UniformBlockCase::createInstance (Context& context) const
TCU_THROW(NotSupportedError, "std430 not supported");
if (!context.getScalarBlockLayoutFeatures().scalarBlockLayout && usesBlockLayout(LAYOUT_SCALAR))
TCU_THROW(NotSupportedError, "scalarBlockLayout not supported");
- if (!context.getDescriptorIndexingFeatures().shaderUniformBufferArrayNonUniformIndexing && usesBlockLayout(LAYOUT_DESCRIPTOR_INDEXING))
+ if (usesBlockLayout(LAYOUT_DESCRIPTOR_INDEXING) && ( !context.getDescriptorIndexingFeatures().shaderUniformBufferArrayNonUniformIndexing ||
+ !context.getDescriptorIndexingFeatures().runtimeDescriptorArray ) )
TCU_THROW(NotSupportedError, "Descriptor indexing over uniform buffer not supported");
return new UniformBlockCaseInstance(context, m_bufferMode, m_uniformLayout, m_blockPointers);
diff --git a/external/vulkancts/modules/vulkan/vktTestCase.cpp b/external/vulkancts/modules/vulkan/vktTestCase.cpp
index d46791f86..f8a426cf4 100644
--- a/external/vulkancts/modules/vulkan/vktTestCase.cpp
+++ b/external/vulkancts/modules/vulkan/vktTestCase.cpp
@@ -42,8 +42,6 @@
#include <set>
-struct vk_executor;
-
namespace vkt
{
diff --git a/modules/gles2/functional/es2fFunctionalTests.cpp b/modules/gles2/functional/es2fFunctionalTests.cpp
index d1d12bf69..f62916dab 100644
--- a/modules/gles2/functional/es2fFunctionalTests.cpp
+++ b/modules/gles2/functional/es2fFunctionalTests.cpp
@@ -311,36 +311,36 @@ FunctionalTests::~FunctionalTests (void)
void FunctionalTests::init (void)
{
- addChild(new PrerequisiteTests (m_context));
- addChild(new ImplementationLimitTests (m_context));
- addChild(new ClipControlTests (m_context));
- addChild(new ColorClearTest (m_context));
- addChild(new DepthStencilClearTests (m_context));
- addChild(new BufferTests (m_context));
- addChild(new LightAmountTest (m_context));
- addChild(new MultisampledRenderToTextureTests(m_context));
- addChild(new ShadersTestGroup (m_context));
- addChild(new TextureTestGroup (m_context));
- addChild(new FragmentOpTests (m_context));
- addChild(new FboTestGroup (m_context));
- addChild(new VertexArrayTestGroup (m_context));
- addChild(new ShaderApiTests (m_context));
- addChild(new NegativeApiTestGroup (m_context));
- addChild(new RasterizationTests (m_context));
- addChild(createAttributeLocationTests (m_context));
- addChild(new MultisampleTests (m_context));
- addChild(new UniformApiTests (m_context));
- addChild(new ReadPixelsTests (m_context));
- addChild(new DepthRangeTests (m_context));
- addChild(new DitheringTests (m_context));
- addChild(new StateQueryTests (m_context));
- addChild(new ClippingTests (m_context));
- addChild(new PolygonOffsetTests (m_context));
- addChild(new DrawTests (m_context));
- addChild(new FlushFinishTests (m_context));
- addChild(new DefaultVertexAttributeTests(m_context));
- addChild(createLifetimeTests (m_context));
- addChild(createDebugMarkerTests (m_context));
+ addChild(new PrerequisiteTests (m_context));
+ addChild(new ImplementationLimitTests (m_context));
+ addChild(new ClipControlTests (m_context));
+ addChild(new ColorClearTest (m_context));
+ addChild(new DepthStencilClearTests (m_context));
+ addChild(new BufferTests (m_context));
+ addChild(new LightAmountTest (m_context));
+ addChild(new MultisampledRenderToTextureTests (m_context));
+ addChild(new ShadersTestGroup (m_context));
+ addChild(new TextureTestGroup (m_context));
+ addChild(new FragmentOpTests (m_context));
+ addChild(new FboTestGroup (m_context));
+ addChild(new VertexArrayTestGroup (m_context));
+ addChild(new ShaderApiTests (m_context));
+ addChild(new NegativeApiTestGroup (m_context));
+ addChild(new RasterizationTests (m_context));
+ addChild(createAttributeLocationTests (m_context));
+ addChild(new MultisampleTests (m_context));
+ addChild(new UniformApiTests (m_context));
+ addChild(new ReadPixelsTests (m_context));
+ addChild(new DepthRangeTests (m_context));
+ addChild(new DitheringTests (m_context));
+ addChild(new StateQueryTests (m_context));
+ addChild(new ClippingTests (m_context));
+ addChild(new PolygonOffsetTests (m_context));
+ addChild(new DrawTests (m_context));
+ addChild(new FlushFinishTests (m_context));
+ addChild(new DefaultVertexAttributeTests (m_context));
+ addChild(createLifetimeTests (m_context));
+ addChild(createDebugMarkerTests (m_context));
}
} // Functional
diff --git a/scripts/build_android_mustpass.py b/scripts/build_android_mustpass.py
index 96ef9b129..355c08340 100644
--- a/scripts/build_android_mustpass.py
+++ b/scripts/build_android_mustpass.py
@@ -129,7 +129,7 @@ MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
required = True,
filters = MASTER_GLES3_COMMON_FILTERS,
runtime = "1h50m",
- runByDefault = False),
+ runByDefault = False),
Configuration(name = "master-2020-03-01",
glconfig = "rgba8888d24s8ms0",
rotation = "unspecified",
@@ -191,7 +191,7 @@ MASTER_GLES3_PKG = Package(module = GLES3_MODULE, configurations = [
Configuration(name = "incremental-deqp",
filters = [include("gles3-incremental-deqp.txt")],
runtime = "5m",
- runByDefault = False),
+ runByDefault = False),
])
MASTER_GLES31_COMMON_FILTERS = [
@@ -282,7 +282,7 @@ MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
Configuration(name = "master",
filters = MASTER_VULKAN_FILTERS,
runtime = "2h39m",
- runByDefault = False),
+ runByDefault = False),
Configuration(name = "master-2019-03-01",
filters = [include("vk-master-2019-03-01.txt")],
runtime = "2h29m"),
@@ -295,7 +295,7 @@ MASTER_VULKAN_PKG = Package(module = VULKAN_MODULE, configurations = [
Configuration(name = "incremental-deqp",
filters = [include("vk-incremental-deqp.txt")],
runtime = "5m",
- runByDefault = False),
+ runByDefault = False),
])
MUSTPASS_LISTS = [
diff --git a/scripts/mustpass.py b/scripts/mustpass.py
index 8c4ae98c4..4d1e2b454 100644
--- a/scripts/mustpass.py
+++ b/scripts/mustpass.py
@@ -318,6 +318,7 @@ def genAndroidTestXml (mustpass):
ElementTree.SubElement(configElement, "option", key="parameter", name="config-descriptor:metadata", value="not_instant_app")
ElementTree.SubElement(configElement, "option", key="parameter", name="config-descriptor:metadata", value="multi_abi")
ElementTree.SubElement(configElement, "option", key="parameter", name="config-descriptor:metadata", value="secondary_user")
+ ElementTree.SubElement(configElement, "option", key="parameter", name="config-descriptor:metadata", value="no_foldable_states")
controllerElement = ElementTree.SubElement(configElement, "object")
controllerElement.set("class", "com.android.tradefed.testtype.suite.module.TestFailureModuleController")
controllerElement.set("type", "module_controller")
diff --git a/scripts/src_util/check_all.py b/scripts/src_util/check_all.py
index d2987fe87..b58e53149 100644
--- a/scripts/src_util/check_all.py
+++ b/scripts/src_util/check_all.py
@@ -28,7 +28,6 @@ from check_encoding import checkEncoding
from check_whitespace import checkWhitespace
from check_license import checkLicense
from check_boms import checkBOMs
-from check_invalid_literals import checkInvalidLiterals
if __name__ == "__main__":
parser = ArgumentParser()
@@ -52,7 +51,6 @@ if __name__ == "__main__":
checkWhitespace(files),
checkIncludeGuards(files),
checkLicense(files),
- checkInvalidLiterals(files),
#todo checkRedundantIncludeGuards(files),
])
diff --git a/scripts/src_util/check_invalid_literals.py b/scripts/src_util/check_invalid_literals.py
deleted file mode 100644
index 8485c0898..000000000
--- a/scripts/src_util/check_invalid_literals.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# -*- coding: utf-8 -*-
-
-#-------------------------------------------------------------------------
-# drawElements Quality Program utilities
-# --------------------------------------
-#
-# Copyright (c) 2017 The Khronos Group Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#-------------------------------------------------------------------------
-
-import os
-import re
-import sys
-from argparse import ArgumentParser
-from common import getChangedFiles, getAllProjectFiles, isTextFile
-
-CHECK_LITERAL_PATTERNS = [
- r'\b[us]*int[0-9]+_t\b',
- r'\b[U]*INT(_LEAST|_FAST|)[0-9]+_MAX\b',
- r'\b0b',
-]
-
-CHECK_LIST = [
- ".cpp",
- ".hpp",
- ".c",
- ".h",
-]
-
-EXCLUSION_LIST = [
- "framework/delibs/debase/deDefs.h",
- "framework/platform/android/tcuAndroidPlatform.cpp",
- "framework/platform/android/tcuAndroidWindow.hpp",
- "framework/platform/android/tcuAndroidWindow.cpp",
- "framework/platform/lnx/X11/tcuLnxX11Xcb.cpp",
- "framework/platform/lnx/wayland/tcuLnxWayland.hpp",
- "framework/platform/lnx/wayland/tcuLnxWayland.cpp",
- "framework/delibs/debase/deFloat16.c",
-]
-
-def checkEnds(line, ends):
- return any(line.endswith(end) for end in ends)
-
-def checkFileInvalidLiterals (file):
- error = False
-
- if checkEnds(file.replace("\\", "/"), CHECK_LIST) and not checkEnds(file.replace("\\", "/"), EXCLUSION_LIST):
- f = open(file, 'rt')
- for lineNum, line in enumerate(f):
- # Remove inline comments
- idx = line.find("//")
- if idx > 0:
- line = line[:idx]
- # Remove text in quoted literals
- if line.find("\"") > 0:
- list = line.split('"')
- del list[1::2]
- line = ' '
- line = line.join(list)
- for pattern in CHECK_LITERAL_PATTERNS:
- found = re.search(pattern, line)
- if found is not None:
- error = True
- print("%s:%i Unacceptable type found (pattern:%s)" % (file, lineNum+1, pattern))
- f.close()
-
- return not error
-
-def checkInvalidLiterals (files):
- error = False
- for file in files:
- if isTextFile(file):
- if not checkFileInvalidLiterals(file):
- error = True
-
- return not error
-
-if __name__ == "__main__":
- parser = ArgumentParser()
- parser.add_argument("-e", "--only-errors", action="store_true", dest="onlyErrors", default=False, help="Print only on error")
- parser.add_argument("-i", "--only-changed", action="store_true", dest="useGitIndex", default=False, help="Check only modified files. Uses git.")
-
- args = parser.parse_args()
-
- if args.useGitIndex:
- files = getChangedFiles()
- else:
- files = getAllProjectFiles()
-
- # filter out original Vulkan header sources
- files = [f for f in files if "vulkancts/scripts/src" not in f]
-
- error = not checkInvalidLiterals(files)
-
- if error:
- print("One or more checks failed")
- sys.exit(1)
- if not args.onlyErrors:
- print("All checks passed")