Alexander Galazin [Fri, 23 Nov 2018 11:28:00 +0000 (12:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: Ie214ae458af3879e564fba6778ba1488e6032b98
Alexander Galazin [Sat, 15 Sep 2018 07:24:47 +0000 (09:24 +0200)]
Enable previously excluded tests
Component: Vulkan
Affects:
dEQP-VK.glsl.builtin.precision.clamp.highp_compute.*
dEQP-VK.glsl.builtin.precision.cos.mediump_*
dEQP-VK.glsl.builtin.precision.div.highp_compute.*
dEQP-VK.glsl.builtin.precision.max.highp_compute.*
dEQP-VK.glsl.builtin.precision.min.highp_compute.*
dEQP-VK.glsl.builtin.precision.mod.highp_compute.*
dEQP-VK.glsl.builtin.precision.sin.mediump_compute.*
dEQP-VK.glsl.builtin.precision.tan.mediump_compute.*
dEQP-VK.glsl.builtin.precision.dot.highp_compute.*
dEQP-VK.glsl.builtin.precision.acosh.highp_compute.*
dEQP-VK.glsl.builtin.precision.atanh.highp_compute.*
dEQP-VK.glsl.builtin.precision.atanh.mediump_compute.*
dEQP-VK.glsl.builtin.precision.reflect.mediump_compute.scalar
dEQP-VK.glsl.builtin.precision.reflect.highp_compute.scalar
dEQP-VK.glsl.builtin.precision.reflect.highp_compute.vec4
dEQP-VK.glsl.builtin.precision.acos.mediump_compute.*
dEQP-VK.glsl.builtin.precision.atan.mediump_compute.*
dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.*
dEQP-VK.glsl.builtin.precision.inverse.highp_compute.mat2
dEQP-VK.glsl.builtin.precision.refract.*
dEQP-VK.api.copy_and_blit.core.blit_image.simple_tests.scaling_and_offset.b8g8r8a8_unorm_linear
dEQP-VK.wsi.android.surface.query_devgroup_*
dEQP-VK.spirv_assembly.instruction.*.indexing.*u32*
dEQP-VK.spirv_assembly.instruction.*.indexing.*s32*
Change-Id: Idc718e296d531e0c8aff5da991f81c2dcc03a693
(cherry picked from commit
5a65480e2223c9e81d9c92fd0df84ae1a0762c3e)
David Neto [Wed, 10 Oct 2018 20:37:38 +0000 (16:37 -0400)]
SPIR-V validation understands VK_EXT_scalar_block_layout
Refactor SPIR-V validator options into own struct and header
Shader build options now record scalar layout flag.
Shader build options can yield a validator options object.
Update SSBO and UBO layout tests to tell validation when they are
using scalar layout.
Update fetch_sources.py to include GitLab SPIRV-Tools supporting
validation of scalar block layout.
Remaining validation failures:
- FPRoundingMode checks are not sensitive to capabilities in
SPV_KHR_float_controls
Components: Vulkan
Affects:
dEQP-VK.ssbo.*
dEQP-VK.ubo.*
Change-Id: I4449b58f8c33c82eea8965847059fdeb22806876
(cherry picked from commit
3adebf1717d09fa7403f05325f4e8c5038b49a3c)
Add tests for VK_EXT_scalar_block_layout
Components: Vulkan, Framework
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
Change-Id: I373b9aed610d714b22e89910c98ce50ac882c513
(cherry picked from commit
71e336126ac2959418f9c39a9507e91e4dc61951)
Slawomir Cygan [Mon, 22 Oct 2018 15:12:11 +0000 (17:12 +0200)]
Properly align and pad vec16x2 values in UBO array
Each of vec16x2 element should be thightly packed, followed by padding.
Without this change the test was padding each float16 value.
Components: Vulkan
VK-GL-CTS Issue: 1436
Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_64.uniform_vector_float
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_float_16_to_64.uniform_vector_float*
Change-Id: I4405a96eb5a27cfd8bf362853b28d59f20cb2314
(cherry picked from commit
8dbff9d866aa838047c641a5eeab19381be3df4f)
Iago Toral Quiroga [Thu, 4 Oct 2018 07:43:17 +0000 (09:43 +0200)]
Require VK_KHR_shader_float16_int8 in float16 opconstant tests
The SPIR-V code in the shaders used by these tests includes
16-bit floating point OpVectorTimesScalar and
OpMatrixTimesVector operations, which require the extension. There
is no compute version of these tests, only graphics.
Components: Vulkan
VK-GL-CTS issue: 1403
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.opconstant.*
Change-Id: If0f7960013759a0d5dad41629dcefc79350c3c88
(cherry picked from commit
a83c04cd2f258fbce81ddbaa10f1e5ae092deb8b)
Alexander Galazin [Fri, 23 Nov 2018 10:34:02 +0000 (11:34 +0100)]
Merge vk-gl-cts/vulkan-cts-next-dev into vk-gl-cts/master
Change-Id: I6d4f64f018882ace2106843270c2a0dc598ed61d
Slawomir Cygan [Mon, 22 Oct 2018 15:12:11 +0000 (17:12 +0200)]
Properly align and pad vec16x2 values in UBO array
Each of vec16x2 element should be thightly packed, followed by padding.
Without this change the test was padding each float16 value.
Components: Vulkan
VK-GL-CTS Issue: 1436
Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_64.uniform_vector_float
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_float_16_to_64.uniform_vector_float*
Change-Id: I4405a96eb5a27cfd8bf362853b28d59f20cb2314
(cherry picked from commit
8dbff9d866aa838047c641a5eeab19381be3df4f)
Iago Toral Quiroga [Thu, 4 Oct 2018 07:43:17 +0000 (09:43 +0200)]
Require VK_KHR_shader_float16_int8 in float16 opconstant tests
The SPIR-V code in the shaders used by these tests includes
16-bit floating point OpVectorTimesScalar and
OpMatrixTimesVector operations, which require the extension. There
is no compute version of these tests, only graphics.
Components: Vulkan
VK-GL-CTS issue: 1403
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.opconstant.*
Change-Id: If0f7960013759a0d5dad41629dcefc79350c3c88
(cherry picked from commit
a83c04cd2f258fbce81ddbaa10f1e5ae092deb8b)
Boris Zanin [Thu, 18 Oct 2018 08:50:25 +0000 (10:50 +0200)]
Properly analyze edge0>=edge1 cases in smoothstep
Smoothstep result is undefined if edge0 >= edge1. Make tests
return NaNs for such cases to them.
Affected tests:
* dEQP-VK.glsl.builtin.precision.smoothstep.mediump_compute.*
* dEQP-VK.glsl.builtin.precision.smoothstep.highp_compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage16b.smoothstep.compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage32b.smoothstep.compute.*
Components: Vulkan
VK-GL-CTS issue: 1425
Change-Id: Ieafc34c176c6681c2377898dde9a4934a3e5bcd3
(cherry picked from commit
4b16ba6bbd7e97b47244e4fb52ed6ccda37b3a48)
Boris Zanin [Wed, 17 Oct 2018 13:50:49 +0000 (15:50 +0200)]
Remove NaN from OpFOrd* and OpFUnord* tests
Due to Vulkan specification enables NaNs to be unsupported
by implementation, the NaN values cannot be processed.
As it is quite complicated to remove NaNs from tested values
stream this fix just blocks their analysis.
Following instructions are not fully tested now:
* OpFOrdEqual
* OpFOrdGreaterThan
* OpFOrdLessThan
* OpFOrdGreaterThanEqual
* OpFOrdLessThanEqual
* OpFUnordEqual
* OpFUnordGreaterThan
* OpFUnordLessThan
* OpFUnordGreaterThanEqual
* OpFUnordLessThanEqual
Affected tests:
* dEQP-VK.glsl.builtin.precision.comparison.mediump_compute.*
* dEQP-VK.glsl.builtin.precision.comparison.highp_compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage16b.comparison.compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage32b.comparison.compute.*
Components: Vulkan
VK-GL-CTS issue: 1423
Change-Id: Ic64cfdbe23d796de90dae0931109421ded2b526a
(cherry picked from commit
000e5e5b71561a9f4ff411219f034cb72879b56f)
Piotr Byszewski [Fri, 10 Aug 2018 11:07:55 +0000 (13:07 +0200)]
Test OpSpecConstantOp in float_controls
Only rounding controls for FConvert opcode can be tested
because other opcodes would require float operations
that are only available with Kernel capability.
Components: Vulkan
VK-GL-CTS issue: 1083
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Change-Id: I42ce9adc88340450648c4c088cd975f1abe2d88f
(cherry picked from commit
84530d144c147db854606e5dbabd2bfdff5e8177)
Piotr Byszewski [Wed, 28 Mar 2018 13:27:52 +0000 (15:27 +0200)]
Tests for VK_KHR_shader_float_controls
Tests are executed for both compute and graphics stages,
for all three float widths and for two argument preparation
methods (passed via SSBO and generated in SPIR-V code).
Components: Vulkan
VK-GL-CTS issue: 1083
Affects:
dEQP-VK.api.info.get_physical_device_properties2.properties
dEQP-VK.api.info.get_physical_device_properties2.features
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Change-Id: I2bb10b7aa51283600051ecf67e845ed5f2b2093f
(cherry picked from commit
64edd2b341e49acf09be0f0807f0c2d635967171)
Alexander Galazin [Wed, 19 Jul 2017 08:57:20 +0000 (10:57 +0200)]
FP16 precision tests VK_KHR_shader_float16_int8
Add tests:
* dEQP-VK.glsl.builtin.precision_fp16*
* dEQP-VK.glsl.builtin.precision*.comparison.*
Components: Vulkan, Framework
VK-GL-CTS issues: 1094
Change-Id: Iff0d1c4c144231128e5cd80bc7f72ef162ec22fa
(cherry picked from commit
6971843a108455bc7e411d704b491d0802022e0f)
Boris Zanin [Fri, 13 Apr 2018 12:38:19 +0000 (14:38 +0200)]
SPIR-V tests for VK_KHR_shader_float16_int8
Add tests:
* dEQP-VK.spirv_assembly.instruction.graphics.float16.function*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.opconstant.*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorextractdynamic*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorinsertdynamic*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorshuffle*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeconstruct*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeextract*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeinsert*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic*
* dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.fconvert16_*
* dEQP-VK.spirv_assembly.instruction.graphics.opphi.swap16_*
* dEQP-VK.spirv_assembly.instruction.graphics.fconvert.*float16*
* dEQP-VK.spirv_assembly.instruction.graphics.convert*
* dEQP-VK.spirv_assembly.instruction.compute.float16.function*
* dEQP-VK.spirv_assembly.instruction.compute.float16.logical.*
* dEQP-VK.spirv_assembly.instruction.compute.float16.opconstantcomposite.*
* dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorextractdynamic*
* dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorinsertdynamic*
* dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorshuffle*
* dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeconstruct*
* dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeextract*
* dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeinsert*
* dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*
* dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.fconvert16
* dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float16
* dEQP-VK.spirv_assembly.instruction.compute.fconvert.*float16*
* dEQP-VK.spirv_assembly.instruction.compute.convert*
Affects tests:
* dEQP-VK.spirv_assembly.instruction.*
Components: Vulkan
VK-GL-CTS issue: 1095
Change-Id: If6112d42a9b84eaff50e559f0a4b438372815ae7
(cherry picked from commit
449a2e07496fc77e1c267b00d3d9e4c070accbb9)
Boris Zanin [Tue, 17 Jul 2018 13:51:07 +0000 (15:51 +0200)]
Add convert tests for 8-bit integers
Add tests:
* dEQP-VK.spirv_assembly.instruction.*.sconvert*int8*
* dEQP-VK.spirv_assembly.instruction.*.uconvert*uint8*
* dEQP-VK.spirv_assembly.instruction.*.convertstof*int8*
* dEQP-VK.spirv_assembly.instruction.*.convertftos*uint8*
* dEQP-VK.spirv_assembly.instruction.*.convertutof*int8*
* dEQP-VK.spirv_assembly.instruction.*.convertftou*uint8*
Affect tests:
* dEQP-VK.spirv_assembly.instruction.*convert*
Components: Vulkan
VK-GL-CTS issues: 1095
Change-Id: I4f125634d993795029feee34a1818cdacc000517
(cherry picked from commit
59a188436f57fac4a89772302c96d843310605f2)
Ilkka Saarelainen [Fri, 10 Aug 2018 11:39:07 +0000 (14:39 +0300)]
Add float <--> int conversion tests
Added compute and graphics tests for OpConvertSToF, OpConvertFToS,
OpConvertUToF and OpConvertFToU instructions.
New tests:
dEQP-VK.spirv_assembly.instruction.compute.convert*
dEQP-VK.spirv_assembly.instruction.graphics.convert*
Components: Vulkan
VK-GL-CTS issue: 1079
Change-Id: Ia9a293a71e563a379a94f237afa8ee15bda2e01b
(cherry picked from commit
fc308c1d66c059d731222002c9b07e95ebb8cc64)
Boris Zanin [Mon, 9 Jul 2018 07:49:53 +0000 (09:49 +0200)]
Add operation tests for 8-bit integers
New tests:
* dEQP-VK.spirv_assembly.type.*.i8.*
* dEQP-VK.spirv_assembly.type.*.u8.*
Affects tests:
* dEQP-VK.spirv_assembly.type.*
VK-GL-CTS issue: 1095
Change-Id: If94bcce6a1fff6d424c49ce3bd0b374f826ff9cb
Components: Vulkan
(cherry picked from commit
c58cb8e712db300e9f81afaaa17f7fa0a42910ea)
Boris Zanin [Mon, 14 May 2018 11:58:25 +0000 (13:58 +0200)]
Add VK_KHR_shader_float16_int8 definitions
Add VK_KHR_shader_float16_int8 definitions and update framework
appropriately.
Add core features check functionality.
Components: Vulkan, Framework
VK-GL-CTS issues: 1094, 1095
Change-Id: Ia6a7960bc802fd8903e89310e7f1b5afe49d8fdb
(cherry picked from commit
dbdcee9e13d2457d8b5c181556844d322bae6d74)
Samuel Iglesias Gonsálvez [Mon, 5 Mar 2018 13:01:40 +0000 (14:01 +0100)]
Add fp16 <-> fp64 conversion tests
Require support for VK_KHR_shader_float16_int8 extension.
Added tests:
dEQP-VK.spirv_assembly.instruction.*.16bit_storage*64*
VK-GL-CTS issue: 1116
Components: Vulkan, Framework
Fix 16-bit storage IO f64-to-f16 conversion tests
The tests were applying a rounding mode decoration
to OpFConvert that was used by OpReturnValue.
The extension doesn't allow this. The only allowed
successor for suc instruction is OpStore to specific
storage classes.
Components: Vulkan
VK-GL-CTS issue: 1424
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_64_to_16.*
Change-Id: Ia224e4c6d1e11e6bc1c250d68e5b24f90000d8e6
(cherry picked from commit
04ba8ac400a3a090cfdf68db9ff004cd142fa7ac)
(cherry picked from commit
c74832c803b5df82482747fd4dd11fa1d7b6badc)
Lei Zhang [Fri, 14 Sep 2018 18:56:12 +0000 (14:56 -0400)]
Fix array stride in uniform buffer for VK_KHR_16bit_storage
Array stride need to be a multiple of 16.
Affects:
dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*
Components: Vulkan, SPIR-V
VK-GL-CTS issue: 1344
Change-Id: If5c4415e8f1914a2579d914d33ab3b334affd8d3
(cherry picked from commit
503aa56f067bcd7d20ef55e676672098007e3782)
Boris Zanin [Wed, 4 Jul 2018 09:02:23 +0000 (11:02 +0200)]
Refactor: Compatible compute and graphics VerifyIO
Refactoring:
* Compatibilize VerifyIO function declaration
* Add isCoreFeatureSupported
* Graphic shader can run over whole area
Affects tests:
* dEQP-VK.spirv_assembly.*
Components: Vulkan
VK-GL-CTS issue: 1095
Change-Id: Iba9bab9d40a06f1eba90572cc60f1c334c4b8474
(cherry picked from commit
9a41fa49a90f27544ff83fce678efbe3c58cc381)
Jeff Bolz [Thu, 27 Sep 2018 17:36:06 +0000 (12:36 -0500)]
Add tests for VK_EXT_scalar_block_layout
Components: Vulkan, Framework
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
SPIR-V validation understands VK_EXT_scalar_block_layout
Refactor SPIR-V validator options into own struct and header
Shader build options now record scalar layout flag.
Shader build options can yield a validator options object.
Update SSBO and UBO layout tests to tell validation when they are
using scalar layout.
Update fetch_sources.py to include GitLab SPIRV-Tools supporting
validation of scalar block layout.
Remaining validation failures:
- FPRoundingMode checks are not sensitive to capabilities in
SPV_KHR_float_controls
Components: Vulkan
Affects:
dEQP-VK.ssbo.*
dEQP-VK.ubo.*
Change-Id: I4449b58f8c33c82eea8965847059fdeb22806876
(cherry picked from commit
71e336126ac2959418f9c39a9507e91e4dc61951)
(cherry picked from commit
3adebf1717d09fa7403f05325f4e8c5038b49a3c)
Alexander Galazin [Tue, 20 Nov 2018 08:15:23 +0000 (09:15 +0100)]
Update SPIR-V Tools/Headers
Update SPIR-V tools and headers to accommodate support for
Float16/Int8 and shader_float_controls
Components: Framework
Change-Id: Ie00979ec38f5d14bd99cb3a70690510111ed195f
Alexander Galazin [Mon, 19 Nov 2018 12:34:58 +0000 (13:34 +0100)]
Add 1.1.2.3 to known conformance versions
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I8dff4802eb777e0d4181bc896f55a2a706e65683
Alexander Galazin [Tue, 20 Nov 2018 08:23:27 +0000 (03:23 -0500)]
Revert "Fix YCbCr requirement in image_format_properties tests"
This reverts commit
066eac79983dacc684c82f603da6c790e2dd8273.
Change-Id: Ia36f493e063c33acd18bf51b33a1ef4ad0d8b2ff
Chris Forbes [Sun, 18 Nov 2018 20:06:18 +0000 (12:06 -0800)]
Don't include source files in other source files
This broke the Android CTS integrated build. Include the headers
instead.
Components: Vulkan
Affects: Build fix only
Change-Id: I5836881dd78be90ed3a57181121e9333f94f98b8
Jeff Bolz [Mon, 19 Nov 2018 15:06:49 +0000 (09:06 -0600)]
Disable PCH for ninja+msvc
Components: Vulkan, OpenGL
Change-Id: Icc27e31734e8e7a9296eb407cca64f05b8da69e7
Ari Suonpaa [Thu, 1 Nov 2018 10:50:54 +0000 (12:50 +0200)]
Added tests for OpCompositeInsert
Using OpCompositeInsert to construct a matrix was reported
to generate an error in pipeline creation. Using
OpCompositeConstruct avoided this problem. This change
reproduces the reported issue.
New tests:
dEQP-VK.spirv_assembly.instruction.*.composite_insert.*
Components: Vulkan
VK-GL-CTS issue: 1408
Change-Id: I383c6fcd824a0440dd4cd124205a75269ccc84a8
Alexander Galazin [Thu, 15 Nov 2018 12:13:40 +0000 (13:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: Ia8831045cbcd2ec8efe1089d624a24d24eaa19ff
Alejandro Piñeiro [Mon, 29 Oct 2018 17:42:40 +0000 (18:42 +0100)]
Fix ARB_gl_spirv multiple shader object test
Right now it fails when calling glslangUtils::spirvValidate. Note that
this test is using a custom SPIR-V shader in assembly text format,
that is then assembled for the test itself. So it seems that became
outdated.
Affects:
KHR-GL46.gl_spirv.spirv_modules_shader_binary_multiple_shader_objects_test
Components: OpenGL
VK-GL-CTS issue: 1445
Change-Id: I04b841fb3fba80537346da06bf889b21902e8da5
Toni Merilehti [Fri, 2 Nov 2018 12:13:50 +0000 (14:13 +0200)]
Split same_module tests
Test dEQP-VK.spirv_assembly.instruction.graphics.module.same_module
currently uses tessellation and geometry stages, and will only run if
the device has tessellation and geometry support. This will split
the test into four different variations and allows the test to run
without tessellation and/or geometry stages.
Components: Vulkan
VK-GL-CTS issue: 1052
New tests:
dEQP-VK.spirv_assembly.instruction.graphics.module.same_module*
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.module.same_module*
Change-Id: I10a62a313afe17cfc37360eec53102c7b06ea103
Jeff Bolz [Tue, 30 Oct 2018 19:39:14 +0000 (14:39 -0500)]
Add tests for OpSpecConstantOp INotEqual
This was the only spec constant operation missing tests.
Components: Vulkan
New Tests: dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.inotequal*
Change-Id: I5549880871d9afbc95ad239f0622562e21a4312d
Jeff Bolz [Wed, 7 Nov 2018 17:37:16 +0000 (11:37 -0600)]
Update glslang/spirv-tools/spirv-headers to TOT github.
There was a revlock between these components due to the raytracing
extension rename. This updates all three to past that point. It also
picks up some updated precompiled header performance.
Components: Vulkan
Change-Id: I86a4ff8b50e4cd7ff4ddbf0dc351112d7e21d4d1
Alexander Galazin [Thu, 15 Nov 2018 10:35:52 +0000 (11:35 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I95716dc2f4ae3cb6bce8299415734d69337a6e68
Alexander Galazin [Thu, 15 Nov 2018 09:20:24 +0000 (10:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I5345587323415ff836b8b6f66a0d6fa8716107dd
Alexander Galazin [Thu, 15 Nov 2018 08:39:17 +0000 (09:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I93bd8195bc88e16a631bd26fc75095d3b2bbf43c
Leif-Julian Ovrelid [Thu, 8 Nov 2018 09:16:10 +0000 (10:16 +0100)]
Fix missing self dependency in renderpass tests
The dEQP-VK.renderpass.suballocation.formats and
dEQP-VK.renderpass.dedicated_allocation.formats tests were missing self
dependencies in some cases where they read then write one attachment
in one subpass. In cases with overlapping rendering this would give a
read-write-then-read-write situation, which neads a self dependency to
work reliably. Some of the tests were missing the self dependency, some
of them had the color attachment bits set when depending on depth, and
one case had a self dependency where it should not.
This patch adds a self dependency to two test cases that need it,
removes self dependency from a case that does not need it, and fixes
the depth tests to have the correct bits set.
Affects:
dEQP-VK.renderpass.suballocation.formats.*.input.*
dEQP-VK.renderpass.dedicated_allocation.formats.*.input.*
dEQP-VK.renderpass2.suballocation.formats.*.input.*
dEQP-VK.renderpass2.dedicated_allocation.formats.*.input.*
Components: Vulkan
VK-GL-CTS Issue: 1454
Change-Id: I4a9bec3ef6b088ab3a50d7f658867076f68788b9
Martin Freebody [Wed, 7 Nov 2018 12:40:32 +0000 (12:40 +0000)]
Fixes for Protected Memory
This change removes errors reported by core validation layer.
Affects: dEQP-VK.protected_memory.*
Components: Vulkan
Change-Id: Id7223e5777747345778babe83b0d9c3605a4ce1f
Graeme Leese [Thu, 8 Nov 2018 13:59:27 +0000 (13:59 +0000)]
Further validation fixes for renderpass tests
All the VkInputAttachmentAspectReference structures were pointing to
incorrect subpasses.
The multisample_resolve tests were transitioning the multisample images
to TRANSFER_SRC, which was invalid but also superfluous, so remove it.
Components: Vulkan
Affects: dEQP-VK.renderpass.*
dEQP-VK.renderpass2.*
Change-Id: I9356f9d4ee0dfa8938cd2fe9a062c732706e3a3f
Dae Kim [Thu, 1 Nov 2018 10:17:00 +0000 (10:17 +0000)]
Fix invalid color values in image.mutable tests
The color values used in the tests ended up reinterpreted as f16/f32 denorms
for some combinations of image/imageview formats (e.g. rgba16_uint -> f16/f32).
With this patch the tests select color values depending on the formats under
test and avoids denorms.
Affects:
dEQP-VK.image.mutable.*
Components: Vulkan
VK-GL-CTS issue: 1285
Change-Id: Idd7ec555261109c54af865adb344f3239e49064d
Pierre Couillaud [Wed, 31 Oct 2018 11:57:40 +0000 (04:57 -0700)]
Add watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long
On some low-end devices, this test would hit the dEQP watchdog. Add some
watchdog touches to avoid this.
Google Bug: b/
116847904
Component: Vulkan
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
VK-GL-CTS Issue: 1464
Change-Id: I18181aa274ab1dc191b5f0acbb58b41465b5cdad
Piers Daniell [Thu, 8 Nov 2018 18:57:05 +0000 (11:57 -0700)]
Update SPIR-V compiler wrapper for OpenGL
This copies the change for Vulkan made in:
https://gerrit.khronos.org/#/c/2980/
Change-Id: I30ebb4cc9c131480df5c27a4846d7cb664df4cb9
Components: OpenGL
Graeme Leese [Thu, 10 May 2018 11:11:48 +0000 (12:11 +0100)]
Use the correct type for image creation flags
Components: Vulkan
Affects: dEQP-VK.api.info.image_format_properties2.*
Change-Id: I73fe492be9da52f9feb1aa32a1d161c9214b767d
Alexander Galazin [Thu, 8 Nov 2018 13:55:15 +0000 (14:55 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I16aa60e3d83febd0e9268ed51eebe8d0671768e7
Alexander Galazin [Thu, 8 Nov 2018 12:40:50 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I07c6dba293349d24486832cbd2288c765f647003
Ari Suonpaa [Thu, 4 Oct 2018 09:26:29 +0000 (12:26 +0300)]
Added framework function for image to buffer copy
Several existing tests have their own implementation for
copying image to a buffer. Use a framework function where
it leads to a cleaner code.
Affects:
dEQP-VK.api.buffer_view.access.*
dEQP-VK.api.command_buffers.*
dEQP-VK.api.smoke.*
dEQP-VK.binding_model.shader_access.*
dEQP-VK.compute.basic.*
dEQP-VK.draw.shader_layer.*
dEQP-VK.draw.shader_viewport_index.*
dEQP-VK.fragment_operations.early_fragment.*
dEQP-VK.fragment_operations.scissor.multi_viewport.*
dEQP-VK.fragment_operations.scissor.*
dEQP-VK.geometry.*
dEQP-VK.memory.binding.*
dEQP-VK.memory.external_memory_host.*
dEQP-VK.pipeline.multisample.sampled_image.*
dEQP-VK.pipeline.multisample.storage_image.*
dEQP-VK.pipeline.shader_stencil_export.*
dEQP-VK.rasterization.*
dEQP-VK.renderpass*.multisample_resolve.*
dEQP-VK.renderpass*.multisample.*
dEQP-VK.renderpass*.sampleread.*
dEQP-VK.renderpass*.sparserendertarget.*
dEQP-VK.glsl.*
dEQP-VK.sparse_resources.buffer.*
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.*
dEQP-VK.subgroups.*
dEQP-VK.tessellation.common_edge.*
dEQP-VK.tessellation.geometry_interaction.scatter.*
dEQP-VK.tessellation.geometry_interaction.passthrough.*
dEQP-VK.tessellation.geometry_interaction.point_size.*
dEQP-VK.tessellation.misc_draw.*
dEQP-VK.tessellation.primitive_discard.*
dEQP-VK.tessellation.shader_input_output.*
dEQP-VK.tessellation.user_defined_io.*
dEQP-VK.tessellation.winding.*
dEQP-VK.texture.*
dEQP-VK.ubo.*
Components: Vulkan
VK-GL-CTS issue: 1375
Change-Id: Ib2041e801446ea78d8591c348c3b438061de9a67
Alexander Galazin [Thu, 8 Nov 2018 11:52:47 +0000 (12:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I7e4ffa1e9b7956f0c77ee9b8dfc3d958743c0929
Thomas Spurden [Thu, 1 Nov 2018 17:56:19 +0000 (17:56 +0000)]
Correct invalidate->flush after writing to host-mapped memory
Affects:
dEQP-VK.pipeline.push_constant.graphics_pipeline.*
Change-Id: Iee43b30343581efe94b606811d2dc90c0bcd6993
Components: Vulkan
Dae Kim [Tue, 6 Nov 2018 10:01:43 +0000 (10:01 +0000)]
Specify PointSize when drawing point lists
Test cases for vertex stages are using VK_PRIMITIVE_TOPOLOGY_POINT_LIST without
specifying a value for gl_PointSize in the vertex shader.
Affects:
dEQP-VK.binding_model.descriptorset_random.*vert*
dEQP-VK.memory_model.message_passing.*vert*
Components: Vulkan
VK-GL-CTS issue: 1450
Change-Id: If1279a0b2a5989a267c57d72f2495c790dcdc4bb
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*
In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:
* imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
reported by vkGetPhysicalDeviceImageFormatProperties.
Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices. This patch fixes the failing tests to comply
with the spec bugfix.
Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110
(cherry picked from commit
49eab80e4a8b3af1790b9ac88b096aa9bffd193f)
Ari Suonpaa [Thu, 27 Sep 2018 10:05:47 +0000 (13:05 +0300)]
Utilize copyBufferToImage framework function where possible
Several existing tests have their own implementation for
copying buffer to an image. Use a framework function where
it leads to a cleaner code.
Affects:
dEQP-VK.binding_model.shader_access.*
dEQP-VK.compute.basic.copy_image_to_ssbo*
dEQP-VK.geometry.basic.*
dEQP-VK.image.atomic_operations.*
dEQP-VK.multiview.*
dEQP-VK.glsl.*
dEQP-VK.spirv_assembly.instruction.graphics.*
dEQP-VK.texture.explicit_lod.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1376
Change-Id: Icfda7bdde1e8e0a7bf77ccb36bf4ca948d45a200
Ari Suonpaa [Thu, 25 Oct 2018 10:46:17 +0000 (13:46 +0300)]
Fixed unused attachment tests to properly use renderpass2
Unused attachment tests under renderpass group were still
using a legacy renderpass API. Now the tests under
renderpass2 group properly use the correct functions and
structures. Also removed final layout parameter from tests
since they are generating a validation error. It was
confirmed the validator is correctly checking the final
layout even when the attachment is unused.
Affects:
dEQP-VK.renderpass*.unused_attachment.*
Components: Vulkan
VK-GL-CTS issue: 1397
Change-Id: Ib14828ee37371a702303cc5c6a91a4fb76a74724
Graeme Leese [Wed, 25 Apr 2018 20:15:24 +0000 (21:15 +0100)]
SubgroupBallot: Don't test 0 <= id
Since id is a uint this is always true.
Components: Vulkan
Affects: dEQP-VK.subgroups.ballot_broadcast.*
Change-Id: I57065c9748126c71e22ee7d38b7501c2db175396
Graeme Leese [Tue, 17 Apr 2018 16:45:09 +0000 (17:45 +0100)]
Rationalise the 'check*' functions in subgroups
There are loads of these and they all do the same thing. Move them to
the common subgroups utils section and reuse them throughout the tests.
Components: Vulkan
Affects: dEQP-VK.subgroups.*
Change-Id: Ie2373d53b77234eba7a8afa6acdbbaf12c89e9f8
Graeme Leese [Tue, 30 Oct 2018 16:54:58 +0000 (16:54 +0000)]
Remove one copy of the clustered test sources
We really shouldn't have duplicates of test code like this.
Components: Vulkan
Affects: dEQP-VK.subgroups.clustered.*
Change-Id: I3b32d6d7f3762d2d21375aa9b8095b0f64543942
Graeme Leese [Wed, 24 Oct 2018 10:59:48 +0000 (11:59 +0100)]
Further validation fixes for renderpass tests
Correct synchronisation for multisample tests and include stencil usage
in pipline barriers.
Component: Vulkan
Affects: dEQP-VK.renderpass.*
dEQP-VK.renderpass2.*
Change-Id: I481dca4a2544911a36cdb9773efe4e7ad1a94c7f
Kacper Kleczewski [Tue, 23 Oct 2018 12:50:51 +0000 (13:50 +0100)]
Fix case when unsuported create flag was used for AHB
Additional validation step is added to ValidateAHardwareBuffer function
which return false if API level is lower than 28 and
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT create flag is requested.
Components: Vulkan
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats
VK-GL-CTS Issue: 1439
Change-Id: Iadaa5c1d584bbf3d3335952c501799aff3c5b2d6
Alexander Galazin [Tue, 6 Nov 2018 13:01:44 +0000 (08:01 -0500)]
Merge "Merge vk-gl-cts/github-master into vk-gl-cts/master"
Alexander Galazin [Tue, 6 Nov 2018 12:12:37 +0000 (13:12 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master
Change-Id: I6e7da6cfd1fe7d69bccf4231f4b04d9d3fdbd30b
Alexander Galazin [Tue, 6 Nov 2018 11:44:00 +0000 (12:44 +0100)]
Merge pull request #131 from werman/vulkan/VK_EXT_conditional_rendering
Add tests for VK_EXT_conditional_rendering
Alexander Galazin [Tue, 6 Nov 2018 11:41:45 +0000 (12:41 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I0bc9d40f5467c3fcef1840984651ed3cdb953e5c
Alexander Galazin [Tue, 6 Nov 2018 10:59:01 +0000 (11:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ia532a2dca73418c4dda309ff8f3b58c5d7da15e7
Alexander Galazin [Thu, 1 Nov 2018 10:24:35 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I5874225ecf8aae48bd833a15492668a83f985f38
Yogesh Gole [Wed, 17 Oct 2018 11:21:19 +0000 (16:51 +0530)]
Terminate EGL display after use
Previously function getDefaultEglConfigList destroyed native
display but did not terminate the EGL display. It may happen
that next create call will allocate native display at same
address as previous and as per spec multiple calls made to
eglGetPlatformDisplayEXT with the same <platform> and
<native_display> will return the same EGLDisplay handle. But
returned EGLDisplay will have references to stale data.
To fix this destroy the EGL Display along with native display.
Affects: CTS-Configs.*
Components: OpenGL and Framework
VK-GL-CTS Issue: 1426
Change-Id: I8e4c7d693d26bd9be6d7f892d0b5162d9b2b245c
Alexander Galazin [Thu, 1 Nov 2018 09:53:29 +0000 (10:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I587d40c09a99e93dd4cccf359ceba1dbf9ff47a9
Slawomir Cygan [Tue, 4 Sep 2018 10:16:20 +0000 (12:16 +0200)]
Extend push desriptors test to 128 compute dispatches
This adds new test case with 128 compute dispatches,
each with different pushed descriptor offset being pushed.
Component: Vulkan
VK-GL-CTS Issue: 1429
New Tests: dEQP-VK.pipeline.push_descriptor.compute.binding1_numcalls128_storage_buffer
Change-Id: Ib5914e034679c962fadf6dcadfb722a85a468c6d
Piotr Byszewski [Thu, 25 Oct 2018 14:50:20 +0000 (16:50 +0200)]
Correct vertex input tests on null driver
On Null driver all features are enabled and this triggered execution
of tests for 128 vertex attributes that are not commonly supported.
Tests allocate buffer for verification which is not big enough for
128 attributes. This causes memory corruption and crash.
This change resolves those issues.
Components: Vulkan
VK-GL-CTS issue: 1443
Affects:
dEQP-VK.pipeline.vertex_input.*
Change-Id: I9a89cc62fdd34f9da40ebf9d84e6cf5b5aed07d5
Slawomir Cygan [Wed, 24 Oct 2018 14:19:20 +0000 (16:19 +0200)]
Use GENERAL image layout for images used as STORAGE image
The test was using VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
which is not valid for STORAGE images.
Components: Vulkan
VK-GL-CTS Issue: 1441
Affects:
dEQP-VK.pipeline.push_descriptor.*
Change-Id: Ic858ba32ce04601541a224aecbc105f42a36687d
Piotr Byszewski [Tue, 23 Oct 2018 09:42:49 +0000 (11:42 +0200)]
Correct image properties tests on Null driver
On Null driver all features are enabled and this trigered some issues
with YCBCR format in image_format_properties tests. This change
resolves those issues.
VK-GL-CTS issue: 1438
Components: Vulkan
Change-Id: I3d1707438909ae4f5e828092a97a6380b615beca
Affects: dEQP-VK.api.info.image_format_properties.*
Jari Komppa [Wed, 24 Oct 2018 09:18:40 +0000 (12:18 +0300)]
Fix for unnormalized coordinate test using mipmaps
The unnormalized coodinate test used textures with mipmaps, while
unnormalized coordinates are only defined for single mip level textures.
This required adding new constructors to the texture framework that
allow explicit setting of mip levels.
Affects:
dEQP-VK.texture.filtering.unnormal.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1390
Change-Id: Ibd049a04d143979624d10148e3911728579b3a2c
Ilkka Saarelainen [Thu, 25 Oct 2018 13:06:58 +0000 (16:06 +0300)]
Fix API usage errors in dEQP-VK.geometry.basic.*
Fixes API usage errors caused by unsafe memory flush
and unsupported combinations of image memory barrier
dstAccessMask and dstStageMask.
Components: Vulkan
Affects:
dEQP-VK.geometry.basic.*
VK-GL-CTS issue: 1418
Change-Id: Iaa226bff5728a711b79f863b990b950cf95dd1c6
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*
In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:
* imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
reported by vkGetPhysicalDeviceImageFormatProperties.
Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices. This patch fixes the failing tests to comply
with the spec bugfix.
Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110
Danylo Piliaiev [Fri, 12 Oct 2018 15:19:55 +0000 (18:19 +0300)]
Add tests for VK_EXT_conditional_rendering
All functions affected by VK_EXT_conditional_rendering are tested:
- vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirect, vkCmdDrawIndexedIndirect
- vkCmdDrawIndirectCountKHR, vkCmdDrawIndexedIndirectCountKHR (VK_KHR_draw_indirect_count)
- vkCmdDispatch, vkCmdDispatchIndirect, vkCmdDispatchBase
- vkCmdClearAttachments
The only limitation of these tests is that combination of different functions in one render
pass are not tested - only several calls of the same functions. Due to the different hardware
specific support of conditional rendering some implementations may have exhibit issues in such cases,
especially when combining conditional rendering with functions from VK_KHR_draw_indirect_count.
Components: Vulkan
New Tests: dEQP-VK.conditional_rendering.*
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Tim Van Patten [Fri, 5 Oct 2018 22:14:47 +0000 (16:14 -0600)]
Add option for Android dEQP builds to link against and embed ANGLE shared object libraries
Add the option '--angle-path' to scripts/android/build_apk.py to point
to the directory containing ANGLE shared object libraries for the
specified ABI. This will cause dEQP to link against and embed the ANGLE
shared object libraries and use them during the dEQP test execution.
Components: Android dEQP
Google bug:
80239516
Change-Id: I04043d03b7837601656690126296e61b8ed9e658
Jeff Bolz [Fri, 19 Oct 2018 04:00:34 +0000 (23:00 -0500)]
Use precompiled headers on MSVC
This is a significant improvement in build time on MSVC,
maybe 25% overall. Qualitatively, compile time is about 2x
faster, but link time, lack of parallelism for the whole
duration of the build, and some unaccelerated components
(e.g. glslang and some internal modules) reduce the total
wall clock time improvement from 50% down to that 25%.
This also helps a lot with performance of the builds for
generating mustpass lists.
Components: Vulkan, OpenGL, Framework
Change-Id: I6013d9728444d9892e9a5ec8f31a574c10ca06b2
Piotr Byszewski [Fri, 24 Aug 2018 16:05:26 +0000 (18:05 +0200)]
Extend transcoding tests to 1D/3D images
Previously implementation assumed that
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT feature is
only for 2D images. This change executes most of the tests
aslo for 1D and 3D images.
Components: Vulkan
VK-GL-CTS issue: 1209
Affects:
dEQP-VK.image.texel_view_compatible.*
Change-Id: Iefc2b4f5658b39836cb28a62e9d38d3c4662cfbe
Alexander Galazin [Thu, 25 Oct 2018 19:17:25 +0000 (21:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: Idfc653d433d9eaadcf155da6e3ab94f76662e8e9
Alexander Galazin [Thu, 25 Oct 2018 15:27:30 +0000 (17:27 +0200)]
Add 1.1.2.2 to known conformance versions
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I4bcd1140981c7eac4b5e3a97da3cfc8458520448
Steve Hill [Thu, 25 Oct 2018 09:36:50 +0000 (10:36 +0100)]
Fix uninitialised variable warning for some compilers
Some compilers seem to get confused as to whether the scope
string-variable is initialised properly.
This change makes the switch that sets it up consistent with the
other switches and pacifies those compilers.
Components: Vulkan
Affects: dEQP-VK.memory_model.*
VK-GL-CTS issue: 1442
Change-Id: Id5ff742c85510af173020cf1bbfc16429a33f29f
Alexander Galazin [Thu, 25 Oct 2018 16:33:14 +0000 (18:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ic2ef309419e39a4b2baf634017e25979d743a607
Mika Väinölä [Thu, 27 Sep 2018 14:03:15 +0000 (17:03 +0300)]
Test 2D texture swizzles with VkComponentMappings
Add an optional VkComponentMapping parameter to TextureRenderer and
new tests that verify quads rendered with given component mapping are
swizzled correctly.
New tests:
dEQP-VK.texture.swizzle.component_mapping.*
Components: Vulkan
VK-GL-CTS issue: 1394
Change-Id: I33601e8eaed134462defabfa007fe0c9103c869a
Alexander Galazin [Thu, 25 Oct 2018 15:03:10 +0000 (17:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I2d8288ee3b75ef786496453b0efa6591f4f5c0ad
Alexander Galazin [Thu, 25 Oct 2018 13:52:47 +0000 (15:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: Ic87368f606cb8ec126d42ec9f72b1baffcdcf950
Noah Fredriks [Wed, 11 Jul 2018 21:56:05 +0000 (17:56 -0400)]
Fix incomplete VkImageSubresourceRange
Pipeline image barrier arraySize doesn't include the entire image.
Affects: dEQP-VK.api.copy_and_blit.core.resolve_image.whole_array*
Components: Vulkan
VK-GL-CTS Issue: 910
Change-Id: I9974c9390478cf70f2238e03a7180fc81166f84e
Alexander Galazin [Thu, 25 Oct 2018 13:27:17 +0000 (15:27 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: Ie615d2294ca51629dd202087883acee9b0791f51
Alexander Galazin [Thu, 25 Oct 2018 12:46:24 +0000 (14:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I52a560f1c5cbd065182b36b6e8bff7d3a9c81879
Alexander Galazin [Thu, 25 Oct 2018 12:20:14 +0000 (14:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ie74a921aba656d271738734379ad7bf5ff596fa4
Alexander Galazin [Thu, 25 Oct 2018 11:51:47 +0000 (13:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I116b300bfdd3ee78827aa671a737de007eb241ef
Slawomir Cygan [Mon, 22 Oct 2018 11:12:16 +0000 (13:12 +0200)]
Fix spelling on NotSupported error message
Components: Vulkan
VK-GL-CTS Issue: 1433
Affects: dEQP-VK.api.info.device_group.peer_memory_features
Change-Id: I42e2d7a50d2f74d706e42f0f196ff76c8446fa1c
Ari Suonpaa [Wed, 17 Oct 2018 10:33:03 +0000 (13:33 +0300)]
Added tests for out-of-order attribute locations
Extended vertex input tests to issue attribute locations
out-of-order.
New tests:
dEQP-VK.pipeline.vertex_input.*.out_of_order.*
Components: Vulkan
VK-GL-CTS issue: 1416
Change-Id: I2e0a90a14c3c663bbf4dd3b4d0b9a73cbdb859a3
Connor Abbott [Thu, 18 Oct 2018 12:20:31 +0000 (14:20 +0200)]
Make VK_KHR_shader_subgroup_vote tests work with sparse dispatch
The voteallequal tests created a value which was supposed to be
different for some threads in the subgroup, and then called
voteAllEqual() on it expecting it to return false. However, because the
entire expression was reduced modulo 2, if the implementation dispatched
threads in a sparse manner so that some subgroup indices were skipped,
then all the active threads could have wound up with the same value. In
particular, this caused the graphics voteallequal tests to fail in the
fragment stage on AMD due to how the hardware dispatches single-pixel
point sprites.
Fix this by just using gl_SubgroupIndex directly, so that every thread
is guaranteed to get a unique value. Some care has to be taken for
boolean values -- I've just made them use subgroupElect() instead, as
that's the simplest way to get a guaranteed-divergent boolean value.
Affected tests:
dEQP-VK.subgroups.vote.*
Components: Vulkan
VK-GL-CTS Issue: 1437
Change-Id: I10ddc438db4cd4925bdbc4f458a082fcab9c9155
Gary Sweet [Mon, 22 Oct 2018 11:39:09 +0000 (12:39 +0100)]
Fix unaligned host accesses in UBO and SSBO tests
Prevent uniform blocks from starting unaligned.
Previously these tests would end up casting
non-4-byte aligned addresses to float*. On 32-bit
ARM CPUs this can cause unaligned access faults.
Components: Vulkan
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
VK-GL-CTS issue: 1434
Change-Id: Ied437b150b61f11630b5c1511ccedd410308b004
Steve Hill [Mon, 22 Oct 2018 08:48:57 +0000 (09:48 +0100)]
Add flush to binding descriptor set random tests
Components: Vulkan
Affects: dEQP-VK.binding_model.descriptorset_random.*
VK-GL-CTS issue: 1432
Change-Id: I56df9fefbeb511e441310df9f52d0e9a897bcbef
Mohd Faisal [Fri, 19 Oct 2018 09:35:36 +0000 (10:35 +0100)]
Fix the device_group test failure by allowing same number of tries to
create object as device test.
Components: Vulkan
Affects: dEQP-VK.api.object_management.alloc_callback_fail.device_group
VK-GL-CTS Issue: 1431
Change-Id: I099a05f3109c1997cad323a0577f66c95755b151
crohde [Wed, 17 Oct 2018 10:33:35 +0000 (12:33 +0200)]
Import dedicated allocs w/ importDedicatedMemory
When exported memory was a dedicated allocation,
the memory must be imported also as dedicated allocation.
This was already implemented for images,
this change does it for buffers, too.
Affects:
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_twice
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_multiple_times
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup2
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup3
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.send_over_socket
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.bind_export_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_bind_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_import_bind_bind
Components: Vulkan
VK-GL-CTS issue: 1422
Change-Id: I782aeb256151dd98cc6a91b8a6942cd916d3f7b7
crohde [Wed, 17 Oct 2018 10:33:35 +0000 (12:33 +0200)]
Import dedicated allocs w/ importDedicatedMemory
When exported memory was a dedicated allocation,
the memory must be imported also as dedicated allocation.
This was already implemented for images,
this change does it for buffers, too.
Affects:
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_twice
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_multiple_times
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup2
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup3
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.send_over_socket
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.bind_export_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_bind_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_import_bind_bind
Components: Vulkan
VK-GL-CTS issue: 1422
Change-Id: I782aeb256151dd98cc6a91b8a6942cd916d3f7b7
Boris Zanin [Thu, 18 Oct 2018 08:50:25 +0000 (10:50 +0200)]
Properly analyze edge0>=edge1 cases in smoothstep
Smoothstep result is undefined if edge0 >= edge1. Make tests
return NaNs for such cases to them.
Affected tests:
* dEQP-VK.glsl.builtin.precision.smoothstep.mediump_compute.*
* dEQP-VK.glsl.builtin.precision.smoothstep.highp_compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage16b.smoothstep.compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage32b.smoothstep.compute.*
Components: Vulkan
VK-GL-CTS issue: 1425
Change-Id: Ieafc34c176c6681c2377898dde9a4934a3e5bcd3
Boris Zanin [Wed, 17 Oct 2018 13:50:49 +0000 (15:50 +0200)]
Remove NaN from OpFOrd* and OpFUnord* tests
Due to Vulkan specification enables NaNs to be unsupported
by implementation, the NaN values cannot be processed.
As it is quite complicated to remove NaNs from tested values
stream this fix just blocks their analysis.
Following instructions are not fully tested now:
* OpFOrdEqual
* OpFOrdGreaterThan
* OpFOrdLessThan
* OpFOrdGreaterThanEqual
* OpFOrdLessThanEqual
* OpFUnordEqual
* OpFUnordGreaterThan
* OpFUnordLessThan
* OpFUnordGreaterThanEqual
* OpFUnordLessThanEqual
Affected tests:
* dEQP-VK.glsl.builtin.precision.comparison.mediump_compute.*
* dEQP-VK.glsl.builtin.precision.comparison.highp_compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage16b.comparison.compute.*
* dEQP-VK.glsl.builtin.precision_fp16_storage32b.comparison.compute.*
Components: Vulkan
VK-GL-CTS issue: 1423
Change-Id: Ic64cfdbe23d796de90dae0931109421ded2b526a
Graeme Leese [Tue, 9 Oct 2018 08:39:10 +0000 (09:39 +0100)]
Validation fixes for device group tests
Flush and invalidate whole allocations and fix a stray pipeline barrier
stage.
Components: Vulkan
Affects: dEQP-VK.device_group.*
Change-Id: I0e214ccde2dff72a6d004702aa362bb88c47d977
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts and check for base image format support in image.mutable tests
This adds a check if base image can be created given the format.
It is required for implementations supporting VK_KHR_maintenance2 or 1.1:
if these are supported, the exisiting VkImageView format support does not
cover base image format support.
Additionally, fix malformed asserts and missign case switches in this test.
Components: Vulkan
Affects: dEQP-VK.image.mutable
VK-GL-CTS Issue: 1295, 1294
(cherry picked from commit
eaaa3979b015e2a923b3250b4269d3c9d21137cc)
Change-Id: I7a4afbb624d73aadca4f9a6edf955b3cdc2d863e