Maciej Jesionowski [Mon, 7 Nov 2016 15:18:58 +0000 (16:18 +0100)]
Add test: sparse buffer usage
Test UBO, SSBO, VB, IB, InB with sparse buffers using:
- sparse binding
- sparse residency
- sparse aliasing
- residencyNonResidentStrict (with UBOs)
New tests:
- dEQP-VK.sparse_resources.buffer.ubo.*
- dEQP-VK.sparse_resources.buffer.vertex_buffer.*
- dEQP-VK.sparse_resources.buffer.index_buffer.*
- dEQP-VK.sparse_resources.buffer.indirect_buffer.*
Renamed tests:
in dEQP-VK.sparse_resources:
- .buffer_sparse_binding.* -> .buffer.transfer.sparse_binding.*
- .buffer_sparse_residency.* -> .buffer.ssbo.sparse_residency.*
- .buffer_sparse_memory_aliasing.* -> .buffer.ssbo.sparse_binding_aliased.*
Issue: #401
Change-Id: Iba583a16eba0b688849175813a86d44c9b038f0d
Szilard Ledan [Tue, 26 Jul 2016 12:43:02 +0000 (14:43 +0200)]
Extend copyImage tests with depth/stencil formats
Add tests with all depth/stencil formats into image to image copies cases.
It was needed to fix the 'uploadImage' and 'readImage' functions, because
the copying combined dept/stencil data between buffers and images are not
supprted at the same time.
Update and fix the generation of expected image.
Update the mustpass lists.
Fix conflict after rebase.
This affects:
* dEQP-VK.api.copy_and_blit.image_to_image.all_formats.depth_stencil_*
* dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d16_unorm_d16_unorm_nearest
* dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_x8_d24_unorm_pack32_x8_d24_unorm_pack32_nearest
* dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d32_sfloat_d32_sfloat_nearest
* dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_s8_uint_s8_uint_nearest
* dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d16_unorm_s8_uint_d16_unorm_s8_uint_nearest
* dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d24_unorm_s8_uint_d24_unorm_s8_uint_nearest
* dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d32_sfloat_s8_uint_d32_sfloat_s8_uint_nearest
Fixes #488
Change-Id: I29bdaf1d87d7bdba112fd55526f8e661865baa6e
Pyry Haulos [Fri, 2 Dec 2016 16:42:53 +0000 (08:42 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: I9afe7efd004ee04a7edd465457e5376b03e0abc0
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 [Fri, 2 Dec 2016 00:33:32 +0000 (16:33 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Non-trivial merge of
0b0c5dba7daed6439ec6352aacf3cd216d1c1dd5
Change-Id: I1fa72e1814387b05b935cd781126880e603c91b4
Pyry Haulos [Thu, 1 Dec 2016 23:23:12 +0000 (15:23 -0800)]
Do not generate constructor utils if API creates multiple objects
See #541
Change-Id: I1aa9ddae3bb758a70f6a72d1eb31e58c524ca9f4
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:53 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: I8723ff8e2442c4311dad5b9c305d5def12d3a4f0
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
Dominik Witczak [Tue, 15 Nov 2016 08:51:05 +0000 (09:51 +0100)]
Improve coverage of dEQP-VK.pipeline.image test group
Change-Id: I711edd83f8c75e980d6e979a56810f67bbe2e204
Maciej Jesionowski [Thu, 13 Oct 2016 14:18:07 +0000 (16:18 +0200)]
Add test: image views with VK_REMAINING_* levels/layers
Test image view subresource range with VK_REMAINING_MIP_LEVELS and VK_REMAINING_ARRAY_LAYERS.
New tests:
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.lod_base_mip_level_remaining_levels
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.base_array_layer_remaining_layers
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.lod_base_mip_level_base_array_layer_remaining_levels_and_layers
Fixes #504
Change-Id: I9b78c8ba345b45231d7a931de9effdbde8aa0fc2
Gabor Abraham [Mon, 10 Oct 2016 15:12:19 +0000 (17:12 +0200)]
Add granularity test cases.
New test:
- dEQP-VK.api.granularity.*
Change-Id: Ib3b045a0199aeb7195dd17a603c089834c64b904
Pyry Haulos [Wed, 30 Nov 2016 22:27:07 +0000 (14:27 -0800)]
Check in vulkan.h for generating framework code
Having copy of vulkan.h checked in makes it easier to re-generate
framework when needed.
vulkan.h is checked in as vulkan.h.in to discourage anyone from ever
attempting to include it directly in test code.
As part of this framework is updated to vulkan.h version 1.0.35.
Change-Id: I6e202a01d3633fe19855cf62afbf16e2b0ea67ea
Pyry Haulos [Wed, 30 Nov 2016 22:23:57 +0000 (14:23 -0800)]
Move Vulkan CTS scripts to external/vulkancts/scripts
Change-Id: I928d848225d08f03d93fd700a80d36ac3fbc3ada
Dominik Witczak [Thu, 17 Nov 2016 15:08:44 +0000 (16:08 +0100)]
dEQP-VK.sparse_resources.shader_intrinsics fixes
Some of the tests in the group form invalid SPIR-V code,
which tries to pass two arguments to the OpFAdd instruction,
whose number of components differs.
This change fixes this.
Khronos issue: #545
Change-Id: I3cad57d393f986cfb5b9bce85f758dcca3686d8a
Iago Toral Quiroga [Tue, 22 Nov 2016 10:55:44 +0000 (06:55 -0400)]
Adjust {Max,Min}Coords for {proj}offset texture tests with 3D texture targets
As it is now, the computed lod ends up being ~0.962, which is very close to the
threshold that separates selection of the first two mipmap levels. At least on
Intel GPUs this leads to test failures because the miplevel selected by CTS to
produce the expected result does not match the one actually selected by the
hardware.
This patch alters the coordinates used with these tests so the comuted lod
isn't too close to a mipmap level threshold.
Affects:
dEQP-VK.glsl.texture_functions.texture{proj}offset.sampler3d*
Khronos issue: #552
Change-Id: I6ec766133905d2085cd795eea8aaf0b04e830278
Dominik Witczak [Fri, 18 Nov 2016 12:13:12 +0000 (13:13 +0100)]
Fixes incorrect usage of textureSamples().
The function should not be called against single-sample
images. See #538 for more details.
Tests affected: dEQP-VK.glsl.texture_functions.query.texturesamples.isampler*ms*
Change-Id: I7ce507c657b33cbcf99c9e3202fdafaee5ea1577
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
Dominik Witczak [Thu, 17 Nov 2016 15:13:32 +0000 (16:13 +0100)]
ShaderRenderCaseInstance::uploadSparseImage() fix
The function is used by various test cases to fill sparse images
with actual content. What they are unaware of is that the func
does not assign memory backing to odd tiles.
This change fixes this by removing the malicious if() block.
The change affects dEQP-VK.glsl.*sparse* tests
Change-Id: Ia2b157181d5fdba2d4fa0bcaf37dc02c4a6fe320
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
Khronos issue: #543
Change-Id: Ie5717841fe0ef9c0672b5075380ff96bba9855b9
Pyry Haulos [Fri, 18 Nov 2016 18:40:10 +0000 (10:40 -0800)]
Add vktTextureFilteringAnisotropyTests.cpp to Android.mk
Arkadiusz Sarwa [Wed, 19 Oct 2016 13:43:19 +0000 (15:43 +0200)]
Add anisotropic filtering tests
New tests:
- dEQP-VK.texture.filtering_anisotropy.basic.*
- dEQP-VK.texture.filtering_anisotropy.mipmap.*
Fixes #512
Change-Id: I96649846503e7ab349c774ad934f654388b01d0a
Zoltan Janos Szabo [Wed, 26 Oct 2016 13:51:22 +0000 (15:51 +0200)]
Extends rasterization culling tests with polygonModes
Fixes #523
Change-Id: I2665e999f5ecb6bacd0d670b88e037bfbb0d5b2e
Maciej Jesionowski [Tue, 11 Oct 2016 09:35:24 +0000 (11:35 +0200)]
Add test: UBO out of order block member offsets
New tests:
- dEQP-VK.ubo.random.all_out_of_order_offsets.*
Modified tests:
- dEQP-VK.ubo.* - changed GLSL version from '310 es' to '450'
- dEQP-VK.ubo.random.all_* - include arrays of arrays
Version change is required to support 'offset' layout in GLSL.
Fixes #490
Change-Id: I0c07dcebd85874d64146e48db8fefe8ad9f88877
Maciej Jesionowski [Wed, 5 Oct 2016 14:28:38 +0000 (16:28 +0200)]
Add test: validate memoryTypeBits for buffers/images
Query VkMemoryRequirements for various buffer and image configurations
and check:
- memoryTypeBits and alignment
- spec-imposed guarantees
New test:
- dEQP-VK.memory.requirements.*
Fixes #492
Change-Id: I3901cc4aa5501539404bdd900c5a1b4d3a62befb
Pyry Haulos [Fri, 18 Nov 2016 17:48:25 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: I0800a091d1025c0ff6efc7f22f901285e198fd38
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
Maciej Jesionowski [Wed, 16 Nov 2016 14:21:28 +0000 (15:21 +0100)]
Bugfix: use per-subpass pipeline in MS image tests
The tests created a single graphics pipeline with a subpass index 0
and incorrectly reused it across different subpasses within the
same renderpass.
Affected tests:
- dEQP-VK.pipeline.multisample.sampled_image.*
- dEQP-VK.pipeline.multisample.storage_image.*
Change-Id: I71463748f10f7bb8cf194622b07ce44a855d823a
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
Maciej Jesionowski [Thu, 17 Nov 2016 09:44:36 +0000 (10:44 +0100)]
Update SPIRV-Headers
Add constants required for VK_KHR_shader_draw_parameters
Change-Id: I3cbf7cfa68714c47c205be019ece7f1218a66e00
Pyry Haulos [Wed, 16 Nov 2016 18:17:26 +0000 (10:17 -0800)]
Fix typo in check_license.py error message
Change-Id: Id1d0ec96e8b81cb434f7b39dcde1ba087418fc2e
David Neto [Wed, 16 Nov 2016 16:25:58 +0000 (11:25 -0500)]
Update to latest SPIRV-Tools
Requested for use by https://gerrit.khronos.org/#/c/279/
Test: Android build; also "vk-build-programs -v" under Linux
Change-Id: Ic207f64f861c9e3824f77f09b301b3855351c7c4
Arkadiusz Sarwa [Tue, 15 Nov 2016 12:38:12 +0000 (13:38 +0100)]
Add getInstanceExtensions() to Context
Change-Id: I7d442578c3dbea007bbf77bdeac0177fde9b87cd
Pyry Haulos [Tue, 15 Nov 2016 22:09:47 +0000 (17:09 -0500)]
Merge "Revert "Update SPIR-V dependencies"" into vulkan-cts-1.0-dev
Pyry Haulos [Tue, 15 Nov 2016 22:09:41 +0000 (18:09 -0400)]
Revert "Update SPIR-V dependencies"
Reverted since latest SPIRV-Tools breaks Android build.
This reverts commit
53331f8a91b6ab5f6ea57707620c92435bc06dde.
Change-Id: Ib4de2ecb13a51c5ce3c664b85cf0004c7e4df403
Pyry Haulos [Mon, 14 Nov 2016 17:05:16 +0000 (09:05 -0800)]
Fix warnings reported by VS 2015
Change-Id: Ifc12df928d6d2f939d01c39a55a48bf861c51be7
Pyry Haulos [Mon, 14 Nov 2016 16:56:12 +0000 (08:56 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: I4a9d3481a1f3c3d4975fb7b8c1fad0262beea8b0
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
Pyry Haulos [Mon, 14 Nov 2016 14:44:11 +0000 (06:44 -0800)]
Move MatrixLoadFlags from vktTestCase.hpp
vktTestCase.hpp is wildly inappropriate place for such data type. Both
UBO and SSBO tests use it currently and it is now duplicated to both of
them. UBO and SSBO tests do contain a quite bit of duplication already
(describing blocks, layout computation, etc.) and dedup should be done
as a part of bigger refactoring.
Change-Id: I5d4b8a947522192ba0dd4e807e04c940c1770eef
Michael Chock [Sat, 12 Nov 2016 00:11:31 +0000 (16:11 -0800)]
Use conformant main() signature for CTS suite
C++ requires compilers to accept at least two signatures (3.6.1 in the
2014 and 2017 working drafts):
- a function of () returning int and
- a function of (int, pointer to pointer to char) returning int
There is no guarantee that a compiler will accept variations of argv
that use const. Use the second required form.
See #534.
Change-Id: I212b00e82b927fe25c5b2b20134db472c08e4c17
Pyry Haulos [Fri, 11 Nov 2016 22:53:54 +0000 (14:53 -0800)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Change-Id: I68f026a0c2f69918f03b14e479ad5473db08a7a0
Maciej Jesionowski [Wed, 9 Nov 2016 16:42:32 +0000 (17:42 +0100)]
Update SPIR-V dependencies
This will add support for SPV_KHR_shader_draw_parameters.
Change-Id: I172be89240c37e46e52dc005c5ae310e990672b8
Jason Ekstrand [Wed, 9 Nov 2016 17:38:22 +0000 (09:38 -0800)]
Add Vulkan WSI support to the Wayland platform
Change-Id: I572e30710202cd53d503036310c379f2fd5468a7
Pyry Haulos [Fri, 11 Nov 2016 00:19:52 +0000 (16:19 -0800)]
Enable multithreading in glslang
Glslang is internally synchronized and able to support multithreaded
compilation as long as global lock is implemented.
This change provides 12x speedup in building SPIR-V binaries on a
40-core machine.
Change-Id: I27b8ce22db980c3657ac3ba67b7cec1543859d0d
Pyry Haulos [Fri, 28 Oct 2016 22:35:30 +0000 (07:35 +0900)]
Reuse binary indices when rebuilding SPIR-V binaries
When prebuilt SPIR-V binaries are stored in a version control system,
we want to minimize churn (rewritten files) when updating binaries in
response to test or compiler changes.
This change makes vk::BinaryRegistyWriter significantly smarter when
updating binary registry. Old binary files (and thus indices) are
reused if possible. Any newly unused binaries are removed, and new
indices are allocated only for binaries that haven't been present
before.
Change-Id: Ieac61ff32821e4381480dd56ff27dbcdd44e50cb
Pyry Haulos [Fri, 11 Nov 2016 16:43:37 +0000 (08:43 -0800)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Change-Id: I1bf942ca0cb3f4b92c522d60aed6b49a78ec1354
Pyry Haulos [Fri, 11 Nov 2016 16:42:38 +0000 (08:42 -0800)]
Add new files to Android.mk
Change-Id: I68305d2ac6cc1f79bcb49ad9ee7611038bfbf634
Maciej Jesionowski [Mon, 17 Oct 2016 15:32:50 +0000 (17:32 +0200)]
Add test: queue bind sparse api
Test vkQueueBindSparse with wait and signal semaphores,
zero bindInfos, etc.
New test:
- dEQP-VK.sparse_resources.queue_bind.*
See issue #401
Change-Id: If2201095cb9508bf9fa79f3c57e7de5a7dd03616
Maciej Jesionowski [Mon, 17 Oct 2016 15:30:33 +0000 (17:30 +0200)]
Refactor sparse resources module
Get rid of unused functions and custom classes where common
framework-provided utilities suffice.
Affected tests:
- dEQP-VK.sparse_resources.shader_intrinsics.*_sparse_sample_explicit_lod.*
- dEQP-VK.sparse_resources.shader_intrinsics.*_sparse_sample_implicit_lod.*
- dEQP-VK.sparse_resources.shader_intrinsics.*_sparse_gather.*
- dEQP-VK.sparse_resources.* (only code changed)
Sparse sample tests now use a different graphics pipeline, but their
behavior should remain unchanged.
Change-Id: Ib3b5158f142630360c1b5e176f16b2f604de8dfe
Arkadiusz Sarwa [Mon, 17 Oct 2016 13:27:01 +0000 (15:27 +0200)]
Add reset command pool reuseing test
New test:
- dEQP-VK.api.command_buffers.pool_reset_reuse
Fixes #453
Change-Id: If21e5c833880530fc0a1f9e19e2c579d0b288ef9
Arkadiusz Sarwa [Tue, 27 Sep 2016 09:10:05 +0000 (11:10 +0200)]
Add geometry shader tests
New tests:
- dEQP-VK.geometry.*
Fixes #63
Change-Id: If1da0ce5e171ca6cb7396421f2fb8ffbcc55ce88
Pyry Haulos [Fri, 11 Nov 2016 15:57:59 +0000 (07:57 -0800)]
Add license check to scripts/src_util/check_all.py
Change-Id: Id63ff1e351d01bc72253f298e373bfba963e2735
Pyry Haulos [Fri, 11 Nov 2016 15:57:37 +0000 (07:57 -0800)]
Fix license in a few files
Change-Id: Ie26dfa6e9d151b71ddba7e00d05759532632b408
Maciej Jesionowski [Mon, 26 Sep 2016 10:47:54 +0000 (12:47 +0200)]
Use VK_REMAINING_MIP_LEVELS in image clearing tests
Modified tests:
- dEQP-VK.api.image_clearing.clear_color_image.*
- dEQP-VK.api.image_clearing.* (refactor)
Tests were refactored to use images with more than one mip map,
but multiple mip maps were only added to clear_color_image tests.
Image is now cleared with two distinct colors, one for explicit
range of mip maps, the other for VK_REMAINING_MIP_LEVELS.
Fixes #459
Change-Id: Ia02289bf81faebd47c2e4c86a6bd8a4d06ddf34d
Arkadiusz Sarwa [Fri, 4 Nov 2016 12:22:30 +0000 (13:22 +0100)]
Use all KHR and EXT extensions by default
Change-Id: If6111170be15db7a90692a730bffdfb7c5382be8
Slawomir Cygan [Wed, 2 Nov 2016 17:16:30 +0000 (18:16 +0100)]
Fix wrong barriers in D+S texture upload routines in vkt::pipeline tests
Affects tests:
dEQP-VK.texture.shadow.2d.nearest.less_or_equal_d24_unorm_s8_uint
dEQP-VK.texture.shadow.2d.nearest.less_or_equal_d32_sfloat_s8_uint
...and possibly other dEQP-VK.texture.shadow.*d.*.*d*s8_uint
In case of D+S textures, there was an invalid aspect mask used in
barriers before and after the copy to image operation in
vkt::pipeline::uploadTestTextureInternal.
Because the upload of textures was split into D-only and S-only phases,
the barriers were operating separately on D and S aspects of DS texture,
what is forbidden by spec:
"""
If image has a depth/stencil format with both depth and stencil
components, then aspectMask member of subresourceRange must include
both VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT".
"""
This change batches D & S uploads together (uploadTestTextureInternal is
called once), so full DS aspect mask is used in case of D+S textures.
Change-Id: Ib9d8b2a0156ffc8437edc0d5ed76c54116dd736b
Slawomir Cygan [Thu, 27 Oct 2016 18:11:15 +0000 (20:11 +0200)]
Fix fetching geometry in dEQP-VK.renderpass test
The renderpass test uses 48 byte vertex buffer for 6x 2-element float
values. At the same time pipeline tries to fetch 4-element atributes,
so the last vertex from buffer is outside of bounds (and may be zeroed).
Affected: All dEQP-VK.renderpass* that have the render geoemtry visible
in tested attachments.
Change-Id: If58e18c4df0ea053aa0a766b2bab381a0648326f
Slawomir Cygan [Thu, 27 Oct 2016 16:37:24 +0000 (18:37 +0200)]
Fix GLSL precision in dEQP-VK.memory.pipeline_barrier.*storage_buffer
The GLSL global precision qualifier in many shaders in this test was malformed
- it essentially did not change any default precision.
Additionally *storage_buffer.65536 cases require higp integer precision in
storage_buffer fragment shaders - otherwise the buffer indexing can wrap.
Change-Id: Ic5e965b8e418b1c68bee3a058a771d2b894c0f63
Pyry Haulos [Tue, 25 Oct 2016 05:36:23 +0000 (22:36 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: I766de7d6d392d4a2503caae6e321836fde09c804
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
Maciej Jesionowski [Wed, 19 Oct 2016 09:48:30 +0000 (11:48 +0200)]
Check dependency between multiViewport and geometry
Modified tests:
- dEQP-VK.api.info.device.features
Public issue #25
Change-Id: Ifea108a909113f4628a7bfb1a75d9bdbd10866f3
Maciej Jesionowski [Wed, 19 Oct 2016 09:32:29 +0000 (11:32 +0200)]
Check for geometryShader in multi-viewport scissor
Affected tests:
- dEQP-VK.fragment_operations.scissor.multi_viewport.*
Public issue #25
Change-Id: I82c45e7bff2f771b9874966246341d14d3371d8a
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
Pyry Haulos [Thu, 20 Oct 2016 18:42:41 +0000 (11:42 -0700)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Change-Id: Ia92eae5ac913055ba0cd769b8ca3ac877e02d48c
Pyry Haulos [Thu, 29 Sep 2016 21:43:55 +0000 (14:43 -0700)]
Add excluded copy and blit tests back to mustpass
See #431
Change-Id: I4d06edd0ad05e62fabe9f14c192aec3eb8d457c8
Pyry Haulos [Thu, 29 Sep 2016 21:22:06 +0000 (14:22 -0700)]
Add user clip plane tests back to mustpass
See #420
Change-Id: If0c5265298281241d50691a092b8af9720c1d2d7
Slawomir Cygan [Tue, 20 Sep 2016 10:56:27 +0000 (12:56 +0200)]
Enable some of dEQP-VK.glsl.texture_functions.texelfetchoffset.*
These are still disabled:
dEQP-VK.glsl.texture_functions.texelfetchoffset.sparse_sampler*
These tests were blacklisted as a part of issue 410, but it seems it was because of driver bug.
Change-Id: I01e3fdff78edef37dc0e7e72f129bd50e600b4aa
Mika Isojärvi [Thu, 15 Sep 2016 22:55:05 +0000 (15:55 -0700)]
Add fragment sampled images to pipeline barrier tests
Change-Id: I100f97a18206fc8e92e28b8c62289666048de6ea
Mika Isojärvi [Fri, 9 Sep 2016 19:55:14 +0000 (12:55 -0700)]
Add fragment storage images to pipeline barrier tests
Change-Id: I34614de9bbc6ac567ba5a0faab1fc78c7b6375ca
Mika Isojärvi [Wed, 7 Sep 2016 21:42:24 +0000 (14:42 -0700)]
Add fragment storage texel buffers to pipeline barrier tests
Change-Id: Id1ea453508d36b10908e46e79c4a7c2e4f7add5b
Mika Isojärvi [Wed, 7 Sep 2016 18:23:33 +0000 (11:23 -0700)]
Add fragment uniform texel buffers to pipeline barrier tests
Change-Id: I6a3bf3d522f952d0e0eb9ce623ff0f4efa4343c9
Mika Isojärvi [Thu, 1 Sep 2016 22:51:56 +0000 (15:51 -0700)]
Add fragment storage buffers to pipeline barrier tests
Change-Id: Iac04ac1015064e8f5159c2d0f9838ccc79e33072
Mika Isojärvi [Thu, 1 Sep 2016 21:03:37 +0000 (14:03 -0700)]
Add fragment uniform buffers to pipeline barrier tests
Change-Id: I9a5ef06501c1969ee71f4adc37bbe5dd142646bb
Mika Isojärvi [Wed, 31 Aug 2016 00:37:03 +0000 (17:37 -0700)]
Split pipeline barrier tests over multiple iterations
- Split different pipeline barrier test stages over multiple iterate() calls.
- Instead of running 100 ops once for each memory type run 50ops 5 times.
- Reduces resource usage, but increases number of operations performed.
Change-Id: I16f46ef94591cc45877f880dcf871f6302744c06
Mika Isojärvi [Wed, 17 Aug 2016 20:23:36 +0000 (13:23 -0700)]
Extend renderpass tests to use input attachments
- Render only values 0 and 1 to all attachments.
- The value depends on attachment, subpass and pixel location.
- Depth formats also sets gl_FragDepth to 0.0 or 1.0 depending on location.
- Stencil uses only values 0 and 0xff.
- Verification requires that the quads are rasterized exactly and
that all result values are either 0 or 1.
- Input attachment containing 1s and 0s are interpreted as true and
false bools and input values are combined with boolean operations and
written to shader outputs.
See #447
Change-Id: I4ebe3d9b5151d40558e473a028ee458cf6285a85
Dominik Witczak [Fri, 14 Oct 2016 14:18:15 +0000 (16:18 +0200)]
Fixes invalid subresource defs in *.simple_tests.
Affects dEQP-VK.api.copy_and_blit.blit_image.simple_tests
Fixes #519
Change-Id: I3c8331f27495333ece5bd43c160128fa49a7950d
Tina Zhou [Wed, 19 Oct 2016 18:13:50 +0000 (18:13 +0000)]
Merge "Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch" into nougat-cts-dev
am:
544e0e3b1d
Change-Id: I9b6b41060c199df465bb1aaf602b6c4e65170f19
Pyry Haulos [Wed, 19 Oct 2016 18:13:49 +0000 (18:13 +0000)]
Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch
am:
37e360591e
Change-Id: Iebccb4130e83bc05880ed19700b627920bd2c195
Tina Zhou [Wed, 19 Oct 2016 18:13:35 +0000 (18:13 +0000)]
Merge "CP: Use empty region when buffer age is not supported" into nougat-cts-dev
am:
b82263e2ad
Change-Id: I48d7e3cf7abc24ea85d15e2c8e1cc28f495a715b
Kalle Raita [Wed, 19 Oct 2016 18:13:34 +0000 (18:13 +0000)]
CP: Use empty region when buffer age is not supported
am:
8230646213
Change-Id: If04b5b6d5d8fc49177eae42772be8d8cfa5df7dd
Tina Zhou [Wed, 19 Oct 2016 18:13:17 +0000 (18:13 +0000)]
Merge "Fix deStrnlen fall-back implementation" into nougat-cts-dev
am:
a04db6628e
Change-Id: Iab81c26287e321d1ae9d15873866617690977868
Pyry Haulos [Wed, 19 Oct 2016 18:13:16 +0000 (18:13 +0000)]
Fix deStrnlen fall-back implementation
am:
54ebe093a9
Change-Id: Ib970fc5430045b05006dee1fb47a08de6997c5df
Tina Zhou [Wed, 19 Oct 2016 18:13:06 +0000 (18:13 +0000)]
Merge "Remove a few preprocessor cases testing undefined behavior" into nougat-cts-dev
am:
4275d2099c
Change-Id: I6dddd9f4d9f8223e6a639266cc9d2a3afe800598
Pyry Haulos [Wed, 19 Oct 2016 16:16:00 +0000 (09:16 -0700)]
resolve merge conflicts of e5f7483 to master
Change-Id: Id295761e33e8e58447f4b0bc9726f1bb03887d53
Tina Zhou [Wed, 19 Oct 2016 15:59:19 +0000 (15:59 +0000)]
Merge "Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:58:07 +0000 (15:58 +0000)]
Merge "CP: Use empty region when buffer age is not supported" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:56:53 +0000 (15:56 +0000)]
Merge "Fix deStrnlen fall-back implementation" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:56:21 +0000 (15:56 +0000)]
Merge "Remove a few preprocessor cases testing undefined behavior" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:54:14 +0000 (15:54 +0000)]
Merge "Check for shader type support in negative precise tests" into nougat-cts-dev
am:
c30d04b8e7
Change-Id: I51397ade865e084fda6ea469615b19eeeefe38bd
Pyry Haulos [Wed, 19 Oct 2016 15:54:13 +0000 (15:54 +0000)]
Check for shader type support in negative precise tests
am:
4a3a2d79a0
Change-Id: If11ec3c8cffdf5c152da4ebe8ea434aa67a61671
Tina Zhou [Wed, 19 Oct 2016 15:53:59 +0000 (15:53 +0000)]
Merge "Check for shader type support in negative shader directive tests" into nougat-cts-dev
am:
a3513e86ff
Change-Id: I2c16e596fd38fb2a2b0455df8dab147fe69a8d99
Pyry Haulos [Wed, 19 Oct 2016 15:53:58 +0000 (15:53 +0000)]
Check for shader type support in negative shader directive tests
am:
cf6e6ab134
Change-Id: I575d8bebe3e3fdda7cb97b87325715bf940aeef3
Tina Zhou [Wed, 19 Oct 2016 15:52:15 +0000 (15:52 +0000)]
Merge "Check for shader type support in negative precise tests" into nougat-cts-dev