Graeme Leese [Thu, 13 Dec 2018 10:18:30 +0000 (10:18 +0000)]
Fix validation of occlusion query tests
The vertex buffer usage was incorrectly set to storage buffer and the
flushing/invalidation was incorrect.
Change-Id: Ic2ff15fae3bf8dcbbf2e5d4d197f775755e933ba
Components: Vulkan
Affects: dEQP-VK.query_pool.occlusion_query.*
Graeme Leese [Thu, 13 Dec 2018 09:47:16 +0000 (09:47 +0000)]
Fix more memory flush/invalidation cases
Flushing or invalidating memory based on buffer sizes is not safe
because of the restriction around non-coherent atom size. Use the flush
and invalidate helpers to resolve this problem, fixing many validation
errors.
Components: Vulkan
Affects: dEQP-VK.draw.*
dEQP-VK.image.*
dEQP-VK.rasterization.*
dEQP-VK.pipeline.push_descriptor.*
Change-Id: I7ad4cbc23529d24dad7dc80f29d5451d9157f74c
Graeme Leese [Wed, 12 Dec 2018 14:04:05 +0000 (14:04 +0000)]
Validation fixes for device_init tests
The validator requires that the queue properties be queried before
devices and queues are created.
Components: Vulkan
Affects: dEQP-VK.api.device_init.*
Change-Id: Iddf9487703c65890eb0c97acc991d6e0a5c6a72b
Jason Ekstrand [Sat, 15 Dec 2018 00:04:39 +0000 (18:04 -0600)]
Be more careful about Block decorations on structs
In spirv/SPIR-V@
9701a9f9 we changed the SPIR-V spec to say that
block-decorated structures could not be nested. This is needed for
sorting out certain variable pointers issues inside a SPIR-V parser.
Unfortunately, the mentioned group of CTS tests violates this rule.
Their %input_buffer type is a struct containing two instances of
%outer_struct and both %input_buffer and %outer_struct are decorated
Block. Fortunately, only one of the two struct types is actually
required for an input at any given type so we just need to be more
careful about the decorations.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.complex_types_compute.*
Components: Vulkan
VK-GL-CTS issue: 1518
Change-Id: I87a832fab94a9c06317d20b32afedf16b52ab2f2
Alexander Galazin [Wed, 19 Dec 2018 09:14:55 +0000 (10:14 +0100)]
Update glslang
Components: Framework
Change-Id: Idc6041b4dc36737e9c3af9d9985ecab2f8bda811
Alexander Galazin [Tue, 18 Dec 2018 17:01:46 +0000 (18:01 +0100)]
Update SPIR-V Tools
Components: Framework
Change-Id: I8b4acf9c7f144f745a2e0ff79ca489eb55edba4e
Alexander Galazin [Tue, 18 Dec 2018 15:23:18 +0000 (16:23 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: Ic63a11b7b47f13bb1ab350afbeeec9059da4ff9d
Alexander Galazin [Tue, 18 Dec 2018 13:55:42 +0000 (14:55 +0100)]
Remove multiple Offset decorations
Fixes unintentional duplication of the Offset decoration
for the first struct member
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.compute.opcopymemory.struct
Change-Id: Id13a8f15a72d7dd32d13fb52a494d57349cea289
Jari Komppa [Wed, 7 Nov 2018 13:49:39 +0000 (15:49 +0200)]
Added tests to intentionally mismatch opImageType
These tests intentionally mismatch the opImageType of the shader with
the source image types. The results of execution are ignored, but the
driver and/or graphics device is not expected to crash.
For the graphics tests, the source image format is changed, and
for the compute tests the shader is changed.
New tests:
dEQP-VK.spirv_assembly.instruction.graphics.image_sampler.*.optypeimage_mismatch.*
dEQP-VK.spirv_assembly.instruction.compute.image_sampler.*.optypeimage_mismatch_*
Components: Vulkan
VK-GL-CTS issue: 1420
Change-Id: I6f86986fda108b0dafc1a10d1790414d7bd5a2ba
Piotr Byszewski [Tue, 18 Dec 2018 11:00:56 +0000 (12:00 +0100)]
Fix multiple ArrayStride decorations in float_controls
Most of float_controls tests that were executed on fragment stage
had an extra ArrayStride decorations for the same arrays. This change
corrects SPIR-V generation so that second set of ArrayStride
decorations is added only when tested operation input type is
different from operation result type.
Components: Vulkan
VK-GL-CTS issue: 1522
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*_frag
Change-Id: I3e72414e00bd82ff7a9975ff9148e9889bb32246
Alexander Galazin [Tue, 18 Dec 2018 10:31:34 +0000 (11:31 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I295ae6f8a1549a687bf58eabc8fa38052a2bad48
Arkadiusz Sarwa [Wed, 12 Dec 2018 14:23:10 +0000 (15:23 +0100)]
Optimizing reading in host_read_host_write.1048576
To optimize reading the "for loop byte by byte" was replaced
by memcpy for memory equal and larger then 1 MB.
Components: Vulkan
VK-GL-CTS issue: 1515
Affects:
dEQP-VK.memory.pipeline_barrier.host_read_host_write.1048576
Change-Id: I02f2c3c90d2fc554597f8892a77da6106062452d
Toni Merilehti [Wed, 5 Dec 2018 08:28:56 +0000 (10:28 +0200)]
Remove duplicate tests under dEQP-VK.renderpass*
Some of the tests are located under both, dEQP-VK.renderpass* and
dEQP-VK.renderpass*.suballocation.* test groups. This removes
the duplicate cases directly under dEQP-VK.renderpass* and moves
the test cases that use sub-allocation into
dEQP-VK.renderpass*.suballocation.* test group.
Components: Vulkan
VK-GL-CTS Issue: 1491
Affects:
dEQP-VK.renderpass.multisample.* (removed)
dEQP-VK.renderpass.multisample_resolve.* (removed)
dEQP-VK.renderpass.subpass_dependencies.* (removed)
dEQP-VK.renderpass.sampleread.* (removed)
dEQP-VK.renderpass2.sampleread.* (removed)
dEQP-VK.renderpass.sparserendertarget.* (removed)
dEQP-VK.renderpass2.sparserendertarget.* (removed)
dEQP-VK.renderpass.unused_attachment.* (removed)
dEQP-VK.renderpass2.unused_attachment.* (removed)
dEQP-VK.renderpass.suballocation.sampleread.* (added)
dEQP-VK.renderpass2.suballocation.sampleread.* (added)
dEQP-VK.renderpass.suballocation.sparserendertarget.* (added)
dEQP-VK.renderpass2.suballocation.sparserendertarget.* (added)
dEQP-VK.renderpass.suballocation.unused_attachment.* (added)
dEQP-VK.renderpass2.suballocation.unused_attachment.* (added)
Change-Id: I99613fb5a0074877932974039ac01dfbdb80dc0d
Flisikowski [Tue, 16 Oct 2018 11:08:10 +0000 (13:08 +0200)]
Add more conditional rendering tests
Components: Vulkan
VK-GL-CTS Issue: 1485
New Tests: dEQP-VK.conditional_rendering.draw_clear.*
Change-Id: I9b58ab0e5c4d7519b452b25199ee2de0f090e3a1
Yu-Jun Li [Tue, 11 Dec 2018 18:53:06 +0000 (10:53 -0800)]
Fixes binding model test format mismatch
Storage texel buffer had a different format in
the shader (R32I) than in the app (R32UI).
Components: Vulkan
VK-GL-CTS issue: 1514
Affects:
dEQP-VK.binding_model.descriptorset_random.*
Change-Id: Iffbffbd002a77387dbe008e53ebb81d3f28838f5
Matthew Netsch [Mon, 10 Dec 2018 18:34:22 +0000 (13:34 -0500)]
Fixes AHB test out of memory error
Handles out of memory as not supported
Components: Vulkan
VK-GL-CTS issue: 1507
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
Change-Id: If46d2fd7a446f8348aa11bb1636635c7d1f3660a
Graeme Leese [Thu, 13 Dec 2018 09:58:28 +0000 (09:58 +0000)]
Remove Clip/CullDistance when not needed
Although the tests don't need clip or cull distances the capabilities
are enabled, which means that features would need to be enabled. Remove
the capabilities.
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.*.float_controls.*
dEQP-VK.spirv_assembly.instruction.compute.multiple_shaders.*
Change-Id: If8e18b1608f4d8d2782e9010c531a4e20119b414
Neil Roberts [Fri, 22 Jun 2018 07:54:32 +0000 (09:54 +0200)]
Add tests using VkRunner, precompiling the scripts
This is an alternative version of change 2660 that precompiles the
GLSL or SPIR-V assembly in the VkRunner test scripts to SPIR-V binary
during the build phase so that they can be executed faster and without
any external glslang or spirv-tools dependencies.
This adds VkRunner as an external dependency and then adds some
example test cases to use it. VkRunner is a tool designed to make it
easier to create shader tests for Vulkan by using a simple scripting
language which combines the shaders used for a pipeline along with a
description of the inputs and expected outputs.
VkRunner is fetched from an external repository so the fetch_sources
script needs to be run after merging the patch.
VkRunner tests can be added to any group, the tests need to be a child
class of the VkRunnerTestCase class.
Some VkRunner tests are provided as example, but they are excluded from
the mustpass:
dEQP-VK.vkrunner-example.*
Shader test files are under external/vulkancts/data/vulkan/vkrunner/ path.
The example shader_test files are under example/ subfolder.
VK-GL-CTS: 1147
Change-Id: I1c5fc5f672a360800bfe10afbf96ca8fd07b38e6
Chris Forbes [Mon, 17 Dec 2018 16:53:22 +0000 (08:53 -0800)]
Add some watchdog touches in AHB image format tests
Timing on these tests is marginal if the device runs into memory trouble
and needs to spend a lot of time reclaiming to satisfy the allocations.
Change-Id: If397b95b3be02553b3bca2baf43b21b245136b6d
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats
Components: Vulkan
Ilkka Saarelainen [Tue, 4 Dec 2018 12:47:37 +0000 (14:47 +0200)]
Fix API usage errors in fragment operation tests
Validation layers catch multiple API usage errors
in fragment operation tests.
Fixes API usage errors caused by unsafe memory flush
and unsupported combinations of image memory barrier
dstAccessMask and dstStageMask.
Components: Vulkan
Affects: dEQP-VK.fragment_operations.*
VK-GL-CTS issue: 1471
Change-Id: I8647478082e9ca74a267bef96fd3e806c6b80dc4
Dae Kim [Tue, 11 Dec 2018 16:21:53 +0000 (16:21 +0000)]
Fixed incorrect load/store ops for depth in multiview test
The test expected the initial depth values to be preserved after the end of the
render pass, which wasn't guaranteed with the given load/store ops.
Components: Vulkan
VK-GL-CTS issue: 1227
Affects: dEQP-VK.multiview.depth.*
Change-Id: I1a42394c8d0f329b43ddde9f40e4a993122eddf9
Gary Sweet [Thu, 6 Dec 2018 09:55:51 +0000 (09:55 +0000)]
Add subpass external dependency to pushDescriptor tests
Back to back render passes are used with no pipeline barrier
or external subpass dependency to synchronise the output of
the first to the input of the second.
This change adds an external subpass dependency to ensure that
the render passes are synchronised.
Component: Vulkan
Affects: dEQP-VK.pipeline.push_descriptor.*input_attachment
VK-GL-CTS issue: 1467
Change-Id: Ie42ec31ab393439e7a4c312cfe6dcc40fde82c25
Peter Quayle [Tue, 11 Dec 2018 18:02:26 +0000 (18:02 +0000)]
Reduce devices created in device_group tests
The device_group tests could sometimes hit timeouts on
slower CPUs. This change reduces the number of objects
created in these tests to match the reduced number used
in the device and instance tests.
Affects:
dEQP-VK.api.object_management.
multithreaded_per_thread_resources.device_group
dEQP-VK.api.object_management.
multithreaded_shared_resources.device_group
Components: Vulkan
VK-GL-CTS issue: 1512
Change-Id: Icb68643ff530a8b1a1a7daa9fc93d8db8bc5faf9
Jari Komppa [Mon, 19 Nov 2018 13:09:09 +0000 (15:09 +0200)]
Remove duplicate identical make*MemoryBarrier
This change adds a new util, vkBarrierUtil, which contains barrier
creation functions. The framework had 8 identical copies of these
functions. Apart from the identical ones, couple other barrier
making functions were also moved into the new util to have them
in the same place. The two makeImageBarrier functions were merged
using default parameters.
The affects-list is overly broad, but not easily measurable since the
changes may affect tests outside the directly edited files.
Affects:
dEQP-VK.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1472
Change-Id: I761f9885bb6bce9a64526e498b9182c5064551ed
Mohd Faisal [Fri, 7 Dec 2018 11:38:15 +0000 (11:38 +0000)]
Allow SRGB conversion for store tests to generate reference image.
If the driver supports feature VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT for
SRGB format then SRGB coversion is required to generate correct reference
values. Stores tests are using view format (SRGB format) for reference
image, and to generate correct reference image SRGB conversion is required.
Affects:
dEQP-VK.image.mutable.2d.*
Components: vulkan
VK-GL-CTS issue: 1501
Change-Id: I2ca657d53142f84f27390845539e84a6ea5e2d63
Arkadiusz Sarwa [Fri, 7 Dec 2018 11:19:06 +0000 (12:19 +0100)]
Fix flag dEQP-VK.*.record_simul_use_primary
Flag VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
should be used in VkCommandBufferBeginInfo when
a buffer is resubmitted to a queue while it is
in the pending state,
Components: Vulkan
Affects: dEQP-VK.api.command_buffers.record_simul_use_primary
VK-GL-CTS Issue: 1500
Change-Id: Id527cc2fa54de2675514f89b5f44af221f42bd80
Yiwei Zhang [Thu, 13 Dec 2018 00:12:43 +0000 (16:12 -0800)]
DEQP: Fix the build targets without SPIRV tools
VK-GL-CTS issue: 1516
Affects: Any build without SPIRV tools
Components: Framework
Change-Id: I7bdbcb94a0877e51d2ae39018fb80c84b2924607
Ari Suonpaa [Tue, 20 Nov 2018 10:48:46 +0000 (12:48 +0200)]
Add tests for varying naming
Some platforms were reported to incorrectly link varyings
between shader stages by varying name (OpName) instead
of location ID. These new tests make sure the name or
the lack of it doesn't affect the end results.
New tests:
dEQP-VK.spirv_assembly.instruction.graphics.varying_name.*
Components: Vulkan
VK-GL-CTS issue: 1407
Change-Id: I04aaaf7e0addce6f608875f1646ea71ad249a65e
Graeme Leese [Thu, 29 Nov 2018 18:22:33 +0000 (18:22 +0000)]
Fix subgroup shuffle tests to do testing
Modify the subgroup shuffle tests to modify the indices so that they're
in range, rather than just rejecting all the values that were out of
range. In my testing of the old method, every test was skipped so the
tests always passed.
Components: Vulkan
VK-GL-CTS issue: 1490
Affects: dEQP-VK.subgroups.shuffle.*
Change-Id: I51d4511aef60c37f39c634be9dbeaff9aca4717e
Graeme Leese [Thu, 29 Nov 2018 14:50:48 +0000 (14:50 +0000)]
Remove duplication from subgroup shuffle tests
The code was very repetitious, meaning edits to the tests had to be done
in numerous places. Consolidate all the different copies together so
that they are easier to fix.
Components: Vulkan
Affects: dEQP-VK.subgroups.shuffle.*
Change-Id: I95d864c72dcd4e070f26bc73cf97920c9a1fe088
Slawomir Cygan [Sat, 8 Dec 2018 22:03:45 +0000 (23:03 +0100)]
Update code comments around --deqp-renderdoc
No workarounds are needed or implemented at this moment.
Components: Vulkan, Framework
Change-Id: I967f211fb64088b75a2e32bbeceb4fa029cf2efd
Affects: None.
Slawomir Cygan [Sat, 8 Dec 2018 21:57:43 +0000 (22:57 +0100)]
Correct copyright header
Components: Vulkan, Framework
Change-Id: I58107231871c5997d2feaf38e6633ed426288c00
Affects: None
Liam Middlebrook [Tue, 11 Dec 2018 04:42:47 +0000 (20:42 -0800)]
Don't fail DisplayModeProperties2 with no display
Instead, we should mark this test as not supported.
VK-GL-CTS issue: 1513
Components: Vulkan
Change-Id: I16a6dcb9f10997b5bbc24ffd2c2d7b0300f43f4c
Affects: dEQP-VK.wsi.display.get_display_mode_properties2
Piers Daniell [Tue, 4 Dec 2018 19:29:19 +0000 (12:29 -0700)]
Set the correct "unused" attachment initialLayout
Before the renderpass the "unused" attachment image is cleared
to a known value and left in the VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
layout. However, the initialLayout field for the "unused"
attachment is set to VK_IMAGE_LAYOUT_UNDEFINED, which might
cause the image contents to be perturbed when the image
is transitioned from VK_IMAGE_LAYOUT_UNDEFINED to the
finalLayout of VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL.
I understand that part of the purpose of these
"unused_attachment" tests is to ensure "unused" attachments
aren't modified by the renderpass. However, there is nothing
in the Vulkan spec that says the layout of "unused"
attachments should be ignored. This was discussed in issue:
https://github.com/KhronosGroup/Vulkan-Docs/issues/821
And the conclusion is that the layout must: not be ignored
for "unused" attacments.
Affects:
dEQP-VK.renderpass*.unused_attachment.*
Components: Vulkan
VK-GL-CTS issue: 1129
Change-Id: Ia6db607538cb191bc8ca6e03f8da9c88bac031c4
Ari Suonpaa [Fri, 16 Nov 2018 14:04:23 +0000 (16:04 +0200)]
Add framework function createInstanceWithExtensions
Several tests have their own implementation for creating an
instance with extension. Combined these into a framework
function.
Affects:
dEQP-VK.api.device_init.*
dEQP-VK.api.info.*
dEQP-VK.compute.basic.*
dEQP-VK.memory.allocation.*
dEQP-VK.sparse_resources.*
dEQP-VK.ycbcr.format.*
Components: Vulkan
VK-GL-CTS issue: 1470
Change-Id: Idf40f65b18f5f3c84313f22ef023f2ca9aa6ea75
Alexander Galazin [Fri, 7 Dec 2018 12:42:22 +0000 (13:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I02792923c734edfd6749ff9aea25516c5c4e2a80
Cygan, Slawomir [Thu, 5 Jul 2018 16:54:09 +0000 (18:54 +0200)]
Add support for RenderDoc in Vulkan tests
This add --deqp-renderdoc=enable commandline, which adds
start frame / end frame signalization using RenderDoc 'in-application' API.
Components: Vulkan, Framework
VK-GL-CTS Issue: 1444
Change-Id: Ib9e8a978cecb96784405ec32495fcb2b156540be
Graeme Leese [Fri, 7 Dec 2018 10:58:39 +0000 (10:58 +0000)]
Skip fconvert16 if float16 not supported
The SPIR-V instruction test for float16 wasn't checking for the float16
capability correctly so didn't work properly on implementations that
don't support it.
Components: Vulkan
VK-GL-CTS issue: 1499
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.fconvert16
Change-Id: Id8dfc596acda41da670b2d6c08bde9920df99268
Alexander Galazin [Fri, 7 Dec 2018 10:16:32 +0000 (11:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I0351d45fc4e1069de4ab67dae4df820eb76e5785
Alexander Galazin [Tue, 4 Dec 2018 15:22:53 +0000 (16:22 +0100)]
Update glslang
Components: Framework, Vulkan
Change-Id: Ic2ecbd6915b8f4d6ecfc6a291df0791ddf5167e8
Samuel Iglesias Gonsálvez [Tue, 4 Dec 2018 15:22:26 +0000 (16:22 +0100)]
Add precision error margin to cos() tests for float_controls
On some old Intel hardware, Mesa doesn't return exactly 1.0 for cos(0).
This change implements the precision error margin for the affected cos() tests,
following Vulkan spec, "Precision and Operation of SPIR-V Instructions".
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.*.float_controls.*.cos_denorm_flush_to_zero*
VK-GL-CTS issue: 1498
Change-Id: I2ff07616f706d4214517917276aeb26d2d875325
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Piers Daniell [Tue, 4 Dec 2018 17:06:01 +0000 (10:06 -0700)]
Remove unsupported image load store tests
CL https://gerrit.khronos.org/#/c/2639/ added more
formats to the dEQP-VK.image.mutable.* tests. Variants
of these tests use image load store. However, the new
formats added are not all compatible with image load
store as defined by:
https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html#spirvenv-image-formats
This CL removes test variants that use image load store
and the invalid formats from the mustpass list.
Affected tests:
dEQP-VK.image.mutable.*
dEQP-VK.image.swapchain_mutable.*
Components: Vulkan
VK-GL-CTS issue: 1495
Change-Id: I49867913ba5c4e50b4f3d85d7c6787dc60113e63
Piers Daniell [Mon, 3 Dec 2018 22:27:34 +0000 (15:27 -0700)]
Fix image feature checks for swapchain_mutable.*
This fix mirrors what was already done in
https://gerrit.khronos.org/#/c/2799/ for the other
image.mutable.* tests. Without this fix the
DE_FATAL("Invalid download method") assert will fire
for some of the sub tests and the test won't be
properly skipped when the platform doesn't support
the format.
Components: Vulkan
Affects: dEQP-VK.image.swapchain_mutable.*
VK-GL-CTS Issue: 1295
Change-Id: I009baa8697ae09f7e9b8001b90159658ced4c62a
Graeme Leese [Wed, 14 Nov 2018 13:12:44 +0000 (13:12 +0000)]
Validation: Use correct aspects in renderpass2
Many of the tests were not setting up the aspect mask for input
attachments, meaning that the renderpass2 tests (for which it is
required) were failing validation.
Component: Vulkan
Affects: dEQP-VK.renderpass2.*
Change-Id: I7ca22cf1958a31137d1fb32ef84f944704354fb9
Ari Suonpaa [Mon, 19 Nov 2018 12:39:41 +0000 (14:39 +0200)]
Extend OpCompositeInsert test
Extended OpCompositeInsert test with vector and nested
struct cases.
Affects:
dEQP-VK.spirv_assembly.instruction.*.composite_insert.*
Components: Vulkan
VK-GL-CTS issue: 1458
Change-Id: Icef6dd3161581ddb8b7413190b77833aa02461f1
Jeff Bolz [Tue, 4 Dec 2018 17:00:04 +0000 (11:00 -0600)]
Fix ubo.random to only use scalar_block_layout in 'scalar' tests
Components: Vulkan
Affects: dEQP-VK.ubo.random*
VK-GL-CTS issue: 1493
Change-Id: I1f5c9b3d8269973c33de1908673d942e67ea3184
Alexander Galazin [Tue, 4 Dec 2018 09:08:55 +0000 (04:08 -0500)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master"
Jari Komppa [Tue, 2 Oct 2018 13:02:59 +0000 (16:02 +0300)]
Added script for vulkan.h.in generation
In order to avoid manual editing of vulkan.h.in, this script can be used
to perform all the operations that usually need manual editing, but
instead performs the operations from source XML files instead.
The script can read a base XML file, a superset XML file and the current
header file. These three files are analysed for the extensions they
contain, and the user can interactively select which extensions from the
superset to include in the generated header. (All extensions from the
base XML are included).
The script also automatically fetches the current vk.xml and header
genration scripts from github using wget.
This script is not automatically run by the build process, and requires
manual interaction to run. It depends on python3, since it uses the
header generation scripts that are part of the vk-docs project. Only the
generated header files should be committed to the git repository.
Affects:
None
Components: Framework
VK-GL-CTS issue: 1322
Change-Id: I26557d672483325924dc32febadd283669a4bc82
Alexander Galazin [Tue, 4 Dec 2018 08:15:58 +0000 (09:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I3756dbd3bcc1c4760ac3ed8e1e8e4aaa5b77d36a
Alexander Galazin [Mon, 3 Dec 2018 17:54:16 +0000 (18:54 +0100)]
Update SPIR-V Tools/Headers
Update SPIR-V Tools/Headers to public commits
Components: Framework
Change-Id: If65c03f115c69386163303c61f5f62c85a2b3d4b
Alexander Galazin [Mon, 3 Dec 2018 18:40:25 +0000 (19:40 +0100)]
Fix incorrect decoration on PushConstant
The spec reuires PC to be decorated as Block not BufferBlock
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*
VK-GL-CTS issue: 1494
Change-Id: Ic82ad34970117a06101173bdc2f62dea6859e723
Alexander Galazin [Sun, 2 Dec 2018 15:53:28 +0000 (16:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I3c988846faac50be72e65338dc83e040ef0810ee
Slawomir Cygan [Tue, 23 Oct 2018 15:06:34 +0000 (17:06 +0200)]
Add test veryifying if proper 'count' is written in wsi getters
Some functions returning arbitrary number of elements were not tested to update
'count', if the return array was given (not null).
Components: vulkan.h.in
VK-GL-CTS Issue: 1449
New Tests:
dEQP-VK.wsi.*.swapchain.get_images.count
Affects:
dEQP-VK.wsi.*.surface.query_formats
dEQP-VK.wsi.*.surface.query_formats2
dEQP-VK.wsi.*.surface.query_present_modes
Change-Id: Ic21e11110f420ecbc3785a43cff705ddcab512b4
Alexander Galazin [Fri, 30 Nov 2018 10:55:11 +0000 (11:55 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: If1ee61695b77b22b2bbb7071d375ee1de46a2d6e
Alexander Galazin [Fri, 30 Nov 2018 10:16:04 +0000 (11:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I141759bd5109a1207d170b7977345a6c739d4d49
Alexander Galazin [Wed, 28 Nov 2018 18:32:31 +0000 (19:32 +0100)]
Fix non-constant Id in subgroupBroadcast
Glslang started to enforce constantness of
the ID parameter in subgroupBroadcast.
This fixes some tests that used to have
non-constant Id by manually unrolling the loop.
Components: Vulkan
Affects: dEQP-VK.subgroups.ballot_broadcast.subgroupbroadcas*
VK-GL-CTS issue: 1489
Change-Id: I291875f94b9781fc4920617106c4f86786fd82d8
(cherry picked from commit
4708641aeed605da095764bbc2d90df760309db3)
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats
The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".
This change removes any float formats from the list of uncompressed
formats used to generate test cases.
Affects:
dEQP-VK.image.texel_view_compatible*float
Components: Vulkan
VK-GL-CTS issue: 1285
Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats
The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".
This change removes any float formats from the list of uncompressed
formats used to generate test cases.
Affects:
dEQP-VK.image.texel_view_compatible*float
Components: Vulkan
VK-GL-CTS issue: 1285
Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats
The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".
This change removes any float formats from the list of uncompressed
formats used to generate test cases.
Affects:
dEQP-VK.image.texel_view_compatible*float
Components: Vulkan
VK-GL-CTS issue: 1285
Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076
Chris Forbes [Tue, 13 Nov 2018 23:08:45 +0000 (15:08 -0800)]
Add barrier at start of each CB to order wrt previous CBs
Currently, there is only the implicit ordering guarantee for the top of
pipe between batches of commands. This isn't adequate for implementations
that allow overlapping work from different CBs. Insert an explicit
fairly-full barrier at the beginning of each CB to make this safe.
(Suggested by ARM to Google to deal with some long-standing weird
behavior)
Change-Id: I254db5f1461d5ff7c0af73de9219f59c8154df7c
Affects: dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
Google bug: b/
113601409
VK-GL-CTS Issue: 1468
Alexander Galazin [Wed, 28 Nov 2018 09:09:54 +0000 (10:09 +0100)]
Update SPIR-V Tools/Headers
Update SPIR-V Tools/Headers to gitlab-prelim-rc9
Components: Framework
Change-Id: I7e6d8a98afe431df2d8bf4c77e5a609f1c34b2a1
Alexander Galazin [Thu, 29 Nov 2018 09:29:52 +0000 (10:29 +0100)]
Update glslang
Components: Framework
Change-Id: I0d3cf4fa6e5cce6c37a76bc2558cb4aeced4f902
Arkadiusz Sarwa [Wed, 28 Nov 2018 16:23:32 +0000 (17:23 +0100)]
Fix: alloc_callback_fail.render_pass test
Test does not use the created allocator and always reports
quality error.
Components: Vulkan
Affects: dEQP-VK.api.object_management.alloc_callback_fail.render_pass
VK-GL-CTS issue: 1488
Change-Id: I18b87dec78e1c50cb8caf6d2e5acdeec42b05dd6
Alexander Galazin [Wed, 28 Nov 2018 18:32:31 +0000 (19:32 +0100)]
Fix non-constant Id in subgroupBroadcast
Glslang started to enforce constantness of
the ID parameter in subgroupBroadcast.
This fixes some tests that used to have
non-constant Id by manually unrolling the loop.
Components: Vulkan
Affects: dEQP-VK.subgroups.ballot_broadcast.subgroupbroadcas*
VK-GL-CTS issue: 1489
Change-Id: I291875f94b9781fc4920617106c4f86786fd82d8
Alexander Galazin [Fri, 30 Nov 2018 08:27:32 +0000 (09:27 +0100)]
Whitelist VK_KHR_shader_float16_int8
Components: Vulkan
Affects: dEQP-VK.api.info.device.extensions
Change-Id: Ic694aa658912ead8288ceccc2def4572742cd193
Jason Ekstrand [Wed, 7 Nov 2018 02:49:41 +0000 (20:49 -0600)]
Add tests for derivatives in dynamic but quad-uniform control flow
Components: Vulkan
Affects: dEQP-VK.glsl.derivate.*
New tests: dEQP-VK.glsl.derivate.*dynamic*
Change-Id: I7d457d26d724ea3d3ae19959393b6e752d669769
Arkadiusz Sarwa [Fri, 23 Nov 2018 14:46:50 +0000 (15:46 +0100)]
Fix: adds checking the maxPerStageResources limit
Tests dEQP-VK.binding_model.descriptorset_random.*
don't check that limit, so it is possible to execute tests
on device which doesn't support so many descriptors.
Components: Vulkan
Affects: dEQP-VK.binding_model.descriptorset_random.*
VK-GL-CTS issue: 1481
Change-Id: If07f3c6aeb7696cec4620eb93df87ac2119ee3cc
Boris Zanin [Mon, 19 Nov 2018 10:08:31 +0000 (11:08 +0100)]
More allowed alternatives for 'dot' and 'normalize'
Expanded dot and normalize may be re-associated in multiple ways.
Add all possible alternatives.
Updates:
* dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*opdot
* dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*normalize
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*
Components: Vulkan
VK-GL-CTS issue: 1451
Change-Id: I524ad384b876618f42f87bc147622f7b5bd80cd4
Toni Merilehti [Sun, 28 Oct 2018 15:59:58 +0000 (17:59 +0200)]
Add tests for late fragment test dependencies
This will extend the coverage of vktRenderPassSubpassDependencyTests to
test subpass dependencies of late fragment tests between multiple
subpasses inside a render pass instance. The tests verifies that late
fragment tests are completed before reading the contents in
the following subpass.
New tests:
dEQP-VK.renderpass*.subpass_dependencies.late_fragment_tests.*
Components: Vulkan
VK-GL-CTS issue 1399
Change-Id: I3dc76e6a0e333b2d76fe2b825988074ff428e4b3
Alexander Galazin [Wed, 28 Nov 2018 10:47:18 +0000 (11:47 +0100)]
Fix validation for int8 conversion
Add Int8 capability for conversions between int8 and non-32 bit types
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*.convert*
Change-Id: I61485d5f6cc8c1d48cc50f1268398b7df7c92d91
Peter Deayton [Thu, 15 Nov 2018 18:26:37 +0000 (10:26 -0800)]
Allow float16 max value for result larger than max
Numbers larger than the maximum representable float16 value may round to
infinity for RTE rounding mode, or to the maximum representable value
65504 (0x7bff) for RTZ rounding mode.
Components: Vulkan
VK-GL-CTS issue: 1483
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_*
Change-Id: Id53eeb797e522db98bb070894a7c715507a4f05a
Juan A. Suarez Romero [Mon, 26 Nov 2018 17:30:51 +0000 (18:30 +0100)]
Fix leak in shaderCacheLoad()
Free used memory in shaderCacheLoad() function.
Components: Framework
VK-GL-CTS issue: 1484
Change-Id: Id17a695540acd5f67b890fd0e67ca549eb2da17e
Peter Deayton [Thu, 15 Nov 2018 18:25:58 +0000 (10:25 -0800)]
Allow RTE and RTZ for float16 derivative test
The result of the test may not be representable exactly in a float16.
Allow both round to nearest even and round to zero as valid results.
Components: Vulkan
VK-GL-CTS issue: 1482
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*
Change-Id: I7add6f5fc0888897fbb374fb8e5576f7c1284bc3
Piotr Byszewski [Fri, 9 Nov 2018 16:53:42 +0000 (17:53 +0100)]
Correct image mutable tests on null driver
This change removes three assertions that were recently added during
implementation of tests for VK_KHR_swapchain_mutable_format
Adding addtional logic to implementation of
getPhysicalDeviceFormatProperties on null driver could potentialy
also resolve this issue but then test would still report
NotSupported.
VK-GL-CTS issue: 1461
Components: Vulkan
Change-Id: I44a1ce13019cf6ab1a2972337252e58ded3e7e31
Affects: dEQP-VK.image.*
Alexander Galazin [Wed, 28 Nov 2018 14:02:50 +0000 (15:02 +0100)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: Ie9125ed022a45ebe21db504c25374b05b6f633ef
Alexander Galazin [Wed, 28 Nov 2018 13:28:29 +0000 (14:28 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: Iac42d008fde65db886e160683eaac96b6778b5a8
Alexander Galazin [Wed, 28 Nov 2018 11:51:32 +0000 (12:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I305701213a8d458c951e6c264d81659175e4b106
Alexander Galazin [Wed, 28 Nov 2018 11:51:29 +0000 (12:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: If195a88e379f262db7a1220f8cf7a2905225c9f9
Alexander Galazin [Wed, 28 Nov 2018 11:21:14 +0000 (12:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I92e6488c67cd6bafa10dec08c8e6d90dcc80be0d
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
(cherry picked from commit
0f658f6c6a12a7356ce494cd6eaf9034da0a84b7)
Alexander Galazin [Tue, 27 Nov 2018 13:26:50 +0000 (14:26 +0100)]
Update glslang
Components: Framework
Change-Id: I5c969c767d58afe0d0ef30e46f78d9b96d20b8a7
Jeff Bolz [Tue, 27 Nov 2018 22:41:48 +0000 (16:41 -0600)]
Remove duplicate float16Int8Features
This causes everything in between to be lost from the pNext chain.
Components: Vulkan
Change-Id: I4f8d0d2300f487427cb08366566ef3cad97b1c65
Chris Forbes [Tue, 27 Nov 2018 16:34:31 +0000 (08:34 -0800)]
Merge remote-tracking branch 'khronos/master' into deqp-dev
Change-Id: I3eed3a763d361dec4f081c85c18263676e58f912
Alexander Galazin [Tue, 27 Nov 2018 14:28:52 +0000 (15:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I22d47d684dabcebb9d4b8c063720cd74bff02a3b
Alexander Galazin [Tue, 27 Nov 2018 13:06:15 +0000 (14:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I3a2c85d31fe5622a9c0a2d428d419e3853699733
Alexander Galazin [Tue, 27 Nov 2018 13:06:11 +0000 (14:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Id836e23ef8901e34c2fcdbba40aea8aad4d3767d
Ilkka Saarelainen [Wed, 7 Nov 2018 10:59:28 +0000 (12:59 +0200)]
Remove StorageUniform16 from SPIR-V conversion tests
Removed StorageUniform16 capability requirement from the SPIR-V
conversion tests because it's not used in any of the tests.
Affects:
dEQP-VK.spirv_assembly.instruction.*.*convert*.*int16*
Components: Vulkan
VK-GL-CTS issue: 1417
Change-Id: Ie20658ff59d1fef03eda36672fbe8d0dccb27c4c
Jeff Bolz [Tue, 20 Nov 2018 16:00:45 +0000 (10:00 -0600)]
Fix pointer storage class for spirv_assembly tessellation tests.
This was a new validation rule in
https://github.com/KhronosGroup/SPIRV-Tools/commit/
d7cd1203a42b850e38a42e3606b22f810f671a90.
Errors look like:
Validation FAILED: From SPIR-V spec, section 3.32.8 on OpVariable:
Its Storage Class operand must be the same as the Storage Class operand of the result type.
%gl_PrimitiveID = OpVariable %_ptr_Output_int Input
Also update to latest spirv-tools.
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*
Change-Id: I14a10b936da36ddc572551b1bf5fc3c837a79fb8
Alejandro Piñeiro [Mon, 11 Dec 2017 11:29:10 +0000 (12:29 +0100)]
glSpirvTests: fix transform feedback query
The test removes the names for several variables of the shader, and
then it expect a length of 1 for all of them when doing a state
query.
But on the case of TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH it is not
activating any varying.
This commits adds an output definition with xfb decorations so the
variable would become active without the need to call
glTransformFeedbackVaryings. From ARB_gl_spirv spec:
"If the shader used to record output variables for transform
feedback varyings uses the xfb_buffer, xfb_offset, or xfb_stride
layout qualifiers, or its SPIR-V entry point declares the *Xfb*
Execution Mode, the values specified by TransformFeedbackVaryings
are ignored, and the set of variables captured for transform
feedback is instead derived from the specified layout qualifiers
or SPIR-V decorations: outputs specifying both an *XfbBuffer* and
an *Offset* are captured, while outputs not specifying both of
these are not captured. Values are captured each time the shader
writes to such a decorated object."
As we are here, we also simplify how name reflection is
stripped. Instead of stripping each individual OpName and OpMemberName
that we know the shader have, we just remove any OpName and
OpMemberName line.
Modules: OpenGL
VK-GL-CTS issue: 886
Affects:
KHR-GL45.gl_spirv.spirv_modules_state_queries_test
KHR-GL46.gl_spirv.spirv_modules_state_queries_test
Change-Id: I124c90c61f8bee1e873867cf0d2b2e689679d70a
Ari Suonpaa [Tue, 20 Nov 2018 13:31:36 +0000 (15:31 +0200)]
Fix anonymous namespace in UBO matrix padding test
UBO matrix padding test had anonymous namespace ending
too early. A function was wrongly indented which made
it look like the namespace would have ended at the
correct place.
Affects:
none
Components: Vulkan
VK-GL-CTS issue: 1476
Change-Id: I56520c3de41e152e7fa113bf8d599fcbb90125be
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)