Iago Toral Quiroga [Thu, 11 May 2017 09:11:48 +0000 (11:11 +0200)]
Fix compute shader in robustness tests to produce an output
The compute shader only writes to shared variables, which means
that it doesn't produce any useful output. Shader compiler
backends can see this and mark all uniform variables declared
by the shader as "inactive" and remove them, which would defeat
the purpose of the 'getnuniform' test and lead to a failure.
Fix this by making the compute shader write to a shader storage
buffer object instead, so that uniforms remain active for being
involved in generating a shader output.
Component: OpenGL
VK-GL-CTS issue: 415
Affects:
KHR-GL45.robustness.getnuniform
Change-Id: I67b3fd8eb3a63012b6c46713e17c86d51b42d82e
James Helferty [Mon, 10 Apr 2017 18:20:30 +0000 (14:20 -0400)]
Tie TCS XFB to Desktop GL + NV_gpu_shader5
This change ties the ability to read PATCHES data directly from a
tessellation control shader via transform feedback to the presence of
NV_gpu_shader5 and a desktop context. Any other use of transform
feedback from a tessellation control shader is considered an error.
As part of this change, we also revert a change that used the wrong
notation for consuming PATCHES data with transform feedback.
(Reverts part of
1ab254234c4f6c45036ba68f67980858e0ef5001)
Affects:
KHR-GLES31.core.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GLES32.core.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GL44.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GL45.tessellation_shader.single.xfb_captures_data_from_correct_stage
Component: OpenGL
VK-GL-CTS issue: 365
Change-Id: Ie5619f9146448c54906401d2805de676000b34e8
Jeannot Breton [Wed, 10 May 2017 19:25:02 +0000 (14:25 -0500)]
Remove copy_image special path for rgb9e5/rg11b10
Copy_image is similar to a memcpy. When analyzing copy_image result,
the test have a special path for rgb9e5 and rg11b10.
Instead of using a memcmp, it converts each component to float and
then compare values.
This could be problematic, when data from other formats is
reinterpreted as rgb9e5/rg11b10, the result can be INF or NAN.
Doing a float equal comparison on 2 NAN values will return false,
so we can have 2 identical 32-bits values that are considered
different by the test because they are reinterpreted as float.
This change remove the special path for rgb9e5 and rg11b10.
I don't think it is required since copy_image should be like a
memcpy, a memcmp should be enough to verify the result
Affects:
KHR-GL45.copy_image.functional
Components: OpenGL
VK-GL-CTS issue: 404
Change-Id: Ifc7f7b4c8d62692e9364510ebc4e4162468e9568
Slawomir Cygan [Wed, 10 May 2017 17:09:07 +0000 (19:09 +0200)]
KHR-GL44.khr_debug: create texture before calling glObjectLabel
The test does not call glBindTexture after glGenTextures, so
texture object is not created.
This causes later glObjectLabel GL error checks to fail due to wrong
GL error codes.
Affects: KHR-GL44.khr_debug.*
Components: OpenGL
VK-GL-CTS Issue: 410
Change-Id: I9036264b2c549c58a5a80fb1ec89e1fdaae4b6b7
Pyry Haulos [Thu, 18 May 2017 23:02:57 +0000 (16:02 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: I305e5144dee58d10e2284e1824d9d4683a9c67d8
Pyry Haulos [Thu, 18 May 2017 22:42:53 +0000 (15:42 -0700)]
Fix Vulkan null driver
Vulkan platform was changed to use vkGetInstanceProcAddr(NULL, pName)
for loading all platform-level functions, except vkGetInstanceProcAddr
itself, in commit
bbd3dce44fafaa4b1952b63564022f19b3a65ca3. Null
driver was not adjusted for that change and that resulted calling into
null function pointer early in the initialization code.
Additionally, null driver now advertises HOST_COHERENT memory.
Change-Id: I65c8b37722950de08e337d7df95aa46a0e826c7b
Pyry Haulos [Tue, 16 May 2017 18:03:58 +0000 (11:03 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: Icf7defc7279b1b0cf9f6b13498de3d1456239e9c
Pyry Haulos [Wed, 10 May 2017 16:54:23 +0000 (09:54 -0700)]
Update vulkan.h.in to 1.0.49 and strip unused exts
This change updates vulkan.h.in to match header version 49.
Vendor-specific extensions and KHX extensions that are not covered by CTS
are removed.
gen_framework.py now auto-detects function class from its first argument,
except for vkGet*ProcAddr, which require special handling.
Components: Vulkan
Change-Id: If6e1d959091a9064585bf29ef9983d03649ce513
Pyry Haulos [Tue, 16 May 2017 16:12:09 +0000 (09:12 -0700)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: Iee00ded195e3178e685470b19df25a9b352ddfb5
Pyry Haulos [Tue, 16 May 2017 16:03:30 +0000 (16:03 +0000)]
Remove unused function from es31fSRGBDecodeTests.cpp
am:
1ee59ff986
Change-Id: I0bf132f2d1a09e66768bddc5818906aa0e066967
Pyry Haulos [Tue, 16 May 2017 14:25:35 +0000 (07:25 -0700)]
Remove unused function from es31fSRGBDecodeTests.cpp
Unused function causes compiler warnings to appear with recent GCC
versions.
Change-Id: I941c579994acbc9146df86acf5b9da9ee85341f5
Alexander Galazin [Mon, 15 May 2017 20:17:42 +0000 (20:17 +0000)]
Fix texture/sampler mapping in sRGB tests
am:
c8efb45ead
Change-Id: I23849cbcae67248ac5ca55f443f226d6b1e4389e
Alexander Galazin [Thu, 11 May 2017 12:27:20 +0000 (14:27 +0200)]
Fix texture/sampler mapping in sRGB tests
sRGB decode tests assume that an API side texture with index i
is connected with a shader sampler variable uTexture with index i.
This relation was however incorrectly established, e.g.
the tests were mapping texture0 to a sampler with location 0, while
such sampler was not necessarily uTexture0.
This change fixes the mapping and makes the relation more obvious.
Components: AOSP
Affects:
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.toggled
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.conversion_gpu
Google bug:
38257749
Change-Id: I16508f6033b31583b1c5973b70a610dd59e78e8f
Filip Demczewski [Mon, 16 Jan 2017 12:27:50 +0000 (13:27 +0100)]
Added CTS_ARB_shader_ballot tests
Added CTS_ARB_shader_ballot cases:
ShaderBallotAvailabilityTestCase
ShaderBallotBitmasksTestCase
ShaderBallotFunctionBallotTestCase
ShaderBallotFunctionReadTestCase
affects:
GL45-CTS.shader_ballot_tests.*
components: OpenGL
VK-GL-CTS issue: 143
Change-Id: I28c724a84adab7e40edb542e70bc019cde0a0156
Boris Zanin [Mon, 15 May 2017 08:00:50 +0000 (10:00 +0200)]
Fix VS2013 build by avoiding using non-standard C extension
Avoid using C++14 0b prefix.
Affects:
* GL45-CTS.shader_atomic_counter_ops_tests.*
Components: OpenGL
VK-GL-CTS issue: 175
Change-Id: Ia500db76e1112933ad3471e9ac29423ccda81d4f
Filip Demczewski [Thu, 16 Mar 2017 15:17:13 +0000 (16:17 +0100)]
Added CTS_ARB_shader_group_vote tests
Added CTS_ARB_shader_group_vote cases:
ShaderGroupVoteAvailabilityTestCase
ShaderGroupVoteAllInvocationsTestCase
ShaderGroupVoteAnyInvocationTestCase
ShaderGroupVoteAllInvocationsEqualTestCase
affects:
GL45-CTS.shader_group_vote_tests.*
components: OpenGL
VK-GL-CTS issue: 211
Change-Id: I479b09277d8386c41b007075465f8ea383fb7f0a
Pyry Haulos [Fri, 12 May 2017 20:46:38 +0000 (13:46 -0700)]
resolve merge conflicts of
633ab6f3 to deqp-dev
Change-Id: I879838e31c3fc6bbceb102c9b2720a2372360c1a
Pyry Haulos [Fri, 12 May 2017 20:30:28 +0000 (13:30 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: Icd63416e0133bca1c1580e3c36b950caa7b1bc23
Pyry Haulos [Fri, 12 May 2017 20:26:36 +0000 (13:26 -0700)]
Import fixes from Android Vulkan CTS 1.0.2 branch
* Android copy of mustpass is updated to exclude waived tests.
* Add missing file to Android.mk
* Add -fwrapv and -Wno-delete-non-virtual-dtor to Android.mk
Change-Id: I9cdb0b0490dbad4134ad085216c3969cda40747a
Pyry Haulos [Fri, 12 May 2017 18:03:48 +0000 (11:03 -0700)]
Remove tcuWin32GLES3Platform.*
GLES3 wrapper is no longer supported so these are clearly broken.
Components: Framework
Change-Id: I656b70aecc5f0380d99b471a516d271f5b820836
Pyry Haulos [Fri, 12 May 2017 17:53:03 +0000 (10:53 -0700)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I2d372c38240ffa856509c479b4f24b03ca95649c
Pyry Haulos [Fri, 12 May 2017 17:31:32 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: I94c771f530e058c9ac30185e2708fd0ac6fccf36
Pyry Haulos [Fri, 12 May 2017 17:31:29 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I11828b81ea4c9e67dc879dd98a9cbf91341de2c9
Pyry Haulos [Fri, 12 May 2017 17:31:26 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: I6245604cf5ce44a2c4d9c064efb65b058d8f24eb
Iago Toral Quiroga [Fri, 5 May 2017 06:30:15 +0000 (08:30 +0200)]
Add more alternatives to reflect() precision tests
Intel/Mesa started to generate these in some scenarios recently.
Components: Vulkan
Vk-GL-CTS Issue: 392
Affects:
dEQP-VK.glsl.builtin.precision.reflect.*
Change-Id: Ic943cf14d531e392c03adf18605e6330267be4a1
Yanjun Zhang [Mon, 24 Apr 2017 08:59:26 +0000 (01:59 -0700)]
Check sampler_mirror_clamp_to_edge extension in tex filter tests
Components: Vulkan
VK-GL-CTS issue: 384
Affects:
dEQP-VK.texture.filtering.*.combinations.*_mirror_clamp_to_edge_*
Change-Id: Ie829b9247cd374e6c34ac70885e9e4421d284d1e
Pyry Haulos [Mon, 8 May 2017 16:15:25 +0000 (09:15 -0700)]
Do not report warning if OOM testing is incomplete
object_management.alloc_callback_fail tests are trying to exhaustively
test all OOM paths in vkCreate* functions. However, to keep test run-
time reasonable, they have a fixed maximum allocation count and if
that is exceeded report a warning since OOM testing was not
exhaustive.
Since an implementation that requires more allocations than the limit
is valid, this commit changes the tests to report clean Pass instead
of CompatibilityWarning. Note about incomplete OOM testing is included
in the test log contents instead.
Affects:
dEQP-VK.api.object_management.alloc_callback_fail.*
VK-GL-CTS issue: 399
Components: Vulkan
Change-Id: I6890321546ae42f2646b8653007172d4b8affb8a
Pyry Haulos [Fri, 12 May 2017 17:15:26 +0000 (10:15 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Graeme Leese [Thu, 11 May 2017 16:03:23 +0000 (17:03 +0100)]
Fix extension check in ES3.2 BoundingBox test
The test is still using the suffixed name to access gl_BoundingBox[EXT],
which means it still needs to enable the extension.
Affects: dEQP-GLES31.functional.android_extension_pack.shaders.es32.
extension_directive.ext_primitive_bounding_box
Components: AOSP
Change-Id: I652e59b6ca29b1d237028eac57fc860731378c35
Pyry Haulos [Fri, 12 May 2017 16:38:51 +0000 (09:38 -0700)]
Update Vulkan CTS to version 1.0.2.3
New tests:
* Add tests for VK_KHR_shared_presentable_image
* Add tests for VK_KHR_get_surface_capabilities2
Fixes:
* makeFramebufferWithoutAttachments creates invalid framebuffer
* Fix typo in dE-IT.build_info.de_endianness_consistent name
* Fix - uniform buffer incorrectly dereferenced
* Use vkGetInstanceProcAddr(NULL) to load platform funcs
* Imgtec Waiver for texture_gather*cube*depth32f*
* Add VK_KHR_incremental_present to the list of allowed device
extensions
* Use -std=c++03 with GCC and clang
* Fix GCC 6.3 warnings in vulkan-cts-1.0.2
* Improve check_build_sanity.py
* Relax image verification in anisotropic filtering tests
* Respect maxColorAttachments in image tests
* Fix SPIR-V generation in dEQP-VK.spirv_assembly
* Fix - depth/stencil images mandatory only for VK_IMAGE_TYPE_2D
* Add missing barrier in ssbo layout tests
Bug:
38260702
Change-Id: I1c00d4b63c339ba69990b64a5bb225c661957e4c
Pyry Haulos [Fri, 12 May 2017 16:20:30 +0000 (09:20 -0700)]
Merge vk-gl-cts/master into aosp/deqp-dev
Pyry Haulos [Fri, 12 May 2017 16:16:56 +0000 (09:16 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: Ifb187a8bff7ec809e78fb53da5c84807e1569843
James Helferty [Mon, 8 May 2017 21:31:59 +0000 (17:31 -0400)]
Check for INVALID_OPERATION from TextureStorage
When the effective target differs from the glTextureStorage* function
used, GL should generate an GL_INVALID_OPERATION error instead of
GL_INVALID_ENUM.
Affects:
KHR-GL45.direct_state_access.textures_storage_errors
Components: OpenGL
Issue: 407
Change-Id: I8cbfaeee7ce6bb7519cf2df9a255bfcfb3c84165
Iago Toral Quiroga [Tue, 2 May 2017 11:42:05 +0000 (13:42 +0200)]
Ignore performance messages in KHR_debug tests
The KHR-GL45.khr_debug.receiveing_messages checks that only expected
messages are recorded so it should ignore spurious performance
messages that can be injected by drivers and mess up the expected
message counts.
Components: OpenGL
VK-GL-CTS issue: 394
Affects:
KHR-GL45.khr_debug.receiveing_messages
Change-Id: Iee24cb5d6de3d2c6311dc96da312540512dc2173
Jeannot Breton [Tue, 2 May 2017 19:41:55 +0000 (14:41 -0500)]
Fix texture_size_promotion snorm/RGB10_A2UI issue
Read color clamping was not considered in the snorm expected value,
so the change clamp the expected value
The alpha component in RGB10_A2UI didn't have enough bits to hold
an expected value of 4. So we change the expected alpha value to 1
Affects:
KHR-GL45.texture_size_promotion.functional
Components: OpenGL
VK-GL-CTS issue: 395
Change-Id: I920eb187e558faf9557f886be0269ea0c927918b
Jeannot Breton [Tue, 2 May 2017 20:44:43 +0000 (15:44 -0500)]
Adjust cull_distance position on pixel center
The primitive position is on the pixel edge, it should be on the
pixel center to be rendered at the expected location
Affects:
KHR-GL45.cull_distance.functional
Components: OpenGL
VK-GL-CTS issue: 396
Change-Id: I6f604c559894a4d9b1220a65935eb59b8b8e53e6
Jeannot Breton [Tue, 2 May 2017 21:06:07 +0000 (16:06 -0500)]
Fix DrawElements indice to use a NULL offset
We are using the address of an array as indice parameters
to a DrawElements call.
The address will be used as an offset to the element buffer,
and it's not what we want.
Use NULL instead
Affects:
KHR-GL45.enhanced_layouts.vertex_attrib_locations
Components: OpenGL
VK-GL-CTS issue: 397
Change-Id: Ic6be8925b990107e342f609726730ab51a33da9b
James Helferty [Fri, 5 May 2017 21:53:26 +0000 (17:53 -0400)]
Use correct format for integer DSA buffer clears
Affects:
KHR-GL45.direct_state_access.buffers_clear
Components: OpenGL
VK-GL-CTS issue: 405
Change-Id: I86f2c463a5bcc86bd08188e42a285673ffb058d4
Jeannot Breton [Mon, 8 May 2017 21:04:26 +0000 (16:04 -0500)]
shader_integer_mix is unsupported prior to 4.5
This change adds logic to make sure shader_integer_mix.prototypes
with shader version prior to 4.5 is marked unsupported
It adds a new shaders45 group of tests to make sure core glsl 4.5
supports the extension
It adds the test shader_integer_mix.prototypes-negative to make sure
glsl versions that doesn't support the feature are returning an error
Finally it updates the mustpass list with the new tests
Affects:
KHR-GLES3.shaders.shader_integer_mix.prototypes-negative
KHR-GLES31.core.shader_integer_mix.prototypes-negative
KHR-GLES32.shaders.shader_integer_mix.prototypes-negative
KHR-GL33.shaders.shader_integer_mix.prototypes
KHR-GL33.shaders.shader_integer_mix.prototypes-negative
KHR-GL40.shaders.shader_integer_mix.prototypes
KHR-GL40.shaders.shader_integer_mix.prototypes-negative
KHR-GL41.shaders.shader_integer_mix.prototypes
KHR-GL41.shaders.shader_integer_mix.prototypes-negative
KHR-GL42.shaders.shader_integer_mix.prototypes
KHR-GL42.shaders.shader_integer_mix.prototypes-negative
KHR-GL43.shaders.shader_integer_mix.prototypes
KHR-GL43.shaders.shader_integer_mix.prototypes-negative
KHR-GL44.shaders.shader_integer_mix.prototypes
KHR-GL44.shaders.shader_integer_mix.prototypes-negative
KHR-GL45.shaders.shader_integer_mix.prototypes
KHR-GL45.shaders.shader_integer_mix.prototypes-negative
KHR-GL45.shaders45.shader_integer_mix.*
Components: OpenGL
VK-GL-CTS issue: 406
Change-Id: I574bec1a8d5aca0e4ec52b8df96abf45828b527a
Iago Toral Quiroga [Wed, 10 May 2017 09:07:37 +0000 (11:07 +0200)]
ARB_texture_filter_minmax tests should check if the extension is supported
Component: OpenGL
Vk-GL-CTS issue: 409
Affects:
KHR-GL45.texture_filter_minmax_tests.*
Change-Id: Ic1e63db507afb7a25f30b3309ba06fce2889cb8a
Pyry Haulos [Thu, 4 May 2017 19:51:04 +0000 (12:51 -0700)]
Expand dEQP-VK.glsl.opaque_type_indexing shader types
This change expands dEQP-VK.glsl.opaque_type_indexing group to cover
geometry and tessellation shaders.
VK-GL-CTS issue: 357
Components: Vulkan
Change-Id: I3a89e3d2d59b826b078504cc6831254e839bb741
Graeme Leese [Tue, 9 May 2017 14:21:53 +0000 (15:21 +0100)]
Correct the test conditions for sRGB_write_control
The extension is not part of ES3.2, so the not-supported version of the
tests should be run on ES3.2 implementations without the
GL_EXT_sRGB_write_control extension.
VK-GL-CTS Issue: 389
Components: AOSP
Affects:
dEQP-GLES31.functional.fbo.srgb_write_control.framebuffer_srgb_enabled
dEQP-GLES31.functional.fbo.srgb_write_control.framebuffer_srgb_unsupported_enum
Change-Id: I42a531aa7d1ad38f7a85cde1a5da659f780ec5d5
Alexander Galazin [Wed, 10 May 2017 08:36:53 +0000 (10:36 +0200)]
Adjust out of surface verification for wide lines
Wide lines rasterization tests may draw lines out of
the allocated surfaces. Such situation causes verification
failures.
This change adjust the verification algorithm to ignore
missing pixels for out of surface rendering.
Components: Framework
Affects:
dEQP-GLES2.functional.rasterization.primitives.lines_wide
dEQP-GLES2.functional.rasterization.primitives.line_strip_wide
dEQP-GLES2.functional.rasterization.primitives.line_loop_wide
Change-Id: Ia70f33fb6daad0d3774ae9edbd438bd14296f1d3
Alexander Galazin [Mon, 8 May 2017 12:59:38 +0000 (14:59 +0200)]
Ensure vertex shader presence if a geometry shader exists
Certain tests verify that INVALID_OPERATION is generated
if a geometry shader is active and mode is incompatible with
the input primitive type of the geometry shader in the currently
installed program object. However these tests have no vertex shader and
this is the real reason why INVALID_OPERATION is generated.
This change ensures that the vertex shader is present.
Components: AOSP
Affects:
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_elements_base_vertex_primitive_mode_mismatch
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_elements_instanced_base_vertex_primitive_mode_mismatch
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_range_elements_base_vertex_primitive_mode_mismatch
Change-Id: I36bcee8892e4f641feadb0b444a53ed35273b727
Alexander Galazin [Tue, 9 May 2017 08:44:12 +0000 (10:44 +0200)]
Fix DrawRangeElementsBaseVertex tests with negative basevertex
DrawRangeElementsBaseVertex tests with negative basevertex call
glDrawRangeElementsBaseVertex with start = 0 and basevertex = -1.
According to the spec: If no element array buffer is bound, the vertex ID of
the ith element transferred is indices[i] + basevertex...
If the vertex ID is larger than the maximum value representable by type,
it should behave as if the calculation were upconverted to 32-bit unsigned
integers (with wrapping on overflow conditions).
Behavior of DrawElementsOneInstance is undefined if the vertex ID is negative
for any element, and should be handled as described in section 6.4.
This change ensures that indexMin + baseVertex will be zero or positive value.
Components: AOSP
Affects:
dEQP-GLES31.functional.draw_base_vertex.draw_range_elements_base_vertex.base_vertex.index_neg_byte
dEQP-GLES31.functional.draw_base_vertex.draw_range_elements_base_vertex.base_vertex.index_neg_short
dEQP-GLES31.functional.draw_base_vertex.draw_range_elements_base_vertex.base_vertex.index_neg_int
Change-Id: I07a9e6bc60d4340784d400b5087bb8fff01f0e57
Pyry Haulos [Tue, 9 May 2017 19:16:23 +0000 (19:16 +0000)]
Merge "Fix GCC 6.3 warnings in aosp/master"
am:
1211e9fe1b
Change-Id: I26a8dd4e1e0d70c858c51dfb867fda7f4eec3fd9
Pyry Haulos [Tue, 9 May 2017 19:09:07 +0000 (12:09 -0700)]
resolve merge conflicts of
9de005f0 to deqp-dev
Test: scripts/check_build_sanity.py
Change-Id: Ica45697139e9e63b0e407283780246d3608457e7
Treehugger Robot [Tue, 9 May 2017 18:32:17 +0000 (18:32 +0000)]
Merge "Fix GCC 6.3 warnings in aosp/master"
Pyry Haulos [Thu, 30 Mar 2017 23:42:23 +0000 (16:42 -0700)]
Fix GCC 6.3 warnings in aosp/master
Change-Id: I0a90ba7ed2e52fdadf554236850533298b2e1a9e
Alexander Galazin [Mon, 8 May 2017 12:31:15 +0000 (14:31 +0200)]
Fix negative CompressedTexImage2D tests
Certain tests expect GL_VALID_VAULE for
glCompressedTexImage2D(GL_TEXTURE_2D, -1, 0x8b90, 0, 0, 0, 0, 0).
0x8b90 is a palette format PALETTE4_RGB8 and
the OES_compressed_paletted_texture extension allows
negative values for the level parameter:
Accepted by the <level> parameter of CompressedTexImage2D
Zero and negative values. |level| + 1 determines the number of
mip levels defined for the paletted texture.
This change fixes the tests in presence of
the OES_compressed_paletted_texture extension.
Components: AOSP
Google bug:
38109626
Affects:
dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_tex2d
dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_cube
Change-Id: Ia37e3fecaf3547abfb209803378114043c63a243
Pyry Haulos [Mon, 8 May 2017 21:24:46 +0000 (14:24 -0700)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I0d69c6c9d5720d3c9f957244de84ca0b5a0ad906
Pyry Haulos [Mon, 8 May 2017 20:20:21 +0000 (13:20 -0700)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/deqp-dev
Change-Id: Id72fd820e5ce49e72e0e14809eb92fcebb6fb1d7
Pyry Haulos [Wed, 3 May 2017 16:07:52 +0000 (09:07 -0700)]
Remove old Android build scripts
Change-Id: I72128ec3cda3ddc78442861af9ae9768510bef25
Pyry Haulos [Mon, 27 Mar 2017 18:21:37 +0000 (11:21 -0700)]
Add new Android build and install scripts
This change adds new Android build and install scripts under
scripts/android. Key improvements over old ones are:
* Build no longer relies on ant or 'android project' tools.
* Native code build leverages scripts/build code which should fix
incremental builds and improve compatibility.
* Build script error reporting should be much better.
* Final APK is now built incrementally which should enable much faster
incremental builds once asset copy targets are fixed in main build.
This work required some changes to common code:
* Android cross-compile toolchain is set up by including
targets/android/ndk-r11.cmake before project() in the main
CMakeLists.txt instead of using -DCMAKE_TOOLCHAIN_FILE. CMake native
toolchain file support seems incredbly buggy and configuring
toolchain in regular build files seems to be much more robust.
* scripts/build/config.py now finds CMake automatically on OS X.
* New HostInfo class has been added into scripts/build/config.py.
Components: AOSP, Framework
Change-Id: I4b5b78c0d4d3aff248887ba5ced0c91081e24e6b
Pyry Haulos [Tue, 25 Apr 2017 14:18:01 +0000 (16:18 +0200)]
Use alias tag to check if ext and core funcs are same
OpenGL API registry commands have <alias> tag that can be used to
determine if extension function can be treated as an alias to a core
entry point.
This change updates scripts to take advantage of alias tag to correctly
determine if ext and core entry points can be folded into one. This
fixes issues with EXT_direct_state_access where behavior has changed
between EXT and core versions.
VK-GL-CTS issue: 368
Components: Framework
Change-Id: I6addfdca02c778b7a44db1cb81d5a88aae6cf273
Pyry Haulos [Thu, 4 May 2017 22:29:08 +0000 (15:29 -0700)]
Improve GLSL source program support
Old GLSL source program support in Vulkan framework was built on top
of glu::ProgramSources. This had two problems:
1) There was no obvious way to extend/annotate sources with SPIR-V
-specific information such as target SPIR-V version.
2) Most of glu::ProgramSources, such as attribute bindings or TF
configuration, was completely ignored.
This change introduces new vk::GlslSource type that replaces
glu::ProgramSources in vk::SourceCollections. vk::GlslSource contains
shader source strings as well as build options (vk::GlslBuildOptions).
vk::GlslBuildOptions doesn't currently contain anything useful but can
be later extended to support selecting target SPIR-V version for
example.
The change is mostly transparent to existing code, except:
* vkSpirvProgram.hpp was somewhat unnecessarily including
tcuTestLog.hpp and changing that to a forward declaration required
fixing includes in several test code files.
* vktShaderExecutor.cpp has been extended to allow specifying build
options.
Components: Vulkan
Change-Id: I69a6cd55ea91215585515b9d41860d818cbc97ae
David Sodman [Fri, 24 Feb 2017 19:04:46 +0000 (11:04 -0800)]
Add tests for FragCoord interaction with multisampling
Components: Vulkan
VK-GL-CTS issue: 89
Test: fragcoord_msaa, frontface, fragdepth, clipping
Change-Id: Ibf342e63f224b88fe0b0cffde59b10b34afd1faf
Pyry Haulos [Thu, 4 May 2017 20:18:55 +0000 (13:18 -0700)]
Remove vktWsiTests.cpp.orig
VK-GL-CTS issue: 402
Change-Id: Ib72fcd8b8ff39013f6cd3093ee9160be320be2b0
Boris Zanin [Wed, 22 Feb 2017 14:18:07 +0000 (15:18 +0100)]
Add tests for VK_KHR_display
Implemented coverage tests for functions:
* vkGetPhysicalDeviceDisplayPropertiesKHR
* vkGetPhysicalDeviceDisplayPlanePropertiesKHR
* vkGetDisplayPlaneSupportedDisplaysKHR
* vkGetDisplayModePropertiesKHR
* vkCreateDisplayModeKHR
* vkGetDisplayPlaneCapabilitiesKHR
* vkCreateDisplayPlaneSurfaceKHR
Components: Vulkan
VK_GL_CTS Issue: #155
Change-Id: Ia16ab268f6c8c001fbde64f5663f195078dd9aa4
David Sodman [Fri, 24 Feb 2017 18:41:59 +0000 (10:41 -0800)]
Add test for FragDepth shader built-in
Components: Vulkan
VK-GL-CTS issue: 93
Test: fragdepth, frontface, clipping
Change-Id: I531e39a58dd6b577108bff14b2206d7bf9d9cd4f
Marcin Kańtoch [Tue, 11 Apr 2017 09:25:20 +0000 (11:25 +0200)]
Fix - checkSparseSupport missing image format check
checkSparseSupport does not check if sparse operations are supported
for image format for example for depth/stencil formats.
This fix extends checkSparseSupport with this additional check.
Affected tests:
dEQP-VK.glsl.texture_functions.textureoffset.sparse_sampler2darrayshadow_vertex
dEQP-VK.glsl.texture_functions.textureoffset.sparse_sampler2darrayshadow_fragment
Change-Id: Ib4ca34ede1b5efd382ed6491b88e10baac173895
Slawomir Cygan [Thu, 27 Apr 2017 12:17:41 +0000 (14:17 +0200)]
Fix image.qualifiers.restrict tests not running without optional capability
Tests dEQP-VK.image.qualifiers* were passsing previously, but since
645b5c6d they require shaderStorageImageReadWithoutFormat capability.
This was not intended - this change restores the test to previous
behavior.
VK-GL-CTS issue: 345
Components: Vulkan
Affects: dEQP-VK.image.qualifiers.restrict.*
Change-Id: Ie3e70b72a9f3b3b0700c3fed898c30fd1f6ae290
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
Pyry Haulos [Wed, 3 May 2017 16:12:41 +0000 (16:12 +0000)]
Merge "Fix color change verification in dithering tests" into nougat-cts-dev am:
acf47d464f am:
c2594c65ff
am:
1203cd8416
Change-Id: Idced4ef250b2fc485931b8d5358dd5ce6ee16e51
Pyry Haulos [Wed, 3 May 2017 16:10:09 +0000 (16:10 +0000)]
Merge "Fix color change verification in dithering tests" into nougat-cts-dev am:
acf47d464f
am:
c2594c65ff
Change-Id: Ifd798f6964576b23950beaedc843a4efce806968
Pyry Haulos [Wed, 3 May 2017 16:08:05 +0000 (16:08 +0000)]
Merge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev am:
9a83ec3f47 am:
90e6678bc9 -s ours
am:
18231b0d34 -s ours
Change-Id: I822a97a1a29f7dfd3525c9671b405fd0561d7834
Alexander Galazin [Wed, 3 May 2017 16:07:43 +0000 (16:07 +0000)]
Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev am:
eebcec1b52 am:
2585331908
am:
0543f8e619
Change-Id: I113f5eb8a7cdb975e9e9928a3cbdbf55637492ff
Pyry Haulos [Wed, 3 May 2017 16:07:36 +0000 (16:07 +0000)]
Merge "Fix color change verification in dithering tests" into nougat-cts-dev
am:
acf47d464f
Change-Id: I82bfed0cc9cee128a8552b4e8cf3fb87ced37c9f
Pyry Haulos [Wed, 3 May 2017 16:05:58 +0000 (16:05 +0000)]
Merge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev am:
9a83ec3f47
am:
90e6678bc9 -s ours
Change-Id: I157b06b418801793909c853f0e3f51c574283d15
Alexander Galazin [Wed, 3 May 2017 16:05:41 +0000 (16:05 +0000)]
Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev am:
eebcec1b52
am:
2585331908
Change-Id: Ibc91272a8ad15f813f273cf05bb6b6f846ae600f
Treehugger Robot [Wed, 3 May 2017 16:04:13 +0000 (16:04 +0000)]
Merge "Fix color change verification in dithering tests" into nougat-cts-dev
Pyry Haulos [Wed, 3 May 2017 16:03:19 +0000 (16:03 +0000)]
Merge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev
am:
9a83ec3f47
Change-Id: I1dfb480ed3b5fb7f384a8fe9b0a852134fde1500
Pyry Haulos [Wed, 3 May 2017 16:03:14 +0000 (16:03 +0000)]
Try to determine renderable format in lifetime tests am:
c0a5dc217f am:
eba26e2387
am:
d1aa6c62e3
Change-Id: I985925f6cc047cc2ba44e7d33a435809ea8a3681
Alexander Galazin [Wed, 3 May 2017 16:03:07 +0000 (16:03 +0000)]
Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev
am:
eebcec1b52
Change-Id: Ib4d673157f82d00d0d27ab3496ac8a1dc6634fe1
Pyry Haulos [Wed, 3 May 2017 16:01:08 +0000 (16:01 +0000)]
Try to determine renderable format in lifetime tests am:
c0a5dc217f
am:
eba26e2387
Change-Id: I374e4e781d4b3d89c9e6a9e97deffe466298ddea
Treehugger Robot [Wed, 3 May 2017 16:01:05 +0000 (16:01 +0000)]
Merge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev
Treehugger Robot [Wed, 3 May 2017 15:59:50 +0000 (15:59 +0000)]
Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev
Pyry Haulos [Wed, 3 May 2017 15:58:34 +0000 (15:58 +0000)]
Try to determine renderable format in lifetime tests
am:
c0a5dc217f
Change-Id: I99514ee1a3ccb9a0aa397f0a8e9e7d45b47ec9ba
Kalle Raita [Fri, 28 Apr 2017 23:26:40 +0000 (16:26 -0700)]
Merge commit '
9bd0272d004aabece70774113d1ff6d9dbf1301c' into HEAD
Test: check_build_sanity.py
Change-Id: I83a7e6b3626bcf5a51af5a4bfe49f727bd2c4da1
Treehugger Robot [Fri, 28 Apr 2017 22:51:12 +0000 (22:51 +0000)]
Merge "Log which watchdog timer was exceeded"
Kalle Raita [Thu, 27 Apr 2017 18:43:27 +0000 (11:43 -0700)]
Log which watchdog timer was exceeded
Test: Timeout failure for max_concurrent.framebuffer on Marlin
Change-Id: Ie8396c6506e09bbe94c6d5dc6c29fd6e20c7f436
Pyry Haulos [Fri, 28 Apr 2017 08:31:24 +0000 (10:31 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: I3e4105213b99ff48e1f733a68f07821e8e5ba422
Chris Forbes [Thu, 2 Feb 2017 20:42:12 +0000 (09:42 +1300)]
Add tests for VK_KHR_shared_presentable_image
Initial smoke test for shared image present modes. For each of the new
present modes, exercises a shared image swapchain through a number of
frames, monitoring the status via vkGetSwapchainStatusKHR.
This is not particularly rigorous, but tests if the extension works at
all.
New tests:
dEQP-VK.wsi.*.shared_presentable_image.*
Components: Vulkan
Change-Id: I0e143a2c556ea38a78c32fca4f3bd2b81d16f7dc
(cherry picked from commit
8fd97e075d00a848c5b880f9f4c67711d9cd60d6)
Pyry Haulos [Tue, 7 Feb 2017 22:24:46 +0000 (14:24 -0800)]
Add tests for VK_KHR_get_surface_capabilities2
Surface query tests are extended with two new test cases that verify that
new extended queries return values identical to the non-extended queries.
dEQP-VK.wsi.*.surface.query_formats is changed to check for duplicate
formats in order to make validation between non-extended and extended
formats lists more robust.
New tests:
* dEQP-VK.wsi.*.surface.query_capabilities2
* dEQP-VK.wsi.*.surface.query_formats2
Changed tests:
* dEQP-VK.api.info.instance.extensions
* dEQP-VK.wsi.*.surface.query_formats
VK-GL-CTS issue: 129
Change-Id: I9a43e3d68843eccc64be837dda2142e456675c63
(cherry picked from commit
86f207a29668bd4e1e46f7c7d89e84d65e1bc64b)
Pyry Haulos [Fri, 28 Apr 2017 08:14:23 +0000 (10:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
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:24:08 +0000 (10:24 +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
(cherry picked from commit
bce45b549d21f068a75d005fe55bd87460b5df29)
Change-Id: I7e6196944b1197ca3ce2d16ff17623e6e9bcfae7
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
Slawomir Cygan [Mon, 24 Apr 2017 13:01:04 +0000 (15:01 +0200)]
Remove wrong image barrier from multisample_shader_builtin tests
Spec says:
"If vkCmdPipelineBarrier is called within a render pass instance,
the oldLayout and newLayout members of an element of
pImageMemoryBarriers must be equal"
The `multisample_shader_builtin` tries to use barrier for changing
the layout of the image used as render target and input attachment.
The barrier is invalid and, given the existing subpass dependencies,
not needed at all.
VK-GL-CTS Issue: 386
Component: Vulkan
Affects: dEQP-VK.pipeline.multisample_shader_builtin.*
Change-Id: I23bf1de5d39a5d786a6bf863a429f8d7e97f495d
Alexander Galazin [Mon, 24 Apr 2017 12:07:38 +0000 (14:07 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/master
Change-Id: I50888b10fa13d6a25938031ec4dc4547f59f1427
Alexander Galazin [Mon, 27 Mar 2017 22:08:54 +0000 (18:08 -0400)]
Add explicit mustpass for GL
Components: OpenGL
Affects: GL mustpass
Change-Id: I3fc78bd507e912e933770cebc73497df8e6e063e
Filip Demczewski [Fri, 17 Feb 2017 15:46:46 +0000 (16:46 +0100)]
Added CTS_ARB_shader_atomic_counter_ops specification proposal
affects:
GL45-CTS.shader_atomic_counter_ops_tests.*
components: OpenGL
VK-GL-CTS issue: 175
Change-Id: I6c878cdf77bf163531eba51008aabc3718adb322
Filip Demczewski [Wed, 1 Mar 2017 08:47:59 +0000 (09:47 +0100)]
Added CTS_ARB_shader_atomic_counter_ops tests
Added CTS_ARB_shader_atomic_counter_ops cases:
ShaderAtomicCounterOpsAdditionSubstractionTestCase
ShaderAtomicCounterOpsMinMaxTestCase
ShaderAtomicCounterOpsBitwiseTestCase
ShaderAtomicCounterOpsExchangeTestCase
affects:
GL45-CTS.shader_atomic_counter_ops_tests.*
components: OpenGL
VK-GL-CTS issue: 175
Change-Id: I6a8205f97f3cf22aa701a09b2b0222c9373413ba
Filip Demczewski [Thu, 9 Mar 2017 14:54:09 +0000 (15:54 +0100)]
Added CTS_ARB_shader_group_vote specification proposal
affects:
GL45-CTS.shader_group_vote_tests.*
components: OpenGL
VK-GL-CTS issue: 211
Change-Id: I4aecf0789e0da32e37125a582ff95eaf228fce94
Filip Demczewski [Wed, 22 Mar 2017 16:11:03 +0000 (17:11 +0100)]
Added CTS_EXT_polygon_offset_clamp specification proposal
affects:
GL45-CTS.polygon_offset_clamp_tests.*
components: OpenGL
VK-GL-CTS issue: 304
Change-Id: I99deb3ea1db90f36baf2a1592c7b06cae630b947
James Helferty [Tue, 11 Apr 2017 18:02:32 +0000 (14:02 -0400)]
Cleanup PER_VERTEX declarations for specialization
This change harmonizes all of the PER_VERTEX declarations in the shader
specialization map so that they all use the same naming convention, and
have the same code formatting style. It also corrects some values that
were incorrect or missing for some tests.
Fixes:
KHR-GL44.geometry_shader.api.program_pipeline_vs_gs_capture
KHR-GL44.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
KHR-GL45.geometry_shader.api.program_pipeline_vs_gs_capture
KHR-GL45.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
Affects:
KHR-GLES31.core.geometry_shader.api.incompatible_draw_call_mode
KHR-GLES31.core.geometry_shader.api.insufficient_emitted_vertices
KHR-GLES31.core.geometry_shader.api.program_pipeline_vs_gs_capture
KHR-GLES31.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
KHR-GLES31.core.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GLES32.core.geometry_shader.api.incompatible_draw_call_mode
KHR-GLES32.core.geometry_shader.api.insufficient_emitted_vertices
KHR-GLES32.core.geometry_shader.api.program_pipeline_vs_gs_capture
KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
KHR-GLES32.core.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GL44.geometry_shader.api.incompatible_draw_call_mode
KHR-GL44.geometry_shader.api.insufficient_emitted_vertices
KHR-GL44.geometry_shader.api.program_pipeline_vs_gs_capture
KHR-GL44.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
KHR-GL44.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GL45.geometry_shader.api.incompatible_draw_call_mode
KHR-GL45.geometry_shader.api.insufficient_emitted_vertices
KHR-GL45.geometry_shader.api.program_pipeline_vs_gs_capture
KHR-GL45.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
KHR-GL45.tessellation_shader.single.xfb_captures_data_from_correct_stage
Component: OpenGL
VK-GL-CTS issue: 364
Change-Id: I1eb6d81b6de95a1f247615afe0ebc9dd99bddb1a
Pyry Haulos [Fri, 21 Apr 2017 00:06:00 +0000 (00:06 +0000)]
Update Android CTS Vulkan waivers list to match Khronos CTS
am:
96cb702688
Change-Id: I1fec35b071d94ca81a3dcaa96cb111fa3f7101bc
Pyry Haulos [Thu, 20 Apr 2017 22:36:04 +0000 (15:36 -0700)]
Update Android CTS Vulkan waivers list to match Khronos CTS
Bug:
36817508
Change-Id: Ib394652ca3229a06704a83bea53806a3397c7ec3
Jamie Madill [Thu, 20 Apr 2017 19:11:08 +0000 (15:11 -0400)]
Remove printfs from qpTestLog
These clutter up the standard output with shader compile times.
Also remove qpTestLog_writeMessage since it didn't seem to be used.
Change-Id: I218651f37ff6c9f40f6e81115f7fc64adb8d8500
Pyry Haulos [Thu, 20 Apr 2017 17:20:14 +0000 (10:20 -0700)]
Merge vk-gl-cts/master into aosp/deqp-dev