Pyry Haulos [Thu, 8 Dec 2016 19:19:25 +0000 (11:19 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: I2385941b94be82955fb39482abece33d7f90798e
Pyry Haulos [Thu, 8 Dec 2016 19:19:05 +0000 (11:19 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: Id4737fe97bb1880757a443e0ad97d0edbc9a1546
Alexander Galazin [Thu, 8 Dec 2016 14:31:12 +0000 (15:31 +0100)]
Remove CMAKE Compiler settings from GL CTS build mustpass script
Change-Id: I08bff386b40f8643388a888d5af5aab115c9cdb2
Maciej Jesionowski [Wed, 7 Dec 2016 09:55:36 +0000 (10:55 +0100)]
Alloc callbacks: don't report a quality warning for pooled objects
Modified tests:
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.descriptor_set
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_primary
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_secondary
Change-Id: I0daea167c4b0c1e0a00039286b85af8c02e410f5
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
Alexander Galazin [Tue, 6 Dec 2016 11:56:54 +0000 (06:56 -0500)]
Merge "Update KC CTS reference" into opengl-cts-dev
Alexander Galazin [Tue, 6 Dec 2016 08:14:07 +0000 (09:14 +0100)]
Update KC CTS reference
Change-Id: I502ace8ea0a26595ce13101fe3a1b3140dba253e
Alexander Galazin [Mon, 5 Dec 2016 09:53:47 +0000 (04:53 -0500)]
Merge "GL_ARB_gpu_shader_fp64: Forces UBOs to use the std140 layout" into opengl-cts-dev
Alexander Galazin [Mon, 5 Dec 2016 09:53:15 +0000 (04:53 -0500)]
Merge "GL_ARB_shading_language_420pack: component names sets mix is forbidden" into opengl-cts-dev
Andres Gomez [Thu, 17 Nov 2016 15:57:00 +0000 (17:57 +0200)]
GL_ARB_shading_language_420pack: component names sets mix is forbidden
When refering to component names we can use xywz, rgba or stpq but not
mix them when refering to the components of a specific resulting vector
or scalar.
For example, this is illegal; float(1.5).xr, but this is legal;
float(1.5).xxxx.rgba.stpq.xywz
GL_ARB_shading_language_420pack doesn't explicitly forbid it but we can
find the following in the specs:
From The OpenGLĀ® Shading Language 4.40, page 104:
" v4.xgba; // is illegal - the component names do not come from
the same set."
Added another case for the following test:
GL44-CTS.shading_language_420pack.scalar_swizzlers_invalid
Change-Id: I31889598ccf88850c44eeb0e267f43f2d89bbcf2
Andres Gomez [Mon, 11 Jul 2016 20:24:53 +0000 (23:24 +0300)]
GL_ARB_gpu_shader_fp64: Forces UBOs to use the std140 layout
The max_uniform_components test for the FP64 extension was asuming
UBOs were stored in a tightly packed fashion. The way this is done is
implementation dependent; for example, mesa uses std140. The only way
of making any assumption on how an implementation is packing the data
for UBOs is, actually, by specifying the std140 layout.
Unfortunately, this also involves that the available used space for a
single UBO may be exhausted much before we get to use the maximum
uniform components. Hence, this patch also adds a check for
GL_MAX_UNIFORM_BLOCK_SIZE and limits the generated test to use the
amount of uniforms that fit in whichever limit gets exhausted first.
Fixes the following test (from fail to pass):
GL44-CTS.gpu_shader_fp64.max_uniform_components
Change-Id: I734b090dbded4899e4db48c969754ab0a67c5245
Alexander Galazin [Mon, 5 Dec 2016 09:46:55 +0000 (10:46 +0100)]
Added CTS ARB_texture_filter_minmax specification proposal
Here is test specification proposal for ARB_texture_filter_minmax
See merge request !99
Change-Id: Ibb8d8f8506ab8dabd5dc00927b36f44697e1c174
Alexander Galazin [Mon, 5 Dec 2016 09:41:51 +0000 (04:41 -0500)]
Merge "Documentation updates" into opengl-cts-dev
Alexander Galazin [Fri, 2 Dec 2016 10:48:11 +0000 (11:48 +0100)]
Documentation updates
- Update README.md (typos, CTS folder structure, build instructions)
- Add CONTRIBUTING.md (moved Tips for developing new tests into this file)
Change-Id: Ia893e0cb6bc0cdd166a6f055e3951eac89788042
Alexander Galazin [Mon, 5 Dec 2016 08:37:09 +0000 (09:37 +0100)]
Rename OpenGL CTS mustpass folders.
Remove explicit patch version
Change-Id: I19ae7039f8803ac668849ad9fdd5e708e40e20ce
Alexander Galazin [Mon, 5 Dec 2016 08:12:23 +0000 (03:12 -0500)]
Merge "Reformat file with clang-format-4.0" into opengl-cts-dev
Pyry Haulos [Fri, 2 Dec 2016 23:51:20 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: Ife68d86ffa96d9f9462565175e637e28c24989f6
Pyry Haulos [Fri, 2 Dec 2016 23:51:17 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: Ib54e6e75d11508c1ee4194ae90815666088c79d7
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 23:48:21 +0000 (15:48 -0800)]
Merge aosp/master into gerrit/vulkan-cts-1.0-dev
Change-Id: Ic50054c78a4bb736f9fcfa2768968ea8bbc1bd41
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
Pyry Haulos [Fri, 2 Dec 2016 22:26:33 +0000 (14:26 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: I4a04b54b92d507303ccf09b20b1fd643fe13e134
Pyry Haulos [Fri, 2 Dec 2016 22:26:30 +0000 (14:26 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Change-Id: Ida8369e7d121c8282069fd3a70a64efb4490bddd
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 21:38:22 +0000 (13:38 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into aosp/master
Change-Id: Ic9e43c0554d8976766507fab6916be6a037505a7
Pyry Haulos [Fri, 2 Dec 2016 21:36:36 +0000 (13:36 -0800)]
Add new files to Android.mk
Change-Id: I75be28ac1a62e9ee3f797e8eb4adaffc75486826
Pyry Haulos [Fri, 2 Dec 2016 19:45:59 +0000 (11:45 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: I3228680996ef34bbc824b4e38d26da0597ff22b7
Maciej Jesionowski [Mon, 28 Nov 2016 15:12:23 +0000 (16:12 +0100)]
Bugfix: Use PointSize in draw tests
Tests that rasterize points have to write to PointSize variable.
Also fix nonCoherentAtomSize errors from validation.
Affected tests:
- dEQP-VK.draw.basic_draw.draw.point_list.*
- dEQP-VK.draw.basic_draw.draw_indexed.point_list.*
- dEQP-VK.draw.basic_draw.draw_indirect.point_list.*
- dEQP-VK.draw.basic_draw.draw_indexed_indirect.point_list.*
- dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list
Fixes #536
Change-Id: Ief9df51887babfc3765b0d11c6431765f322c634
Lei Zhang [Wed, 30 Nov 2016 23:10:36 +0000 (18:10 -0500)]
Fix variable declaring location in SPIR-V assembly.
The spec validation rules require that all OpVariable instructions
in a function must be as the first instructions in the first block.
Change-Id: If054bd7882eaf5ffc00899fbdef9a9b71d544019
Maciej Jesionowski [Wed, 30 Nov 2016 11:37:01 +0000 (12:37 +0100)]
Bugfix: upload stencil data in pipeline image util
Fixes:
- Upload stencil data to the image with mixed DS formats
- Respect 4 byte offset alignment for formats <4 bytes
- Fix some nonCoherentAtomSize validation errors
Affected tests:
- dEQP-VK.texture.shadow.*d16_unorm
- dEQP-VK.texture.shadow.*x8_d24_unorm_pack32
- dEQP-VK.texture.shadow.*d32_sfloat
- dEQP-VK.texture.shadow.*s8_uint
- dEQP-VK.texture.shadow.*d16_unorm_s8_uint
- dEQP-VK.texture.shadow.*d24_unorm_s8_uint
- dEQP-VK.texture.shadow.*d32_sfloat_s8_uint
Issue #556
Change-Id: I56c0e7eef9c1bfc82790eb8ba6e48b95dc65f521
Arkadiusz Sarwa [Tue, 22 Nov 2016 13:05:03 +0000 (14:05 +0100)]
Add new tests Render To Image
New tests:
- dEQP-VK.pipeline.render_to_image.*
Issue #535
Change-Id: I3854942c69d95b034cd9358cc7970f04b1c85d5b
Maciej Jesionowski [Tue, 22 Nov 2016 11:30:45 +0000 (12:30 +0100)]
Add tests for bulk object allocation failures
New tests:
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.*
Issue #532
Change-Id: I1a8050c8000abf083435910e2e65c6ee045364af
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:59 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: Idf88480c98290bb03825a1110ac40b45db8f6f9c
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
Alexander Galazin [Thu, 1 Dec 2016 12:39:24 +0000 (13:39 +0100)]
Reformat file with clang-format-4.0
Change-Id: Ifc68a22e9ddcfe00baa42e55624c4f4d378db93c
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
Pyry Haulos [Tue, 29 Nov 2016 19:45:34 +0000 (11:45 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: Ifc126593b72c46a6e73c4f4af20ab124a1f734b4
Pyry Haulos [Tue, 29 Nov 2016 17:51:15 +0000 (12:51 -0500)]
Merge "Update GL/EGL headers to r33312" into opengl-cts-dev
Alexander Galazin [Tue, 29 Nov 2016 14:14:44 +0000 (15:14 +0100)]
Update GL/EGL headers to r33312
Change-Id: I8a8cdcd3c7e3b135b698df7b92ee493403754e37
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
Alexander Galazin [Tue, 29 Nov 2016 07:35:41 +0000 (08:35 +0100)]
Reformat GL CTS according to the clang-format rules.
Mostly license statement is affected.
Change-Id: I41bcd7fbdf88b6e6acda8e723d88c57f5c5374a7
Alexander Galazin [Mon, 28 Nov 2016 14:20:10 +0000 (15:20 +0100)]
Fix OpenGL CTS mustpass issues
* Fix GLES 3.1 mustpass to match original OSS CTS
* Remove obsolete 3.2 packages
* Remove duplicate 3.1 configs in Khronos AOSP mustpass
* Remove obsolete file with copy-image definition
(now a part of gles31-master)
Change-Id: I29dfabdc8c770aa6269b3617425670b7bd58ea5d
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
Alexander Galazin [Wed, 16 Nov 2016 09:09:27 +0000 (10:09 +0100)]
Remove unused files
Change-Id: Icaf0ba63a746889ac44afd9046a7d6757b348656
Ian Romanick [Thu, 10 Nov 2016 01:29:01 +0000 (17:29 -0800)]
Try harder to defeat GLSL compiler dead-code optimizations
A number of CTS tests generate shaders like like:
#version 310 es
buffer TargetInterface
{
highp float target;
};
highp vec4 readInputs()
{
highp vec4 retValue = vec4(0.0);
retValue += vec4(float(target));
return retValue;
}
void writeOutputs(in highp vec4 dummyValue)
{
target = float(dummyValue.y);
}
void main()
{
writeOutputs(readInputs());
}
After various common optimizations this becomes:
buffer TargetInterface
{
highp float target;
};
void main()
{
target = target;
}
In the absence of memoryBarrier() or qualifiers on the buffer, there is
no guarantee about the order of writes to the buffer. Since this write
is not guaranteed to be visible either on the GPU or the CPU, we
eliminate it. Since there is no access to target in the shader, we
report GL_REFERENCED_BY_FRAGMENT_SHADER = GL_FALSE. The tests expect
GL_TRUE.
The vectored versions of this test swizzle the value read from the
buffer before writing it back. These writes are not eliminated.
Adding a uniform instead of a literal constant also prevents the reads
and writes of the SSBO from being eliminated.
v2: Ignore the uniform named "zero" in
ResourceListTestCase::verifyResourceList. The alternative was to add
zero to the resource list, but that required making small changes
(mostly removing const) from over a dozen places in the code. This
slightly hacky, but localized, change seemed better.
v3: Various coding standards fixes suggested by Alexander Galazin and
Pyry. Add getDummyZeroUniformName to query name of the zero uniform and
a lot more documentation. Both suggested by Pyry.
Change-Id: I0ea745b6c630ec92d3c6e6acfe8c48e6de156d4c
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16114
Pyry Haulos [Tue, 22 Nov 2016 17:13:58 +0000 (09:13 -0800)]
Update kc-cts revision
This fixes build with -DGLCTS_GTF_TARGET=gl
Change-Id: Ifd70714bda22400c695b9331233320748905f263
Pyry Haulos [Mon, 14 Nov 2016 19:03:22 +0000 (11:03 -0800)]
Import Khronos OpenGL CTS
Change-Id: Ic6e4341dedb44dfd4ebaaeba7699a5e46202a8b3
Pyry Haulos [Mon, 21 Nov 2016 22:07:20 +0000 (14:07 -0800)]
Import new GLSL ES 3.2 .test files from Khronos OpenGL CTS
These files are modified copies of existing files under
data/gles31/shaders.
Existing .test file based tests under dEQP-GLES31 are moved to
<groupname>.es31 groups and new tests are added under <groupname>.es32.
gls::ShaderLibraryCase is changed to check and report if GLSL version
used by the test is not supported by the rendering context.
Android CTS mustpass lists are updated to reflect this.
Change-Id: I44339fa1be1bd9c4215e828c6ba63e0eef449694
Pyry Haulos [Fri, 18 Nov 2016 18:46:55 +0000 (10:46 -0800)]
Do not remove old SPIR-V binaries before running vk-build-programs
vk-build-programs can update pre-built binary directory in a smarter way
when there are existing binaries.
Test: Run external/vulkancts/build_spirv_binaries.py
Change-Id: I2a6afdc2855b7da1baf02682e8214a73a35cebda
Pyry Haulos [Fri, 18 Nov 2016 18:40:54 +0000 (10:40 -0800)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Change-Id: I656d82525b18e936b6c4a78dd73cbb9ef65a06a4
Pyry Haulos [Fri, 18 Nov 2016 18:40:39 +0000 (10:40 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: I75424d6c9c89f70907edba466f96101da06d0ce3
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:27 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: Ie57ad9d3e5d5057d5a622b19f38cb9fef89fefe2
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
Pyry Haulos [Thu, 17 Nov 2016 23:29:14 +0000 (15:29 -0800)]
Win32 and Android support improvements for OpenGL CTS
* Add DEQP_SUPPORT_WGL that can be used to detect if WGL support code
is available.
* Remove win32_wgl target as default target works just fine.
* Add full Android port include path to libdeqp.so target to support
hooking up additional entry points using DEQP_MODULE_ENTRY_POINTS that
may depend on Android porting code.
Change-Id: I10b467eb883605239c1114aa98ad08f23b892df1
Pyry Haulos [Thu, 17 Nov 2016 23:26:29 +0000 (15:26 -0800)]
Add eglw.h wrapper for legacy code
eglw.h is a wrapper that allows supporting legacy EGL code that has been
written against egl.h.
Change-Id: I40e47e53c75cbc523f189adeefe0f3616e21d5ca
Pyry Haulos [Thu, 17 Nov 2016 23:25:05 +0000 (15:25 -0800)]
Fix typo in log_parser.py
This would lead to an error if log parsing fails.
Change-Id: Id88cb7332541f25cd08facf50dc70ea8db17f6c9
Pyry Haulos [Tue, 15 Nov 2016 21:54:58 +0000 (13:54 -0800)]
Add <MODULE>-package static lib targets for all modules
This unifies single-binary and per-package binary builds somewhat, and
makes it easier to add additional binaries that source test cases from
existing test packages.
Change-Id: I15f47b1fea530ed28a987f112be29c5b42fd21f3
Pyry Haulos [Wed, 16 Nov 2016 23:33:21 +0000 (15:33 -0800)]
OpenGL framework improvements to support Khronos CTS
* Add optional RenderContext::makeCurrent()
* Add optional RenderContext::getProcAddress()
* Add way to specify context reset notification strategy for OpenGL
contexts
* Improvements to WGL and GLX ports
Change-Id: I9b2e2181fd3b902b32dcaa34ef0dfe56e1fd9ddb
Pyry Haulos [Thu, 17 Nov 2016 18:21:09 +0000 (10:21 -0800)]
Reverse the expectation in SSO match_different_[member_]struct_names
The resolution of bug #15866 is that the spec should be changed to
require that "structures have the same name" in order for the types
to match during SSO validation. These structures differ in name,
so they should not match, and we should get an SSO validation
failure.
Khronos bug #15866
Change-Id: Ie1f6bdb625661f0ed4585dfde7a0694f32ff3413
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
Tina Zhou [Thu, 17 Nov 2016 17:17:43 +0000 (17:17 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev am:
a5af1b076f
am:
c2c27aa562
Change-Id: I92de6f7a0cd6b064f8d0391fac2f70b464acd8d4
Kenneth Graunke [Thu, 17 Nov 2016 17:17:34 +0000 (17:17 +0000)]
Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA. am:
ea5589c748
am:
ab691d3f7e
Change-Id: Ic377ad147e7a774685c6dcc3190f8f3e95f45049
Tina Zhou [Thu, 17 Nov 2016 17:17:24 +0000 (17:17 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev am:
d962b86909
am:
080d0d5005
Change-Id: I52ff978738ebe738d3d705c4a321a31b4786fa58
Kenneth Graunke [Thu, 17 Nov 2016 17:17:10 +0000 (17:17 +0000)]
Fix internal format/type for 3D + depth/stencil negative API tests. am:
d2f3b468db
am:
f5414b15bb
Change-Id: I36fd5090772f6881a14135edcaf9c1ae8dab22fe
Tina Zhou [Thu, 17 Nov 2016 17:10:28 +0000 (17:10 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev
am:
a5af1b076f
Change-Id: I01c65d693d7ad5befe9244cb0d24814750a80bd2
Kenneth Graunke [Thu, 17 Nov 2016 17:10:28 +0000 (17:10 +0000)]
Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA.
am:
ea5589c748
Change-Id: I7358276f100608371da5b44ebc8e102a54706197
Tina Zhou [Thu, 17 Nov 2016 17:10:12 +0000 (17:10 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev
am:
d962b86909
Change-Id: I6a82d71f2fed9f848a953ae21c30079bacb07052
Kenneth Graunke [Thu, 17 Nov 2016 17:10:05 +0000 (17:10 +0000)]
Fix internal format/type for 3D + depth/stencil negative API tests.
am:
d2f3b468db
Change-Id: Id43b369d67e04cf3a6d6b5b4e3303f02c7a35b87
Tina Zhou [Thu, 17 Nov 2016 17:03:36 +0000 (17:03 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev
Tina Zhou [Thu, 17 Nov 2016 17:02:44 +0000 (17:02 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev
Pyry Haulos [Thu, 17 Nov 2016 14:59:00 +0000 (06:59 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Change-Id: I7c406854c0c7fba66c9863921410414f445328e4
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