Jason Ekstrand [Thu, 27 Apr 2017 15:02:22 +0000 (08:02 -0700)]
dEQP-VK: Fix and inline the Image::getPixelOffset helper
The helper was wrong in a number of ways. First, it tries to calculate
an offset to the particular mip level and array layer requested even
though the driver already provides that as part of the offset returned
by getImageSubresourceLayout. If someone tried to use this with a
non-zero mip level or array layer they would get the wrong offset
because it would be added in twice. Second, the calculation depended on
an array called mipLevelRectSizes array which was used but never
initialized. This commit gets rid of the helper and just does the right
calculation inside MemoryOp::readLinear and MemoryOp::uploadLinear.
This affects the following groups of tests:
- dEQP-VK.draw.*
- dEQP-VK.dynamic_state.*
- dEQP-VK.query_pool.*
Change-Id: If0da72023cbc437d2a13d60f83e1230f0f90ba39
Alex Walters [Thu, 27 Apr 2017 09:12:28 +0000 (10:12 +0100)]
makeFramebufferWithoutAttachments creates invalid framebuffer
Current behaviour of setting width, height, and layers to zero is
invalid. The validity language specifies that width, height, and
layers must be > 0.
The same function exists in the utils files for sparse_resources
and synchronization tests, I've removed the unused copies.
Affects:
dEQP-VK.tessellation*
Components: Vulkan
VK-GL-CTS issue: 265
Change-Id: I201377ec5064d84eb3beb959ac5acf72e687c0b2
Pyry Haulos [Wed, 12 Apr 2017 03:43:22 +0000 (11:43 +0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: Iff109ea0dba048599d3deb4d8f42a7cac8b62283
Pyry Haulos [Wed, 12 Apr 2017 03:08:15 +0000 (11:08 +0800)]
Fix typo in dE-IT.build_info.de_endianness_consistent name
Components: AOSP
Change-Id: Ie2cb1335834c010251021bac6b3882a37ede3f75
Marcin Kańtoch [Tue, 4 Apr 2017 12:31:34 +0000 (14:31 +0200)]
Fix - uniform buffer incorrectly dereferenced
Uniform buffer is incorrectly dereferenced in
ssbo layout tests.
Affected tests: dEQP-VK.ssbo.layout.*
Change-Id: I5831ad75f558f8992bed6bdc48b1833d2ee13d26
Alex Walters [Mon, 3 Apr 2017 10:46:36 +0000 (11:46 +0100)]
Imgtec Waiver for texture_gather*cube*depth32f*
Some versions of Imagination Technologies G6200, G6230, G6400, and
G6430 Rogue Series 6 GPU's are unable to correctly filter CEM corners
with F32 textures, this includes the ability to gather texels for texel
gather instructions.
This CL excludes the affected tests from mustpass.
Affects:
All dEQP-VK.glsl.texture_gather.basic.cube.depth32f* tests except:
dEQP-VK.glsl.texture_gather.basic.cube.depth32f.no_corners*
Components: Vulkan
VK-GL-CTS issue: 336
Change-Id: I4e20d887ad2901f78a7af326035d7a2a9ae5e76a
Andrey Tuganov [Fri, 3 Mar 2017 21:52:58 +0000 (16:52 -0500)]
Fix SPIR-V generation in dEQP-VK.spirv_assembly
SPIR-V code generated in vktSpvAsmInstructionTests.cpp violates
non-aggregate type declaration uniqueness rule of SPIR-V
specification.
Fixed some of the tests which don't require exstensive changes.
Affects: dEQP-VK.spirv_assembly.instruction.*
Components: Vulkan
VK-GL-CTS issue: 195
Change-Id: Ib352323b08e10f83a0f5371dbf2bbb8b6d1182dd
Marcin Kańtoch [Tue, 28 Mar 2017 13:06:59 +0000 (15:06 +0200)]
Fix - depth/stencil images mandatory only for VK_IMAGE_TYPE_2D
Vulkan spec change https://gitlab.khronos.org/vulkan/vulkan/issues/719
made it mandatory to support depth/stencil formats only for
image type VK_IMAGE_TYPE_2D. For VK_IMAGE_TYPE_1D and VK_IMAGE_TYPE_3D
this support is optional.
Made changes to isRequiredImageParameterCombination()
Tests affected: dEQP-VK.api.info.image_format_properties.*
Change-Id: I9df990ced2e0a735078897324211c6b2a3923f2e
Iago Toral Quiroga [Fri, 24 Mar 2017 11:51:08 +0000 (12:51 +0100)]
Add missing barrier in ssbo layout tests
The tests map storage buffers written by compute shaders
to verify results. Add a barrier before host access to
these buffers.
Components: Vulkan
VK-GL-CTS issue: 326
Affected tests:
dEQP-VK.ssbo.layout.*
Change-Id: I760969e6a572c0f79a6ff2b41721445016a8bba4
Pyry Haulos [Thu, 16 Mar 2017 21:50:40 +0000 (14:50 -0700)]
Imgtec Waiver for SNORM linear filtering
Due to an error in bit replication of the fixed point SNORM values,
linear filtered negative SNORM values will differ slightly from ideal
precision in the last bit, moving the values towards 0.
This occurs on all members of the PowerVR Rogue family of GPUs
Affected tests are changed to allow for larger error and issue
QualityWarning when inaccurate results are found.
Affects:
dEQP-VK.pipeline.sampler.view_type*format*_snorm*_filter.linear
Components: Vulkan
VK-GL-CTS issue: 229
Change-Id: I59fa0f7acdcaa49fc84f17b22be1cc805da593a2
Iago Toral Quiroga [Tue, 21 Mar 2017 11:34:07 +0000 (12:34 +0100)]
Add missing barrier in synchronization tests
The *read_vertex_input* tests write to a storage
buffer in the vertex stage, which will later
be mapped by the host to read and verify the
results. Add a barrier before attemptig to read
the data from the host.
Components: Vulkan
Vk-GL-CTS issue: 266
Affected tests:
dEQP-VK.synchronization.op.single_queue.semaphore.*read_vertex_input*
Change-Id: Ibda3c54aaa0ba82bdb29422aadcf5df90101411d
Andrey Tuganov [Thu, 2 Mar 2017 20:23:02 +0000 (15:23 -0500)]
Fix invalid SPIR-V in dEQP-VK.sparse_resources
Fixed issue:
SPIR-V code generated in
- vktSparseResourcesShaderIntrinsicsStorage.cpp
- vktSparseResourcesShaderIntrinsicsSampled.cpp
violates non-aggregate type declaration uniqueness rule of SPIR-V
specification.
Affects: dEQP-VK.sparse_resources.shader_intrinsics.*
Components: Vulkan
VK-GL-CTS issue: 230
Change-Id: Id39663a17684923f37924559917af524cf68f6c0
Gary Sweet [Thu, 16 Mar 2017 13:26:53 +0000 (13:26 +0000)]
Add missing flushes for indirect draws
Buffers were being mapped and written, but not flushed
before use. This affected the indirect draw tests when running
with a non-coherent heap.
Affects:
dEQP-VK.draw.indirect_draw.*
Components: Vulkan
VK-GL-CTS issue: 210
Change-Id: Ie8920bea727419a1da22b8e2d9babcca2c6593fe
Pyry Haulos [Thu, 9 Mar 2017 23:01:31 +0000 (15:01 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: Ica55df93dd12ea2c6460ec7c6fbb1383e6d38f4d
Maciej Jesionowski [Wed, 8 Mar 2017 13:15:55 +0000 (14:15 +0100)]
Fix a compilation error on GCC 5.4
Components: Vulkan
Change-Id: I6c6681d16613f18b2a3192368927f6d176f63a64
Pyry Haulos [Wed, 1 Mar 2017 15:53:44 +0000 (07:53 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: I9eec4dd1fa88a85374eba8d0851b00a28c50b4ac
Pyry Haulos [Thu, 23 Feb 2017 22:11:27 +0000 (14:11 -0800)]
Fix bug in reallocation callback validation
vk::validateAllocationCallbacks() didn't correctly handle a case where
reallocate(NULL, size) returned previously seen pointer value.
VK-GL-CTS issue: 176
Components: Vulkan
Change-Id: I0822f8e4176d20d7bf296cd85f5c5223e189d250
Iago Toral Quiroga [Fri, 10 Feb 2017 10:35:52 +0000 (11:35 +0100)]
Write gl_PointSize value when it is undefined
gl_PointSize is undefined unless expicitly written to. The only
exception to this rule is the case when
shaderTessellationAndGeometryPointSize is disabled, in which case it
defaults to 1.0 for these stages.
Since we don't have access to the physical device features at shader
compile time, implement two variants of the tessellation evaluation
shader when point mode is enabled, one that writes gl_PointSize and
one that doesn't and decide the one we need at run time based on
whether the feature is enabled or not.
Components: Vulkan
Fixes VK-GL-CTS issue: 159
Affects:
dEQP-VK.tessellation.primitive_discard.*point_mode
Change-Id: Idadbc70a704f00ed601ff65afeb2a3edfbeb3f19
Dominik Witczak [Thu, 17 Nov 2016 12:10:19 +0000 (13:10 +0100)]
Fix memory management, image layout issues in uploadImageSparse()
Fixes an issue where ShaderRenderCaseInstance::uploadSparseImage()
would first configure sparse image bindings and then deallocate
the memory objects, prior to actually sampling the image.
Fixes an issue where the sparse image, after having been filled with
contents, would first be transitioned to SHADER_READ_ONLY_OPTIMAL
layout, and then used in a DS which was expecting it to be in
GENERLA layout.
Finally, the patch addresses a problem, where the function would not
correctly recognize the VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
as reported by the running driver.
The change affects dEQP-VK.glsl.*sparse* tests
VK-GL-CTS issue: 156
Change-Id: Ie5717841fe0ef9c0672b5075380ff96bba9855b9
(cherry picked from commit
70fc0800efe725f4f91f4d03b09aa0e567dbb09c)
Slawomir Cygan [Tue, 10 Jan 2017 15:59:29 +0000 (16:59 +0100)]
Do not require unsupported sparse images in image_format_properties test
Affects tests: dEQP-VK.api.info.image_format_properties*
This change removes the requirement for supporting sparse residency images:
- with compressed format
- with non-color format
- with format of pixel size that is not power ot two (for example: RGB).
Additionally do not require 1D sparse residency images (not in spec),
and require 2D/3D residency images basing on the device capabilities.
Spec 28.1. Sparse Resource Features:
"A sparse image created using VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
supports all non-compressed color formats with power-of-two element
size that non-sparse usage supports.
(...)
sparseResidencyImage2D: Support for creating 2D single-sampled VkImage
objects with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
sparseResidencyImage3D: Support for creating 3D VkImage objects with
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
"
Component: Vulkan
VK-GL-CTS Issue: 131
(cherry picked from commit
5534b44a15b530ece4b310e1dd935fb9b0cefeb6)
Change-Id: Ia2481fbcd12a32a6470af26df213a2f930c2e6db
Igor Ostrowski [Mon, 30 Jan 2017 13:08:45 +0000 (14:08 +0100)]
Fix XCB window dimensions setter
Make sure that dimension setter catched appropriate property notify event.
Components: Framework
VK-GL-CTS issue: 134
Change-Id: I4630175dffea57a54375fe6900df7dd3aa5823d4
Pyry Haulos [Tue, 17 Jan 2017 22:24:57 +0000 (14:24 -0800)]
Merge vulkancts/vulkan-cts-1.0.0 into vulkancts/vulkan-cts-1.0.1
Change-Id: I4742b81f85d9b09efd77b954d432e28fefabf818
Alexander Galazin [Mon, 16 Jan 2017 08:15:59 +0000 (09:15 +0100)]
Update zlib dependency to zlib 1.2.11
Fixes Vulkan CTS issue: #579
Change-Id: Ib0cd05616cbb4759d63bcf15ba8e8f6f374e291d
Pyry Haulos [Wed, 4 Jan 2017 21:46:48 +0000 (13:46 -0800)]
Reset Android window state when it is released
This avoids leaking window state between tests in WSI tests.
Affects: dEQP-VK.wsi.android.*
Change-Id: I618485fbbc1bb83c86437bb04fbcbfa65b4c04c2
Pyry Haulos [Thu, 5 Jan 2017 17:58:14 +0000 (09:58 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I3ace822f33fb20acd6109886458b0d16c1624bd5
Maciej Jesionowski [Thu, 15 Dec 2016 15:45:31 +0000 (16:45 +0100)]
Fix buffer size and alignment issues in api.buffer
- Don't use maxTexelBufferElements, it doesn't apply here
- Remove unused throw/catch blocks (catch block was never reachable)
- Add a case that exercises huge buffer sizes
- Add a check for sparseAddressSpaceSize
Modified tests:
- dEQP-VK.api.buffer.create_buffer_*
Fixes #558
Change-Id: Ia6b46d8c34a4eef4a6136532d0cb626d0b64b560
Maciej Jesionowski [Thu, 5 Jan 2017 10:21:40 +0000 (11:21 +0100)]
Update zlib and libpng dependencies
Fixes #568
Change-Id: I8ee890a2176bf6d42d3dd8b119b7263034127960
Maciej Jesionowski [Wed, 21 Dec 2016 11:20:28 +0000 (12:20 +0100)]
Correct a typo in blit image test case names
Modified test names:
- dEQP-VK.api.copy_and_blit.blit_image.simple_tests.*
Change-Id: Ia62b9f616466b919f1e92d0a74714586ccc6e313
Pyry Haulos [Thu, 15 Dec 2016 12:24:01 +0000 (04:24 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I82eb4eb290e5d85b44ac2f1f2efb1eb88aef062a
Pyry Haulos [Thu, 15 Dec 2016 12:11:43 +0000 (14:11 +0200)]
Add -Wno-delete-non-virtual-dtor to default cxxflags
That warning generates some false negatives that are hard to work
around.
Change-Id: Ib451eca3af7bf2a6bfd24aa966f89496257b9f0d
Pyry Haulos [Thu, 15 Dec 2016 12:01:22 +0000 (04:01 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Maciej Jesionowski [Wed, 14 Dec 2016 10:42:03 +0000 (11:42 +0100)]
Synchronization: use the correct device interface
This is a correctness change, likely has no impact
on most implementations.
Affected tests:
- dEQP-VK.synchronization.op.multi_queue.*
Change-Id: I3eee09c13626e23261a7d0496aacab259265c3b9
Maciej Jesionowski [Mon, 12 Dec 2016 15:24:30 +0000 (16:24 +0100)]
Get rid of invalid buffer create flags combinations
Removed tests:
- dEQP-VK.api.buffer.createBuffer_*_2
- dEQP-VK.api.buffer.createBuffer_*_6
(cherry picked from commit
bdd0a62ee565d0e7e07f05ddb95217d532e407cb)
Change-Id: I6cc6ed365de9d710f07fbfd2dde9db7edaecd007
Maciej Jesionowski [Mon, 12 Dec 2016 15:24:30 +0000 (16:24 +0100)]
Get rid of invalid buffer create flags combinations
Removed tests:
- dEQP-VK.api.buffer.createBuffer_*_2
- dEQP-VK.api.buffer.createBuffer_*_6
Change-Id: I6cc6ed365de9d710f07fbfd2dde9db7edaecd007
Maciej Jesionowski [Wed, 7 Dec 2016 12:37:15 +0000 (13:37 +0100)]
Use mipmapPrecisionBits when calculating LOD error
Affected tests:
- dEQP-VK.pipeline.image.sampling_type.*
- dEQP-VK.pipeline.image_view.view_type.*
- dEQP-VK.pipeline.sampler.view_type.*
Khronos issue: #554
Change-Id: I7cb3bedd8df6b033dd6e7ae2d1631e5e2f25673e
Maciej Jesionowski [Fri, 9 Dec 2016 17:05:54 +0000 (18:05 +0100)]
Correct a typo in if statement in synchronization module
Change-Id: I13635c1c078456adb6af8e8689d809d7ef72ebb4
Alexander Galazin [Tue, 6 Dec 2016 20:54:57 +0000 (21:54 +0100)]
Update the verification script to reflect git 2.9.1 changes
git 2.9.1 changed the "working directory" message to "working
tree". Accept both statements in the verification script.
Ref:
https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.9.1.txt
Fixes #559
Change-Id: Ie90097d39e1f09c1796bb1238ee92bf19aff93bf
Pyry Haulos [Fri, 2 Dec 2016 23:51:14 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I4f62b1e39978bea366e0b7e2f745b0f7a25a0f66
Pyry Haulos [Fri, 2 Dec 2016 22:29:24 +0000 (14:29 -0800)]
Clarify --deqp-log-filename usage in README.md
Vulkan CTS issue: #525
Change-Id: Idb0f23cd13e548aaea21682ec02d89e52adee579
Arkadiusz Sarwa [Tue, 29 Nov 2016 10:43:38 +0000 (11:43 +0100)]
Fix VkPipelineLayout overwriting
Fixes #527
Change-Id: Ia053e9ead201f62fc1310d07e7dafd76139ba173
Pyry Haulos [Fri, 2 Dec 2016 16:34:43 +0000 (08:34 -0800)]
Fix post-copy barrier in readImageAspect()
* Barrier was using TOP_OF_PIPE_BIT for flushing buffer contents for
host access. HOST_BIT must be used instead.
* For combined depth stencil formats image was left in wrong image layout
for later stencil aspect copy.
Affects combined DS format cases in:
dEQP-VK.api.copy_and_blit.blit_image.all_formats.*
Change-Id: I80263efbc12da21c8205768687725416419e923e
Pyry Haulos [Tue, 25 Oct 2016 08:41:48 +0000 (17:41 +0900)]
Fix combined depth stencil handling in dEQP-VK.api.copy_and_blit
The existing code had several bugs related to handling of combined DS
formats that manifested on implementations that support blitting of
said formats.
vk::isSupportedByFramework(VkFormat) utility function is added for
checking whether format is mappable to tcu::TextureFormat. This query
is used to filter out test cases that will always result in InternalError,
namely all cases that attempted to exercise formats with 64-bit channels.
Vulkan null driver is updated to advertise
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT to allow easier testing.
Affects:
dEQP-VK.api.copy_and_blit.*
See #488
See #515
Change-Id: Ic03c523aea6a4bc9115568ec486200c53ec37d80
Pyry Haulos [Thu, 1 Dec 2016 22:23:51 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I1881729f313bd8fbee7dcc2d305ac89e7aaf2761
Oivind Boge [Tue, 22 Nov 2016 13:21:00 +0000 (14:21 +0100)]
Increase blit source to avoid extreme blit scaling
Fixes #548
Change-Id: Ied146b91dc748f9efe41b7b64d11c5da870e5ac0
Maciej Jesionowski [Tue, 29 Nov 2016 12:38:22 +0000 (13:38 +0100)]
Framework: Add assert to position deviation image compare
When using position deviation tolerance it's easy to forget
about the depth and effectively skip the check for the whole
image.
Change-Id: Ide873be57ba19e7e9e45606d27aae403f9c131ec
Pyry Haulos [Fri, 18 Nov 2016 17:48:22 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: Ib79da8c670b790d009cdf977039ece08c4e14320
Pyry Haulos [Thu, 20 Oct 2016 20:07:45 +0000 (13:07 -0700)]
Use highp in linkage.varying.rules.differing_name_*
This resolves RelaxedPrecision mismatches
Affects:
dEQP-VK.glsl.linkage.varying.rules.differing_name_1
dEQP-VK.glsl.linkage.varying.rules.differing_name_2
See #518
Change-Id: I7a152138e2d6ff2092c04d4226f7d00c8a40f4e0
Pyry Haulos [Thu, 20 Oct 2016 20:17:33 +0000 (13:17 -0700)]
Fix RelaxedPrecision mismatch in shader return statement tests
Affects:
dEQP-VK.glsl.return.single_return_vertex
dEQP-VK.glsl.return.double_return_vertex
dEQP-VK.glsl.return.last_statement_in_main_vertex
dEQP-VK.glsl.return.return_in_infinite_loop_vertex
See #518
Change-Id: I981b7623f7dc2eed2e438092226f3fa3bde44d58
Pyry Haulos [Thu, 20 Oct 2016 20:07:45 +0000 (13:07 -0700)]
Use highp by default in ShaderLibrary-based tests
This resolves numerous RelaxedPrecision mismatches
Affects:
dEQP-VK.glsl.arrays.*
dEQP-VK.glsl.conditionals.*
dEQP-VK.glsl.constants.*
dEQP-VK.glsl.conversions.*
dEQP-VK.glsl.functions.*
dEQP-VK.glsl.linkage.*
dEQP-VK.glsl.scoping.*
dEQP-VK.glsl.swizzles.*
See #518
Change-Id: I7b79f10c6dbdd5ae8da31359b680ac52ce2ad28c
Pyry Haulos [Thu, 20 Oct 2016 20:06:49 +0000 (13:06 -0700)]
Fix RelaxedPrecision mismatch in binding_model tests
Affects: dEQP-VK.binding_model.*
See #518
Change-Id: Iccda14ae17c7852c5283547e01573907f2eef18a
Slawomir Cygan [Mon, 14 Nov 2016 16:57:31 +0000 (17:57 +0100)]
Fix race condition between query pool reset and accessing query results
Affects tests:
dEQP-VK.query_pool.occlusion_query.get_results*(wait_query|wait_none)*
These tests access query pool results on host, without any synchronization
with command buffer which performs the query - they either use
VK_QUERY_RESULT_WAIT_BIT or allow for incomplete results to be captured.
This may have a race condition, mentioned by spec:
"""
Applications must take care to ensure that use of the
VK_QUERY_RESULT_WAIT_BIT bit has the desired effect. For example, if
a query has been used previously and a command buffer records the
commands vkCmdResetQueryPool, vkCmdBeginQuery, and vkCmdEndQuery for
that query, then the query will remain in the available state until the
vkCmdResetQueryPool command executes on a queue.
"""
In affected tests, this change moves vkCmdResetQueryPool to separate
command buffer that is sumitted and completed before query is used on
device & host.
Additionally code handling RESULTS_MODE_COPY mode is refactored to use
new haveSeparateCopyCmdBuf() function instead of tons of flags and conditions.
Change-Id: Id4a538b912030f2a86b09593fecaae37f1819a71
Pyry Haulos [Mon, 14 Nov 2016 16:56:10 +0000 (08:56 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I620cf36a16740b6697c9d46b0cb7b7d013bd529b
Pyry Haulos [Mon, 14 Nov 2016 16:51:13 +0000 (08:51 -0800)]
Update to latest libpng release
Previously used release 1.6.17 has been deprecated due to security bugs.
Change-Id: Ie5b749eea96e34f88a6833fbfab40c59cd3d162c
Jason Ekstrand [Sat, 22 Oct 2016 16:16:55 +0000 (09:16 -0700)]
dEQP-VK.api.image_clearing: Use the correct aspects for depth/stencil attachments
These tests were blindly setting the aspectMask field of VkClearAttachment
to VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT even though the
format of the attachment may be a depth-only format. This affects the
following tests:
dEQP-VK.api.image_clearing.clear_depth_stencil_attachment.2d_d16_unorm
dEQP-VK.api.image_clearing.clear_depth_stencil_attachment.2d_d32_sfloat
dEQP-VK.api.image_clearing.clear_depth_stencil_attachment.2d_x8_d24_unorm_pack32
dEQP-VK.api.image_clearing.partial_clear_depth_stencil_attachment.2d_d16_unorm
dEQP-VK.api.image_clearing.partial_clear_depth_stencil_attachment.2d_d32_sfloat
dEQP-VK.api.image_clearing.partial_clear_depth_stencil_attachment.2d_x8_d24_unorm_pack32
Change-Id: I7c0de07de97ae8529e429c26b1b99798cc1443a4
Lionel Landwerlin [Sat, 15 Oct 2016 00:01:03 +0000 (01:01 +0100)]
copy_and_blit.blit_image: loosen threshold of float/float blits
In commit
bd6f90c07f4bd0e0667ada50e134b479eeab78c5 :
blit_image: compute validation threshold based on I/O formats
We tried to introduce an error threshold for unorm/integer formats and
removed all the precomputed thresholds for floating point formats. Also
introducing a bug where the threshold was ceiled to 1.0 (making a lot of
tests pass no matter the results).
In commit
161314f0ff255dfe47e280dd4945292295dab1ed :
copy_and_blit.blit_image: fix threshold computation
We fixed the threshold to computation for unorm/integer formats but now all
threshold would be computed on the assumption that the resolution of numbers
is based of the number of bits in the fractional part of the number's
representation (which is incorrect for floating point formats).
This commit brings back the precomputed thresholds for floating point
formats, while still computing a threshold based on the number of bits in
the fractional part of the unorm formats.
Affected tests:
- dEQP-VK.api.copy_and_blit.blit_image.all_formats.*float*float*
Change-Id: I52034a58d145a8e046fb33bcc6becb9e83774d73
Pyry Haulos [Wed, 24 Aug 2016 22:19:40 +0000 (15:19 -0700)]
Remove XML mustpass lists
Android CTS no longer uses per-package XML test lists.
(cherry picked from commit
af8270690ae19b52cf673bdda853a57755b7d3fe)
Change-Id: I66c76af2c9b8dafbec7db9a9a7c150d4e5400ac2
Maciej Jesionowski [Fri, 30 Sep 2016 09:14:40 +0000 (11:14 +0200)]
Remove tess/geom tests relying on default PointSize
Some of these test cases assumed a default point size of 1.0 in
tessellation and geometry stages (as in GLES), but in Vulkan shaders
have to explicitly write to PointSize or the results are undefined.
Removed tests:
- dEQP-VK.tessellation.geometry_interaction.point_size.vertex_set_control_set
- dEQP-VK.tessellation.geometry_interaction.point_size.vertex_set_eval_default
- dEQP-VK.tessellation.geometry_interaction.point_size.vertex_set_evaluation_set_geometry_default
Public issue #26
Change-Id: I987580c0b7e638910c99f62c1d65b5722272f818
Pyry Haulos [Fri, 14 Oct 2016 21:28:37 +0000 (14:28 -0700)]
Cherry-pick framework changes from
41702fa7
Change-Id: Id2f016dd7034cd688494613b4f4aa74c4f373902
Maciej Jesionowski [Thu, 22 Sep 2016 09:15:18 +0000 (11:15 +0200)]
Add VK_REMAINING_* defines to vulkan framework
Change-Id: I4d4693bab868cdf904d2b4c706fdb954f282ab13
(cherry picked from commit
5f247ec91a80d8d55d29243d770b29222ad8103e)
Pyry Haulos [Tue, 11 Oct 2016 20:09:28 +0000 (13:09 -0700)]
Relax precision in OpTextureQueryLod tests
This change allows for the full LOD implementation range allowed by the
specification.
Affects dEQP-VK.glsl.texture_functions.query.texturequerylod.*
Fixes #510
Change-Id: Iacb73ea840052983a9ab8402460e4e0a9e911b07
Lionel Landwerlin [Wed, 12 Oct 2016 18:03:31 +0000 (19:03 +0100)]
copy_and_blit.blit_image: fix threshold computation
Threshold should not be ceiled, affecting all blit tests with
floating point format as destination :
dEQP-VK.api.copy_and_blit.blit_image.all_formats.*sfloat*
Also use the source texture to get the source format.
Fixes #516
Change-Id: I4c49007070306d597e36f7b79ee969ef5081d19e
Gabor Abraham [Thu, 8 Sep 2016 15:15:35 +0000 (17:15 +0200)]
Fix OpVariable position in OpInBoundsAccessChain tests.
Fixes #489
Change-Id: I4ee027fd82f5a5f5d54dd3abd4d9b50250eb3e31
(cherry picked from commit
5f7c4c5e0bdd9090a6ae5cab8bdf73d726bb2c41)
Maciej Jesionowski [Wed, 12 Oct 2016 15:36:59 +0000 (17:36 +0200)]
Update glslang (use SampledImage with OpImageQueryLod)
Affected tests:
- dEQP-VK.glsl.texture_functions.query.texturequerylod.*
Fixes #514
Change-Id: Iea4c3f6007dc34a618e2171358a6ecc1cf57424d
Pyry Haulos [Thu, 22 Sep 2016 01:26:31 +0000 (18:26 -0700)]
Use tex lookup verifier in ImageSamplingInstance
Simple image comparison is ill-equipped to handle all possible precision
and behavior differences (cube map corner filtering for example). This
change replaces old image comparison method with use of texture lookup
verification utilities.
Instead of rendering a reference image, texture coordinates generated by
the reference rasterizer are captured. The captured coordinates are then
used to verify the result color values retured by the implementation
using the texture lookup verification code.
This affects:
* dEQP-VK.pipeline.image.*
* dEQP-VK.pipeline.sampler.*
* dEQP-VK.pipeline.image_view.*
Fixes #297
Fixes #340
Change-Id: I856000bd4d4aa7ab6c1e69af09f3655b63018b93
Alexander Galazin [Thu, 13 Oct 2016 11:10:35 +0000 (13:10 +0200)]
COUNT_1_BIT is required min for sampledImageIntegerSampleCounts
dEQP-VK.glsl.texture_functions.query.texturesamples.isampler*ms*
should work for VK_SAMPLE_COUNT_1_BIT sample count as these
tests check both MS and integer formats.
Fixes #517
Change-Id: I2f3362b630921f4c1111d84ab0ba291caeb80e9a
Maciej Jesionowski [Fri, 7 Oct 2016 10:15:03 +0000 (12:15 +0200)]
Bugfix: use SPARSE_BINDING flag in sparse_resources test
Affected tests:
- dEQP-VK.sparse_resources.buffer_sparse_residency.*
Fixes #508
Change-Id: I8aabcc66501e49138ff51925a07b47d13b4a5664
Slawomir Cygan [Thu, 6 Oct 2016 14:45:31 +0000 (16:45 +0200)]
dEQP-VK.sparse_resources.shader_intrinsics: OpCompositeExtract needs value id
This fixes SPIR-V code used by dEQP-VK.sparse_resources.shader_intrinsics.
This adds missing OpLoad on vaying variable pointer, as pointers cannot be
passed directly to OpCompositeExtract.
Change-Id: I801aae7d49213771ffe17a0ed7fa096ab80b0b37
Pyry Haulos [Fri, 14 Oct 2016 19:54:50 +0000 (15:54 -0400)]
Merge "dEQP-VK.sparse_resources.shader_intrinsics*gather: fix possible of-by-one errors" into vulkan-cts-1.0.1
Slawomir Cygan [Thu, 6 Oct 2016 15:31:47 +0000 (17:31 +0200)]
dEQP-VK.sparse_resources.shader_intrinsics*gather: fix possible of-by-one errors
The test seems to perform GATHER sampling from center of pixels
On un-even image sizes this may cause failures, as texcoord (being float32)
may not exactly represent pixel center, what can cause different 2x2 rectangle to
be gathered.
The fix is to bias texcoord by half a texel, so sampling is always performed
from centre of 2x2 rectangle.
Fixes following tests (for me):
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r32i.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r32i.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r16i.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r16i.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r8i.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r8i.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba32ui.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba32ui.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba16ui.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba16ui.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba8ui.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba8ui.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r32i.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r32i.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r16i.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r16i.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r8i.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r8i.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba32ui.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba32ui.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba16ui.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba16ui.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba8ui.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba8ui.11_37_3
Affects: dEQP-VK.sparse_resources.shader_intrinsics.*gather*
Change-Id: I218d68033e3c83d5270c54731eac3a72c6899173
Pyry Haulos [Fri, 14 Oct 2016 19:37:10 +0000 (12:37 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I623cc43f95bd5d7c967ebbf397bc9fa214585d73
Pyry Haulos [Tue, 27 Sep 2016 22:49:46 +0000 (15:49 -0700)]
Fix alignment issues in uploading image data in ShaderExecutor
Fixes #485
Change-Id: If04aebab19fb25ef26b51b4af86e718004438d82
(cherry picked from commit
9141d25d08d53c203f8ac5a9c5937a41e1d83d02)
Slawomir Cygan [Mon, 10 Oct 2016 16:20:49 +0000 (18:20 +0200)]
dEQP-VK.compute: Fix layout of storage image descriptor
Affects: dEQP-VK.compute.basic.copy_image_to_ssbo*
IMAGE_STORAGE type descriptor was updated with *_OPTIMAL layout.
This is invalid according to spec:
"Load and store operations on storage images can only
be done on images in VK_IMAGE_LAYOUT_GENERAL layout."
Submitted Vulkan-LoaderAndValidationLayers issue !1034 to
ensure this is caught in val layers.
Additionally one validation warn on 0 src stage in barrier is fixed.
Change-Id: Ie6d6875465f382c62dd9802f286de77c4c808fc2
Pyry Haulos [Wed, 12 Oct 2016 15:02:42 +0000 (11:02 -0400)]
Merge "Fix required sample counts per spec issue 478" into vulkan-cts-1.0.1
Pyry Haulos [Mon, 10 Oct 2016 21:42:53 +0000 (14:42 -0700)]
Do not require TRANSIENT usage support without other RT usages
Affects dEQP-VK.api.info.image_format_properties.*
See CTS issue #507 and spec issue #540
Change-Id: Ia3a741c1943eea034a27b9479a0a8b4cc0caa09c
Pyry Haulos [Tue, 11 Oct 2016 15:33:15 +0000 (08:33 -0700)]
Fix required sample counts per spec issue 478
Affects dEQP-VK.api.info.image_format_properties.*
See CTS issue #507 and spec issue #478
Change-Id: Id08e798f1c598fe5861234778318acdc3098a3df
Maciej Jesionowski [Thu, 6 Oct 2016 10:23:23 +0000 (12:23 +0200)]
Bugfix: use normalized coords in glsl sampler tests
Modified tests:
- dEQP-VK.glsl.opaque_type_indexing.sampler.*
Fixes #505
Change-Id: Ie7c7f48276b52bcce3cb8ac41914398b669fe5ae
Pyry Haulos [Thu, 29 Sep 2016 19:25:06 +0000 (12:25 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I23cda772fc12dc44429c6a8b69cb2896b442c285
Pyry Haulos [Tue, 27 Sep 2016 23:01:53 +0000 (16:01 -0700)]
Remove use of alloc recorder from descriptor_pool.repeated_reset
Recording all allocations can take considerable amount of memory and it
appears that the tests just log the total memory usage and don't
otherwise need or check it.
Fixes #472
Change-Id: Ic8804b6781329a03e42fc481c0d430151b60ca88
Pyry Haulos [Tue, 27 Sep 2016 22:49:46 +0000 (15:49 -0700)]
Fix alignment issues in uploading image data in ShaderExecutor
Fixes #485
Change-Id: If04aebab19fb25ef26b51b4af86e718004438d82
Lionel Landwerlin [Tue, 9 Aug 2016 12:13:27 +0000 (13:13 +0100)]
blit_image: compute validation threshold based on I/O formats
Whereas dEQP-GLES3.functional.fbo.blit.conversion.rgb565_to_rgba32f is
passing on my Haswell machine,
dEQP-VK.api.copy_and_blit.blit_image.all_formats.r5g6b5_unorm_pack16_r32g32b32a32_sfloat_linear
is failing. It seems the criteria is different between the 2 tests. This
change puts the vulkan tests a bit closer to the GLES3 ones.
Change-Id: I4e4879270baaf707e71de030b916ea49ee0f65ba
Pyry Haulos [Mon, 26 Sep 2016 16:04:55 +0000 (09:04 -0700)]
Fix VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT handling in query tests
83f90be9 added a check that was intended to make tests treat combination
of TRANSIENT_ATTACHMENT_BIT with non-RT usages invalid. However, that
change was buggy and lead the tests to treat _all_ usages of
TRANSIENT_ATTACHMENT_BIT invalid and thus skip testing them.
Change-Id: I512fbea6046a5c1a87e2ea957eebe38ac713ac87
Maciej Jesionowski [Tue, 27 Sep 2016 11:09:32 +0000 (13:09 +0200)]
Fix incorrect limits in device properties test
- alignment/offset type limits must be greater than 0
- nonCoherentAtomSize must be in range [1, 256] (the upper limit was
relaxed with spec update 1.0.27
- point sizes and line widths must be positive
Modified test:
- dEQP-VK.api.info.device.properties
Fixes #502
Change-Id: I98a956d1cea741dd6d787415a0ad91178ffa0abf
Pyry Haulos [Mon, 26 Sep 2016 21:23:26 +0000 (14:23 -0700)]
Fix license header on a few Vulkan CTS files
Change-Id: If640754e1581f15e933c118338d835c18c0d7b77
Pyry Haulos [Fri, 23 Sep 2016 19:21:37 +0000 (15:21 -0400)]
Merge "Build fix for the Glx platform" into vulkan-cts-1.0.1
Kristof Kosztyo [Fri, 23 Sep 2016 08:48:01 +0000 (10:48 +0200)]
Build fix for the Glx platform
Change-Id: I9f3e0254c289c015f61570f71215900e0ab9bfd9
Petros Bantolas [Tue, 20 Sep 2016 08:45:03 +0000 (09:45 +0100)]
Fix clip_volume test drawing points
According to spec, "[...] if no value was written to PointSize, results
are undefined".
Modified tests:
- dEQP-VK.clipping.clip_volume.{inside,outside,depth_clamp}.point_list
- dEQP-VK.clipping.clip_volume.clipped.large_points
Change-Id: I06ed228a9e4563df15801ff402ed5eac946ac9a6
Pyry Haulos [Mon, 19 Sep 2016 20:45:45 +0000 (13:45 -0700)]
Validate KHR extensions reported by the driver
Change-Id: I30f1c86cd0b4db63b7adf0860cfbc32a0d8b75ee
Arkadiusz Sarwa [Wed, 24 Aug 2016 12:43:23 +0000 (14:43 +0200)]
Added xcb and xlib platform support for Vulkan
Fixes #390
Change-Id: I650838665f630c794f4667f518713a7ae87c8955
Pyry Haulos [Thu, 22 Sep 2016 19:13:36 +0000 (12:13 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: Idcc42afbec63aa6463be09e87dc57247275c6818
Pyry Haulos [Thu, 22 Sep 2016 19:12:53 +0000 (15:12 -0400)]
Merge "Fix barrier stage masks in synchronization tests" into vulkan-cts-1.0.1
Slawomir Cygan [Thu, 22 Sep 2016 14:33:02 +0000 (16:33 +0200)]
dEQP-VK.dynamic_state tests: fix sizeof(size) bug
Change-Id: I7e90b30a88bb59bbe73fec00ecb8ce0fd92ac1f0
Pyry Haulos [Tue, 20 Sep 2016 22:48:44 +0000 (18:48 -0400)]
Merge "Remove invalid precision qualifier usage" into vulkan-cts-1.0.1
Pyry Haulos [Tue, 20 Sep 2016 22:11:11 +0000 (15:11 -0700)]
Remove invalid precision qualifier usage
dEQP-VK.pipeline.vertex_input tests were incorrectly using highp
qualifier with double types. That is not allowed, and default precision
in GLSL 4.4 shaders is highp anyway.
Fixes #458
Change-Id: I4b17b2273a8bf258bb8aec5737bd1c2a38aa49ce
Pyry Haulos [Tue, 20 Sep 2016 21:47:29 +0000 (14:47 -0700)]
Do not use pointer value after deleting it
Pointer value is undefined after 'delete'.
Change-Id: I30dab519db61073932e3e35cd87809bf89b18dfc
Vidar Lilleboe [Fri, 16 Sep 2016 11:21:02 +0000 (13:21 +0200)]
Fix barrier stage masks in synchronization tests
Fixes #497
Change-Id: I225344335a13b0347cf6ad34e38c3f0a181d41cd
Pyry Haulos [Tue, 30 Aug 2016 16:02:18 +0000 (12:02 -0400)]
Merge "Fixes sparse_resources.shader_intrinsics.* tests to check for device feature support." into vulkan-cts-1.0.1
Pyry Haulos [Tue, 30 Aug 2016 16:01:59 +0000 (12:01 -0400)]
Merge "Run the memory tests ahead of all other tests" into vulkan-cts-1.0.1
Petros Bantolas [Fri, 26 Aug 2016 14:25:45 +0000 (15:25 +0100)]
Fixes sparse_resources.shader_intrinsics.* tests to check for device feature support.
Change-Id: Ie3461ae4ec32b1f431b21ba7c6f453bde70834c7
Pyry Haulos [Mon, 29 Aug 2016 21:35:51 +0000 (14:35 -0700)]
Update Android build dependencies in README.md
Change-Id: If159d4b4312183063a0d55483c1383197807eac1
Mais Alnasser [Mon, 29 Aug 2016 16:54:16 +0000 (12:54 -0400)]
Run the memory tests ahead of all other tests
Other tests don't attempt to allocate that much memory and probably
don't care about fragmentation as much. This would reduce the
possibility of running into out-of-memory 32-bit issues at a later
point in the development of the CTS.
This change also updates the mustpass lists.
Change-Id: I4484e5a775fcf7efa39149f1e53eb049024a77da