platform/upstream/VK-GL-CTS.git
5 years agofix memory initialization in subgroups
Daniel Koch [Thu, 28 Mar 2019 14:59:02 +0000 (10:59 -0400)]
fix memory initialization in subgroups

Stop allocating 4x extra memory for all buffers, and include the layout
so that the allocator knows when to pad out arrays with extra memory.

Based off Vulkan version of the change: https://gerrit.khronos.org/#/c/3657/

Component: OpenGL
VK-CL-CTS Issue: 1698

Affects:
- KHR-Single-GL*.subgroups.*

Change-Id: I0439da6cdf435f44a74c2e8f8b06d5acdf8b7c65

5 years agoAdd "single config" mustpass for GL and ES
Daniel Koch [Thu, 28 Mar 2019 14:59:02 +0000 (10:59 -0400)]
Add "single config" mustpass for GL and ES

Currently all "normal" tests get run for every window config.
However some tests (the subgroup tests being a good example) don't do
any on-screen rendering or are otherwise affected by the default
framebuffer and there is no point in running the (possibly long-running)
tests on every config.
This adds a new "single config" must pass list that only gets run on
the first config, and moves the subgroup tests into this new mustpass.

Component: OpenGL, Framework
VK-CL-CTS Issue: 1698

Affects:
- KHR-GL46.subgroup.* (removed)
- KHR-GL45.subgroup.* (removed)
- KHR-GLES32.khr.subgroup.* (removed)
- KHR-Single-GL46.subgroups.* (added)
- KHR-Single-GL45.subgroups.* (added)
- KHR-Single-GLES32.subgroups.* (added)

$ python external/openglcts/scripts/build_mustpass.py

Change-Id: I6dbb90876deb8708181ed26284e61a4be8e38128

5 years agoEnable subgroup tests for ES
Daniel Koch [Thu, 28 Mar 2019 14:59:01 +0000 (10:59 -0400)]
Enable subgroup tests for ES

Templatize the shader version, and avoid implicit conversions and initializers.
Add precision qualifiers. Use MapBufferRange

Component: OpenGL
VK-CL-CTS Issue: 1698

Affects:
- KHR-GL46.subgroup.* (common shaders)
- KHR-GL45.subgroup.* (common shaders)
- KHR-GLES32.khr.subgroup.* (added)

Change-Id: I4618ad4b1ef57ac2db34c3ff0354a12add9b750e

5 years agoporting changes for OpenGL Subgroup tests
Daniel Koch [Thu, 28 Mar 2019 14:59:01 +0000 (10:59 -0400)]
porting changes for OpenGL Subgroup tests

Component: OpenGL
VK-CL-CTS Issue: 1698

Affects:
 - KHR-GL*.gl_spirv.* (touches common infra code)
 - KHR-GL46.subgroup.* (added)
 - KHR-GL45.subgroup.* (added)

Includes both GLSL 450 and SPIRV support

- Also do some refactoring that hadn't been applied to the partioned tests from the VK side

Change-Id: I2f3bb0ca9773b578234c79f2858bb5406ef2dd39

5 years agoGL/ES: add subgroup build and files
Daniel Koch [Thu, 28 Mar 2019 14:59:00 +0000 (10:59 -0400)]
GL/ES: add subgroup build and files

cp external/vulkancts/modules/vulkan/subgroups/*.cpp external/openglcts/modules/common/subgroups/
cp external/vulkancts/modules/vulkan/subgroups/*.hpp external/openglcts/modules/common/subgroups/
cd external/openglcts/modules/common/subgroups/
mv vkt* -> glc*
(last refreshed from master@b557785133ac0acb1854e0af945c4ca0dd76d5fc)

Component: OpenGL
VK-GL-CTS Issue: 1698

Change-Id: Ib5ffd58038c7a523ea640b05c88fd4adfb1292d4

5 years agoAdd support for GL_KHR_shader_subgroup
Daniel Koch [Thu, 28 Mar 2019 14:59:00 +0000 (10:59 -0400)]
Add support for GL_KHR_shader_subgroup

and GL_NV_shader_subgroup_partitioned tokens.

$ python scripts/gen_egl.p
$ python scripts/opengl/gen_all.py
$ python scripts/build_android_mustpass.py
$ python external/openglcts/scripts/build_mustpass.py

Using gitlab registry until xml is public

Component: OpenGL
VK-GL-CTS Issue: 1698

Change-Id: I15bb83f62a3bf31e3d021379e83983fe8dabb651

5 years agoCheck for getPlatformDisplay support before using
Courtney Goeltzenleuchter [Wed, 13 Mar 2019 00:05:29 +0000 (18:05 -0600)]
Check for getPlatformDisplay support before using

I was under the impression that NativeDisplay::CAPABILITY_GET_DISPLAY_PLATFORM
meant that we know the capability exists. But that apparently isn't
true.
Instead treat that as a flag to enable checking for the capability.
Don't really see the point of the capability bit if I have to check
anyway.

Affects: Android
KHR-GLES32.info.*
Pretty much any test running on EGL 1.4 device.

Components: Framework, AOSP

Change-Id: I49e36918bc231c08e1a473fe99e5086f54416850

5 years agoOptimize format flag fetch function
Jari Komppa [Mon, 25 Feb 2019 13:07:45 +0000 (15:07 +0200)]
Optimize format flag fetch function

This fixes one old TODO in vktApiFeatureInfo by optimizing several array
traversals into a single one.

Affects:

dEQP-VK.api.info.format_properties.*

Components: Vulkan

VK-GL-CTS issue: 1624

Change-Id: I2b0e603e20e8adb27620754e0ca9a0b9d102d01f

5 years agoLimit transient images tests
Boris Zanin [Fri, 22 Mar 2019 14:24:36 +0000 (15:24 +0100)]
Limit transient images tests

Transient images (images that usage field contains the flag bit
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT) can be used only in
conjunction with following usages (according to specification):
 * VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
 * VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
 * VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
The tests falsely attempts to create images with layout:
 * VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
 * VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
Such layout requires images to be created with usages:
 * VK_IMAGE_USAGE_TRANSFER_SRC_BIT
 * VK_IMAGE_USAGE_TRANSFER_DST_BIT
that's prohibited for transient images.

If underlying image is transient, it is invalid for it to be a
TRANSFER_SRC or TRANSFER_DST. Do not allow tests for transient
images to use such layouts.

Affected tests:
 * dEQP-VK.renderpass.*.attachment.*
 * dEQP-VK.renderpass2.*.attachment.*

Components: vulkan

VK-GL-CTS issue: 1545

Change-Id: Ibd1635d15419adcb646fbc1daf030a2736b972b1

5 years agoReduce memory usage in point size clamping tests
Toni Merilehti [Tue, 19 Mar 2019 14:38:16 +0000 (16:38 +0200)]
Reduce memory usage in point size clamping tests

Win32 builds running dEQP-VK.rasterization.primitive_size.points.*
caused resource errors when using 16384 x 16384 render targes due to
large memory allocations.

This optimization changes the rendering format from R8G8B8A8 to
a single-channel format R8_UNORM, reduces the sizes of the render
targets on the last two test cases to 10240 x 10240 and 9216 x 9216,
and removes one unnecessary result buffer copy to reduce memory
allocation.

Affects:

dEQP-VK.rasterization.primitive_size.points.*

Components: Vulkan

VK-GL-CTS issue: 1649

Change-Id: I5d9f435961f0cd56f8b520ac7e98cece1d4f73d7

5 years agoUpdate glslang
Daniel Koch [Mon, 18 Mar 2019 15:49:33 +0000 (11:49 -0400)]
Update glslang

Component: Framework
VK-GL-CTS Issue: 1698

Change-Id: I63d45cfc317f99fbf7d16b43f489f93863a02f14

5 years agoRemove "using namespace glu" from header
Daniel Koch [Tue, 26 Mar 2019 22:54:18 +0000 (18:54 -0400)]
Remove "using namespace glu" from header

since this is a bad coding practise and can cause
issues when other files include it.

Affects: - (compilation only)
Component: OpenGL

Change-Id: I6809dcc7f0f12a9fde1b329889727708628798e3

5 years agoAdd scalar uint with signed int compares as Amber cases
David Neto [Tue, 12 Feb 2019 20:00:03 +0000 (15:00 -0500)]
Add scalar uint with signed int compares as Amber cases

Logs an error and throws an exception if the script fails to parse.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_sgreaterthan
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_sgreaterthanequal
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_slessthan
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_slessthanequal

VK-GL-CTS issue: 1147

Change-Id: Ic8ce35bff0e05360dc9e674cce313d441e2f4953

5 years agoAdd scissor tests
Ari Suonpaa [Thu, 7 Feb 2019 07:06:08 +0000 (09:06 +0200)]
Add scissor tests

This adds more coverage for scissoring. In particular
tests for multiple scissors and zero area scissor
were added. Attachment clears are also mixed with
draw commands to verify they are not scissored.

New tests:

dEQP-VK.draw.scissor.*

Components: Vulkan

VK-GL-CTS issue: 1580
Change-Id: I7a7ee221d23d836fbb8fc2d1556fb533b5b41ab6

5 years agoAdditional coverage for color resolve
Piotr Byszewski [Mon, 17 Dec 2018 11:53:50 +0000 (12:53 +0100)]
Additional coverage for color resolve

This change extracts base class out of existing MultisampleRender-
PassTestInstance and reuses it for the second set of tests.
New tests are ment to check cases where application consumes
all available on-chip memory (maxColorAttachments attachments).
Note that tests are executed for 4, 8 and 16 attachments since
framework does not allow to query maxColorAttachments before
test creation and this is needed to preper proper shaders.

Components: Vulkan

VK-GL-CTS issue: 1496

Affects:
dEQP-VK.renderpass.suballocation.multisample_resolve.*
dEQP-VK.renderpass2.suballocation.multisample_resolve.*

Change-Id: I14f39e7185a2930506dc8352fce8ac2896b317ae

5 years agoDisable pipeline_create_only when running Amber tests
Ari Suonpaa [Fri, 22 Mar 2019 07:18:53 +0000 (09:18 +0200)]
Disable pipeline_create_only when running Amber tests

Amber test framework didn't initialize pipeline_create_only
in Amber options. This resulted in Amber tests only checking
if pipeline was created successfully. All test commands
were left unexecuted and tests were passing even when
they were modified to fail.

Affects:

-

Components: Vulkan, Framework

VK-GL-CTS issue: 1659
Change-Id: I657d4e162d6bbc7bf6a5b41bd5bac7ddaf4dbf78

5 years agoCheck shaderFloat16 support in 16bit_storage.*64*
Toni Merilehti [Wed, 13 Mar 2019 11:36:05 +0000 (13:36 +0200)]
Check shaderFloat16 support in 16bit_storage.*64*

Require shaderFloat16 feature in
dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*64* tests when
using VK_KHR_shader_float16_int8 device extension. Tests now throw
NotSupported if VK_KHR_shader_float16_int8 extension is enabled but
shaderFloat16 is not supported by the device.

Affects:

dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*64*

Components: Vulkan

VK-GL-CTS issue: 1643

Change-Id: I79b271f131571805e6dacb87fa3620039021eedb

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Fri, 22 Mar 2019 20:13:10 +0000 (21:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I62d7ebcc0c2cb2a2adc9c1d8f910c499b3504b7f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Fri, 22 Mar 2019 20:11:55 +0000 (21:11 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I4f48c3e9ca8593777c5a4ef6cd32050f8c839043

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 22 Mar 2019 20:10:39 +0000 (21:10 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I328cee295acc9eb8c5204e5f3574879d9e21a609

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 22 Mar 2019 19:49:07 +0000 (20:49 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: If24571c09fd321c8417da919af0d2272a0ac2c57

5 years agocmake: Add support for PNG_ARM_NEON_OPT NDK-r19
Tony Zlatinski [Tue, 12 Feb 2019 16:50:28 +0000 (10:50 -0600)]
cmake: Add support for PNG_ARM_NEON_OPT NDK-r19

On Android, here is clang compiler change for
NDKs after ndk-r17c where the compiler intrinsics
for libpng are not part of the compiler for the
armeabi-v7a targets.

Add the supported png functions for these compiler
intrinsics, explicitly for 32-bit ARM builds.

Affects:
    dEQP-VK.*

Components: Vulkan, Framework
VK-GL-CTS issue: 1638

Change-Id: Ib832f983294f5dd747720ed4a79a21e29a06f776
(cherry picked from commit 99a88af740c425bf250ce9cb2143aa6be3a778f2)

5 years agoFix uninitialized variable reported by gcc 8.3
Alexander Galazin [Fri, 22 Mar 2019 09:06:18 +0000 (10:06 +0100)]
Fix uninitialized variable reported by gcc 8.3

VK-GL-CTS issue: 1656

Components: Vulkan

Affects: dEQP-VK.sparse_resources.*

Change-Id: I298c795b05c0c204f04970da7a923f797c4478b8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 22 Mar 2019 15:25:50 +0000 (16:25 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ie1a2c3d42088338cc526a4b9bd22bdec070dd7b9

5 years agoFix build by adding DE_UNREF
Graeme Leese [Fri, 22 Mar 2019 14:32:55 +0000 (14:32 +0000)]
Fix build by adding DE_UNREF

Function parameters weren't being used in the renderdoc stub interface,
so the warnings should be silenced.

Components: Framework

Change-Id: I0f060c344c6b5959028efcc2489d1bc30b43fb9f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 22 Mar 2019 13:09:57 +0000 (14:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Iff99182ee48f808b2e1e93eea00ae17ec44efa3e

5 years agoAdd tests for EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT.
Peiyong Lin [Wed, 26 Dec 2018 23:45:55 +0000 (15:45 -0800)]
Add tests for EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT.

Components: EGL
VK-GL-CTS Issue: 1534

New tests:
dEQP-EGL.functional.wide_color.window_fp16_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_fp16_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_1010102_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_1010102_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_8888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_888_colorspace_p3_passthrough

Change-Id: I58a9a6a676d8e438c3c2494679105d65e71852b5

5 years agoInvalidate memory before checking results
Graeme Leese [Mon, 4 Mar 2019 13:18:43 +0000 (13:18 +0000)]
Invalidate memory before checking results

Components: Vulkan
VK-GL-CTS issue: 1640
Affects: dEQP-VK.binding_model.descriptor_copy.graphics.*

Change-Id: I20a9ba5f32aefa9df0852bd064df27cb333af3aa

5 years agoFix validation errors in ycbcr.query.* tests
Ilkka Saarelainen [Wed, 6 Mar 2019 12:43:05 +0000 (14:43 +0200)]
Fix validation errors in ycbcr.query.* tests

Query tests were using test images in VK_IMAGE_LAYOUT_UNDEFINED
layout but the command buffer expects them to be in
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL layout.

This CL transitions the test images to the correct layout.

Affects:

dEQP-VK.ycbcr.query.*

Components: Vulkan

VK-GL-CTS issue: 1563

Change-Id: I4b17078d0f06db59206cb46f377b61beaa252c60

5 years agoDon't give samplers in YCbCr descriptor updates
Graeme Leese [Mon, 11 Mar 2019 18:29:08 +0000 (18:29 +0000)]
Don't give samplers in YCbCr descriptor updates

They are not required, so it's good to test that implementations are not
relying on them.

Components: Vulkan
VK-GL-CTS issue: 1646
Affects: dEQP-VK.ycbcr.format.*

Change-Id: I146a549b0a6cd2459660624c76088f623ebdd54b

5 years agoAdd tests for OpFUnord with NaN
Toni Merilehti [Mon, 4 Mar 2019 11:43:39 +0000 (13:43 +0200)]
Add tests for OpFUnord with NaN

Add OpFUnord test cases that use NaN (not a number) values.
The functionality for testing NaN values is implemented
in commit acafd1d389d1d18d4e4410862d96064f9fca551e.

New tests:

dEQP-VK.spirv_assembly.instruction.compute.opfunord_nan.*

Components: Vulkan

VK-GL-CTS issue 1612

Change-Id: Ifd49c5ebe6382737cb0fb6ffca1a350889a54905

5 years agoAdd alpha to coverage test with no color attachment
Ari Suonpaa [Tue, 12 Feb 2019 13:21:07 +0000 (15:21 +0200)]
Add alpha to coverage test with no color attachment

Added a test for alpha to coverage without a color
attachment. First the test draws a primitive with alpha 0
and a subpass with only a depth buffer. No writes to a depth
buffer are expected. Then a second draw with a color buffer
and the same depth buffer is done to verify the depth
buffer still has the original clear values.

New tests:

dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*

Components: Vulkan

VK-GL-CTS issue: 1586
Change-Id: Ibfc9cbf0ade3280fe80f43296fad79b5c6f76ba1

5 years agoSimplify the combination passed to vkCreateImage
root [Wed, 6 Mar 2019 05:53:29 +0000 (00:53 -0500)]
Simplify the combination passed to vkCreateImage

Components: Vulkan

Affects:
dEQP-VK.memory.requirements.*

VK-GL-CTS issue: 1619

Change-Id: Ief6e8c30cc3d379456aba87be9da92284d33e983

5 years agoBe more careful about Block decorations on structs
Jason Ekstrand [Sat, 15 Dec 2018 00:04:39 +0000 (18:04 -0600)]
Be more careful about Block decorations on structs

In spirv/SPIR-V@9701a9f9 we changed the SPIR-V spec to say that
block-decorated structures could not be nested.  This is needed for
sorting out certain variable pointers issues inside a SPIR-V parser.
Unfortunately, the mentioned group of CTS tests violates this rule.
Their %input_buffer type is a struct containing two instances of
%outer_struct and both %input_buffer and %outer_struct are decorated
Block.  Fortunately, only one of the two struct types is actually
required for an input at any given type so we just need to be more
careful about the decorations.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.complex_types_compute.*

Components: Vulkan

VK-GL-CTS issue: 1518
Change-Id: I87a832fab94a9c06317d20b32afedf16b52ab2f2
(cherry picked from commit 1dbdfe34947fdb3e6d24226a58f02d0b8a515da8)

5 years agoUpdate Amber to fix building on Android, and elsewhere
David Neto [Thu, 21 Mar 2019 07:01:07 +0000 (03:01 -0400)]
Update Amber to fix building on Android, and elsewhere

- Fix dir for generation of Vulkan header
- Avoid aggressive use-without-init warnings
- Fix return inferred as unreachable by clang-3.4

Change-Id: I6422e14d38fa6d213d4d5e92f981d9843b0c055e

5 years agoMake renderdoc_app.h optional at build time
Jordan Justen [Tue, 12 Mar 2019 07:17:53 +0000 (00:17 -0700)]
Make renderdoc_app.h optional at build time

Since renderdoc support is optional at runtime, this change makes it
also optional at build time. If the renderdoc_app.h file doesn't exist
at the expected location, then a no-op stub version of the
RenderDocUtil class is built instead.

Components: Vulkan, Framework

Change-Id: Iedc4bcddf47ac5f471911ad6d8e37439cd9e0d90

5 years agoRevert "Make renderdoc_app.h optional at build time"
Alexander Galazin [Wed, 20 Mar 2019 16:10:35 +0000 (12:10 -0400)]
Revert "Make renderdoc_app.h optional at build time"

This reverts commit 1225d4ab8375e88b39f73bc946a7afcb51aa8156.

Change-Id: I3c2f71b3bc54adb221f1357f7a4b31e719dc3a20

5 years agoImprove shader cache hashing
Jari Komppa [Wed, 6 Mar 2019 08:41:25 +0000 (10:41 +0200)]
Improve shader cache hashing

This change adds FNV-1 hash algorithm and a check whether a shader is
already in the cache before writing it there. In multi-threaded shader
compilation the cache might have written multiple copies of the same
shader into the cache, wasting disk space.

Affects:

None

Components: Vulkan

VK-GL-CTS issue: 1641

Change-Id: Ideaed34f49994f5da50b75066e611e60023eccb1

5 years agocmake: Add support for PNG_ARM_NEON_OPT NDK-r19
Tony Zlatinski [Tue, 12 Feb 2019 16:50:28 +0000 (10:50 -0600)]
cmake: Add support for PNG_ARM_NEON_OPT NDK-r19

On Android, here is clang compiler change for
NDKs after ndk-r17c where the compiler intrinsics
for libpng are not part of the compiler for the
armeabi-v7a targets.

Add the supported png functions for these compiler
intrinsics, explicitly for 32-bit ARM builds.

Affects:
    dEQP-VK.*

Components: Vulkan, Framework
VK-GL-CTS issue: 1638

Change-Id: Ib832f983294f5dd747720ed4a79a21e29a06f776

5 years agoMake renderdoc_app.h optional at build time
Jordan Justen [Tue, 12 Mar 2019 07:17:53 +0000 (00:17 -0700)]
Make renderdoc_app.h optional at build time

Since renderdoc support is optional at runtime, this change makes it
also optional at build time. If the renderdoc_app.h file doesn't exist
at the expected location, then a no-op stub version of the
RenderDocUtil class is built instead.

Components: Vulkan, Framework
Change-Id: Ic4b43500b4ead50c4728d2ff3bf098d44e00a9a6

5 years agoframework: propagate ResourceError exception from postIterate
Tapani Pälli [Fri, 1 Mar 2019 11:07:35 +0000 (13:07 +0200)]
framework: propagate ResourceError exception from postIterate

Change throws ResourceError exception in TestCaseWrapper::iterate in
case postIterate threw one.

Change-Id: I9a3fed58f21dd6f594488fc998ae5bd685a733ec
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
5 years agoMove spirv/glslang utils to common module
Daniel Koch [Wed, 13 Mar 2019 19:15:48 +0000 (15:15 -0400)]
Move spirv/glslang utils to common module

VK-GL-CTS Issue: 1651
Component: OpenGL
Affects: KHR-GL*.gl_spirv.*

Change-Id: I1fdc617523ac467458952e9ec2df67abf80657c3

5 years agoAmber: Initialize the delegate to NULL
David Neto [Tue, 19 Mar 2019 18:56:29 +0000 (14:56 -0400)]
Amber: Initialize the delegate to NULL

The delegate can be used to log calls and time them.
For now, we don't want any such logging.  But we do have
to initialize the delegate rather than use an uninitialized
pointer.

Change-Id: I1379b9810f3acd67d4d7116d407eb4e0c6ee7bb3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Tue, 19 Mar 2019 15:04:23 +0000 (16:04 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I0d8d57b196da13538a026a3abea3ebd6b6ed0cde

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Tue, 19 Mar 2019 14:26:12 +0000 (15:26 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Iacfb659e3cb7bcb1d144f843a9011472c18c63fe

5 years agoUpdate Amber so it detects Vulkan on Android
David Neto [Mon, 18 Mar 2019 21:56:06 +0000 (17:56 -0400)]
Update Amber so it detects Vulkan on Android

Components: Vulkan

Change-Id: I0a584c5617c723dc763933fd8e20fe621ac46970

5 years agoAdd tests for VK_NV_cooperative_matrix
Jeff Bolz [Wed, 27 Feb 2019 16:22:32 +0000 (10:22 -0600)]
Add tests for VK_NV_cooperative_matrix

Components: Vulkan

New tests: dEQP-VK.compute.cooperative_matrix.*

Change-Id: I1f78c068510466793ba7407347c2b91b30ee4831

5 years agoAdd test for concurrent compute
Jari Komppa [Thu, 7 Feb 2019 08:10:16 +0000 (10:10 +0200)]
Add test for concurrent compute

Added test that runs identical payload on two queues with different
priority levels, and checking that the lower priority queue does not
finish first, adding a note to the log if the priorities seem to be
reversed. At the end it is also verified that both queues did the
work.

New test:

dEQP-VK.compute.basic.concurrent_compute

Components: Vulkan

VK-GL-CTS issue: 1509

Change-Id: Ib5d52dcbb3cee0e07c4d14bbb8d61d2f1ee2a8c5

5 years agoSend external api base extensions when not core
Lingfeng Yang [Fri, 1 Mar 2019 07:58:41 +0000 (23:58 -0800)]
Send external api base extensions when not core

If the base extension for external semaphore/fence/memory
is not core (i.e., in Vulkan 1.0), external API tests
will send an insufficient set of device extensions to
the Vulkan driver.

Also, add required extensions (if not core) for
VK_ANDROID_external_memory_android_hardware_buffer.

VK-GL-CTS Issue: 1632

Affects:
dEQP-VK.api.external.*

Components: Vulkan

Change-Id: I666f87ef25260d4f3fe6d1d9a6ff8a522f2322b3

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 15 Mar 2019 09:31:51 +0000 (10:31 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I9ae207c6ce78844662c23df5016a584742466b63

5 years agoGL_ARB_enhanced_layouts: use separable programs
Andres Gomez [Wed, 27 Feb 2019 13:03:56 +0000 (15:03 +0200)]
GL_ARB_enhanced_layouts: use separable programs

Currently we are testing bogus inputs without a matching counterpart
in the output interface of the previous shader. This is needed since,
otherwise, having a matching output would mean that we would have to
introduce the same error we are trying to test in the input interface
and that could lead to a misleading linking error.

However, not having an output counterpart can also lead to a
misleading linking error.

In other tests we have avoided this by not making a static use of the
tested input. However, when checking for the limit on the number of
input locations that can be used in a specific interface, this
strategy cannot be used since non statically used variable do not
count against this limit.

From page 48 (page 52 of the PDF) of the GLSL 4.60 v.5 spec:

  " There is an implementation-dependent limit on the number of
    locations that can be used, and if this is exceeded it will cause
    a link-time error. (Declared input variables that are not
    statically used do not count against this limit.)"

Therefore, the strategy used for this test is to build individual
separable programs for each stage.

From the ARB_separate_shader_objects spec v.25:

  " With separable program objects, interfaces between shader stages
    may involve the outputs from one program object and the inputs
    from a second program object.  For such interfaces, it is not
    possible to detect mismatches at link time, because the programs
    are linked separately.  When each such program is linked, all
    inputs or outputs interfacing with another program stage are
    treated as active.  The linker will generate an executable that
    assumes the presence of a compatible program on the other side of
    the interface.  If a mismatch between programs occurs, no GL error
    will be generated, but some or all of the inputs on the interface
    will be undefined."

Components: OpenGL

VK-GL-CTS issue: 1628

Affects:

KHR-GL44.enhanced_layouts.varying_location_limit

Change-Id: If120f3f2d397be0b53c60033768db60eb6fed968

5 years agoGL_ARB_enhanced_layouts: no structs as VS inputs
Andres Gomez [Thu, 3 Jan 2019 12:17:18 +0000 (14:17 +0200)]
GL_ARB_enhanced_layouts: no structs as VS inputs

From page 48 (page 52 of the PDF) of the GLSL 4.60 v.5 spec:

  " It is a compile-time error to declare a vertex shader input with,
    or that contains, any of the following types:

      * A boolean type

      * An opaque type

      * A structure"

Components: OpenGL

VK-GL-CTS issue: 1614

Affects:

KHR-GL44.enhanced_layouts.varying_structure_member_location

Change-Id: Ied52fd09639de179db480b6a627b65208a54250a

5 years agoGL_ARB_enhanced_layouts: remove dead code
Andres Gomez [Wed, 23 Jan 2019 16:28:59 +0000 (18:28 +0200)]
GL_ARB_enhanced_layouts: remove dead code

Additionally, make us of the new debugging macro to ease checking that
we are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1617

Affects:

KHR-GL44.enhanced_layouts.xfb_duplicated_stride

Change-Id: I2bb03db22743ae12d17c3da1654d082236d2e2e6

5 years agoGL_ARB_enhanced_layouts: fix interstage interfaces
Andres Gomez [Wed, 9 Jan 2019 15:38:12 +0000 (17:38 +0200)]
GL_ARB_enhanced_layouts: fix interstage interfaces

Multiple test were reporting misleading fails due to out-in interface
mismatching.

Additionally, removed dead code paths.

Finally, make us of the new debugging macro to ease checking that we
are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1608

Affects:

KHR-GL44.enhanced_layouts.xfb_block_member_buffer
KHR-GL44.enhanced_layouts.xfb_capture_unsized_array
KHR-GL44.enhanced_layouts.xfb_exceed_buffer_limit
KHR-GL44.enhanced_layouts.xfb_exceed_offset_limit
KHR-GL44.enhanced_layouts.xfb_invalid_offset_alignment
KHR-GL44.enhanced_layouts.xfb_multiple_vertex_streams
KHR-GL44.enhanced_layouts.xfb_output_overlapping
KHR-GL44.enhanced_layouts.xfb_too_small_stride

Change-Id: I0fb8f851b7cbec4c8cb4ee9fbad544c32e130a99

5 years agoGL_ARB_enhanced_layouts: fix interstage interfaces
Andres Gomez [Wed, 23 Jan 2019 15:56:33 +0000 (17:56 +0200)]
GL_ARB_enhanced_layouts: fix interstage interfaces

This test was reporting a misleading fail due to out-in interface
mismatching.

Additionally, in the past another "fail" status was "corrected" by
excluding all non-positive cases making it, actually, not a negative
test. Now, while fixing the problems in the interface matching, we
re-introduce the negative cases back.

Also, removed dead code paths.

Finally, make us of the new debugging macro to ease checking that
we are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1607

Affects:

KHR-GL44.enhanced_layouts.xfb_variable_stride

Change-Id: If6564a9feb9831d101b0d5073ec3d241a4a8ac81

5 years agoGL_ARB_enhanced_layouts: use centroid and sample
Andres Gomez [Mon, 7 Jan 2019 23:18:40 +0000 (01:18 +0200)]
GL_ARB_enhanced_layouts: use centroid and sample

When checking for aliasing using mixed auxiliary storages, the tests
checking the usage of centroid and sample were only for the fragment
shader inputs. These qualifiers, although ignored, can also be used in
the rest of the stages.

Components: OpenGL

VK-GL-CTS issue: 1613

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage

Change-Id: I4ec1609a63a225ccd8c2ed7b82eb5477a04b6cba

5 years agoGL_ARB_enhanced_layouts: mind double types
Andres Gomez [Mon, 7 Jan 2019 23:00:49 +0000 (01:00 +0200)]
GL_ARB_enhanced_layouts: mind double types

The special conditions when using the component qualifier with doubles
were not taken into account.

Additionally, the test was reporting a misleading fail due to
non-coherent usage of the "flat" interpolation qualifier. This is now
fixed.

Finally, the generator has been simplified using the refactored code.

Components: OpenGL

VK-GL-CTS issue: 1611

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage

Change-Id: I4380ba720f4ea2b2326484d6c8b3e8fc58b1b5e5

5 years agoGL_ARB_enhanced_layouts: mind double types
Andres Gomez [Mon, 18 Feb 2019 14:49:28 +0000 (16:49 +0200)]
GL_ARB_enhanced_layouts: mind double types

The special conditions when using the component qualifier with doubles
were not taken into account.

Additionally, the generator has been simplified using the refactored
code.

Components: OpenGL

VK-GL-CTS issue: 1616

Affects:

KHR-GL44.enhanced_layouts.input_component_aliasing
KHR-GL44.enhanced_layouts.output_component_aliasing
KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
KHR-GL44.enhanced_layouts.varying_component_without_location
KHR-GL44.enhanced_layouts.varying_exceeding_components

Change-Id: I33c9735a8ef02cf5257f6783cf7856911e4af9d8

5 years agoGL_ARB_enhanced_layouts: use component 0 for mat
Andres Gomez [Thu, 20 Dec 2018 15:29:13 +0000 (17:29 +0200)]
GL_ARB_enhanced_layouts: use component 0 for mat

When checking types that won't support the component qualifier, in the
case of matrixes, just use the universally accepted value in case the
keyword would be accepted: 0.

Otherwise, we won't be sure whether the test is passing because the
reported failure is the expected one: that matrix won't accept the
component qualifier.

Components: OpenGL

VK-GL-CTS issue: 1615

Affects:

KHR-GL44.enhanced_layouts.varying_component_of_invalid_type

Change-Id: I5e53ecdcb4e73f9ca528f3232bfa9405782db43e

5 years agoGL_ARB_enhanced_layouts: mind double types
Andres Gomez [Mon, 7 Jan 2019 17:46:16 +0000 (19:46 +0200)]
GL_ARB_enhanced_layouts: mind double types

The special conditions when using the component qualifier with doubles
were not taken into account.

The tests generator is now simplified using the refactored code.

Components: OpenGL

VK-GL-CTS issue: 1610

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation

Change-Id: I44763cf9e9e3b11fe17519ab307b28cc5485706d

5 years agoGL_ARB_enhanced_layouts: mind aliasing bit width
Andres Gomez [Fri, 4 Jan 2019 12:46:27 +0000 (14:46 +0200)]
GL_ARB_enhanced_layouts: mind aliasing bit width

Currently, when location aliasing was happening, we were only checking
if the underlying numerical type was the same to allow it.

From page 67 (page 71 of the PDF) of the GLSL 4.60 v.5 spec:

  " Further, when location aliasing, the aliases sharing the location
    must have the same underlying numerical type and bit
    width (floating-point or integer, 32-bit versus 64-bit, etc.)"

Additionally, we were repeating two times the same tests. For example
we would check if, with float and int, they would be allowed if float
was in the component 1 and int in component 3 two times. The test
generation has been now simplified.

Components: OpenGL

VK-GL-CTS issue: 1609

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types

Change-Id: I33652ac447c0a536bebc8175f34abee45ad1cd2e

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 15 Mar 2019 08:44:37 +0000 (09:44 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I89bd5367fae5953ff5e789542dba7e55a8526ab1

5 years agoDrop handwritten toString code
Lionel Landwerlin [Fri, 1 Mar 2019 17:35:12 +0000 (17:35 +0000)]
Drop handwritten toString code

Change-Id: I801cbe14f7bdd571ba8f19242427a071c1c3daea
Components: Vulkan

5 years agoAdd SPIR-V ids abuse tests
Boris Zanin [Mon, 11 Feb 2019 12:33:56 +0000 (13:33 +0100)]
Add SPIR-V ids abuse tests

Add tests:
 * dEQP-VK.spirv_assembly.instruction.compute.spirv_ids_abuse.*
 * dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.*

Components: vulkan

VK-GL-CTS issue: 1583

Change-Id: I8cbb94616fc9175de36daf6804cde9b680284aa6

5 years agoFix the limitation in allocation test
Arkadiusz Sarwa [Mon, 21 Jan 2019 14:50:34 +0000 (15:50 +0100)]
Fix the limitation in allocation test

Change removes the limitation for number of allocations
in the test.

Components: Vulkan

VK-GL-CTS issue: 1569

Affects:
dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail

Change-Id: I038fcfcae46a6baaf691163166c74ea0d3831043

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Wed, 6 Mar 2019 12:35:07 +0000 (12:35 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I8b085fc2df478a10babc34d753e9e10613dc8929

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Tue, 5 Mar 2019 16:57:27 +0000 (16:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Ia68d7a02991fe815d1a311f59f3a5928f995069c

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 5 Mar 2019 16:09:54 +0000 (16:09 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Iaff35efaad77acdd183dd07161fa0da31faaeac2

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 5 Mar 2019 15:41:47 +0000 (15:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I91653c9399920b5e965597c6e4b6006d3490d883

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Tue, 5 Mar 2019 15:05:48 +0000 (15:05 +0000)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I0317d6d414441f536e8255db7143e57eeea3448e

5 years agoNotice of withdrawal of Vulkan CTS 1.1.0.x
Alexander Galazin [Wed, 27 Feb 2019 09:46:39 +0000 (10:46 +0100)]
Notice of withdrawal of Vulkan CTS 1.1.0.x

Components: Vulkan

Change-Id: I5d6c3009267ed2d50cdf6167125b574fb6dcd07a

5 years agoFix buffer RAW hazards in synchronization tests
Igor Ostrowski [Thu, 28 Feb 2019 16:15:12 +0000 (17:15 +0100)]
Fix buffer RAW hazards in synchronization tests

Missing barrier for buffers in semaphore tests.

Affects:
dEQP-VK.synchronization.op.single_queue.semaphore.write_*_read_*.buffer_*

Components: Vulkan
VK-GL-CTS issue: 1633

Change-Id: I0f4ffed00e28816496948d8167e08bbbed999b79
(cherry picked from commit caef94e99677677cc1aec4a775c1cb757d53f221)

5 years agoAdd tests for VK_KHR_surface_protected_capabilities
Sandeep Shinde [Tue, 27 Nov 2018 13:36:00 +0000 (19:06 +0530)]
Add tests for VK_KHR_surface_protected_capabilities

Add new tests, which do basic query for functionality provided
by VK_KHR_surface_protected_capabilities extension.

Modify tests to make use of VK_KHR_surface_protected_capabilities
extension to decide whether to run or not. These tests should only be
ran when VkSurfaceCapabilityProtectedKHR.supportsProtected is
reported as VK_TRUE otherwise return as NOT_SUPPORTED because protected
VkSurface can not be displayed on screen through WSI swapchain.

New tests:

dEQP-VK.wsi.xlib.surface.query_protected_capabilities
dEQP-VK.wsi.xcb.surface.query_protected_capabilities
dEQP-VK.wsi.wayland.surface.query_protected_capabilities
dEQP-VK.wsi.mir.surface.query_protected_capabilities
dEQP-VK.wsi.android.surface.query_protected_capabilities
dEQP-VK.wsi.win32.surface.query_protected_capabilities
dEQP-VK.wsi.macos.surface.query_protected_capabilities

Affected tests:

dEQP-VK.api.info.instance.extensions
dEQP-VK.protected_memory.interaction.wsi.xlib.swapchain.render.basic
dEQP-VK.protected_memory.interaction.wsi.xcb.swapchain.render.basic
dEQP-VK.protected_memory.interaction.wsi.wayland.swapchain.render.basic
dEQP-VK.protected_memory.interaction.wsi.mir.swapchain.render.basic
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.render.basic
dEQP-VK.protected_memory.interaction.wsi.win32.swapchain.render.basic
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.render.basic

Components: Vulkan

VK-GL-CTS issue: 1466

Change-Id: I872281801dd935f52c0e999e0c0c2af8a4b8789a
(cherry picked from commit 2d64b282564a754457e4450f34aa8790242ca789)

5 years agoFix context creation in robust_buffer_access_behavior test
Slawomir Cygan [Fri, 1 Mar 2019 14:45:39 +0000 (15:45 +0100)]
Fix context creation in robust_buffer_access_behavior test

Move the context creation routine to iterate() method of
tests cases, to avoid overlapping many contexts where
all tests case constructors are fired at once.

Components: OpenGL

VK-GL-CTS Issue: 1629

Affects:
    KHR-GL4*.robust_buffer_access_behavior.*

Change-Id: I28658b41891437ef60a5bfd5d0a19b80342e9f1f

5 years agoAdd testing for VK_EXT_ycbcr_image_arrays
Piers Daniell [Fri, 15 Feb 2019 23:47:55 +0000 (16:47 -0700)]
Add testing for VK_EXT_ycbcr_image_arrays

Adds basic testing for VK_EXT_ycbcr_image_arrays by adding
new "array" variants to the ycbcr format tests. These array
variants check whether VK_EXT_ycbcr_image_arrays is
supported and wither the particular image format, usage,
tiling and creation flags allow more than 1 array layers
to be created.

If so, a 2 layer image is created, and the second layer is
populated with the input data. Then the shader does a
texture lookup of the second layer and outputs
that into the result image.

Affects:
dEQP-VK.ycbcr.format.*

Change-Id: I801cbe14f7bdd571ba8f192278a7a071c1c3daea
Components: Vulkan

5 years agoAdd tests for pointSize with clamping
Toni Merilehti [Thu, 10 Jan 2019 07:52:44 +0000 (09:52 +0200)]
Add tests for pointSize with clamping

These tests verify that the rasterized point size is equal to
the specified pointSize or clamped to the maximum device limit,
pointSizeRange[1].

New tests:

dEQP-VK.rasterization.primitive_size.points.*

Components: Vulkan

VK-GL-CTS issue: 1504

Change-Id: I887d938a2aabde1671c14ef0ee6aff15a908fd1e

5 years agoGL_ARB_enhanced_layouts: fix arrays in {G,TC,TE}S
Andres Gomez [Thu, 3 Jan 2019 09:21:48 +0000 (11:21 +0200)]
GL_ARB_enhanced_layouts: fix arrays in {G,TC,TE}S

Several negative tests were reporting a misleading fail due to
mismatching output array dimensions in the TCS, TES and GS interfaces.

Components: OpenGL

VK-GL-CTS issue: 1606

Affects:

KHR-GL44.enhanced_layouts.output_component_aliasing
KHR-GL44.enhanced_layouts.varying_block_automatic_member_locations
KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
KHR-GL44.enhanced_layouts.varying_component_without_location
KHR-GL44.enhanced_layouts.varying_exceeding_components
KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types
KHR-GL44.enhanced_layouts.varying_location_limit
KHR-GL44.enhanced_layouts.varying_structure_member_location

Change-Id: I7450cdd41b72b8aca0c6e4638332eaa56a1ed954

5 years agoGL_ARB_enhanced_layouts: no static use of inputs
Andres Gomez [Thu, 3 Jan 2019 10:07:02 +0000 (12:07 +0200)]
GL_ARB_enhanced_layouts: no static use of inputs

Currently we are testing bogus inputs without a matching counterpart
in the output interface of the previous shader. This is needed since,
otherwise, having a matching output would mean that we would have to
introduce the same error we are trying to test in the input
interface and that could lead to a misleading linking error.

However, not having an output counterpart can also lead to a
misleading linking error. We workaround this by not making a static
use of the tested input.

From page 47 (page 53 of the PDF) of the GLSL 4.60 v.5 spec:

  " Only the input variables that are statically read need to be
    written by the previous stage; it is allowed to have superfluous
    declarations of input variables."

Additionally, make us of the new debugging macro to ease checking that
we are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1605

Affects:

KHR-GL44.enhanced_layouts.varying_block_automatic_member_locations
KHR-GL44.enhanced_layouts.varying_block_member_locations
KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
KHR-GL44.enhanced_layouts.varying_component_without_location
KHR-GL44.enhanced_layouts.varying_exceeding_components
KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types
KHR-GL44.enhanced_layouts.varying_structure_member_location
KHR-GL44.enhanced_layouts.xfb_input

Change-Id: I7dc136b34747f40b25b7cc2b6e3f35f029f701f7

5 years agoGL_ARB_enhanced_layouts: add missing out varyings
Andres Gomez [Fri, 28 Dec 2018 18:52:13 +0000 (20:52 +0200)]
GL_ARB_enhanced_layouts: add missing out varyings

The test was "passing" due to a different error than the one expected
by the test: there were missing output varyings to be able to match
the tested inputs.

Components: OpenGL

VK-GL-CTS issue: 1604

Affects:

KHR-GL44.enhanced_layouts.input_component_aliasing

Change-Id: I038bdc3a08ed1d458c8b0988227307c5f0f3f104

5 years agoGL_ARB_enhanced_layouts: correct usage of "flat"
Andres Gomez [Thu, 20 Dec 2018 14:31:14 +0000 (16:31 +0200)]
GL_ARB_enhanced_layouts: correct usage of "flat"

Multiple negative tests were failing due to errors in the usage of the
flat interpolation qualifier. Therefore, the tests were "passing"
while the expected error was a different one than the one reported by
the test.

Additionally, make us of the new debugging macro to ease checking that
we are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1603

Affects:

KHR-GL44.enhanced_layouts.input_component_aliasing
KHR-GL44.enhanced_layouts.output_component_aliasing
KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
KHR-GL44.enhanced_layouts.varying_component_without_location
KHR-GL44.enhanced_layouts.varying_exceeding_components
KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types
KHR-GL44.enhanced_layouts.varying_location_limit

Change-Id: I63f2b11acadfb0b3e42b7e0f176421eaff4da482

5 years agoGL_ARB_enhanced_layouts: no def in untested stage
Andres Gomez [Thu, 3 Jan 2019 13:19:17 +0000 (15:19 +0200)]
GL_ARB_enhanced_layouts: no def in untested stage

Currently we are trying to match the definition of the output block
with the input block. In a negative test this has the problem that we
cannot actually match without adding the same error we are trying to
test in both interfaces. Therefore, as it is right now, even if the
tested error wouldn't happen, a misleading linking error will happen.

We avoid this by removing the input definition when testing
outputs (no need to have them at all) and, in the reverse situation,
additionally, by not doing static use of the defined input variable.

Additionally, this simplifies the test a lot.

Finally, added a debugging macro to ease checking that we are testing
just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1602

Affects:

KHR-GL44.enhanced_layouts.varying_block_member_locations

Change-Id: Ia2c0ba705e975817999aaa16c1ce129d616540f6

5 years agoFix buffer RAW hazards in synchronization tests
Igor Ostrowski [Thu, 28 Feb 2019 16:15:12 +0000 (17:15 +0100)]
Fix buffer RAW hazards in synchronization tests

Missing barrier for buffers in semaphore tests.

Affects:
dEQP-VK.synchronization.op.single_queue.semaphore.write_*_read_*.buffer_*

Components: Vulkan
VK-GL-CTS issue: 1633

Change-Id: I0f4ffed00e28816496948d8167e08bbbed999b79

5 years agoWhitelist Vulkan CTS 1.1.3.1
Alexander Galazin [Fri, 1 Mar 2019 11:07:51 +0000 (12:07 +0100)]
Whitelist Vulkan CTS 1.1.3.1

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: Ic8d6afa3998a4d77d2c00c10ee9075f62febf5aa

5 years agoRemove unnecessary 1.1.3 mustpass sources
Alexander Galazin [Thu, 28 Feb 2019 16:52:50 +0000 (17:52 +0100)]
Remove unnecessary 1.1.3 mustpass sources

Change-Id: I3f7cc4649954f784736c8529fc9a24761d6da01d

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 vk-gl-cts/master
Alexander Galazin [Thu, 28 Feb 2019 16:24:55 +0000 (17:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 vk-gl-cts/master

Change-Id: Iad6b3f1c809ac70182f11c00d2e88b88b19e4fb0

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 28 Feb 2019 16:23:25 +0000 (17:23 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I7f44646072e49414e863e6a4e6bb9760477dccb8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 28 Feb 2019 16:17:02 +0000 (17:17 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Id1dfb48db9c7c5ad1d4260e4595617723034af04

5 years agoExclude few rasterization tests
Alexander Galazin [Thu, 28 Feb 2019 15:49:11 +0000 (16:49 +0100)]
Exclude few rasterization tests

Components: Vulkan

Affects:
dEQP-VK.rasterization.interpolation.basic.lines_wide
dEQP-VK.rasterization.interpolation.projected.line_strip_wide
dEQP-VK.rasterization.flatshading.lines_wide

VK-GL-CTS issue: 1274

Change-Id: I4771bc1729ccd6eb39e291cb26a5db5b42688140

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Thu, 28 Feb 2019 14:47:47 +0000 (15:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I866d7a1ba446f0482d1b26823c97bb5afc49ad7a

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 28 Feb 2019 14:37:46 +0000 (15:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I01321e70bb29b8a21ed2f730381ea44f71f12c9b

5 years agoMerge vk-gl-cts/github-vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 28 Feb 2019 14:34:57 +0000 (15:34 +0100)]
Merge vk-gl-cts/github-vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I354674f48a6d88f95199865ceb8fe64c4100e1cf

5 years agoFix validation errors in dEQP-VK.tessellation.*
Toni Merilehti [Wed, 27 Feb 2019 08:41:33 +0000 (10:41 +0200)]
Fix validation errors in dEQP-VK.tessellation.*

In multiple tests memory allocations are invalidated or flushed using
a size that on some devices is not a multiple of nonCoherentAtomSize
device limit, causing validation errors. This fix uses helper functions
that invalidate or flush the whole allocation where the size of the
memory being invalidated/flushed equals the size of the allocation.

Affects:

dEQP-VK.tessellation.*

Components: Vulkan

VK-GL-CTS issue: 1620

Change-Id: I3c0aed7f749693808331a1b430ad2cb28b138699

5 years agoMerge pull request #143 from jrprice/utb-glsl-type
Alexander Galazin [Thu, 28 Feb 2019 14:19:04 +0000 (15:19 +0100)]
Merge pull request #143 from jrprice/utb-glsl-type

Fix image type for uniform texel buffers

5 years agoFix SpvWorkgroupMemoryTests float32 result check
Liam Middlebrook [Fri, 22 Feb 2019 21:22:24 +0000 (13:22 -0800)]
Fix SpvWorkgroupMemoryTests float32 result check

Fix a bug in spirv_assembly.instruction.compute.workgroup_memory.float32
where the output values were being compared on a byte-level and not
compared as floating-point values.

Affects:
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.float32

Components: Vulkan
VK-GL-CTS Issue: 1625

Change-Id: Ia274e5f08796ebf8e4a6fa78e7df377a80e5a25f

5 years agoFixes YCbCr create flag requirements for image format properties tests
Tom Cooper [Fri, 8 Feb 2019 14:14:40 +0000 (14:14 +0000)]
Fixes YCbCr create flag requirements for image format properties tests

YCbCr formats are not required to support
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT.

Components: Vulkan

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

VK-GL-CTS Issue: 1592

Change-Id: I140f6b93a337d325fd908259f3da2dc1f4d251d9

5 years agoUse valid deviceMask in vkAcquireNextImage2KHR
Slawomir Cygan [Thu, 21 Feb 2019 15:10:07 +0000 (16:10 +0100)]
Use valid deviceMask in vkAcquireNextImage2KHR

As the test uses the default device (without explicit device groups),
there is only one device in the group, with index 0.

Given that, the only valid deviceMask is 1 (not 0xffffffff).

Components: Vulkan

VK-GL-CTS Issue: 1623

Affects: dEQP-VK.wsi.win32.swapchain.render.basic2

Change-Id: I93813248fbeebc2787acdfe550d42588f60e8f7d

5 years agoFix device mask in swapchain tests
Igor Ostrowski [Wed, 20 Feb 2019 10:15:54 +0000 (11:15 +0100)]
Fix device mask in swapchain tests

All elements of pCommandBufferDeviceMasks must be valid device masks

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

Components: Vulkan
VK-GL-CTS issue: 1618

Change-Id: Ic3857672a99b3d4039b26cd0139c08bca7a0e5da

5 years agoFix RAW and WAW hazards in pipeline barrier tests.
Igor Ostrowski [Fri, 15 Feb 2019 14:33:42 +0000 (15:33 +0100)]
Fix RAW and WAW hazards in pipeline barrier tests.

Test was not handling correctly internal state of the visibility and availability operations.
Both access scopes of the barrier must be set correctly to unlock such usage of the resource.

Affects:
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan
VK-GL-CTS issue: 1589

Change-Id: I7a778dbee8109f060b88beee625ca15de01c7364

5 years agoCreate context with CONTEXT_ROBUST for robust buffer access tests
asokolow [Wed, 6 Feb 2019 09:12:28 +0000 (10:12 +0100)]
Create context with CONTEXT_ROBUST for robust buffer access tests

These tests exercise functionality that is not available in default
context provided by the framework. New context, with CONTEXT_ROBUST
(WGL|GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB) flag is created for these
tests.

Component: OpenGL

VK-GL-CTS Issue: 1588

Affects:
KHR-GL4*.robust_buffer_access_behavior.*

Change-Id: Ie698a6a434426bf147a705cc487b4fbe560a79c7

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Tue, 26 Feb 2019 19:40:18 +0000 (20:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I092923bd34672e06802545333b2aea7c630fbf70