platform/upstream/VK-GL-CTS.git
6 years agoAdd geometry layered readback tests
Boris Zanin [Tue, 31 Oct 2017 15:17:30 +0000 (16:17 +0100)]
Add geometry layered readback tests

Add geometry layered readback tests for following image types:
 * 1d_array (color and depth/stencil)
 * 2d_array (color and depth/stencil)
 * cube (color and depth/stencil)
 * cube_array (color and depth/stencil)
 * 3d (color only)

Add tests:
 * dEQP-VK.geometry.layered.*.readback

Components: Vulkan

VK-GL-CTS issue: #790

Change-Id: Ifcc5b686816b167ae7fb5157fdc7bd3464968eda

6 years agoAdded ASTC format to compressed texture test.
Ari Suonpaa [Tue, 31 Oct 2017 11:17:49 +0000 (13:17 +0200)]
Added ASTC format to compressed texture test.

Added ASTC format to the compressed texutre test. Not much is
needed to change in test code since TCU library already supports
this format.

Affects:

dEQP-VK.texture.compressed.astc*

Components: Vulkan

VK-GL-CTS issue: 787

Change-Id: I764ee05479748bc19724bd2b4675c350e23e29c5

6 years agoAdded test for differing interpolation decorations.
Ari Suonpaa [Sat, 28 Oct 2017 15:05:48 +0000 (18:05 +0300)]
Added test for differing interpolation decorations.

Added test where varying between vertex and fragment shader have
different interpolation decorations. Both Flat and NoPerspective
are tested.

Affects:

dEQP-VK.draw.differing_interpolation.*

Components: Vulkan

VK-GL-CTS issue: 618

Change-Id: I7ba5badd5f0ebe0ab6d4f3a374bc863b72c24248

6 years agoAdd new tests for VK_KHR_get_display_properties2
Boris Zanin [Tue, 21 Mar 2017 16:06:30 +0000 (17:06 +0100)]
Add new tests for VK_KHR_get_display_properties2

Following tests has been implemented:
 * dEQP-VK.wsi.display.get_display_properties2
 * dEQP-VK.wsi.display.get_display_plane_properties2
 * dEQP-VK.wsi.display.get_display_mode_properties2
 * dEQP-VK.wsi.display.get_display_plane_capabilities2

Components: Vulkan

VK_GL_CTS Issue: #168

Change-Id: Ib06dd6837b1348e13ff289df86f446424a4e6a01

6 years agoAdded test for branching out of switch block using continue.
Ari Suonpaa [Wed, 18 Oct 2017 07:07:20 +0000 (10:07 +0300)]
Added test for branching out of switch block using continue.

Added a test where a for loop contains a switch block and the
cases break out of selection into enclosing for loop using
continue.

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.loop.switch_continue*

Components: Vulkan

VK-GL-CTS issue: 722

Change-Id: Iad7050d848a1b75b5877c17ae40713ac45222ba7

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 10 Nov 2017 11:16:32 +0000 (12:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I7527e48c4892d891897597bd0b69d25717467353

6 years agoget_physical_device_properties2: add information print
Arkadiusz Sarwa [Thu, 19 Oct 2017 11:20:24 +0000 (13:20 +0200)]
get_physical_device_properties2: add information print

Affects:
dEQP-VK.api.info.get_physical_device_properties2*

Components: Vulkan

VK-GL-CTS issue:: 777

Change-Id: Ib7462d63de521574f7fab018d7aed2d449a58dd3
(cherry picked from commit 45b164c54682c8e1d3de14d9ef425860adae4ec1)

6 years agoRound up vertex buffer size to stride multiple to fix OOB attribute reads
Noah Fredriks [Fri, 3 Nov 2017 18:20:06 +0000 (14:20 -0400)]
Round up vertex buffer size to stride multiple to fix OOB attribute reads

Partial stride multiple vertex buffer elements are now considered OOB
to accomodate implementations that fetch stride-sized elements

Affects: dEQP-VK.texture.*

Components: Vulkan

VK-GL-CTS issue: 812

Change-Id: I72a2143146b4ea0d893d70d41b7ca2c84c34542a

6 years agoAdd contextSupports functions
Arkadiusz Sarwa [Mon, 9 Oct 2017 15:13:48 +0000 (17:13 +0200)]
Add contextSupports functions

Components: Vulkan

VK-GL-CTS issue: 727

Change-Id: Ic2912106268402eb61c2a7aa4d487a2c3c7755e3

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 10 Nov 2017 10:24:23 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I1bbc8d5eb3090cfecf6afd5e2ae090b35009649a

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 10 Nov 2017 10:24:18 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I38a420841bb08c1d2d993eee39c16046c7680c3f

6 years agoget_physical_device_properties2: add information print
Arkadiusz Sarwa [Thu, 19 Oct 2017 11:20:24 +0000 (13:20 +0200)]
get_physical_device_properties2: add information print

Affects:
dEQP-VK.api.info.get_physical_device_properties2*

Components: Vulkan

VK-GL-CTS issue:: 777

Change-Id: Ib7462d63de521574f7fab018d7aed2d449a58dd3

6 years agoAdded test for color attachments with different sizes.
Ari Suonpaa [Sat, 21 Oct 2017 12:14:58 +0000 (15:14 +0300)]
Added test for color attachments with different sizes.

Previous tests where color attachments were larger than frame buffer
dimensions was extended to test multiple attachments each having
different size.

Affects:

dEQP-VK.pipeline.framebuffer_attachment.diff_attachments*

Components: Vulkan

VK-GL-CTS issue: 72

Change-Id: I488db6afa5f327c4f096a6491d53cc191b2da448

6 years agoDo not use depthClampEnable unconditionally.
Jorg Wagner [Mon, 6 Nov 2017 13:56:49 +0000 (14:56 +0100)]
Do not use depthClampEnable unconditionally.

Depth clamping is not needed by this test, so
do not rely on the optional feature when creating
the pipeline object.

Affects:
dEQP-VK.api.smoke.*

Components: Vulkan

VK-GL-CTS issue: 817

Change-Id: I6794f7f5d17d7610ff43dcb4080a6a30e12ed95b

6 years agoImprove multiview coverage
Arkadiusz Sarwa [Fri, 13 Oct 2017 11:01:54 +0000 (13:01 +0200)]
Improve multiview coverage

Components: Vulkan

VK-GL-CTS issue: 769

Affects:
dEQP-VK.multiview.secondary_cmd_buffer*
dEQP-VK.multiview.input_attachments*

New tests
dEQP-VK.multiview.input_attachments_geometry*
dEQP-VK.multiview.secondary_cmd_buffer_geometry*

Change-Id: If55d0991f0a19ce6774e96d3b8b0c6b0afc9cd70

6 years agoVerify VkSamplerYcbcrConversionImageFormatPropertiesKHR is properly filled
Lionel Landwerlin [Thu, 5 Oct 2017 15:18:09 +0000 (16:18 +0100)]
Verify VkSamplerYcbcrConversionImageFormatPropertiesKHR is properly filled

We currently have no checks on this value.

VK-GL-CTS issue: 745

Affects: dEQP-VK.ycbcr.format.*
Components: Vulkan
Change-Id: Ifdad55f277380148d1939ba031a3c094b80c65fb

6 years agoFixed double type declarations and invalid OpUConvert usage.
Ari Suonpaa [Fri, 13 Oct 2017 11:59:43 +0000 (14:59 +0300)]
Fixed double type declarations and invalid OpUConvert usage.

Fixed access chain indexing test by removing double declarations
of the same integer type. Also replaced OpUConvert instruction
with OpCopyObject when the conversion would result into the
same bit width as the original.

Affects: dEQP-VK.spirv_assembly.instruction.*.indexing.*

VK-GL-CTS issue: 702

Change-Id: I91a9de22976b109ae988391d5cb7e4388bda4adf

6 years agoFix image layout transitions for peer Image
Vikram Kushwaha [Wed, 1 Nov 2017 23:02:57 +0000 (16:02 -0700)]
Fix image layout transitions for peer Image

When SFR/AFR copies are performed by peer device into
the primary device's render target, the image layout transitions are
also being performed by peer device.
This is only correct if GENERIC_SRC\GENERIC_DST feature flags
are supported.

VK-GL-CTS issue: 807

Change-Id: Ie3ffe6a68976ad644de12bd2c923cd0a34defe5f
Affects: dEQP-VK.device_group.*
Components: Vulkan

6 years agoInvestigate failing texture function tests
Marcin Rogucki [Tue, 17 Oct 2017 10:56:35 +0000 (12:56 +0200)]
Investigate failing texture function tests

Commit disables 14 tests from dEQP-VK.glsl.texture_functions.texturegrad.*
because of problems with driver

Components: Vulkan

VK-GL-CTS issue: 100

Affects: dEQP-VK.glsl.texture_functions.*

Change-Id: I467185b9351d1e1182bdbe0e2b16c6d0aa3dd7de

6 years agoAdd tests for VK_EXT_sample_locations
Maciej Jesionowski [Fri, 11 Aug 2017 12:06:37 +0000 (14:06 +0200)]
Add tests for VK_EXT_sample_locations

This extension allows an application to modify the locations of samples
within a pixel used in rasterization. Additionally, it allows
applications to specify different sample locations for each pixel in
a group of adjacent pixels, which can increase antialiasing quality
(particularly if a custom resolve shader is used that takes advantage
of these different locations).

New tests: dEQP-VK.pipeline.multisample.sample_locations_ext.*

Components: Vulkan

VK-GL-CTS issue: 726

Change-Id: I8eafcfb2f6a5caa5d4d4c3ed9f60881acf1c70e2

6 years agoFix subgroup tests error message
Graeme Leese [Thu, 2 Nov 2017 13:11:03 +0000 (13:11 +0000)]
Fix subgroup tests error message

Basic is a feature bit, not a shader stage, so use the correct string
getter.

Components: Vulkan
Affects: dEQP-VK.subgroups.basic.*

Change-Id: Ibb9b88cf1efcf4f6459b277cb4e4beaadeda01c9

6 years agoUpdate glslang tag
Alexander Galazin [Tue, 24 Oct 2017 08:06:06 +0000 (10:06 +0200)]
Update glslang tag

Update glslang tag to vulkan-1.1-rc4

Affects: dEQP-VK.*

Change-Id: Idd20ba8a7c3d58124062da119af5186acc08a4d2

6 years agoKHR_swapchain: Trigger the fence off vkQueueSubmit
Chris Forbes [Mon, 23 Oct 2017 22:13:38 +0000 (15:13 -0700)]
KHR_swapchain: Trigger the fence off vkQueueSubmit

Another instance of 438ea0888e8ccae.

VK-GL-CTS issue: 756

Component: Vulkan

Affects:
dEQP-VK.wsi.*.swapchain.*

Change-Id: I87da6800e0c8402c2c50ca88eb3360b31c3a515d

6 years agoGOOGLE_display_timing: Trigger the fence off vkQueueSubmit
Chris Forbes [Mon, 23 Oct 2017 22:09:56 +0000 (15:09 -0700)]
GOOGLE_display_timing: Trigger the fence off vkQueueSubmit

Another instance of 438ea0888e8ccae.

VK-GL-CTS issue: 756

Component: Vulkan

Affects:
dEQP-VK.wsi.*.display_timing.*

Change-Id: If94644402579ba1f46347d155313f6ef52d125a0

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 31 Oct 2017 14:19:35 +0000 (15:19 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I8d717de0eb73b81307d5c7ee345928208b46f820

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Tue, 31 Oct 2017 14:19:33 +0000 (15:19 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I92cf294d57f1ea0f22d8d65a0a246984612952ae

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Tue, 31 Oct 2017 14:19:33 +0000 (15:19 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: I6875bda7e1c94df9873486233180d1ce158f302a

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 31 Oct 2017 11:42:33 +0000 (12:42 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I3b667412ed69688048e92d7855ddf85b58364311

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 31 Oct 2017 11:42:32 +0000 (12:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ie5dcdae589b1c1e81019e25914e315c7c0f39eb9

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Tue, 31 Oct 2017 11:42:31 +0000 (12:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I74b2938bb1e09131e2e3e2c22515e18ed3970138

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Tue, 31 Oct 2017 11:42:28 +0000 (12:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: If71ec6d93e19e3dd2744f9c1375ec08553dec392

6 years agoAdd missing barrier to texel_view_compatible tests
Maciej Jesionowski [Mon, 23 Oct 2017 10:14:36 +0000 (12:14 +0200)]
Add missing barrier to texel_view_compatible tests

There was no GPU to Host barrier. GPU writes are not automatically
visible to the Host.

Affected tests: dEQP-VK.image.texel_view_compatible.compute.*
VK-GL-CTS issue: 786
Components: Vulkan

Change-Id: I47797add1c5e48dfa1a7c7be8897e822091c2044

6 years agoVK_KHR_variable_pointers: Don't use OpPtrAccessChain on a bare SSBO
Jason Ekstrand [Thu, 19 Oct 2017 16:07:52 +0000 (09:07 -0700)]
VK_KHR_variable_pointers: Don't use OpPtrAccessChain on a bare SSBO

You can't use OpPtrAccessChain on the direct result of an OpVariable
because it's not the element of any array.  Instead, we need to do our
OpPtrAccessChain on a pointer to an actual array element and that
pointer needs to be properly decorated with a stride.

Component: Vulkan

VK-GL-CTS issue: https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/686

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.multi_buffer_*

Change-Id: I9c45fb1320099e404672ee169a6a8e5c41eb13f7

6 years agoVK_KHR_variable_pointers: Delete an unused and invalid variable
Jason Ekstrand [Thu, 19 Oct 2017 15:43:36 +0000 (08:43 -0700)]
VK_KHR_variable_pointers: Delete an unused and invalid variable

The %float_var variable was not being used in any way by the test.  It
was also invalid because it had the StorageBuffer storage class (so it's
in external memory) but also had a constant initializer.  The real
variable being tested in these tests is %f32_ptr_var which has the
Function storage class so a constant initializer is fine.

Component: Vulkan

VK-GL-CTS issue: https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/686

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.nullptr_graphics.opvariable_initialized_null_*
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.nullptr_graphics.opselect_null_or_valid_ptr_*

Change-Id: I9e2f118b1c774a84c0b6900ef0db081cb5256c2f

6 years agoFix attribute mapping in enhanced layouts tests for input arrays
Iago Toral Quiroga [Mon, 2 Oct 2017 11:10:20 +0000 (13:10 +0200)]
Fix attribute mapping in enhanced layouts tests for input arrays

Some tests in KHR-GL45.enhanced_layouts.varying_* (specifically
KHR-GL45.enhanced_layouts.varying_array_{locations,components})
use input arrays on the vertex shader, however, the code
that uploads vertex data for these (and other test cases) doesn't
account for arrays at all.

Also, the tests in this category that call
TextureTestBase::prepareAttributes to do the VAO setup seem to
provide inconsistent values for variable.m_descriptor.m_offset,
which also leads to incorrect vertex attribute mappings.
Specifically, in the 'component' variants of these tests
(such as varying_array_components), two different input variables
have m_offset = 0, which has the consequence that we end up
computing a vertex buffer with a size that's only big enough to
fit one of the inputs and we overwrite the data for the first
input with the data for the second input when we setup the VAO,
however, the 'location' variants (such as varying_array_locations),
see different offsets for different input variables, which leads to
a different VAO setup.

Components: OpenGL
VK-GL-CTS issue: 739

Affects:
KHR-GL45.enhanced_layouts.varying_*
KHR-GL46.enhanced_layouts.varying_*

Change-Id: Icec238a970e2cd67d6109a25fba980f756abb71b

6 years agoSeveral fixes for texture_size_promotion
Juan A. Suarez Romero [Wed, 18 Oct 2017 09:37:27 +0000 (09:37 +0000)]
Several fixes for texture_size_promotion

Specifically, this changeset fixes:

- Check for unsupported framebuffer configurations
- Setup data for depth/stencil textures
- Explicitly set minification/magnification filters
- Deal with the corner cases in precision when using fixed-point
textures.

Affects:

KHR-GL45.texture_size_promotion.functional
KHR-GL46.texture_size_promotion.functional

Components: OpenGL

VK-GL-CTS issue: 783

Change-Id: I3f191084b2a604f1a743759905d641d2b13db2ad

6 years agoRespect GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
Iago Toral Quiroga [Tue, 17 Oct 2017 07:58:57 +0000 (09:58 +0200)]
Respect GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS

KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api
generates shaders that capture XFB for varyings of all types.
For the cases of dmat4x3, dmat3x4 and dmat4, this requires
over 64 transform feedback components in total, which is larger
than the minimum value that implementations are required to
support for GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
which the OpenGL 4.6 spec sets in 64. For implementations that
support this minimum, the generated shaders are invalid and
expected to fail to link.

Check the required component size of the XFB for the generated
shaders and skip them if they exceed the implementation limit.
At worse, for implementations that only support the minimum
number of transform feedback components required by the spec
it would only skip the 3 largest types (out of 34 being tested).

Components: OpenGL
VK-GL-CTS issue: 776

Affects:
KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api

Change-Id: I51c9da494f96a0746f74116f817d99afd070a9ee

6 years agoComponent aliasing on vertex inputs is allowed
Iago Toral Quiroga [Wed, 18 Oct 2017 10:08:54 +0000 (12:08 +0200)]
Component aliasing on vertex inputs is allowed

From the OpenGL 4.6 spec, section 11.1 Vertex shaders,
page 384:

"It is possible for an application to bind more than one
 attribute name to the same location. This is referred
 to as aliasing. This will only work if only one of the
 aliased attributes is active in the executable program,
 or if no path through the shader consumes more than one
 attribute of a set of attributes aliased to the same
 location. A link error can occur if the linker determines
 that every path through the shader consumes multiple
 aliased attributes, but implementations are not required
 to generate an error in this case."

The varying_location_aliasing_with_mixed_types enhanced
layouts test generates negative tests to check that
component aliasing produces linker errors for all shader
stages, including vertex shaders when the aliasing occurs
on the vertex inputs. By the citation above, the spec
doesn't mandate implementations to produce an error in
this case, so these particular tests are invalid.

This change removes the test cases that expect an error
to be generated for shaders with component aliasing on
vertex shader inputs.

Components: OpenGL
VK-GL-CTS issue: 781

Affects:
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_types

Change-Id: Ie1cafc92c4b7023c3d911ec5fe883dad297029d5

6 years agoOnline compression for ETC2 compressed formats is not required
Eleni Maria Stea [Tue, 13 Jun 2017 07:08:08 +0000 (09:08 +0200)]
Online compression for ETC2 compressed formats is not required

The DSA compressed texture tests currently require online compression for
ETC2 formats but drivers are not required to support this. Since the purpose
of the test is not to test the compression, when a compression format is not
supported we use already compressed data.

Components: OpenGL
VK-GL-CTS issue: 497

Affects:
KHR-GL45.direct_state_access.textures_compressed_subimage

Change-Id: Icff52745e9cf7a2acb39aea71d31f4ff827ea01c

6 years agoDelete incorrect invalid map transform feedback subtest.
Kenneth Graunke [Thu, 12 Oct 2017 04:39:05 +0000 (21:39 -0700)]
Delete incorrect invalid map transform feedback subtest.

The citation given in this test comes from the OpenGL man pages, which
are not authoritative.  The ES 3.2 and GL 4.x specifications say:

   "Effects of Mapping Buffers on Other GL Commands

    Any GL command which attempts to read from, write to, or change the
    state of a buffer object may generate an INVALID_OPERATION error if
    all or part of the buffer object is mapped. However, only commands
    which explicitly describe this error are required to do so. If an
    error is not generated, using such commands to perform invalid
    reads, writes, or state changes will have undefined results and may
    result in GL interruption or termination."

Importantly, it says "_may_ generate an INVALID_OPERATION error".  Some
drivers choose not to implement this to avoid the CPU overhead required
to enforce this optional restriction.

Affects:
- KHR-*.transform_feedback.api_errors_test

VK-GL-CTS issue: 765

Change-Id: I34ca78926fe0f311db096de98b71e0981ee91d53
Components: OpenGL

6 years agoYCbCr image views need a VkSamplerYcbcrConversionInfo
Tom Cooper [Wed, 25 Oct 2017 06:26:39 +0000 (08:26 +0200)]
YCbCr image views need a VkSamplerYcbcrConversionInfo

Ensure the image views are created using the
VkSamplerYcbcrConversionInfo object via the pNext
chaining, as this is mandated by the Spec.

Affects:
dEQP-VK.ycbcr.query.*

Components: Vulkan

VK-GL-CTS issue: 788

Change-Id: If641b08432c26ca5b32c084c4c0b9c7f935bcb94

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 27 Oct 2017 09:58:34 +0000 (11:58 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: If68842d1d3dc3ae819477948da5a66f6c1fbedc1

6 years agogl_PrimitiveIDIn tests have sketchy loop bounds.
Marcin Rogucki [Wed, 25 Oct 2017 11:33:44 +0000 (13:33 +0200)]
gl_PrimitiveIDIn tests have sketchy loop bounds.

Components: Vulkan

VK-GL-CTS issue: 778

Updates:
dEQP-VK.geometry.basic.primitive_id_in
dEQP-VK.geometry.basic.primitive_id_in_restarted

Change-Id: Icd2be56814de18067ce058a5f2a1da80338f80d6

6 years agoTest separate and combined images and samplers in SPIR-V
Paavo Pessi [Fri, 15 Sep 2017 07:05:52 +0000 (10:05 +0300)]
Test separate and combined images and samplers in SPIR-V

Tests were added to verify that the following Image Instructions
work with related descriptor types in all possible shader stages:

OpImageRead
- Storage image

OpImageFetch
- Sampled image with separate sampler
- Combined image sampler

OpImageSampleExplicitLod
- Sampled image with separate sampler
- Combined image sampler

The following scenarios are covered to verify that images and samplers
work as function parameters and that you can combine an image and a
sampler both before and after passing it into a function.

- Use image and sampler as local variables
- Pass image to function
- Pass sampler to function
- Pass image and sampler to function

New tests:

dEQP-VK.spirv_assembly.instruction.graphics.image_sampler.*
dEQP-VK.spirv_assembly.instruction.compute.image_sampler.*

Components: Vulkan

VK-GL-CTS issue: 104

Change-Id: I1de35fc0099881b3242f6e953a5c9624004e0f3e

6 years agoCopy the gles3/graphicsfuzz data to the output dir
Piers Daniell [Tue, 3 Oct 2017 22:08:51 +0000 (16:08 -0600)]
Copy the gles3/graphicsfuzz data to the output dir

Without this there is no gles3/graphicsfuzz data and
the tests fail.

Affects:

dEQP-GLES3.functional.shaders.metamorphic.synthetic.*

VK-GL-CTS issue: 792

Components: OpenGL

Change-Id: Ibb9627afd83d35ab4ae1b02235eb4a65f4cd7722

6 years agoSkip non accelerated pixel format
Jeannot Breton [Fri, 6 Oct 2017 13:56:17 +0000 (08:56 -0500)]
Skip non accelerated pixel format

They were previously skipped in older CTS version,
but when we reorganized the code to merge all CTS together the
related code got remove

We also fix the way we detect hardware acceleration

Affects:

pixel formats selected by cts-runner on Windows

Components: OpenGL

VK-GL-CTS issue: 692

Change-Id: I9968d85b555fe41aea8e64b885f182407e1ce95e

6 years agoCopyImageSubData with integer textures
Piotr Byszewski [Fri, 8 Sep 2017 12:51:58 +0000 (14:51 +0200)]
CopyImageSubData with integer textures

Make sure that glCopyImageSubData does not generate
GL_INVALID_OPERATION during copying from a single level integer
texture, with BASE_LEVEL and MAX_LEVEL set to 0 and with the
mipmap filters at the default of GL_NEAREST_MIPMAP_LINEAR and
GL_LINEAR.

Components: OpenGL

VK-GL-CTS issue: 607

Affects:
KHR-GL43.copy_image.integer_tex
KHR-GLES32.core.copy_image.*

Change-Id: Ia160481547fed4266cb51ad0fbec89db4407bf8b

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 20 Oct 2017 10:49:08 +0000 (12:49 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I92e28dc57ffab7e704338d241533b0ab1505015c

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 20 Oct 2017 10:49:07 +0000 (12:49 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I5a9a2484a8f7e7a70466db2ebd6af4f402279021

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 20 Oct 2017 09:13:01 +0000 (11:13 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Idc483ba07b1f343dbd56002b429fb242fd69e963

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 20 Oct 2017 09:12:53 +0000 (11:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Idcd9a5b1332d2078b460c7563d10fffa24172a7a

6 years agoAdd tests to use OpPhi with various variable types
Jari Komppa [Tue, 12 Sep 2017 12:00:59 +0000 (15:00 +0300)]
Add tests to use OpPhi with various variable types

Based on the spec, OpPhi should be able to handle any variable type.
These tests use various variable types (int, float, vec3, mat4, array
and struct) with the OpPhi instruction.

All of the tests are of the form:

    testtype r

    if (indata > 0)
        r = 1
    else
        r = -1

    return (float)r

Affects:

dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_int
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_vec3
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_mat4
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_array
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_struct

Components: Vulkan

VK-GL-CTS issue: 259

Change-Id: I2d090d06c52c904d66b35f8cee5f2895a2087069

6 years agoUpdate README for Vulkan multi-device platforms
Piers Daniell [Tue, 17 Oct 2017 20:11:55 +0000 (14:11 -0600)]
Update README for Vulkan multi-device platforms

Added some language to the Vulkan CTS README describing the
valid CTS log criteria for products that are multi-device
capable.

Change-Id: Ia5d39d5ab2c14b73bcad09531065b7dc5251c14b
Components: Vulkan

6 years agoAvoid hitting fp16 NaN values
Piers Daniell [Wed, 18 Oct 2017 17:01:13 +0000 (11:01 -0600)]
Avoid hitting fp16 NaN values

Modify the test references values to avoid situations where
they hit NaN values when viewed as fp16. This can happen
when uploading {0.1, 0.5, 0.9, 0.2} to r8g8b8a8_unorm which,
depending on the rounding of the 0.5, could end up as a 0x7F
value which when viewed as the MSB of a fp16 value is a NaN.

Affects:

dEQP-VK.image.mutable.*

Components: Vulkan

VK-GL-CTS Issue: 784

Change-Id: I2adbd27aa7d94254c9f19d788eacace2ea95d10c

6 years agoFix subgroups basic test
Arkadiusz Sarwa [Thu, 19 Oct 2017 12:08:13 +0000 (14:08 +0200)]
Fix subgroups basic test

Affects:
dEQP-VK.subgroups.basic.*_fragment_framebuffer

Components: Vulkan

VK-GL-CTS issue: 782

Change-Id: I54a125af75863e7dd56bf1c3785ee5e51be3d7b4

6 years agoAvoid watchdog timeout in Vulkan builtin precision tests
Chris Forbes [Mon, 16 Oct 2017 19:42:35 +0000 (12:42 -0700)]
Avoid watchdog timeout in Vulkan builtin precision tests

Calculating the reference intervals can take a substantial amount of
time. On some very slow targets, this can cause us to trip the watchdog
in the verification loop.

Same approach and limit as in modules/glshared/glsBuiltinPrecisionTests.cpp

Affected tests:
dEQP-VK.glsl.builtin.precision.*

Component: Vulkan

Bug: 67854695
Test: run on google devices
Change-Id: I492b656e7e2a9aa724bb3785bdf1416a4c22ec04

6 years agoUse env.apiVersion when creating instance for object management test group
Mais Alnasser [Sun, 15 Oct 2017 19:10:59 +0000 (15:10 -0400)]
Use env.apiVersion when creating instance for object management test group

Affects: dEQP-VK.api.object_management.single.device_group

Components: Vulkan

VK-GL-CTS issue: 773

Change-Id: Ie6673133bc4d0de352b054fa797e2455433423d2

6 years agoFix compile error caused by usage of unit32_t instead of deUint32
Mais Alnasser [Sun, 15 Oct 2017 15:16:15 +0000 (11:16 -0400)]
Fix compile error caused by usage of unit32_t instead of deUint32

Affects: Compilation

Components: Vulkan

VK-GL-CTS issue: 774

Change-Id: Ibc647d3714a818b61f99d1fc67903a24f59f8d6a

6 years agoDo not use SFR bindings when device group has 1 device
Vikram Kushwaha [Wed, 18 Oct 2017 19:55:03 +0000 (12:55 -0700)]
Do not use SFR bindings when device group has 1 device

As per the spec, when device group has 1 device:
sfrRects must not be specified
image create flag should not contain the BIND_SFR_BIT

Also use peer memory reads if VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT
is supported. This saves an additionaly copy in the test.

VK-GL-CTS issue: 779

Change-Id: Ic316fc8858886f99156dc1b9c0a0810b3f48e714
Affects: dEQP-VK.device_group.sfr*
Components: Vulkan

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 18 Oct 2017 14:11:13 +0000 (16:11 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Icd24f4ebdc1ea669b153b9177032bf97aa0460fc

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 18 Oct 2017 10:25:16 +0000 (12:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I81eab0d3c761f50892d6b79585f69d8b6007a6ff

6 years agoUse fill data that varies within 4 bytes boundaries
Lionel Landwerlin [Wed, 4 Oct 2017 15:34:16 +0000 (16:34 +0100)]
Use fill data that varies within 4 bytes boundaries

We found a driver issue in the Intel Mesa driver where we used
R8G8B8A8 format to fill buffers which means it was swizzling the bytes
of the data given through the vulkan API.

This changes fills the data with different values for every byte so we
can detect such issues.

VK-GL-CTS issue: 743

Affects: dEQP-VK.api.fill_and_update_buffer*
Components: Vulkan
Change-Id: Id8ac8958b443f7384e93a8fbe11bf49202332f7c

6 years agoAdd test for reading samples from previous subpass.
Ari Suonpaa [Mon, 18 Sep 2017 13:09:52 +0000 (16:09 +0300)]
Add test for reading samples from previous subpass.

Added new test under renderpass group where two subpasses are run
and the second one reads samples from the first. This verifies any
of the samples from an input attachment can be read.

Affects: dEQP-VK.renderpass.sampleread.*

Components: Vulkan

VK-GL-CTS issue: 636

Change-Id: I8863a31cbfade75581e0874c936f87e8b23a1619

6 years agoMake 420pack 'binding' layout qualifier tests check MAX_*_IMAGE_UNIFORMS
Kenneth Graunke [Mon, 25 Sep 2017 04:18:11 +0000 (21:18 -0700)]
Make 420pack 'binding' layout qualifier tests check MAX_*_IMAGE_UNIFORMS

Image uniform support is not mandatory for the VS/TCS/TES/GS stages,
so GL_MAX_*_IMAGE_UNIFORMS can report 0.  On such an implementation,
these tests would fail.

This patch skips image testing in any such stages, making them
essentially passthrough shaders.

In BindingImageSingleTest, we also put the binding qualifier in the
fragment shader stage if the stage where we'd normally put it doesn't
support images.  This way, it's guaranteed to exist in at least one
shader stage.

Components: OpenGL

VK-GL-CTS issue: 712

Affects:
* KHR-GL45.shading_language_420pack.binding_images
* KHR-GL45.shading_language_420pack.binding_image_api_override
* KHR-GL45.shading_language_420pack.binding_image_array
* KHR-GL45.shading_language_420pack.binding_image_single
* KHR-GL45.shading_language_420pack.binding_image_default

Change-Id: Ic9eceb4472edff87d5de54ec6318cdb856b0bb8d

6 years agoSkip impossible shader stages in image load store max uniforms test.
Kenneth Graunke [Sun, 24 Sep 2017 23:18:11 +0000 (16:18 -0700)]
Skip impossible shader stages in image load store max uniforms test.

Implementations not required to support images in the geometry stages,
and are allowed to advertise 0 for:

    * GL_MAX_VERTEX_IMAGE_UNIFORMS
    * GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS
    * GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS
    * GL_MAX_GEOMETRY_IMAGE_UNIFORMS

This means that gl_Max*ImageUniforms may be 0, which means that

    #define N_UNIFORMS gl_MaxVertexImageUniforms
    layout(r32i) uniform iimage2D u_image[N_UNIFORMS];

will define a zero sized array, which is illegal.  To work around this,
simply skip stages that have zero supported image uniforms - there's
nothing to test there, anyway.

Components: OpenGL

VK-GL-CTS issue: 712

Affects:
* KHR-GL45.shader_image_load_store.uniform-limits

Change-Id: I14116ff8b4714e04b35ce0929ed68ed0f38e7d52

6 years agoBroadcom Waiver Request for #757
Graeme Leese [Mon, 9 Oct 2017 10:17:28 +0000 (11:17 +0100)]
Broadcom Waiver Request for #757

VK-GL-CTS issue: 757
Affected tests:
dEQP-VK.draw.inverted_depth_ranges.nodepthclamp_deltazero

Component: Vulkan

Change-Id: I22500562b83716697be98605a2b44de83e3132a0

6 years agoAdd tests for inverted depth ranges.
Ari Suonpaa [Thu, 14 Sep 2017 08:02:24 +0000 (11:02 +0300)]
Add tests for inverted depth ranges.

Added a new test under draw group that draws a triangle with
interpolated depth values. Viewport minDepth and maxDepth is
configured so that minDepth >= maxDepth. Test is run with both
depth clamp enabled and disabled.

Affects: dEQP-VK.draw.inverted_depth_ranges.*

Components: Vulkan

VK-GL-CTS issue: 616

Change-Id: I68ff5ea420831600a7cfcc0741820802bb745bdc

6 years agoTest if GL_FRAGMENT_PRECISION_HIGH is exposed
Piotr Byszewski [Thu, 14 Sep 2017 09:34:18 +0000 (11:34 +0200)]
Test if GL_FRAGMENT_PRECISION_HIGH is exposed

GL_FRAGMENT_PRECISION_HIGH macro should be exposed in all ES shaders
from version 300 es onwards, as well as in version 100.

Components: OpenGL

VK-GL-CTS issue: 11

Affects:
KHR-GLES3.core.shader_macros.*
KHR-GLES31.core.shader_macros.*
KHR-GLES32.core.shader_macros.*

Change-Id: I8612a5ebe2c565405ae27319d821a0d6cae4fa52

6 years agoAdd Shader Binary Multiple Shader Objects test case proposal
Adam Czupryna [Wed, 4 Oct 2017 12:44:03 +0000 (14:44 +0200)]
Add Shader Binary Multiple Shader Objects test case proposal

This is Shader Binary Multiple Shader Objects test case proposal to
CTS_ARB_gl_spirv specification.

Components: OpenGL

VK-GL-CTS issue: 554

Change-Id: I05817ca5e8daf5f1e08a849a67de3784376f317a

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 13 Oct 2017 07:24:45 +0000 (09:24 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I1633067088bf47e3b50ad4a9202351954b5ba38e

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 13 Oct 2017 07:24:43 +0000 (09:24 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ief4d74bb43002c377e9bcfa941dd80bc627b68b1

6 years agoIgnore the patch number when comparing apiVersions
Piers Daniell [Thu, 12 Oct 2017 18:09:00 +0000 (12:09 -0600)]
Ignore the patch number when comparing apiVersions

Modify the getSpirvVersionForAsm() and getSpirvVersionForGlsl()
functions to ignore the patch version number when checking
for Vulkan 1.0 vs Vulkan 1.1. It's often the case that the loader
or implementation will have a non-zero patch number to indicate
what version of the spec and vulkan header they built with.

Affects: startup

Components: Vulkan

VK-GL-CTS issue: 767

Change-Id: I947cb43db5e1f93e5b0b9cb93d205863b8e3c4b1

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 12 Oct 2017 12:36:27 +0000 (14:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I4fe1159997a93972dc02245ec3134e8aa159461e

6 years agoDetect Core VK 1.1 device_group_creation support
Daniel Koch [Thu, 12 Oct 2017 05:25:39 +0000 (01:25 -0400)]
Detect Core VK 1.1 device_group_creation support

Check if the core version of VK_KHR_device_group_creation
is supported in addition to checking for the extension string.

VK-GL-CTS Issue: 766
Component: Vulkan
Affects: dEQP-VK.api.object_management.*device_group

Change-Id: I5d3ee7733293d27e9ae94cdc085b85ea144be445

6 years agoDelete incorrect invalid map CTS tests.
Kenneth Graunke [Fri, 8 Sep 2017 23:18:49 +0000 (16:18 -0700)]
Delete incorrect invalid map CTS tests.

The citation given in these tests comes from the OpenGL man pages, which
are not authoritative.  The ES 3.2 and GL 4.x specifications say:

   "Effects of Mapping Buffers on Other GL Commands

    Any GL command which attempts to read from, write to, or change the
    state of a buffer object may generate an INVALID_OPERATION error if
    all or part of the buffer object is mapped. However, only commands
    which explicitly describe this error are required to do so. If an
    error is not generated, using such commands to perform invalid
    reads, writes, or state changes will have undefined results and may
    result in GL interruption or termination."

Importantly, it says "_may_ generate an INVALID_OPERATION error".  Some
drivers choose not to implement this to avoid the CPU overhead required
to enforce this optional restriction.

Affects:
- KHR-*.draw_elements_base_vertex_tests.invalid_mapped_bos

VK-GL-CTS issue: 682

Components: OpenGL

Change-Id: I4c0f7785ca7a747145591d071dda6e5231c787d4
(cherry picked from commit 6a50dd2a2cd0a3f867fe6bdabbf8dc9fb678fb99)

6 years agoRemove OpUConvert to signed integer tests
Andrey Tuganov [Thu, 28 Sep 2017 21:18:51 +0000 (17:18 -0400)]
Remove OpUConvert to signed integer tests

OpUConvert only convers to unsigned integers.

Affects: dEQP-VK.spirv_assembly.instruction.
compute.uconvert.*
Components: Vulkan

VK-GL-CTS issue: 720

Change-Id: I68b13c8584d64359e52910091347de03b933ba42

6 years agoFix VK version selection in version_check.entry_points test
Slawomir Cygan [Wed, 11 Oct 2017 12:17:25 +0000 (14:17 +0200)]
Fix VK version selection in version_check.entry_points test

The test was validating only VK1.0 entrypoints due to wrong
version check.

Components: Vulkan
VK-GL-CTS Issue: 764
Affects: dEQP-VK.api.version_check.entry_points

Change-Id: Id555746f79d40c06cc8a95013608f9a1928847e2

6 years agoout_of_pool_memory test reports wrong error code
Marcin Rogucki [Wed, 11 Oct 2017 09:26:33 +0000 (11:26 +0200)]
out_of_pool_memory test reports wrong error code

While creating default device a device version was used to select
enabled extensions however this should be based on used API version
(a minimum of Vulkan version and device version). It is fixed now.

Component: Vulkan

VK-GL-CTS issue: 763

Affects: dEQP-VK.api.descriptor_pool.out_of_pool_memory

Change-Id: I879d296ab56c1e2118dca84845cce6abc0e75f92

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 11 Oct 2017 10:43:56 +0000 (12:43 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Id4156b8ccad911a74b1fd37fcdd192b34bf6e0d3

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Wed, 11 Oct 2017 10:43:53 +0000 (12:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I630355a8c937c0fcd2ea102e5b1dcce81eb58753

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 11 Oct 2017 08:40:37 +0000 (10:40 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I998f296e07bedac45f573ea566471bab6a565cdd

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 11 Oct 2017 07:30:29 +0000 (09:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ibf799f77f92370fc54a6538ba34c5af23b774731

6 years agodEQP-VK.ycbcr.* tests throw NotSupported incorrectly
Marcin Rogucki [Mon, 9 Oct 2017 13:56:44 +0000 (15:56 +0200)]
dEQP-VK.ycbcr.* tests throw NotSupported incorrectly

Generic way of checking samplerYcbcrConversion support
added to DefaultDevice and Context.
Used in dEQP-VK.ycbcr.* tests group in checkImageSupport() function.

Component: Vulkan

VK-GL-CTS issue: 755

Affects: dEQP-VK.ycbcr.*

Change-Id: I0774a476f7ed94351c00387bc2e75d9c09492970

6 years agoDispatch base test does not enable pipeline flag
Marcin Rogucki [Tue, 10 Oct 2017 09:04:05 +0000 (11:04 +0200)]
Dispatch base test does not enable pipeline flag

dEQP-VK.compute.device_group.dispatch_base does not enable pipeline flag which violates valid usage rule: If any of baseGroupX, baseGroupY, or baseGroupZ are not zero, then the currently bound
compute pipeline must have been created with the VK_PIPELINE_CREATE_DISPATCH_BASE flag.

An overloaded method vktComputeTestsUtil.cpp::makeComputePipeline was added that allows to pass additional parameters:
- flags for pipeline creation
- flags for compute shader creation
Old method redirected to call a new one with flags set to zero.

A method vktComputeTestsUtil.cpp::makePipelineLayout no longer takes useDeviceGroups parameter and always sets pipeline layout flags to 0.

New method used in test with proper flags passed in.

Component: Vulkan

VK-GL-CTS issue: 760

Affects: dEQP-VK.compute.device_group.dispatch_base

Change-Id: I2c7400a55809b28bb7096dcdfeba2095c1541e1b

6 years agoAdjust the result verification in loop_control tests
Slawomir Cygan [Tue, 10 Oct 2017 16:13:51 +0000 (18:13 +0200)]
Adjust the result verification in loop_control tests

Change epsilon value to 0.001f

Component: Vulkan
VK-GL-CTS issue: 742
Affects: dEQP-VK.spirv_assembly.instruction.compute.loop_control.*

Change-Id: I4601e026e53a2b4256f77b690c6938ac53d5991b

6 years agoAdd multiple contexts tests
Piotr Byszewski [Fri, 25 Aug 2017 11:39:58 +0000 (13:39 +0200)]
Add multiple contexts tests

multiple_contexts test (one of shader_subroutine tests) was modified
and moved to contextless module. Shared contexts functionality was
restored in framework.

Components: Framework, OpenGL

VK-GL-CTS issue: 612

Affects:
KHR-NoContext.gl40.multiple_contexts.uniform_preservation
KHR-GL40.shader_subroutine.multiple_contexts

Change-Id: Id170ef37c2e3c488095663c91788978223d356ec
(cherry picked from commit 1b91247d4ad206cbdbef731a2bac9151d6ddda70)

6 years agoRemove ES3PlusWrapperContext
Piotr Byszewski [Thu, 7 Sep 2017 13:35:02 +0000 (15:35 +0200)]
Remove ES3PlusWrapperContext

ES3PlusWrapperContext is not maintained anymore.

Components: Framework

Change-Id: I4327c219d6fd0362da89449884be48c1109a9b62
(cherry picked from commit bda54aaefe2ce0c6bf05b1fc58b98721b9a9f1a2)

6 years agoUpdate Vulkan README
Alexander Galazin [Tue, 10 Oct 2017 07:36:18 +0000 (09:36 +0200)]
Update Vulkan README

Update references to the mustpass location,
parameterize package name.

Components: Vulkan

VK-GL-CTS issue: 759

Change-Id: I4f15a1aa5eb54ad4b11e3b7a3a5a391fe81b9dac

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 10 Oct 2017 10:34:45 +0000 (12:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I8fa318217c29eec5279e9940f613c082dc69ce8b

6 years agoExclude invalid spirv_assembly indexing cases
Maciej Jesionowski [Tue, 10 Oct 2017 09:29:26 +0000 (11:29 +0200)]
Exclude invalid spirv_assembly indexing cases

32 bit int cases were trying to convert to the same bit width, which is
forbidden by the spec. We can safely remove these cases as all other
tests in this group use 32 bit access, so no coverage is lost.

Excluded tests:
* dEQP-VK.spirv_assembly.instruction.*.indexing.*u32*
* dEQP-VK.spirv_assembly.instruction.*.indexing.*s32*

VK-GL-CTS issue: 702
Components: Vulkan

Change-Id: I049ab07824a92f757829c4db810ab099a3fb59e6

6 years agoAlways apply flat qualifier to double inputs, same as int/uint
Ilia Mirkin [Sat, 9 Sep 2017 22:27:30 +0000 (18:27 -0400)]
Always apply flat qualifier to double inputs, same as int/uint

Affects:

KHR-GL45.enhanced_layouts.varying_structure_locations

Components: OpenGL

GitHub Issue: #53

(cherry picked from commit 878a6a5a8343b710ff7a7fcff0c219a25d0c4368)

Change-Id: I84de1d9b42695034a7b2f60c3fc5a19213733085

6 years agoTest EXT_shader_group_vote using variables
Piotr Byszewski [Tue, 19 Sep 2017 14:53:49 +0000 (16:53 +0200)]
Test EXT_shader_group_vote using variables

Current tests call shader group functions passing directly True/False
values. This change adds test that verifies new functions using
variables.
This change also reduces workgroup size for ES as all tests were
previously using workgroup size that was greater than the minimum
required.

Components: OpenGL

VK-GL-CTS issue: 693

Affects:
KHR-GL45.shader_group_vote.*
KHR-GLES31.core.shader_group_vote.*

Change-Id: Icbb5c278c65edd04fe339e31934df7624834c439

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Tue, 10 Oct 2017 07:11:48 +0000 (09:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I1c26d0567159f88871148d48d2509e469a3c8abf

6 years agoVK_KHR_incremental_present: Trigger the fence off vkQueueSubmit
Jason Ekstrand [Fri, 6 Oct 2017 23:10:26 +0000 (16:10 -0700)]
VK_KHR_incremental_present: Trigger the fence off vkQueueSubmit

Previously, the tests were using AcquireNextImage to trigger the fence
and using it to guard the vkFreeCommandBuffers call.  However, the
acquire fence tells you when the PE is done with an image and when you
can start rendering to it.  This meant that the test was waiting for the
start of the previous frame's rendering not the end before deleting the
previous frame's command buffer.  This meant that the previous frame's
rendering could still be active on the GPU when the command buffer was
freed.  By triggering the fence off of the vkQueueSubmit, we wait for
the end of the previous frame's rendering before freeing its command
buffer.

VK-GL-CTS issue: 756

Component: Vulkan

Affects:
dEQP-VK.wsi.*.incremental_present.*

Change-Id: I87b25eb2a25e4ae48c8c527d5d63c45d89a31a30
(cherry picked from commit db916576a76a17c02c14390fc5d5b3db1488d1d2)

6 years agoDrawUtil: Fix depthBounds check
Igor Ostrowski [Mon, 9 Oct 2017 14:41:31 +0000 (16:41 +0200)]
DrawUtil: Fix depthBounds check

Affects:
dEQP-VK.glsl.builtin_var.fragdepth*

Components: Vulkan

VK-GL-CTS issue: 758

Change-Id: I4da79b236921e64f11566fe386b144497249123b

6 years agoFix KHR-GL45/46.enhanced_layouts.varying_block_member_locations
Eleni Maria Stea [Wed, 20 Sep 2017 11:28:40 +0000 (14:28 +0300)]
Fix KHR-GL45/46.enhanced_layouts.varying_block_member_locations

The stages of the same program used in/out blocks that didn't match
(see section 4.7.1 in OpenGL 4.5 spec: qualification mismatch) and as a
result a linker error was produced. With this change all stages use the
same block definition which is either the 1st or the 2nd depending on
the iteration but not both at the same time:

Goku {
    vec4 gohan;
    vec4 goten;
    vec4 chichi;
} gokuARRAY;

Goku {
    layout (location = 2) vec4 gohan;
    layout (location = 4) vec4 goten;
    layout (location = 6) vec4 chichi;
} gokuARRAY;

Affects:

KHR-GL46.enhanced_layouts.varying_block_member_locations
KHR-GL45.enhanced_layouts.varying_block_member_locations

Components: OpenGL

VK-GL-CTS issue: 703

Change-Id: I03a6a90929e28489a2507838003c62475a8a58b8
(cherry picked from commit 4b6462e469359ac7ddec9c63d042e43ead6031fc)

6 years agoIncrease negative GLSL coverage
Piotr Byszewski [Thu, 14 Sep 2017 14:06:49 +0000 (16:06 +0200)]
Increase negative GLSL coverage

GLSL and ESSL specify that the following are legal declarations:
  int;
  int ,a;
while the following are not:
  struct foo { int; };
  struct bar { int ,a; };
  int a,;

Components: OpenGL

VK-GL-CTS issue: 7

Affects:
KHR-GL33.shaders.declarations.*
KHR-GLES3.shaders.declarations.*

Change-Id: Ib1735ca96e4ce7be60fa0ca91c64f7392b237605

6 years agoIncrease coverage for robustness
Piotr Byszewski [Mon, 7 Aug 2017 12:12:55 +0000 (14:12 +0200)]
Increase coverage for robustness

Out-of-range fetching tests verify fetches 4K, 1MB and 10MB past
the end of the object.

Components: OpenGL

VK-GL-CTS issue: 16

Affects:
KHR-GL43.robust_buffer_access_behavior.*
KHR-GLES32.robust.robust_buffer_access_behavior.*

Change-Id: Ibad4eb3e30f3dc48b2d5ecb4781014a4374e4dc5

6 years agoTests mixing UB/SSB with and without instance names
Piotr Byszewski [Fri, 15 Sep 2017 13:36:25 +0000 (15:36 +0200)]
Tests mixing UB/SSB with and without instance names

Matched uniform or shader storage block names (but not input or
output block names) must also either all be lacking an instance
name or all having an instance name.

Components: OpenGL

VK-GL-CTS issue: 3

Affects:
KHR-GL43.shader_storage_buffer_object.basic-name-match
KHR-GLES31.core.shader_storage_buffer_object.basic-name-match
KHR-GL33.shaders.uniform_block.common.name_matching
KHR-GLES3.shaders.uniform_block.common.name_matching

Change-Id: I7dc3476272d6f3fca3faa7e6bc57a008bce0e17f

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Mon, 9 Oct 2017 08:32:25 +0000 (10:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I3cef9c5da6238a99dcb3f96cdbe356963c79d88d