platform/upstream/VK-GL-CTS.git
6 years agoAdd exposed extensions test
Piotr Byszewski [Tue, 4 Jul 2017 08:29:08 +0000 (10:29 +0200)]
Add exposed extensions test

GL implementations should not expose any OES extensions
except GL_OES_EGL_image.
GLES implementations should not expose any ARB extensions.

Components: OpenGL

VK-GL-CTS issue: 49

Affects:
KHR-GL40.exposed_extensions.*
KHR-GLES3.exposed_extensions.*

Change-Id: Ic3a11850bb1b5c4414cdd9f04614b51d428d6a4f

6 years agoFix gcc 5.4 warnings
Alexander Galazin [Wed, 5 Jul 2017 15:09:38 +0000 (17:09 +0200)]
Fix gcc 5.4 warnings

gcc 5.4 (default in Ubuntu 16.04) reports conversion to int
warnings/errors for bitwise or and assign operator.

GCC bug: 40752

Components: Framework, Vulkan

Change-Id: Ia857c44cf54d5571d857e1fada0e2aaa8f4b950d

6 years agoAdd a test for creating device with unsupported features.
Ari Suonpaa [Wed, 28 Jun 2017 07:51:30 +0000 (10:51 +0300)]
Add a test for creating device with unsupported features.

Affects:

dEQP-VK.api.device_init.create_device_unsupported_features

Components: Vulkan

VK-GL-CTS issue: 403

Change-Id: Ibf3b583e3f64e412972493a85f5437502d205db0

6 years agoAdded OpAtomic* test for graphics pipeline
Ari Suonpää [Tue, 13 Jun 2017 05:24:56 +0000 (08:24 +0300)]
Added OpAtomic* test for graphics pipeline

Affects:

dEQP-VK.glsl.atomic_operations.*

Components: Vulkan

VK-GL-CTS issue: 360

Change-Id: I833204021e978d0231fbe86e18ad116a034996fe

6 years agoGL_ARB_enhanced_layouts: use proper max size value
Andres Gomez [Thu, 22 Jun 2017 21:31:44 +0000 (00:31 +0300)]
GL_ARB_enhanced_layouts: use proper max size value

When checking for invalid offset alignment in uniform blocks we have
to take into account the MAX_UNIFORM_BLOCK_SIZE limit but, when trying
to do the same for Shader Storage Blocks, the limit to have into
account is MAX_SHADER_STORAGE_BLOCK_SIZE.

From page 52 (page 65 of the PDF) of the OpenGL 3.1 spec:

  "2.11.4 Uniform Variables

   ...

   The total amount of buffer object storage available for any given
   uniform block is subject to an implementation-dependent limit. The
   maximum amount of available space, in basic machine units, can be
   queried by calling GetIntegerv with the constant
   MAX_UNIFORM_BLOCK_SIZE . If the amount of storage required for a
   uniform block exceeds this limit, a program may fail to link."

From page 128 (page 129 of the PDF) of the OpenGL 4.3 spec:

  "7.8 Shader Buffer Variables and Shader Storage Blocks

   ...

   The total amount of buffer object storage that can be accessed in
   any shader storage block is subject to an implementation-dependent
   limit. The maximum amount of available space, in basic machine
   units, can be queried by calling GetIntegerv with the constant
   MAX_SHADER_STORAGE_BLOCK_SIZE . If the amount of storage required
   for any shader storage block exceeds this limit, a program will
   fail to link."

Affects:

GL44-CTS.enhanced_layouts.uniform_block_member_invalid_offset_alignment
GL44-CTS.enhanced_layouts.ssb_member_invalid_offset_alignment

Components: OpenGL

VK-GL-CTS issue: 527

Change-Id: I9185f32a6a90643aa1d3fca0e27a70dbd80d6e16

6 years agoHandle component aliasing corner cases
Jeannot Breton [Wed, 21 Jun 2017 16:22:41 +0000 (11:22 -0500)]
Handle component aliasing corner cases

This change avoid vertex shader where every path access multiple
inputs aliased to any single component since an error is permitted
but not required

The change avoid dvec3/dvec4 since it should not be declared with
a component

The change avoid double/dvec2 with a component 1 or 3

Affects:

KHR-GL45.enhanced_layouts.input_component_aliasing

Components: OpenGL

VK-GL-CTS issue: 524

Change-Id: I062b4321becf96a218b8643ee1d089105bccc63a

6 years agoDouble fragment inputs require flat qualifier
Juan A. Suarez Romero [Wed, 21 Jun 2017 10:17:33 +0000 (10:17 +0000)]
Double fragment inputs require flat qualifier

According to GLSL spec, fragment inputs of double type require "flat"
qualifier.

Affects:
KHR-GL45.enhanced_layouts.xfb_global_buffer

VK-GL-CTS issue: 522
Components: OpenGL

Change-Id: Ibd404b0ad63cbee09e157ea65a5efda932582a62

6 years agoFix incorrect buffer size expectation in DSA XFB buffer test
Iago Toral Quiroga [Wed, 14 Jun 2017 09:00:13 +0000 (11:00 +0200)]
Fix incorrect buffer size expectation in DSA XFB buffer test

The test creates two buffers, both with a size 's_bo_size' in
BuffersTest::prepareTestSetup(), then binds the first buffer
to binding point 0 and each half of the other buffer to
binding points 1 and 2 respectively.

Later, the test queries buffer sizes for each binding and
expects the size of the buffer in the first binding to be 0
when it should be 's_bo_size'.

Components: OpenGL
VK-GL-CTS issue: 502

Affects:
KHR-GL45.direct_state_access.xfb_buffers

Change-Id: I394622bb7bba076c68c5cca968c6b1cbf34e2ea9

6 years agoCall glValidateProgram() before querying GL_VALIDATE_STATUS
Iago Toral Quiroga [Tue, 13 Jun 2017 08:26:17 +0000 (10:26 +0200)]
Call glValidateProgram() before querying GL_VALIDATE_STATUS

The DSA program_pipelines_functional test queries this param
without calling glValidateProgram() first, which is not
correct:

From section 7.13. SHADER, PROGRAM, AND PROGRAM PIPELINE QUERIES:

"If pname is VALIDATE_STATUS, TRUE is returned if the last
 call to ValidateProgram (see section 11.1.3.11) with
 program was successful, and FALSE is returned otherwise."

Components: OpenGL
VK-GL-CTS issue: 498

Affects:
KHR-GL45.direct_state_access.program_pipelines_functional

Change-Id: I4de325f0779c3330523b1fac1845d287b790ee3a

6 years agoSet DrawBuffers for each fragment color output
Jeannot Breton [Tue, 20 Jun 2017 21:25:01 +0000 (16:25 -0500)]
Set DrawBuffers for each fragment color output

Update the DrawBuffers call to properly map the fragment color
output to it expected color attachment

Affects:

KHR-GL45.enhanced_layouts.fragment_data_location_api

Components: OpenGL

VK-GL-CTS issue: 517

Change-Id: I54678528b59b9732fbe466df1a50707a3a4716ba

6 years agoDSA texture storage/subimage tests sample from incomplete textures
Iago Toral Quiroga [Mon, 12 Jun 2017 09:04:18 +0000 (11:04 +0200)]
DSA texture storage/subimage tests sample from incomplete textures

These tests upload data to a texture that is then sampled
from a shader but the test never setup sampling filters
for the texture, leaving it incomplete.

Components: OpenGL
VK-GL-CTS issue: 493

Affects:
KHR-GL45.direct_state_access.textures_storage_and_subimage

Change-Id: I1bb10af3f3760ffe7f45f9731b40abb2f3aef223

6 years agoRevert "Fix tessellation tests do not test undefined tessLevel inputs"
Alexander Galazin [Sat, 1 Jul 2017 10:32:44 +0000 (06:32 -0400)]
Revert "Fix tessellation tests do not test undefined tessLevel inputs"

This reverts commit a93fab5d2980a90cd70895d874cdc44c6e858199.

Change-Id: I2995e3cdb4533d1d7108424e0da2c60876f4fa63

6 years agoFix tessellation tests do not test undefined tessLevel inputs
Slawomir Cygan [Mon, 12 Jun 2017 12:49:33 +0000 (14:49 +0200)]
Fix tessellation tests do not test undefined tessLevel inputs

The spec says g gl_TessLevelOuter[2], gl_TessLevelOuter[3], and
both values in gl_TessLevelInner inputs  are undefined in tessellation
 evaluation shader, if isolines are tessellated.

To avoid testing undefined tessellation level inputs, change
the tessellated primitive type to QUADS

Affects:
KHR-GL45.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_tessLevel

Components: OpenGL

VK-GL-CTS issue: 488

Change-Id: I86616302ebb857e7421bc4248f2586ebc25729a7

6 years agoMove robustness tests to custom context package
Piotr Byszewski [Tue, 16 May 2017 14:10:34 +0000 (16:10 +0200)]
Move robustness tests to custom context package

GL45 and ES32 robustness tests require custom context. Previously
this was handled by creating concurrent context but this introduced
issues during context destruction. This change moves robustness
tests to common folder and executes them from separate package that
does not have default context.

Components: OpenGL, Framework

VK-GL-CTS issue: 351

Affects: KHR-NoContext.*.robustness.*

Change-Id: I5abed300d37b0748dbef0c5538acd6f5641163dd

6 years agoAdd limits_tests implementation
Piotr Byszewski [Wed, 14 Jun 2017 16:12:12 +0000 (18:12 +0200)]
Add limits_tests implementation

This change adds generic limit test class that can
be used to test all types of limits and compare them
to corresponding GLSL builtin.
This change uses this generic limit test to test all
GL45 limits.

Affects: KHR-GL45.limits_tests.*

Components: OpenGL

VK-GL-CTS issue: 42

Change-Id: I2970595377c75e243e72358e24422b4a312e0ad8

6 years agoGL_ARB_enhanced_layouts: consider std140 rules
Andres Gomez [Wed, 1 Mar 2017 13:43:24 +0000 (15:43 +0200)]
GL_ARB_enhanced_layouts: consider std140 rules

In the case of UBOs and SSBOs, the offset for a block member depends
on the base alignment of its type. When the block uses the std140
packaging we have to take into account its specific rules for the
calculation of the base alignment for such data type.

From the GL_ARB_enhanced_layouts spec:

    "The specified offset must be a multiple of the base alignment of
     the type of the block member it qualifies, or a compile-time
     error results."

From page 61 (page 74 of the PDF) of the OpenGL 3.1 spec:

    "2.11. VERTEX SHADERS

     ...

     Standard Uniform Block Layout

     ...

     When using the std140 storage layout, structures will be laid out
     in buffer storage with its members stored in monotonically
     increasing order based on their location in the declaration. A
     structure and each structure member have a base offset and a base
     alignment, from which an aligned offset is computed by rounding
     the base offset up to a multiple of the base alignment.

     ...

     1. If the member is a scalar consuming N basic machine units, the
        base alignment is N.

     2. If the member is a two- or four-component vector with
        components consuming N basic machine units, the base alignment
        is 2N or 4N , respectively.

     3. If the member is a three-component vector with components
        consuming N basic machine units, the base alignment is 4N .

     4. If the member is an array of scalars or vectors, the base
        alignment and array stride are set to match the base alignment
        of a single array element, according to rules (1), (2),
        and (3), and rounded up to the base alignment of a vec4. The
        array may have padding at the end; the base offset of the
        member following the array is rounded up to the next multiple
        of the base alignment.

     5. If the member is a column-major matrix with C columns and R
        rows, the matrix is stored identically to an array of C column
        vectors with R compo- nents each, according to rule (4)."

From page 128 (page 149 of the PDF) of the OpenGL 4.3 spec:

    "7.8 Shader Buffer Variables and Shader Storage Blocks

     ...

     Buffer variables in shader storage blocks are represented in
     memory in the same way as uniforms stored in uniform blocks, as
     described in section 7.6.2.1.  When a program is linked
     successfully, each active buffer variable is assigned an offset
     relative to the base of the buffer object binding associated with
     its shader storage block. For buffer variables declared as arrays
     and matrices, strides between array elements or matrix columns or
     rows will also be assigned. Offsets and strides of buffer
     variables will be assigned in an implementation-dependent manner
     unless the shader storage block is declared using the std140 or
     std430 storage layout qualifiers. For std140 and std430 shader
     storage blocks, offsets will be assigned using the method
     described in section 7.6.2.2."

Affects:

GL44-CTS.enhanced_layouts.uniform_block_member_invalid_offset_alignment
GL44-CTS.enhanced_layouts.ssb_member_invalid_offset_alignment

Components: OpenGL

VK-GL-CTS issue: 519

Change-Id: I5176d555605a8c482377ebfa5fbf16bc0dbf741a

6 years agoAccept compiler or link error as passing result
James Helferty [Tue, 13 Jun 2017 21:23:15 +0000 (17:23 -0400)]
Accept compiler or link error as passing result

Accept either a compiler or link error as a correct behavior when
attempting to alias two outputs from a shader.

Also updates the documentation in the header with the actual shader
construct being tested.

VK-GL-CTS issue: 504
Components: OpenGL

Affects:

KHR-GL44.geometry_shader.linking.location_aliasing
KHR-GL45.geometry_shader.linking.location_aliasing
KHR-GLES31.core.geometry_shader.linking.location_aliasing
KHR-GLES32.core.geometry_shader.linking.location_aliasing

Change-Id: Ib786b3e2bd4f8efc94bea082da417e20e7b8619c

6 years agoAdd CTS_KHR_no_error test implementation
Adam Czupryna [Mon, 27 Feb 2017 10:01:06 +0000 (11:01 +0100)]
Add CTS_KHR_no_error test implementation

This is CTS_KHR_no_error implementation commit.
CONTEXT_NO_ERROR flag is added into framework.

Affects:
KHR-NoContext.*.no_error.*

Components: Framework, OpenGL

VK-GL-CTS issue: 5

Change-Id: Ie37d37ad974bbf5e8687f56f774c85498847299c

6 years agoFix build_mustpass.py dir in vulkancts README
David Neto [Thu, 15 Jun 2017 17:40:50 +0000 (13:40 -0400)]
Fix build_mustpass.py dir in vulkancts README

Components: Vulkan

VK-GL-CTS issue: 506

Change-Id: I6f729e39ea025a91763ea2f7ace79fc911776611

6 years agoAdd CTS_EXT_texture_filter_anisotropic tests implementation
Adam Czupryna [Wed, 17 May 2017 07:58:33 +0000 (09:58 +0200)]
Add CTS_EXT_texture_filter_anisotropic tests implementation

This is tests implementation for GL_EXT_texture_filter_anisotropic
extesnion.

affects:

KHR-GL44.texture_filter_anisotropic.*
KHR-GLES3.texture_filter_anisotropic.*

Components: Framework, OpenGL

VK-GL-CTS issue: 387

Change-Id: I1744454f0e148f99d2faad9905ab4d76d1edecd6

6 years agoAllow NV_texture_rectangle_compressed
James Helferty [Wed, 7 Jun 2017 20:32:57 +0000 (16:32 -0400)]
Allow NV_texture_rectangle_compressed

Allows a rectangle texture object to be used with the glCompressed*
functions if NV_texture_rectangle_compressed is available.

VK-GL-CTS issue: 525
Components: OpenGL

Affects:
KHR-GL45.direct_state_access.textures_subimage_errors

Change-Id: I81622508f6bb2e8f2817a6904de30c10a03cef93

6 years agoStop reading from uninitialized memory
James Helferty [Mon, 12 Jun 2017 21:49:29 +0000 (17:49 -0400)]
Stop reading from uninitialized memory

The compute pipeline statistics query test was accessing uninitialized
memory, which was causing an assert to randomly fail depending on what
tests were run beforehand.

Besides removing the access of the uninitialized memory, this change
also initializes the culprit memory in the base class to known invalid
values so that if another subclass is ever created with the same bug,
it will consistently assert.

VK-GL-CTS issue: 496
Components: OpenGL

Affects:

KHR-GL45.pipeline_statistics_query_tests_ARB.functional_compute_shader_invocations

Change-Id: Icc7478c98f617afee2fd53564473492fecd8836e

6 years agoEnsure invalid_value is an invalid value
James Helferty [Mon, 19 Jun 2017 19:38:04 +0000 (15:38 -0400)]
Ensure invalid_value is an invalid value

In order to make sure that the program name we use is an invalid value,
we need to ensure it isn't a shader name, since that would generate an
INVALID_OPERATION error instead of INVALID_VALUE.

VK-GL-CTS issue 515
Frameworks: OpenGL

Affects:
KHR-GL30.transform_feedback.api_errors_test
KHR-GL31.transform_feedback.api_errors_test
KHR-GL32.transform_feedback.api_errors_test
KHR-GL33.transform_feedback.api_errors_test
KHR-GL40.transform_feedback.api_errors_test
KHR-GL41.transform_feedback.api_errors_test
KHR-GL42.transform_feedback.api_errors_test
KHR-GL43.transform_feedback.api_errors_test
KHR-GL44.transform_feedback.api_errors_test
KHR-GL45.transform_feedback.api_errors_test

Change-Id: If365d90aa794f2659bb49f6831a2b1c040935094

6 years agoRewrite DSA texture buffer tests to signal unsupported configurations
Iago Toral Quiroga [Tue, 20 Jun 2017 10:24:40 +0000 (12:24 +0200)]
Rewrite DSA texture buffer tests to signal unsupported configurations

The current implementation has a single test instance that
loops over a collection of types and sizes and produces a
single pass/fail result. Because some of the framebuffer
configurations produced may not be supported by the driver,
the test skips silently such configurations, which is not
desirable.

This patch rewrites the implementation so that we have a
separate test instance for each configuration instead. This
allows us to signal independent pass/fail/unsupported results
for each one.

Components: OpenGL

Affects:
KHR-GL45.direct_state_access.textures_buffer

Change-Id: Id160dd91bed4e5e2a66a6e579e9e4893b5ea956a

6 years agoAdd new package for tests with no default context
Piotr Byszewski [Fri, 12 May 2017 13:32:36 +0000 (15:32 +0200)]
Add new package for tests with no default context

Some OpenGL tests require special GL contexts. This change adds package
that doesn't have default render context. Tests executed in it are
responsible of creating their own context.

Components: OpenGL

VK-GL-CTS issue: 351

Change-Id: I1c0957a2430cd85fd2a52262d0e90069b6679570

6 years agoDelete pipeline in dEQP-VK.renderpass.multisample
Gary Sweet [Wed, 7 Jun 2017 10:52:34 +0000 (11:52 +0100)]
Delete pipeline in dEQP-VK.renderpass.multisample

The pipeline objects were not being destroyed at the end of
the test as they weren't held in shared pointers like
everything else is.

Affects:

dEQP-VK.renderpass.multisample.*

Components: Vulkan

VK-GL-CTS issue: 468

Change-Id: I17b8afbb62b2b9c55e89939a02d76b72ed5c09ff

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Thu, 22 Jun 2017 02:28:17 +0000 (04:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I637adc039c18a8522aea1c8ebdd4756984985285

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Thu, 22 Jun 2017 02:28:12 +0000 (04:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I6400944995d9bcb06801ab0f3ada643ed9d914ed

6 years agoCheck for shaderFloat64 before creating shaders
Alex Walters [Tue, 20 Jun 2017 11:27:11 +0000 (12:27 +0100)]
Check for shaderFloat64 before creating shaders

Shader is using double types for F64 vertex attribute cases without
checking that the shader feature is supported.

The test was eventually making this check, but not until setting up
the vertex attributes themselves. This change also avoid creating some
other resources before determining that the test is unsupported.

Affects:

dEQP-VK.pipeline.vertex_input.single_attribute*64*

Components: Vulkan

VK-GL-CTS issue: 459

Change-Id: I6142af4e1a64aac233d6890285f81db327589800

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Sun, 18 Jun 2017 13:49:14 +0000 (15:49 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I12908a40fc80e7a9b7ee47cbec34a9ed77e7dce4

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Sun, 18 Jun 2017 13:43:55 +0000 (15:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ibc2a0e06a379886958c3c45f8153b2271251dc1f

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Sun, 18 Jun 2017 12:32:55 +0000 (14:32 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Ibc1539846ed2f43f1f38cb8460cba52b28cbaa0a

6 years agoTouch watchdog before freeing objs in max_concurrent
Pyry Haulos [Wed, 7 Jun 2017 22:58:05 +0000 (15:58 -0700)]
Touch watchdog before freeing objs in max_concurrent

Affects:
dEQP-VK.api.object_management.max_concurrent.*

Components: Vulkan
Google bug: 37515046
VK-GL-CTS issue: 507

Change-Id: I57eb68764a55b5dceeb3e2676b8b1b298c0ff67e
(cherry picked from commit 252fb76fec02af6e2281da3bc9eea4e0d7972f12)
(cherry picked from commit 815781b7774af1aad0e9e2e60cd59ae575a81cf4)

6 years agoAdd missing flush for opaque_type_indexing tests
Gary Sweet [Fri, 9 Jun 2017 07:43:45 +0000 (08:43 +0100)]
Add missing flush for opaque_type_indexing tests

Buffers were being mapped and written, but not flushed
before use.

Affects:

dEQP-VK.glsl.opaque_type_indexing.sampler.*

Components: Vulkan

VK-GL-CTS issue: 487

Change-Id: I9d6b694cebdff1785cbff303f4873628ca902d51

6 years agoReturn back transient attachments tests
Boris Zanin [Tue, 6 Jun 2017 06:42:14 +0000 (08:42 +0200)]
Return back transient attachments tests

Update tests:
 * dEQP-VK.renderpass.attachment.*
 * dEQP-VK.renderpass.attachment_allocation.*

Components: Vulkan

VK-GL-CTS issue 464

Change-Id: I11006ef75ee7fbeb6674d1876a535101edb2a667

6 years agoExtend dEQP-VK.api.image_clearing tests to cover layered images
Slawomir Cygan [Mon, 29 May 2017 17:23:01 +0000 (19:23 +0200)]
Extend dEQP-VK.api.image_clearing tests to cover layered images

This change adds new variang of image clearing test cases:
- *_multiple_layers
which use arrayed images and layered clears.

In the new tests variant both image views and clear operations
use layerCount smaller than `remaining` layers and non-zero
baseArrayLayer. It is expected that proper subset of layers
are cleared, while other layers are untouched.

All clear command variants (image, attachment), color formats
and image types are tested.

Affects: dEQP-VK.api.image_clearing

Components: Vulkan

VK-GL-CTS issue: 449

Change-Id: Ifedd393b14880697501df450b22740de76b6cd0c

6 years agoExplicitly clamp outputs from sint renderpass cases
Gary Sweet [Wed, 7 Jun 2017 09:59:02 +0000 (10:59 +0100)]
Explicitly clamp outputs from sint renderpass cases

dEQP-VK.renderpass.multisample.*sint* tests were expecting
the implementation to implicitly clamp the signed outputs.
This appears to be undefined by the spec, so change the
tests to explicitly clamp prior to output.

Affects:

dEQP-VK.renderpass.multisample.*sint*

Components: Vulkan

VK-GL-CTS issue: 463

Change-Id: I6c7c8f3ed56152a7e52ea0ddf5eafebb9ac8dc09

6 years agoSlightly increase threshold in dEQP-VK.draw.basic_draw.draw_indirect
Slawomir Cygan [Wed, 7 Jun 2017 17:55:09 +0000 (19:55 +0200)]
Slightly increase threshold in dEQP-VK.draw.basic_draw.draw_indirect

The test draws a lot of intersecting lines and compare them to reference
renderer output.

Unfortunately, the test does not account for strictLines capability (hence
ignores that they are two line rasterization algorithms in Vulkan). On the
other hand it usess fuzzy compare, which somehow obfuscates that fact.

However, there is an issue where many (around 8) lines intersect in area covered
by one fuzzy 'kernel' invocation, where small difference results in false negative
comparison.

This change slightly increases the threshold.

Affects:  dEQP-VK.draw

Components: Vulkan

VK-GL-CTS issue: 495

Change-Id: I2dab225516b8a3dea937efe6c4fb042bc267481b

6 years agoMerge "Remove EGL gles1.rgb565_window from mustpass"
Pyry Haulos [Wed, 14 Jun 2017 01:53:10 +0000 (01:53 +0000)]
Merge "Remove EGL gles1.rgb565_window from mustpass"
am: 7bff163e7f

Change-Id: I642a906fce854d128ddbf13ca997df01fbece237

6 years agoMerge "Remove EGL gles1.rgb565_window from mustpass"
Treehugger Robot [Wed, 14 Jun 2017 01:43:04 +0000 (01:43 +0000)]
Merge "Remove EGL gles1.rgb565_window from mustpass"

6 years agoTouch watchdog before freeing objs in max_concurrent
Pyry Haulos [Wed, 14 Jun 2017 01:22:40 +0000 (01:22 +0000)]
Touch watchdog before freeing objs in max_concurrent
am: 815781b777

Change-Id: Ibe8bbcbbfddca74524f9422b60e14bd7db124f47

6 years agoRemove EGL gles1.rgb565_window from mustpass
Pyry Haulos [Tue, 13 Jun 2017 21:08:33 +0000 (14:08 -0700)]
Remove EGL gles1.rgb565_window from mustpass

Bug: 30041221
Change-Id: Idc8e3d1d78c568fa8d4209c61eaec52ca5696356
(cherry picked from commit 22eb25c58f0a1aa1de401a38778471c8b6700ffd)

6 years agoTouch watchdog before freeing objs in max_concurrent
Pyry Haulos [Wed, 7 Jun 2017 22:58:05 +0000 (15:58 -0700)]
Touch watchdog before freeing objs in max_concurrent

Affects:
dEQP-VK.api.object_management.max_concurrent.*

Components: Vulkan
Google bug: 37515046

Change-Id: I57eb68764a55b5dceeb3e2676b8b1b298c0ff67e
(cherry picked from commit 252fb76fec02af6e2281da3bc9eea4e0d7972f12)

6 years agoUpdate ES mustpass after merge from AOSP
Alexander Galazin [Tue, 13 Jun 2017 05:12:06 +0000 (07:12 +0200)]
Update ES mustpass after merge from AOSP

Components: OpenGL
Affects: ES mustpass

Change-Id: I379e4ed874be09068b59e88d62d40980c400a703

6 years agoApply sRGB conversion to reference in sRGB framebuffer fetch test
james.glanville [Thu, 18 May 2017 10:24:06 +0000 (11:24 +0100)]
Apply sRGB conversion to reference in sRGB framebuffer fetch test

Framebuffer fetch returns linear values when the framebuffer format
is sRGB and GL_FRAMEBUFFER_SRGB is enabled (default). This conversion
was not applied when generating reference textures for framebuffer
fetch tests. glReadPixels() does not apply any conversion, so the
final reference value must also be converted back to sRGB.

Affects: dEQP-GLES31.functional.shaders.framebuffer_fetch.
framebuffer_format.srgb8_alpha8

Components: AOSP

6 years agoMerge "Re-remove tessellation explicit_output_array_size_1 from must-pass list" into...
Pyry Haulos [Mon, 12 Jun 2017 17:06:12 +0000 (17:06 +0000)]
Merge "Re-remove tessellation explicit_output_array_size_1 from must-pass list" into deqp-dev

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Sun, 11 Jun 2017 12:17:25 +0000 (14:17 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I9211a0c9a1c8eaf728a2befa125dff6d56b8ec6c

7 years agoSkip OOB SSBO fragment tests for ES3.1 GPUs
Alexander Galazin [Fri, 9 Jun 2017 23:36:06 +0000 (23:36 +0000)]
Skip OOB SSBO fragment tests for ES3.1 GPUs
am: f5fc3c8409

Change-Id: I611887e4299f25c04add54c3a6b5554c1841f20b

7 years agoSkip OOB SSBO fragment tests for ES3.1 GPUs
Alexander Galazin [Fri, 9 Jun 2017 14:26:32 +0000 (16:26 +0200)]
Skip OOB SSBO fragment tests for ES3.1 GPUs

GPUs supporting GLES 3.1 may expose 0 SSBOs in fragment shaders.
This change extends fix made in cf65c56f.

Google bug: 36891454

Components: AOSP

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds*.shader_storage_block.fragment

Change-Id: I1d821198d3dba3d3ad1e6b25758d0d434bf08a30

7 years agoMerge "Add support for metamorphic testing" into deqp-dev
Treehugger Robot [Fri, 9 Jun 2017 21:29:04 +0000 (21:29 +0000)]
Merge "Add support for metamorphic testing" into deqp-dev

7 years agoRe-remove tessellation explicit_output_array_size_1 from must-pass list
Mark Adams [Fri, 9 Jun 2017 17:52:18 +0000 (13:52 -0400)]
Re-remove tessellation explicit_output_array_size_1 from must-pass list

Affected test:
dEQP-GLES31.functional.tessellation.user_defined_io.negative.es32.per_vertex_incorrect_control_explicit_output_array_size_1

7 years agoFix CopyNamedBufferSubData definition
Jeannot Breton [Wed, 7 Jun 2017 22:21:32 +0000 (17:21 -0500)]
Fix CopyNamedBufferSubData definition

It defines the last parameters as a GLsizei but it's a GLsizeiptr

Affects:

KHR-GL45.direct_state_access.buffers_errors
KHR-GL45.direct_state_access.buffers_functional

Components: OpenGL

VK-GL-CTS issue: 478

Change-Id: Iea980d761c6fec9068496878f2bc21415fc693b9

7 years agoFix shader draw parameter pack alignment issue
Jeannot Breton [Wed, 7 Jun 2017 22:09:00 +0000 (17:09 -0500)]
Fix shader draw parameter pack alignment issue

The test allocates a buffer of width*height*3 elements and expects
the readPixels to only write to this memory.

This is not correct if the window width is not a multiple of 4

Adding a gl.pixelStorei(GL_PACK_ALIGNMENT, 1) before the readPixels
fixes the issue

Affects:

KHR-GL45.shader_draw_parameters_tests.ShaderDrawArraysParameters

Components: OpenGL

VK-GL-CTS issue: 477

Change-Id: I2bef139f5b1e39fe52b2f00e5a529ce503a5d567

7 years agoLimit texture memory required by test
Jeannot Breton [Tue, 6 Jun 2017 14:46:19 +0000 (09:46 -0500)]
Limit texture memory required by test

Fix 3 issues in framebuffers_texture_layer_attachment

Use the correct enum to get array textures maxsize and maxlayers

Limit the allocated texture layers

Generate only 2 renderbuffers

Affects:

KHR-GL45.direct_state_access.framebuffers_texture_layer_attachment

Components: OpenGL

VK-GL-CTS issue: 470

Change-Id: I11fd9a209d9ca6ffc83b2aa33fb196d4915817ec

7 years agoDo not exceed GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
Iago Toral Quiroga [Tue, 6 Jun 2017 06:53:47 +0000 (08:53 +0200)]
Do not exceed GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS

The transform feedback tests query the limit but never actually used it
to clamp the number of attributes used with GL_SEPARATE_ATTRIBS.

Components: OpenGL
VK-GL-CTS issue: 469

Affects:
KHR-GL45.transform_feedback.get_xfb_varying

Change-Id: Ie0b89233024e2e10bacc1e9b2f9969c0da3a9e29

7 years agoUse renderbuffer object on bindRenderbuffer call
Jeannot Breton [Fri, 2 Jun 2017 19:24:44 +0000 (14:24 -0500)]
Use renderbuffer object on bindRenderbuffer call

The test was calling bindRenderbuffer(GL_RENDERBUFFER, m_fbo);

It should be replaced by

    bindRenderbuffer(GL_RENDERBUFFER, m_rbo);

Affects:

KHR-GL45.incomplete_texture_access.sampler

Components: OpenGL

VK-GL-CTS issue: 466

Change-Id: I94efdfca22abb84faa52e5b4a0dfd82cde484249

7 years agomulti-bind tests use multisampled images without checking for support
Iago Toral Quiroga [Fri, 2 Jun 2017 08:40:22 +0000 (10:40 +0200)]
multi-bind tests use multisampled images without checking for support

Some tests sample/store from GL_TEXTURE_2D_MULTISAMPLE{_ARRAY} without
checking the value of GL_MAX_IMAGE_SAMPLES, which can be zero. Skip,
these targets in the driver reports 0, meaning that it can't do
multisample load/store image operations.

Components: OpenGL
VK-GL-CTS issue: 462

Affects:
KHR-GL45.multi_bind.dispatch_bind_textures
KHR-GL45.multi_bind.dispatch_bind_image_textures

Change-Id: I94df7fa657bc04c05cc598bf5dba5c09574cbaf0

7 years agoUpdate TextureParameter* errors
James Helferty [Wed, 7 Jun 2017 20:17:50 +0000 (16:17 -0400)]
Update TextureParameter* errors

Check for INVALID_OPERATION instead of INVALID_ENUM whenever attempting
to use GetTextureParameter* with a texture object with an incompatible
TEXTURE_TARGET.

VK-GL-CTS issue: 485
Components: OpenGL

Affects:

KHR-GL45.direct_state_access.textures_parameter_errors

Change-Id: Id0cf6eb72896ce9221fc38b6f37e8d7f54766ae1

7 years agoExpect different error for DSA GetTexture funcs
James Helferty [Tue, 6 Jun 2017 18:22:29 +0000 (14:22 -0400)]
Expect different error for DSA GetTexture funcs

The OpenGL 4.6 draft specification (May 31, 2017) modifies the expected
errors for using an invalid texture ID with glGetTextureSubImage*D and
glGetCompressedTextureSubImage*D from INVALID_VALUE to
INVALID_OPERATION. This change updates our tests to expect the revised
error code.

VK-GL-CTS issue: 472
Components: OpenGL

Affects:

KHR-GL45.get_texture_sub_image.errors_test

Change-Id: I66c95a370af62977508eed4bb45f181eba51a654

7 years agoFix invalid FLAT and uninitialized variable
James Helferty [Thu, 1 Jun 2017 16:22:33 +0000 (12:22 -0400)]
Fix invalid FLAT and uninitialized variable

Fixes two issues in a negative test:

* Removes flat qualifier from vertex shader input, which is always
invalid and was causing a subtest of this negative test to always pass.

* Modifies the initial use of a variable from '+=' to '=' to fix an
uninitialized variable error.

Components: OpenGL

Affects:

KHR-GL45.enhanced_layouts.varying_component_without_location

VK-GL-CTS issue: 455

Change-Id: If24ea45ae13baaae83d68e6cd67109a1ffe6c050

7 years agoAdd CTS_ARB_shader_draw_parameters specification proposal
Adam Czupryna [Fri, 24 Mar 2017 13:41:39 +0000 (14:41 +0100)]
Add CTS_ARB_shader_draw_parameters specification proposal

This is CTS_ARB_shader_draw_parameters specification proposal.

Components: OpenGL

VK-GL-CTS issue: 327

Change-Id: I61ec8866508bbc0c54d67d9b49f5421d27779769

7 years agoSampling precision issues - mustpass removal
Marcin Kańtoch [Thu, 8 Jun 2017 16:28:20 +0000 (18:28 +0200)]
Sampling precision issues - mustpass removal

Affects:

dEQP-VK.glsl.texture_functions.textureoffset.isampler2darray_vertex
dEQP-VK.glsl.texture_functions.textureoffset.usampler2darray_vertex
dEQP-VK.glsl.texture_functions.textureoffset.usampler3d_vertex
dEQP-VK.glsl.texture_functions.texturegradoffset.usampler2darray_vertex

Components: Vulkan

VK-GL-CTS issue: 448

Change-Id: Id895783e75a5b779ead5d396d2953a5c07f20f52

7 years agoAdd missing flushes for buffer view access tests
Gary Sweet [Wed, 7 Jun 2017 09:31:14 +0000 (10:31 +0100)]
Add missing flushes for buffer view access tests

Buffers were being mapped and written, but not flushed
before use.

Affects:

dEQP-VK.api.buffer_view.access.buffer_view_memory_test_*

Components: Vulkan

VK-GL-CTS issue: 474

Change-Id: I5874f56da87d3857b0c2c840805f932f56e8ff49

7 years agoIgnore A channel in EGL RGB5_A1 clear color tests
Alexander Galazin [Tue, 6 Jun 2017 21:07:54 +0000 (21:07 +0000)]
Ignore A channel in EGL RGB5_A1 clear color tests
am: 9da1b45a8e

Change-Id: I72c8355a27472f559467127051f3108eba9ee581

7 years agoIgnore A channel in EGL RGB5_A1 clear color tests
Alexander Galazin [Tue, 6 Jun 2017 11:22:58 +0000 (13:22 +0200)]
Ignore A channel in EGL RGB5_A1 clear color tests

Dithering can siginifcantly impact alpha channel and the framework
can't fully account it.

Components: AOSP
Affects:
dEQP-EGL.functional.color_clears.*.rgba5551*

Bug: 62383988

Change-Id: Ic8fa4da1a840da56f74af3e076d0728d9abbdadc

7 years agoFix spelling of 'tessellation'
James Helferty [Tue, 30 May 2017 15:58:24 +0000 (11:58 -0400)]
Fix spelling of 'tessellation'

Fixes the spelling of 'tessellation' in gl4cEnhancedLayoutsTests.cpp

VK-GL-CTS issue: 471
Components: OpenGL

Affects:

KHR-GL45.enhanced_layouts.*

Change-Id: I5710e8698830ba2c8c1ae525f87c587953c5b79f

7 years agoUpdate GL/ES mustpass
Alexander Galazin [Tue, 6 Jun 2017 12:59:10 +0000 (14:59 +0200)]
Update GL/ES mustpass

Update mustpass files after merges from AOSP

Components: OpenGL

Change-Id: Icbe18926f604936da12dda11852a5479911d6bfc

7 years agoAdded CTS_ARB_shader_viewport_layer_array tests
Filip Demczewski [Wed, 28 Dec 2016 10:17:47 +0000 (11:17 +0100)]
Added CTS_ARB_shader_viewport_layer_array tests

Added CTS_ARB_shader_viewport_layer_array cases:
ShaderViewportIndexTestCase
ShaderLayerFramebufferLayeredTestCase
ShaderLayerFramebufferNonLayeredTestCase

affects:

KHR-GL45.shader_viewport_layer_array.*

components: OpenGL

VK-GL-CTS issue: 167

Change-Id: Ibcc99670ffba4025584d7f1b955cdc548e70f641

7 years agoAdd CTS_ARB_shader_draw_parameters tests implementation
Adam Czupryna [Mon, 3 Apr 2017 13:58:47 +0000 (15:58 +0200)]
Add CTS_ARB_shader_draw_parameters tests implementation

This is CTS_ARB_shader_draw_parameters tests implementation

Affects:

GL45-CTS.shader_draw_parameters_tests.*

Components: OpenGL, Framework

VK-GL-CTS issue: 327

Change-Id: I6cee73f89d6d381dfd65ceefe2aa55ef18c87ca2

7 years agoAdd CTS_EXT_texture_filter_anisotropic specification proposal
Adam Czupryna [Mon, 24 Apr 2017 13:57:48 +0000 (15:57 +0200)]
Add CTS_EXT_texture_filter_anisotropic specification proposal

This is CTS_EXT_texture_filter_anisotropic specification proposal.

Components: OpenGL

VK-GL-CTS issue: 387

Change-Id: Ic0385349368612c16febe8b1e63f76ef87ce425a

7 years agoCall BufferTestBase's subclasses' executeDrawCall
James Helferty [Mon, 29 May 2017 20:42:47 +0000 (16:42 -0400)]
Call BufferTestBase's subclasses' executeDrawCall

A number of enhanced layout tests that inherited from BufferTestBase
were not calling the correct executeDrawCall function due to having a
different function prototype from the base class.

VK-GL-CTS issue: 451

Components: OpenGL

Affects:

KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_block_member
KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_component
KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_variable
KHR-GL44.enhanced_layouts.xfb_capture_struct
KHR-GL44.enhanced_layouts.xfb_stride
KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list
KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list_and_api
KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_block_member
KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_component
KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_variable
KHR-GL45.enhanced_layouts.xfb_capture_struct
KHR-GL45.enhanced_layouts.xfb_stride
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api

Change-Id: I731297f26e2784915003b4e13958b285736d7c9d

7 years agoAdd log for unexpected success in negative tests
James Helferty [Thu, 1 Jun 2017 16:20:27 +0000 (12:20 -0400)]
Add log for unexpected success in negative tests

This adds logging of shader source whenever one of the affected
negative enhanced layout tests unpexpectedly succeeds.

VK-GL-CTS issue: 460

Components: OpenGL

Affects:

KHR-GL45.enhanced_layouts.glsl_contant_immutablity
KHR-GL45.enhanced_layouts.uniform_block_layout_qualifier_conflict
KHR-GL45.enhanced_layouts.uniform_block_member_invalid_offset_alignment
KHR-GL45.enhanced_layouts.uniform_block_member_overlapping_offsets
KHR-GL45.enhanced_layouts.uniform_block_member_align_non_power_of_2
KHR-GL45.enhanced_layouts.ssb_layout_qualifier_conflict
KHR-GL45.enhanced_layouts.varying_structure_member_location
KHR-GL45.enhanced_layouts.varying_block_member_locations
KHR-GL45.enhanced_layouts.varying_block_automatic_member_locations
KHR-GL45.enhanced_layouts.varying_location_limit
KHR-GL45.enhanced_layouts.varying_exceeding_components
KHR-GL45.enhanced_layouts.varying_component_without_location
KHR-GL45.enhanced_layouts.varying_component_of_invalid_type
KHR-GL45.enhanced_layouts.input_component_aliasing
KHR-GL45.enhanced_layouts.output_component_aliasing
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
KHR-GL45.enhanced_layouts.xfb_input
KHR-GL45.enhanced_layouts.xfb_too_small_stride
KHR-GL45.enhanced_layouts.xfb_variable_stride
KHR-GL45.enhanced_layouts.xfb_duplicated_stride
KHR-GL45.enhanced_layouts.xfb_multiple_vertex_streams
KHR-GL45.enhanced_layouts.xfb_exceed_buffer_limit
KHR-GL45.enhanced_layouts.xfb_exceed_offset_limit
KHR-GL45.enhanced_layouts.xfb_block_member_buffer
KHR-GL45.enhanced_layouts.xfb_output_overlapping
KHR-GL45.enhanced_layouts.xfb_invalid_offset_alignment
KHR-GL45.enhanced_layouts.xfb_capture_unsized_array

(and any GL44 equivalents)

Change-Id: Ie8e93c73e43828322a0860cc4820b72a9fb1f8d3

7 years agoKHR-GL45.multi_bind.dispatch_bind_textures samples from incomplete textures
Iago Toral Quiroga [Thu, 1 Jun 2017 07:44:48 +0000 (09:44 +0200)]
KHR-GL45.multi_bind.dispatch_bind_textures samples from incomplete textures

Only the first miplevel is uploaded but the texture's sampler parameters are
not configured accordingly.

Components: OpenGL
VK-GL-CTS issue: 456

Affects:
KHR-GL45.multi_bind.dispatch_bind_textures

Change-Id: I6f63b1120ac38761c289f566ddacf05703d31868

7 years agoUse correct maximum number of image uniforms in multi-bind tests
Iago Toral Quiroga [Thu, 1 Jun 2017 08:47:54 +0000 (10:47 +0200)]
Use correct maximum number of image uniforms in multi-bind tests

The test queries GL_MAX_IMAGE_UNITS to decide the maximum number of
image uniforms it can use, but this limit is exposed per-stage
via GL_MAX_<STAGE>_IMAGE_UNIFORMS. Since the test uses a compute
shader it should query GL_MAX_COMPUTE_IMAGE_UNIFORMS.

Components: OpenGL
VK-GL-CTS issue: 457

Affects:
KHR-GL45.multi_bind.dispatch_bind_image_textures

Change-Id: I076cab954b1b0662f9fdab41f0f82437cc91ca64

7 years agoFix texture and renderbuffer leaks
Jeannot Breton [Fri, 2 Jun 2017 01:21:34 +0000 (20:21 -0500)]
Fix texture and renderbuffer leaks

Some texture_swizzle tests allocate a source texture inside a loop,
but the texture is only deleted when we exit the loop. So multiple
textures are allocated but never deleted.

Some transform_feedback clean function delete framebuffer instead
of render buffer, some other tests doesn't delete frambuffer and
render buffer at all

Affects:

KHR-GL45.texture_swizzle.*
KHR-GL45.transform_feedback.*

Components: OpenGL

VK-GL-CTS issue: 461

Change-Id: Ib237bbb78209b5017ee9e454a94636df378c677f

7 years agoAdd OWNERS in external/deqp
Chih-Hung Hsieh [Tue, 6 Jun 2017 02:29:36 +0000 (02:29 +0000)]
Add OWNERS in external/deqp
am: ea5d0ac339

Change-Id: I22107e5022e4536ba8b5ecc0bb0d7b8d225ef428

7 years agoAdd OWNERS in external/deqp
Chih-Hung Hsieh [Mon, 5 Jun 2017 17:48:12 +0000 (10:48 -0700)]
Add OWNERS in external/deqp

* Owners are selected from top CL approvals or owners.
  They will be suggested to review/approve future CLs.
* OWNERS files are recognized by the new find-owners plugin, see .md files in
  https://gerrit.googlesource.com/plugins/find-owners/+/master/src/main/resources/Documentation/

Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: I0d256181d2ca0c0ec55cf5479ff34aa68f3190a9

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Mon, 5 Jun 2017 18:28:57 +0000 (11:28 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I2946fc9967f9d9706027416e94ed61eca20a4ca2

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/deqp-dev
Pyry Haulos [Mon, 5 Jun 2017 17:39:43 +0000 (10:39 -0700)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/deqp-dev

Change-Id: Id9c893e5db0817a29f768cca931adc260d350497

7 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Pyry Haulos [Mon, 5 Jun 2017 17:37:17 +0000 (10:37 -0700)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Ib189ff26f3bb7e049f5e0c4345e523cc39e91d4f

7 years agoBuild fix for x11_egl target builds
Andres Gomez [Sat, 3 Jun 2017 00:30:32 +0000 (02:30 +0200)]
Build fix for x11_egl target builds

The combination of recent refactor on release branch and merge to
master resulted in a compilation error for the XInitThreads symbol
when using the x11_egl built target.

Components: Framework

VK-GL-CTS Issue: 467

Change-Id: Iba0803e8b73462bd66ab7803a6c90bfd40d9164c

7 years agoAdd ES 3.2.4.x mustpass
Alexander Galazin [Mon, 15 May 2017 09:50:09 +0000 (11:50 +0200)]
Add ES 3.2.4.x mustpass

Components: OpenGL

Change-Id: Ifd8270acae469d80d9243a58f1e17b57bbecf081

7 years agoAtomic counter tests rely on stores to SSBOs
Alexander Galazin [Thu, 1 Jun 2017 06:59:16 +0000 (08:59 +0200)]
Atomic counter tests rely on stores to SSBOs

Stores to SSBOs are supported if
vertexPipelineStoresAndAtomics/fragmentStoresAndAtomics
are advertised.

VK-GL-CTS issue: 458

Components: Vulkan

Affects:
dEQP-VK.glsl.opaque_type_indexing.atomic_counter.*

Change-Id: I8bd3617522221e646526112978b8d13069f88ec3

7 years agoRemove GTF tests from GLES mustpass
Alexander Galazin [Fri, 7 Apr 2017 08:01:45 +0000 (10:01 +0200)]
Remove GTF tests from GLES mustpass

These tests are no longer needed as the same coverage is provided
in dEQP, KHR modules.

Components: OpenGL

Affects: GLES master mustpass

VK-GL-CTS issue: 50

Change-Id: Ib52227b76e40888c979eeadc58d0e7ea6500eebc

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Tue, 30 May 2017 01:56:36 +0000 (18:56 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I0a9fdded2cbfd25f1e2a1c73da97b2d8b8431962

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Tue, 30 May 2017 01:56:32 +0000 (18:56 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ib63e665cb64989f8c5f0c53c9d229e5f17172d62

7 years agoAllow pop-free clipping for lines
Boris Zanin [Tue, 16 May 2017 12:32:06 +0000 (14:32 +0200)]
Allow pop-free clipping for lines

Following test checks has been relaxed:
 * dEQP-VK.rasterization.primitives.lines_wide
 * dEQP-VK.rasterization.primitives.line_strip_wide
 * dEQP-VK.rasterization.primitives_multisample_2_bit.lines_wide
 * dEQP-VK.rasterization.primitives_multisample_4_bit.lines_wide
 * dEQP-VK.rasterization.primitives_multisample_8_bit.lines_wide

Components: Vulkan

VK-GL-CTS issue: 421

Change-Id: I21c04015d36ae55c20ef1c1dda8e2d1fee471221

7 years agoCheck 'drawIndirectFirstInstance' feature to run indirect draw tests
Yanjun Zhang [Thu, 11 May 2017 22:51:37 +0000 (15:51 -0700)]
Check 'drawIndirectFirstInstance' feature to run indirect draw tests

Component: Vulkan
VK-GL-CTS issue: 413

Change-Id: I13a86721ec76ac50af55e0730fd50e3d7ce159d8

7 years agodEQP-VK: Fix an incorrect layout transition
Jason Ekstrand [Fri, 19 May 2017 04:36:15 +0000 (21:36 -0700)]
dEQP-VK: Fix an incorrect layout transition

The tests upload data to the resolve destination using CopyImageToBuffer
prior to doing a resolve to a chunk out of the middle of the image. This
lets the test validate the resolve to a subarea works correctly.
However, they were also transitioning the destination from UNDEFINED to
TRANSFER_DST_OPTIMAL between uploading the data and doing the resolve.
This transition destroys the contents of the image making verifying that
contents incorrect.  The correct transition is from TRANSFER_DST_OPTIMAL
to TRANSFER_DST_OPTIMAL.

This affects the following tests:

 - dEQP-VK.api.copy_and_blit.resolve_image.partial*
 - dEQP-VK.api.copy_and_blit.resolve_image.with_regions*

Change-Id: I9336195d7977d7dd2ffb057525134846b10e8010

7 years agoFixed invalid usage of VkBufferImageCopy struct
Oivind Boge [Tue, 16 May 2017 14:04:01 +0000 (16:04 +0200)]
Fixed invalid usage of VkBufferImageCopy struct

The offset member of VkBufferImageCopy was violating the
valid usage. The offset is now calculated using lowest
common denominator between the pixelSize and 4.

Affects:

dEQP-VK.api.image_clearing.*

Components: Vulkan

VK-GL-CTS issue: 422

Change-Id: I1ef07e06f790a9ed403941b1d94c7840485cec3e

7 years agoBuild fix for X11-less Linux builds
Slawomir Cygan [Mon, 29 May 2017 20:01:49 +0000 (22:01 +0200)]
Build fix for X11-less Linux builds

The combination of recent refactor on release branch and
merge to master resulted in XinitThreads being called from
code that may be compiled even if X11 API is not available.

Components: Framework

VK-GL-CTS Issue: 450

Change-Id: Ia7d1d23eabd1b222d5039868c1fb762e1d42f01f

7 years agoUpdate KC CTS ref
Alexander Galazin [Mon, 29 May 2017 08:32:47 +0000 (10:32 +0200)]
Update KC CTS ref

Components: OpenGL

VK-GL-CTS issue: 440

Affects:
GL4*-CTS.gtf42.GL3Tests.texture_storage.texture_storage_texture_levels

Change-Id: Id0b338bb74d3b1923744556527b45f3e8db8db38

7 years agoUse 1.0 for shadow texture expected result
Jeannot Breton [Thu, 25 May 2017 19:10:31 +0000 (14:10 -0500)]
Use 1.0 for shadow texture expected result

Change the texture clamp test to use 1.0 as the expected value
for shadow texture.

It's now required to pass <format> to generateExpectedResult
Note that the path using compute shader is doing an imageLoad on
depth texture so is not using a depth compare

Affects:

KHR-GL45.sparse_texture_clamp_tests.*

Components: OpenGL

VK-GL-CTS issue: 444

Change-Id: I94c79abe1b9b932471d1d8abdb8819ee3d7cc947

7 years agoSkip uncommitted depth/stencil test validation
Jeannot Breton [Thu, 25 May 2017 00:40:47 +0000 (19:40 -0500)]
Skip uncommitted depth/stencil test validation

The test in UncommittedDepthStencil expects the stencil buffer to be
unmodified because the shader is doing an uncommitted sparse fetch

This is incorrect, the depth/stencil should be unmodified only if
the depth/stencil buffer are uncommitted and it's not the case,
they are fully-committed non-sparse depth/stencil buffer

This change skip uncommitted depth/stencil test validation

Affects:

KHR-GL45.sparse_texture2_tests.*

Components: OpenGL

VK-GL-CTS issue: 439

Change-Id: I909937081f7058d0fbc57469626ab3d34d43486a

7 years agoFix sparse cubemap array tests issues
Jeannot Breton [Thu, 25 May 2017 20:48:20 +0000 (15:48 -0500)]
Fix sparse cubemap array tests issues

Add cubeMapArrayRefZDef, a new shader token used as <compare>
parameters on some shadow cube map array texture instructions

Add <CUBE_REFZ_DEF> to some FunctionToken argument list definitions.
It will be replaced by the value of cubeMapArrayRefZDef.

Copy the depth reference value to s.cubeMapArrayRefZDef when we
generate the shader tokens

Change the way cube map array texture coordinate are computed in
the shader to support array with more than 6 layers

Specify that textureGradClampARB on shadow cubemap array is not
supported

Generate cube map array texture coordinate attributes as a vec4
with different coordinate for each layer

Affects:

KHR-GL45.sparse_texture2_tests.*
KHR-GL45.sparse_texture_clamp_tests.*

Components: OpenGL

VK-GL-CTS issue: 445

Change-Id: Ia9fb2240396ab4a34dd697d0b96985da35dfe802

7 years agoSkip height validation on TEXTURE_1D_ARRAY
Jeannot Breton [Wed, 24 May 2017 21:21:13 +0000 (16:21 -0500)]
Skip height validation on TEXTURE_1D_ARRAY

In verifyTexStorageInvalidValueErrors the test validate that a
GL_INVALID_VALUE error is returned by the GL when the height
parameters of the texStorage call is invalid.

The height is ignored by the texStorage call for 1d array, so the
error is never generated.

We should skip this validation for 1d array

Affects:

KHR-GL45.sparse_texture_tests.*

Components: OpenGL

VK-GL-CTS issue: 437

Change-Id: Ibe93db467deb560f5394b4b658dfa3f32a953709

7 years agoFix texPageCommitment alignment test
Jeannot Breton [Thu, 25 May 2017 00:10:18 +0000 (19:10 -0500)]
Fix texPageCommitment alignment test

In verifyInvalidValueErrors, the test wants to validate that
texPageCommitment returns a GL_INVALID_VALUE error when the page
depth offset is not a multiple of pageSizeZ.
However if pageSizeZ equals 1, any z offset will be a multiple of
pageSizeZ and the test should not return an error.

Logic is added to make sure there's really an alignment error

Affects:

KHR-GL45.sparse_texture_tests.*

Components: OpenGL

VK-GL-CTS issue: 438

Change-Id: If7a00dee071c1dafabbda608f7cdbb14d1eb56b3

7 years agotextureClamp texcoord with shadow 1d uses vec3
Jeannot Breton [Thu, 25 May 2017 18:08:39 +0000 (13:08 -0500)]
textureClamp texcoord with shadow 1d uses vec3

This change modifies the current shader generation for textureClamp
subtests.
s.coordType and s.sizeDef will now use vec3 for sampler1DArrayShadow
and sampler1DShadow

Affects:

KHR-GL45.sparse_texture_clamp_tests.*

Components: OpenGL

VK-GL-CTS issue: 443

Change-Id: I025061981877a62b6eed6bcc6c783f6fdc68c7d3

7 years agoInitialize FunctionToken for every iteration
Jeannot Breton [Thu, 25 May 2017 14:34:52 +0000 (09:34 -0500)]
Initialize FunctionToken for every iteration

The change initializes the variable inside the loop so it gets
re-initialized at every iteration.

This help avoid issues where changes accumulates at every iteration

Affects:

KHR-GL45.sparse_texture_clamp_tests.*

Components: OpenGL

VK-GL-CTS issue: 442

Change-Id: I10eac411a03b3eff5139026ac004dc2df0c025f0

7 years agoSet uncommited region access expected data to 0
Jeannot Breton [Thu, 25 May 2017 14:02:56 +0000 (09:02 -0500)]
Set uncommited region access expected data to 0

In the GL_TEXTURE_CUBE_MAP path, the expected data is initialized
to 0xff. This seems incorrect.
The test will only fecth the uncommitted region of the texture which
should return 0.

This change fixes this issue and initializes the data to 0

Affects:

KHR-GL45.sparse_texture2_tests.*
KHR-GL45.sparse_texture_clamp_tests.*

Components: OpenGL

VK-GL-CTS issue: 441

Change-Id: Ic00cdfde24248d1640fe458c8f0a547d7d174e3d