Maciej Jesionowski [Tue, 3 Apr 2018 11:52:00 +0000 (13:52 +0200)]
Add test for VK_KHR_driver_properties
New tests:
dEQP-VK.api.driver_properties.properties
Components: Vulkan
VK-GL-CTS issue: 1098
Change-Id: Ifcb774700c45f76e48a03b147472a506d274c192
(cherry picked from commit
eb5806aab57fdf89850be8916e194c3d3b54c8d9)
Norbert Garnys [Thu, 17 May 2018 11:01:35 +0000 (13:01 +0200)]
Add tests for VK_KHR_shader_atomic_int64
Add new test cases for 64 bit int atomic operations
to existing glsl.atomic_operations tests
New tests:
dEQP-VK.glsl.atomic_operations.*signed64bit*
dEQP-VK.glsl.atomic_operations.*unsigned64bit*
Affected tests:
dEQP-VK.glsl.atomic_operations.*
Components: Vulkan, Framework, Scripts
VK-GL-CTS issue:1172
Change-Id: If7e6871cc209b2086e087e0dd6c764cb8bd98a4b
(cherry picked from commit
80926e1393d1a3de407b9279162056fa0a53822e)
Jeff Bolz [Fri, 18 May 2018 01:32:31 +0000 (20:32 -0500)]
GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests
Components: Vulkan
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
Change-Id: Ic68f4e16ff96b2bbb161f2b37e7b4c83094e4009
(cherry picked from commit
f14467473e1bce678e12f71bcfcfb130c6423faa)
Jeff Bolz [Thu, 12 Jul 2018 19:51:24 +0000 (14:51 -0500)]
Add random descriptor set tests, and test VK_EXT_inline_uniform_block
These tests generate random descriptor set layouts, where each descriptor
set has a random number of bindings, each binding has a random array size
and random descriptor type.
Components: Vulkan
New Tests: dEQP-VK.binding_model.descriptorset_random.*
Change-Id: I3ddfc82898ed970366ee8be4254e50e39a186c58
(cherry picked from commit
152c32af165698f43aa581c60b79bc35c1448116)
Alexander Galazin [Wed, 19 Sep 2018 08:11:01 +0000 (10:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I976c55e221f9d0362327ccdbf49aebe7cf4e37f1
Alexander Galazin [Wed, 19 Sep 2018 07:24:01 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ieda52b4e886e4448634bdea91f0791548642d3b0
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning
Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.
This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.
If such a match is detected the test will output a QualityWarning
instead of a Pass.
If the two compared values don't match, but are not both error colours
the test result is still a Fail.
Affects:
dEQP-VK.image.texel_view_compatible*astc*
Components: Vulkan
VK-GL-CTS issue: 1231
Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests
Will now throw not supported if swapchain config
cannot fit in the available heap space.
Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"
Components: Vulkan
VK-GL-CTS issue: 1345
Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.*
Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4
Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests
The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.
Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear
Components: Vulkan
VK-GL-CTS issue: 1106
Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4
(cherry picked from commit
b861ca1e6d4c002d4359a71dbff1cdf898e79aca)
Alexander Galazin [Fri, 14 Sep 2018 18:26:35 +0000 (20:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I888fa7abc156e03d7433791e8ae8ba9b6b41f1dd
Alexander Galazin [Fri, 14 Sep 2018 14:55:26 +0000 (16:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I3cf1ce3cb9da66c83e88048fb29a055ec196497e
Dzmitry Malyshau [Mon, 10 Sep 2018 00:40:54 +0000 (20:40 -0400)]
Test cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.
The intent of blit tests with layer count = 6 was to test cubemap image support.
This PR adds the appropriate image creation flag for those tests.
Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
VK-GL-CTS issue: 1336
Components: Vulkan
Change-Id: I6ca0bb6905baebb4e6e6d3597e6e7c54d582473a
(cherry picked from commit
d8a05170a7ae7b6b284406f900b9609c7e71be14)
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check
The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.
Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete
Components: Vulkan
VK-GL-CTS issue: 1351
Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
(cherry picked from commit
fed61233a802b5a8e7f6e634d0ef698e9155a94c)
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check
The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.
Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete
Components: Vulkan
VK-GL-CTS issue: 1351
Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
Alexander Galazin [Thu, 6 Sep 2018 16:35:42 +0000 (18:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: If13d31edfaa41aab48bbca57024722276b86a511
Alexander Galazin [Thu, 6 Sep 2018 16:18:10 +0000 (18:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I717b207ec5642fb2f5a7deb9a91e52da7b3c862f
Alexander Galazin [Thu, 6 Sep 2018 15:48:31 +0000 (17:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I5a095ab6fddfaa9ce687f8627b58ec12176ba660
Jeff Bolz [Fri, 31 Aug 2018 02:42:54 +0000 (21:42 -0500)]
Handle denorm flush to negative zero in unpackhalf2x16 tests.
Whether input fp16 values are flushed to zero is implementation
dependent. However, negative denorm values can be flushed to negative
zero and the logic did not handle that case.
Affects: dEQP-VK.glsl.builtin.function.pack_unpack.unpackhalf2x16*
Component: Vulkan
VK-GL-CTS issue: 1341
Change-Id: I2cd4a68cb5e498cd714a7e55b27ae4bc05ccde2d
Matthew Netsch [Fri, 13 Jul 2018 15:10:54 +0000 (11:10 -0400)]
Fixes tessellation triangle check
Tessellators may produce inner vertices positioned
on the edge of a primitive when used with fractional
odd spacing and the inner tessellation level is one.
Point mode doesn't factor into this rule
Components: Vulkan
VK-GL-CTS Issue: 1273
Affects:
dEQP-VK.tessellation.primitive_discard.*
Change-Id: Ida8c75d4275403eaae8b52fe55f3ed9e61dd2d6e
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests
Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.
Components: Vulkan
VK-GL-CTS issue: 1342
Affects:
dEQP-VK.memory.device_group_allocation.random*
Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8
Alexander Galazin [Fri, 31 Aug 2018 09:16:21 +0000 (12:16 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I5a798ad268b27984038160cf645fc162260b069b
Alexander Galazin [Fri, 31 Aug 2018 07:52:20 +0000 (10:52 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I7e0e51ad6bbdebe2c0067cedbb8e0d3bca177fad
Petros Bantolas [Wed, 18 Jul 2018 10:19:04 +0000 (11:19 +0100)]
Fix subpixel precision for line geometry generation
Line geometry generation for rasterization tests wasn't taking the HW
subPixelPrecisionBits limit into account. Modified the triangle creation
routines to round those coordinates down to the driver provided
precision.
Affects:
dEQP-VK.rasterization.*line*
dEQP-GLES*.functional.rasterization.*line*
Components: Framework
VK-GL-CTS issue: 1274
Change-Id: I54af2f9606372bead2a8c7238588374101f80e55
Alexander Galazin [Thu, 30 Aug 2018 07:18:34 +0000 (09:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: If4c00f790e935ce2a38709a99745acff6d1ef5f8
Matthew Netsch [Tue, 28 Aug 2018 18:44:45 +0000 (14:44 -0400)]
Fixes memory allocation tests
Queries the platform specific alignment restrictions
with a temp buffer instead of estimating.
Components: Vulkan
VK-GL-CTS issue: 1259
Affects:
dEQP-VK.memory.allocation.basic.size_*
Change-Id: I272026f9e29b5606b8a4265ef0034752ac43a71a
John Anthony [Thu, 23 Aug 2018 14:11:13 +0000 (16:11 +0200)]
Incorrect enum values for VK_KHR_create_renderpass2
Some VkStructureType enum values added for VK_KHR_create_renderpass2 are
not in accordance with current Vulkan headers and the Vulkan
specification.
Components: Vulkan
VK-GL-CTS issue: 1321
Affects: dEQP-VK.*renderpass2.*
Change-Id: I51031d538bc427e56bbf56f603f200b513834d67
Aaron Bartholomew [Mon, 20 Aug 2018 19:28:42 +0000 (12:28 -0700)]
Improve wsi.incremental_present.* for low memory
This patch modifies the VK.wsi.incremental_present.* tests to alleviate
issues with memory use on memory constrained platforms
The issue is that the scale_down group in particular creates very large
swapchains & that the presentation engine may keep one or moreof the
swapchain images allocated until it is able to release them. Which means
that since this test does the following:
create swapchain, render some frames, destroy the swapchain, repeat
the high watermark for memory consumed by swapchain images will be higher
than the amount consumed by the single largest swapchain created.
This patch addresses these issues in two ways:
1) Reducing the size of the swapchain images allocated for scale down
tests to use the next power of two of the window size, instead of the
max extents reported by Vulkan
Max extents are already tested in other deqp tests & it's redundant
to do evaluate it again here; this change will make the test more
on functionality
2) Creates/Renders/Destroys a small dummy swapchain between each test
iteration in order to flush the memory held by the presentation
engine
Affects:
dEQP-VK.wsi.*.incremental_present.*
Components: Vulkan
VK-GL-CTS issue: 1179
Change-Id: Ib7e1a5d9110e7dabc0d0ced21b643389c2bf0328
(cherry picked from commit
a3ba2368fda1ecf8cc3d5c3136b5674a3414f472)
Aaron Bartholomew [Mon, 20 Aug 2018 19:28:42 +0000 (12:28 -0700)]
Improve wsi.incremental_present.* for low memory
This patch modifies the VK.wsi.incremental_present.* tests to alleviate
issues with memory use on memory constrained platforms
The issue is that the scale_down group in particular creates very large
swapchains & that the presentation engine may keep one or moreof the
swapchain images allocated until it is able to release them. Which means
that since this test does the following:
create swapchain, render some frames, destroy the swapchain, repeat
the high watermark for memory consumed by swapchain images will be higher
than the amount consumed by the single largest swapchain created.
This patch addresses these issues in two ways:
1) Reducing the size of the swapchain images allocated for scale down
tests to use the next power of two of the window size, instead of the
max extents reported by Vulkan
Max extents are already tested in other deqp tests & it's redundant
to do evaluate it again here; this change will make the test more
on functionality
2) Creates/Renders/Destroys a small dummy swapchain between each test
iteration in order to flush the memory held by the presentation
engine
Affects:
dEQP-VK.wsi.*.incremental_present.*
Components: Vulkan
VK-GL-CTS issue: 1179
Change-Id: Ib7e1a5d9110e7dabc0d0ced21b643389c2bf0328
(cherry picked from commit
a3ba2368fda1ecf8cc3d5c3136b5674a3414f472)
Simen Kaspersen [Thu, 2 Aug 2018 13:17:00 +0000 (15:17 +0200)]
Remove unconditional depth_clamping for 1.1.2
Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.
Affects:
dEQP-VK.pipeline.early_destroy.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.device_group.*
Components: Vulkan
VK-GL-CTS issue: 1286
Change-Id: I88271dda6001c63208b28d615ceab20bc597b743
Ilya Zaytsev [Tue, 21 Aug 2018 14:46:48 +0000 (16:46 +0200)]
Fix issues in ProtectedMemCopyBufferToImage
Fixes the following issues:
* pipeline barriers were not correct: wrong stages and wrong access masks
were used
* R32G32B32A32_UINT image view was sampled from sampler2D
Affects: dEQP-VK.protected_memory.image.copy_buffer_to_image.*
Components: Vulkan
VK-GL-CTS issue: 1326
Change-Id: I9d7eb9f8d9c2dcda1d7dd1f3b0e68e71fcd8c8f9
Alexander Galazin [Fri, 24 Aug 2018 07:26:58 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ib1bfbe439ce0b734de4328d9d9577bc0a3793288
Alexander Galazin [Fri, 24 Aug 2018 07:26:54 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ie5d1d301b96c8eff6a7d974de13c1d35195d7b26
Alexander Galazin [Fri, 24 Aug 2018 07:26:51 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I5b4bdc020c0dda7ec55aafd498cd1f1193b9c77b
Tony Zlatinski [Thu, 16 Aug 2018 13:17:28 +0000 (08:17 -0500)]
Vulkan AHB - fix incorrect structure definition
Fix a missing VkComponentMapping field of the VkAndroidHardwareBufferFormatPropertiesANDROID
structure. This is causing incorrect values to be populated to the
structure, as well as, a stack overwrite of other stack-located locals.
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r8g8b8a8_unorm
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r5g6b5_unorm_pack16
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r16g16b16a16_sfloat
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.a2b10g10r10_unorm_pack32
Components: Vulkan
VK-GL-CTS issue: 1305
VK-GL-CTS issue: 1316
Change-Id: I81eb1cc605912bf0adebe67b65d7ccdd31236ec9
Daniel Koch [Thu, 16 Aug 2018 02:55:06 +0000 (22:55 -0400)]
Fix copy/paste errors in opundef assembly tests
The tests were using %is_nan_0 repeatedly instead of %is_nan_<i>
Affects: dEQP-VK.spirv_assembly.instruction.graphics.opundef.*
(likely only the vec4float32 and matrix subsets)
Component: Vulkan
VK-GL-CTS: 1315
Change-Id: I2bed6e94f6867c424c5102ef3eeab8ac32021dcd
(cherry picked from commit
a46089154137e0939c02bdcabc74f5daa303ffb2)
Daniel Koch [Thu, 16 Aug 2018 02:55:06 +0000 (22:55 -0400)]
Fix copy/paste errors in opundef assembly tests
The tests were using %is_nan_0 repeatedly instead of %is_nan_<i>
Affects: dEQP-VK.spirv_assembly.instruction.graphics.opundef.*
(likely only the vec4float32 and matrix subsets)
Component: Vulkan
VK-GL-CTS: 1315
Change-Id: I2bed6e94f6867c424c5102ef3eeab8ac32021dcd
Chris Forbes [Mon, 18 Jun 2018 20:23:15 +0000 (13:23 -0700)]
Remove broken/redundant barrier for multiview depth/stencil readback
This barrier was set up for color writes, not depth/stencil. It was also
unnecessary, so just remove it.
Change-Id: Ieeec7320f40b273f12f669934298f85702a5985b
Components: Vulkan
VK-GL-CTS: 1288
Affects: dEQP-VK.multiview.*
(cherry picked from commit
9a5be0a660ea73f6c57efd77dff1219ec4e35bf3)
Matthew Netsch [Wed, 8 Aug 2018 20:52:35 +0000 (16:52 -0400)]
Fixes geometry shader invocation dependency
dEQP-VK.tessellation.invariance.* updates a SSBO
expecting the implementation to execute the GS
once per primitive. Changes the test to allow
multiple invocations.
Components: Vulkan
VK-GL-CTS Issue: 1281
Affects:
dEQP-VK.tessellation.invariance.*
Change-Id: I6ed17a8afb413587bb38487ec9952f569a250193
Alexander Galazin [Tue, 7 Aug 2018 10:02:46 +0000 (12:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I87551c21c18956e49aaef393a1f700ad72686912
Alexander Galazin [Tue, 7 Aug 2018 08:57:19 +0000 (10:57 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I3ebd996d37e078d937fe79ccc93718b51672e1c4
Jari Komppa [Wed, 1 Aug 2018 12:52:59 +0000 (15:52 +0300)]
Removed cache info from logged shaderstrings
This fix removes the additional information shader cache includes in the
shader string before logging. Logging change only, does not affect tests
themselves.
Affects: none
Components: Vulkan
VK-GL-CTS issue: 1289
Change-Id: I49f8730816ce28584d9601306ec40be052cee341
Simen Kaspersen [Wed, 1 Aug 2018 11:12:14 +0000 (13:12 +0200)]
Remove unconditional depth_clamping for 1.1.1
Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.
NB: Carries the same changes as 1.1.0 patch for depth_clamping, along with changes that are specific for 1.1.1.
Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
VK-GL-CTS issue: 1286
Change-Id: I0e322c65561c25339fe56e3122401d92df7623a6
Simen Kaspersen [Mon, 30 Jul 2018 14:36:31 +0000 (16:36 +0200)]
Remove unconditional depth_clamping for 1.1.0
Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.
Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
VK-GL-CTS issue: 1286
Change-Id: Ia869da75a74800543afb4f8fddd8bf5e8f7f4a7f
Gary Sweet [Wed, 1 Aug 2018 07:43:47 +0000 (08:43 +0100)]
Incorrect pipeline barrier in multiview.multisample.*
The barrier between the render and the cmdResolveImage()
in the multiview tests is currently src=COLOR_ATTACHMENT_OUTPUT,
dst=COLOR_ATTACHMENT_OUTPUT. The explicit resolve that follows
is a transfer operation so the destination stage needs to be
TRANSFER_READ to express the correct dependency.
Affects:
dEQP-VK.multiview.multisample.*
Components: Vulkan
VK-GL-CTS issue : 1291
Change-Id: I362c6f2e9f57b140c078b8d326caf042d472a4b3
Alexander Galazin [Thu, 2 Aug 2018 10:14:08 +0000 (12:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I7d44b39c208f999dcc86793250fecdb69258a165
Alexander Galazin [Thu, 2 Aug 2018 08:27:48 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I2b3ff32206b0408c16dd93bc643bdc9bf928dcda
Alexander Galazin [Thu, 2 Aug 2018 08:27:46 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I178311e0fa4f5276ab325b65460074f60e42c222
Chris Forbes [Thu, 2 Aug 2018 00:16:17 +0000 (17:16 -0700)]
Fix build when SPIRV-Tools is not present
This function does not require SPIRV-Tools, and is still used when it
is not present.
Components: Framework
VK-GL-CTS: 1293
Change-Id: I9ce49db2e6e55e8d379c713c9fe39d15fb7ecbd6
Alexander Galazin [Tue, 3 Oct 2017 19:29:50 +0000 (21:29 +0200)]
Invalidate memory in draw tests
The test group writes to non-coherent device memory with device,
but fails to call the required invalidate on the region before
reading mapped memory with host.
Components: Vulkan
VK-GL-CTS issue: 529
Affects: dEQP-VK.draw.*
Change-Id: Icf4aa6ea80c8c046e41b37402457b7f094d7ae50
(cherry picked from commit
1ce6e233a6245a1cf81a2a4e88b87c5d381a119a)
Ari Suonpaa [Mon, 4 Jun 2018 06:49:05 +0000 (09:49 +0300)]
New tests for pointers as function parameters
These new tests fill a coverage hole for passing multiple pointers
to functions and using these pointers to modify data. Alias decoration
is used where needed.
New tests:
dEQP-VK.spirv_assembly.instruction.*.pointer_parameter.*
Components: Vulkan
VK-GL-CTS issue: 1174
Change-Id: I5fc6b0f1b1b5a706acd671b9ecc4e928f988d6c3
(cherry picked from commit
ecccf1c61e853a3bef40df45eb3f488c7a0493ae)
Jason Ekstrand [Thu, 12 Jul 2018 19:59:03 +0000 (12:59 -0700)]
Add tests for vkCmdClearColorImage on linear images
New Tests:
dEQP-VK.api.image_clearing.*.clear_color_image.*.linear.*
Renamed Tests:
dEQP-VK.api.image_clearing.*.clear_color_image.*
Components: Vulkan
Change-Id: If0be7b57f7a779fda88b1dd64d15113d115eced2
Alexander Galazin [Thu, 26 Jul 2018 14:31:49 +0000 (16:31 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Change-Id: I46b6332876af27cea732a67613759229f7028f7a
Alexander Galazin [Thu, 26 Jul 2018 13:12:27 +0000 (15:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Change-Id: Ifacca1cc17b596f770f07b1e497342f23bc4cf61
Alexander Galazin [Thu, 26 Jul 2018 12:44:32 +0000 (14:44 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I8f337795a44a35d1058412c49c09702b297203ca
Alexander Galazin [Thu, 26 Jul 2018 08:47:38 +0000 (10:47 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master
Change-Id: I4a1a3f2e84c071dc18b3a8247fb0679d6c2d84e3
Alexander Galazin [Fri, 20 Jul 2018 10:51:58 +0000 (12:51 +0200)]
Ensure that SPIR-V Headers are always present
Components: Vulkan, OpenGL, Framework
VK-GL-CTS public issue: 108
Change-Id: I6172080e4c025b6ad671ca9c33e08f6fdf8ded6a
Juan A. Suarez Romero [Thu, 7 Jun 2018 10:22:18 +0000 (10:22 +0000)]
Call eglSwapBuffers() to ensure wayland surface is attached
Resize surface tests initially create a window and a surface, ensure
that both has the same size, then perform a window resize, and ensure
that both windows and the surface has the same size.
When using a Wayland target, checking the window size is done calling
wl_egl_window_get_attached_size(). This actually returns the size of the
attached buffer, which is done calling wl_surface_attach().
But wl_surface_attach() is only guaranteed to be done when calling
eglSwapBuffers(); if wl_egl_window_get_attached_size() is invoked
before, it can return 0, as no buffer is attached yet.
To avoid this problem, ensure a buffer is attached before getting the
window size.
Affects:
dEQP-EGL.functional.resize.surface_size.*
Components: OpenGL
VK-GL-CTS issue: 594
Change-Id: I74fb9a10b269ea1e1f7a63457fb0df76f8604547
Alexander Galazin [Thu, 26 Jul 2018 07:14:12 +0000 (09:14 +0200)]
Merge pull request #119 from karolherbst/fix_51
Properly handle edge case in GL FP64 tests
Alexander Galazin [Fri, 20 Jul 2018 09:12:17 +0000 (11:12 +0200)]
Request queue with sparse support only when needed
Commit
a598fe87 added tests for sparse D/S/DS images and
at the same time turned many texture tests into NotSupported
on implementations what do not support sparse.
Components: Vulkan
Affects:
dEQP-VK.texture.compressed.*
dEQP-VK.glsl.texture_functions.texture.sparse*shadow*
dEQP-VK.glsl.texture_gather.*depth32f*sparse*
dEQP-VK.texture.shadow.*sparse*
VK-GL-CTS issue: 1277
Change-Id: I83392d4f1060efbe0b1eebb0dfa8c8d5306113db
Chris Forbes [Fri, 20 Jul 2018 16:42:17 +0000 (09:42 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev
Change-Id: Id3c4bfc8862ff4d36b40ea9fc91fd5441b0e6ba9
Liam Middlebrook [Mon, 9 Jul 2018 19:27:02 +0000 (12:27 -0700)]
Don't fail DisplayPlaneProperties2 with no display
Instead, we should mark this test as not supported. The Vulkan spec
states that:
Devices must support at least one plane on each display
If there are no displays connected, the driver is allowed to return 0
planes.
VK-GL-CTS issue: 1271
Components: Vulkan
Change-Id: I097224fbdf3e25c921ac9b96d16954caab1bb895
Affects: dEQP-VK.wsi.display.get_display_plane_properties2
Toni Merilehti [Tue, 22 May 2018 07:42:05 +0000 (10:42 +0300)]
Add tests for max fragment input component limit
New tests for fragment shader using input components
near device's maximum advertised limits. Also added
a new file for upcoming shader tests operating at
device's limits.
New tests:
dEQP-VK.glsl.limits.near_max.fragment_input.components_*
Components: Vulkan
VK-GL-CTS Issue 1128
Change-Id: Ib64d2f85016d8d552632d6a7d3f9a69ebe87a5c5
Khushal [Fri, 23 Mar 2018 02:27:50 +0000 (19:27 -0700)]
Add AHardwareBuffer external memory test for format/usage flags.
Added tests:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r8g8b8a8_unorm
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r5g6b5_unorm_pack16
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r16g16b16a16_sfloat
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.a2b10g10r10_unorm_pack32
Components: Vulkan
VK-GL-CTS issue: 738
Change-Id: I59726b742aee3a74a98615745bb6da1bfdf46c0b
Alexander Galazin [Thu, 19 Jul 2018 10:12:05 +0000 (12:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Change-Id: I3795395ebc46986139592bd622500863be77d8fd
Alexander Galazin [Thu, 19 Jul 2018 10:11:33 +0000 (12:11 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Change-Id: I007b37f5ae9318d15dc1134f7865081aa40cf5de
Alexander Galazin [Thu, 19 Jul 2018 07:00:04 +0000 (09:00 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I393e8dfab66e2b4b1d5ccdb2684a92e6c0581999
Arkadiusz Sarwa [Wed, 11 Jul 2018 14:47:23 +0000 (16:47 +0200)]
Fix 8bit uniform buffers arrays strides
Affects:
dEQP-VK.spirv_assembly.instruction.*.8bit_storage.*
Components: Vulkan
VK-GL-CTS issue: 1269
Change-Id: I3f761efbe6a7e5edc66bc6846eaf90ac4453bd78
Fei Yang [Mon, 2 Jul 2018 08:48:40 +0000 (16:48 +0800)]
Fix dEQP-GLES3.functional.fbo.multiview.*
When the width of render target is an odd value, these tests failed.
The reason is these tests set default sample parameters and sample from
a 512x512 surface, where the left/right views have different colors.
When the width of render target is an odd value, the color of central
line is undefined.
As these tests' purpose is mainly want to verify whether the left/right
views have the different color, but not exactly care what the central
line is, a simple solution is just skip the check of central line.
Components: OpenGL
VK-GL-CTS issue: 1256
Affects: dEQP-GLES3.functional.fbo.multiview.*
Change-Id: I62c86dc7269864a3919b11a331178bfc54d65ab0
Yabin Zheng [Tue, 22 May 2018 03:02:27 +0000 (11:02 +0800)]
Loosen threshold in Texture3D tests
The verification function should consider both src and dst formats
when computing allowed error threshold.
Components: OpenGL
Affects:
KHR-GLES2.texture_3d.sub_image.*
VK-GL-CTS issue: 1243
Change-Id: Ie53aed63724aa75a0da697e30e7625a309acf76b
Yabin Zheng [Fri, 22 Jun 2018 01:50:06 +0000 (09:50 +0800)]
Some glCopyTexSubImage3D related tests conflict with GLES3.2 spec
According to the GLES3.2 spec, An INVALID_OPERATION error is generated if the
component sizes of internalformat do not exactly match the corresponding
component sizes of the source buffer's effective internal format when call the
glCopyTExSubImage3D function.
The test format is GL_RGBA8, while different config ID will result in different
format in the render buffer. The number of channel bits of some format are not
equal to GL_RGBA8. So we should add a new FBO to restrict the test behavior.
Components: OpenGL
Affects: KHR-GLES2.texture_3d.copy_sub_image.*
VK-GL-CTS issue: 1240
Change-Id: I35c066fce990038e95da1e04197d659929fd8e86
Lujin Wang [Tue, 26 Jun 2018 18:47:39 +0000 (11:47 -0700)]
Fix swap_buffers_with_damage.resize* hang on X11
In SwapBuffersWithDamageTest, the second time setSurfaceSize() was
called, because the size values were the same as the first call, the
test would hang with XNextEvent() in XlibWindow::setDimensions() waiting
for a ConfigureNotify event that Xserver would not deliver in
ConfigureWindow() if size was not changed.
Changing the if conditions causes size values to change for neighboring
setSurfaceSize calls and resolves the hang.
Affects:
dEQP-EGL.functional.swap_buffers_with_damage.resize*
Components: egl
VK-GL-CTS issue: 1238
Change-Id: I78177ffbef4f7f380d850ad43d83317f82401c7b
Chris Forbes [Fri, 13 Jul 2018 18:33:07 +0000 (11:33 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev
Change-Id: I40b59c801207ce6fa52450ba83f719a56b153b0f
Alexander Galazin [Fri, 13 Jul 2018 14:54:16 +0000 (16:54 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Change-Id: I8e4654033220a53f244768f319fb054026b30509
Alexander Galazin [Fri, 13 Jul 2018 14:54:12 +0000 (16:54 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I92ddc3da6a7d67e926eb54beeaf1c190fcf7e87a
Alexander Galazin [Fri, 13 Jul 2018 13:18:16 +0000 (15:18 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I1e3e296b56699e97e9d536332fd6c4405b6f8cf2
Alexander Galazin [Fri, 13 Jul 2018 11:00:25 +0000 (13:00 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Change-Id: I1864199105595d697561bcb6641692edbe75aa79
Alexander Galazin [Fri, 13 Jul 2018 10:00:10 +0000 (12:00 +0200)]
Update KC CTS reference
Components: Framework
Change-Id: Ie0085e80530c859cbd8f5da72e24e1e4450ce365
Sai Kiran Korwar [Tue, 3 Jul 2018 08:58:52 +0000 (14:28 +0530)]
Fix memory allocation tests
Use deviceMemoryAllocationGranularity to determine if some number
of allocations of a particular size will succeed.
This is useful on when platform specific alignment restrictions are
present.
Components: Vulkan
Affects: dEQP-VK.memory.allocation.basic.size_*
VK-GL-CTS issue: 1259
Change-Id: Iac4f2e7842a826bebf7c641fad1950f6c3d48946
Chris Forbes [Mon, 11 Jun 2018 22:50:16 +0000 (15:50 -0700)]
Allow two images worth of alignment slop in protected heap
We previously backed off by one image worth, but it's not enough in some
cases.
Components: Vulkan
VK-GL-CTS: 1262
Bug: b/
109757443
Test: dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create#min_image_count
Change-Id: I01b3a72986e9f35b4ec15a146e4dc576758c02ce
(cherry picked from Android commit
0fd6d1afa4d00ffd3da1d2d1898f32d4e879209d)
Chris Forbes [Mon, 18 Jun 2018 23:52:10 +0000 (16:52 -0700)]
Add option to embed validation layers in Android package
Based on https://github.com/KhronosGroup/VK-GL-CTS/pull/103 but reworked
a bit to allow setting the path directly. This allows easy codevelopment
of layers and tests.
Components: Framework
VK-GL-CTS: 1253
Change-Id: I232e48b82119f6bc358985d39be0def3c5a75766
Oliver Wohlmuth [Fri, 6 Jul 2018 12:19:17 +0000 (14:19 +0200)]
Correct getProcAddress() handling in robustness tests
The below robustness tests don't use the OpenGL ES extension name when
calling getProcAddress() in an OpenGL ES environment. This change fixes
it by removing the getProcAddress() calls and use gl.XXX() to call these
functions. gl.XXX() takes care of the context it is running in.
Affects:
KHR-NoContext.*.robustness.no_reset_notification
KHR-NoContext.*.robustness.getnuniform
KHR-NoContext.*.robustness.readnpixels
Components: OpenGL
VK-GL-CTS issue: 1267
Change-Id: I4ed18990626f1dd744eebf6b99c18a60a29dad5f
Stephen Gallimore [Thu, 5 Jul 2018 13:40:13 +0000 (14:40 +0100)]
Protected memory image access tests not flushing staging buffer
Affected tests:
dEQP-VK.protected_memory.image.access.*
Components: Vulkan
VK-GL-CTS issue: 1264
Change-Id: I30a6e3b0118b6874b9bfdf625aadec9c0fe54710
Jason Ekstrand [Mon, 9 Jul 2018 04:09:20 +0000 (21:09 -0700)]
Remove an unneded type qualifier
This fixes check_build_sanity.py
Components: Vulkan
Change-Id: I0631c5ef2ede20a68a5853e497acc5e1106ab127
Toni Merilehti [Wed, 27 Jun 2018 11:30:14 +0000 (14:30 +0300)]
Add tests for packed vertex formats
Added tests for selected packed vertex formats to verify that vertex
attribute values are handled correctly in vertex shader.
New tests:
dEQP-VK.pipeline.vertex_input.single_attribute.*
Components: Vulkan
VK-GL-CTS issue: 1162
Change-Id: Ib20142c33d385e2c95dce1b3c6f547588cf59b2f
Neil Monday [Mon, 9 Jul 2018 13:38:16 +0000 (09:38 -0400)]
TextureBarrier required for texture_view.coherency
The third paragraph in section 9.3.1 gives conditions when
texture/framebuffer texture reads/writes are undefined. I
think that this test requires a TextureBarrier as described
in the last bullet point.
Affects:
KHR-GL46.texture_view.coherency
Components: OpenGL
VK-GL-CTS issue: 1183
Change-Id: I231ffd5acd089ebc1a9e0265c2f4a97f2a5c525c
Tate Hornbeck [Wed, 27 Jun 2018 16:53:11 +0000 (12:53 -0400)]
Remove shaders.negative.unused_uniform_precision_matching
The GLSL spec was updated to "the types, precisions and any location
specifiers of all statically used uniform variables with the same name
must match across shaders that are linked into a single program."
which makes the unused_uniform_precision_matching test invalid.
Updating this test to use statically used uniforms would be
redundant to used_uniform_precision_matching.
Components: OpenGL
VK-GL-CTS issue: 1249
Affects:
KHR-GLES32.shaders.negative.unused_uniform_precision_matching
Change-Id: I6a60c9355144f1d539a6463d913844129e6dfc8d
James Glanville [Wed, 4 Jul 2018 09:59:44 +0000 (10:59 +0100)]
Allow glFramebufferTexture2D with level!=0 in ES2 tests with ES3
These ES2 tests were expecting GL errors when attaching non-zero
levels to a framebuffer where GL_OES_fbo_render_mipmap is not
supported. This functionality is core in ES3 contexts, so the tests
much assume support for mippmapped rendering in this case.
Affects:
dEQP-GLES2.functional.negative_api.buffer.framebuffer_texture2d
dEQP-GLES2.functional.fbo.api.texture_levels
Components:
dEQP
VK-GL-CTS issue: 1263
Change-Id: I3dc7c8f1f2cc7efb5c227a0aec11983b185be03c
Juan A. Suarez Romero [Mon, 25 Jun 2018 15:22:48 +0000 (17:22 +0200)]
Shaders Derivate Tests: fix threshold
Derivate tests are calculating the threshold used for validating results
by taking in account a scale. Apparently this is incorrect, and is
causing some tests to fail.
A similar situation happened in Vulkan, and the proper fix was to do not
take in account the scale for the threshold calculation. Hence, applying
the same fix here fixes all the failing tests.
Affects:
dEQP-GLES3.functional.shaders.derivate.*
dEQP-GLES31.functional.shaders.derivate.*
Components: OpenGL
VK-GL-CTS issue: 1237
Change-Id: I106e36a708a6f75768c15ccdb4b064eb562cb28f
Alexander Galazin [Wed, 27 Jun 2018 07:59:49 +0000 (09:59 +0200)]
Exclude tests causing OOM
Components: OpenGL
Affects:
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_separate_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_combined_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_1000x1000_drawcount_5000
VK-GL-CTS issue: 1241
Change-Id: I3bc753391e2739387879ca117e9da29c98286cec
Juan A. Suarez Romero [Tue, 19 Jun 2018 07:23:13 +0000 (07:23 +0000)]
Allow glReadPixels() differences due precision errors
When comparing the results from glReadPixels() passing user-space memory
and using a PBO, there could be differences due drivers implementation
following different paths, and thus generating differences because of
precision errors.
Like in dEQP-GLES3.functional.read_pixels.* tests, add a threshold under
which the differences are acceptable.
Affects:
dEQP-GLES3.functional.pbo.*
Components: OpenGL
VK-GL-CTS issue: 1228
Change-Id: I7c9ac5de359cff8deba039b010357eae0da3eaaf
Alexander Galazin [Sun, 8 Jul 2018 17:32:36 +0000 (19:32 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I8280652b4a92e212649f1f7cf998b2be57f5ef9c
Alexander Galazin [Sun, 8 Jul 2018 17:32:35 +0000 (19:32 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Change-Id: I35d4a659eec7320e4ebf9ad4acda6618c8d39608
Alexander Galazin [Sun, 8 Jul 2018 16:11:14 +0000 (18:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Change-Id: I320830efe2f575027608c80a1c6eac896dc09619
Alexander Galazin [Sun, 8 Jul 2018 16:11:11 +0000 (18:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ifcbe9328d752355465f6ea56961e2b16205e6e12
Alexander Galazin [Sun, 8 Jul 2018 16:11:07 +0000 (18:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: Ie88a7283bd969891282983a549c6d18901a9ee7b
Alexander Galazin [Sun, 8 Jul 2018 15:53:48 +0000 (17:53 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I5c002e83b42b86349ef96b16857bcfd3a3480bea
David Neto [Thu, 5 Jul 2018 15:52:21 +0000 (11:52 -0400)]
Log SPIR-V dissasembly when validation fails
Log the SPIR-V disassembly along with the diagnostic and the test case name.
Don't destroy the evidence.
Change-Id: Iae45b997cb979c38bdf15fa3a066421b971f6730
Components: Framework
VK-GL-CTS: 1265
Alexander Galazin [Sun, 8 Jul 2018 15:02:38 +0000 (17:02 +0200)]
Update GL/ES mustpasses
Components: OpenGL
Change-Id: If41b80a7c4ee6aad7f25835baa58d9dd1bb3a016
Yabin Zheng [Thu, 21 Jun 2018 01:41:20 +0000 (09:41 +0800)]
Robust_buffer_access_behavior.texel_fetch relies on undefined behavior
The failed test behavior is :
Create a mipmap texture as a dst texture and attach its level 1 texture
to the framebuffer colorattachment0 as render target. Create a mipmap
texture as a src texture and fill some data to its level 1 texture.
Use "texelFetch" in the fragment shader to sample level 1 source
texture(mipmap) and draw it to the dst texture.
According to the GLES3.2 spec:
The results of texelFetch builtins are undefined if the computed level
of detail is not the texture's base level and the texture's minification
filter is NEAREST or LINEAR.
Modify the test for the mipmap case.
Components: OpenGL
Affects:
KHR-NoContext.es32.robust_buffer_access_behavior.texel_fetch
VK-GL-CTS issue: 1236
Change-Id: Id67ea894a3dd423bba611ccc11a131b80d38fc64
Juan A. Suarez Romero [Wed, 20 Jun 2018 16:37:58 +0000 (18:37 +0200)]
Increase threshold GLES3 blend tests
The threshold used in dEQP-GLES3.functional.fragment_ops.blend.* is
computed using a non-scientific ad hoc formula.
As stated in a comment, when using few color bits, the blend operations
brings extra inaccuracy, which requires to increase the threshold.
Apparently, the current threshold value is not enough when using a RGB565
configuration, and it should be increased.
Moreover, the threshold used in GLES2 blend tests is a bit bigger, and
using this threshold for the GLES3 blend tests fixes the problems with
RGB565.
Thus this commit applies the GLES2 blend tests threshold to GLES3 tests.
Affects:
dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.*
Components: OpenGL
VK-GL-CTS issue: 1230
Change-Id: I7269768a9591fc70532312d8cc13481252a6f6e2