platform/upstream/VK-GL-CTS.git
7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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)

7 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

7 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

7 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

7 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

7 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

7 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

7 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"

7 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

7 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)

7 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)

7 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

7 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

7 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

7 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

7 years agoReturn an error if the pagesize index is invalid
Jeannot Breton [Wed, 24 May 2017 20:27:14 +0000 (15:27 -0500)]
Return an error if the pagesize index is invalid

In verifyTexStorageVirtualPageSizeIndexError, the test call
texStorage with a VIRTUAL_PAGE_SIZE_INDEX texture parameter set
to NUM_VIRTUAL_PAGE_SIZES + 1.

However the verifyError after the texStorage expect GL_NO_ERROR.
It should be GL_INVALID_OPERATION

Affects:

KHR-GL45.sparse_texture_tests.*

Components: OpenGL

VK-GL-CTS issue: 436

Change-Id: I43d02dcbee4bbe2c81feb4a17e9fde7386375656

7 years agoFix pack alignment issue on odd window width
Jeannot Breton [Mon, 22 May 2017 20:26:07 +0000 (15:26 -0500)]
Fix pack alignment issue on odd window width

The test allocates a buffer of width*height 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.indirect_parameters_tests.MultiDrawArraysIndirectCount

Components: OpenGL

VK-GL-CTS issue: 433

Change-Id: I7f8b92af7b5a27a6770e7cde23e51df30508a3c0

7 years agoRemove OUT_OF_MEMORY coverage of buffer api
James Helferty [Wed, 24 May 2017 15:54:42 +0000 (11:54 -0400)]
Remove OUT_OF_MEMORY coverage of buffer api

The OpenGL spec leaves much of the behaviour around OUT_OF_MEMORY
errors undefined, which makes it difficult to test for them. Regardless
of whether the error is generated or not, the GL context is by
definition left in an undefined state, which could invalidate any
subsequent tests' results.

This change removes OUT_OF_MEMORY test coverage.

VK-GL-CTS issue 435

Component: OpenGL

Affects:

KHR-GL45.direct_state_access.buffers_errors

Change-Id: I6436d4d72a0a7b7cd08336895e400d85bea8da15

7 years agoAdded CTS_ARB_shader_ballot specification proposal
Filip Demczewski [Wed, 4 Jan 2017 13:30:28 +0000 (14:30 +0100)]
Added CTS_ARB_shader_ballot specification proposal

affects:

GL45-CTS.shader_ballot_tests.*

components: OpenGL

VK-GL-CTS issue: 143

Change-Id: Ida320ac444665f09edd86d6a69aae9af7515a237

7 years agoMerge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/master
Alexander Galazin [Wed, 24 May 2017 15:15:11 +0000 (17:15 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/master

Change-Id: I95690b5479602db484d2f89bdc711a683afe96b4

7 years agoFix uniform location use in robust_buffer_access
Graeme Leese [Thu, 11 May 2017 15:17:02 +0000 (16:17 +0100)]
Fix uniform location use in robust_buffer_access

Common code will try to set the texture at uniform location 0, so change
the ES shader to use location 0.

Affects: KHR-GLES32.robust.robust_buffer_access_behavior.texel_fetch

Components: OpenGL
VK-GL-CTS Issue: 416

Change-Id: I6e4e291b33072b16e1ab73eb8592afd00687adc7

7 years agoRemove dEQP-GLES31.*.vertex_array.*_invalid_map
Alexander Galazin [Wed, 17 May 2017 09:39:12 +0000 (11:39 +0200)]
Remove dEQP-GLES31.*.vertex_array.*_invalid_map

The tests expects GL_INVALID_OPERATION to be generated if
a non-zero buffer object name is bound to an enabled array
or the element array and the buffer object's data store
is currently mapped.

Such behavior is not required by the specification.

Components: OpenGL

Affects:
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_elements_base_vertex_invalid_map
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_elements_instanced_base_vertex_invalid_map
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_range_elements_base_vertex_invalid_map

VK-GL-CTS issue: 429

Change-Id: Ib7e9c95dde9b86f227b3d014210a2fe732315f31

7 years agoRemove unused function from es31fSRGBDecodeTests.cpp
Pyry Haulos [Tue, 16 May 2017 14:25:35 +0000 (07:25 -0700)]
Remove unused function from es31fSRGBDecodeTests.cpp

Unused function causes compiler warnings to appear with recent GCC
versions.

Change-Id: I941c579994acbc9146df86acf5b9da9ee85341f5
(cherry picked from commit 1ee59ff98641dc0be7511e03e37b5843ff7eed82)

7 years agoFix texture/sampler mapping in sRGB tests
Alexander Galazin [Thu, 11 May 2017 12:27:20 +0000 (14:27 +0200)]
Fix texture/sampler mapping in sRGB tests

sRGB decode tests assume that an API side texture with index i
is connected with a shader sampler variable uTexture with index i.

This relation was however incorrectly established, e.g.
the tests were mapping texture0 to a sampler with location 0, while
such sampler was not necessarily uTexture0.

This change fixes the mapping and makes the relation more obvious.

Components: AOSP
Affects:
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.toggled
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.conversion_gpu

Google bug: 38257749
VK-GL-CTS issue: 428

Change-Id: I16508f6033b31583b1c5973b70a610dd59e78e8f
(cherry picked from commit c8efb45eadba4a910ab5770b2207582cf1bb7ca0)

7 years agoAdjust out of surface verification for wide lines
Alexander Galazin [Wed, 10 May 2017 08:36:53 +0000 (10:36 +0200)]
Adjust out of surface verification for wide lines

Wide lines rasterization tests may draw lines out of
the allocated surfaces. Such situation causes verification
failures.
This change adjust the verification algorithm to ignore
missing pixels for out of surface rendering.

Components: Framework

Affects:
dEQP-GLES2.functional.rasterization.primitives.lines_wide
dEQP-GLES2.functional.rasterization.primitives.line_strip_wide
dEQP-GLES2.functional.rasterization.primitives.line_loop_wide

VK-GL-CTS issue: 427

Change-Id: Ia70f33fb6daad0d3774ae9edbd438bd14296f1d3
(cherry picked from commit c065847203ba5c1ec0bba76fe06e0b7a17cbc6af)

7 years agoEnsure vertex shader presence if a geometry shader exists
Alexander Galazin [Mon, 8 May 2017 12:59:38 +0000 (14:59 +0200)]
Ensure vertex shader presence if a geometry shader exists

Certain tests verify that INVALID_OPERATION is generated
if a geometry shader is active and mode is incompatible with
the input primitive type of the geometry shader in the currently
installed program object. However these tests have no vertex shader and
this is the real reason why INVALID_OPERATION is generated.
This change ensures that the vertex shader is present.

Components: AOSP

VK-GL-CTS issue: 426

Affects:
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_elements_base_vertex_primitive_mode_mismatch
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_elements_instanced_base_vertex_primitive_mode_mismatch
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_range_elements_base_vertex_primitive_mode_mismatch

Change-Id: I36bcee8892e4f641feadb0b444a53ed35273b727
(cherry picked from commit f5f087e9bd571b5aee3b810957af7051cd82d2c0)

7 years agoFix DrawRangeElementsBaseVertex tests with negative basevertex
Alexander Galazin [Tue, 9 May 2017 08:44:12 +0000 (10:44 +0200)]
Fix DrawRangeElementsBaseVertex tests with negative basevertex

DrawRangeElementsBaseVertex tests with negative basevertex call
glDrawRangeElementsBaseVertex with start = 0 and basevertex = -1.
According to the spec: If no element array buffer is bound, the vertex ID of
the ith element transferred is indices[i] + basevertex...
If the vertex ID is larger than the maximum value representable by type,
it should behave as if the calculation were upconverted to 32-bit unsigned
integers (with wrapping on overflow conditions).
Behavior of DrawElementsOneInstance is undefined if the vertex ID is negative
for any element, and should be handled as described in section 6.4.

This change ensures that indexMin + baseVertex will be zero or positive value.

Components: AOSP

VK-GL-CTS issue: 425

Affects:
dEQP-GLES31.functional.draw_base_vertex.draw_range_elements_base_vertex.base_vertex.index_neg_byte
dEQP-GLES31.functional.draw_base_vertex.draw_range_elements_base_vertex.base_vertex.index_neg_short
dEQP-GLES31.functional.draw_base_vertex.draw_range_elements_base_vertex.base_vertex.index_neg_int

Change-Id: I07a9e6bc60d4340784d400b5087bb8fff01f0e57
(cherry picked from commit e490e2f2158aa9d3aec7d8e385ca3995fefc9ffd)

7 years agoFix negative CompressedTexImage2D tests
Alexander Galazin [Mon, 8 May 2017 12:31:15 +0000 (14:31 +0200)]
Fix negative CompressedTexImage2D tests

Certain tests expect GL_INVALID_VAULE for
glCompressedTexImage2D(GL_TEXTURE_2D, -1, 0x8b90, 0, 0, 0, 0, 0).

0x8b90 is a palette format PALETTE4_RGB8 and
the OES_compressed_paletted_texture extension allows
negative values for the level parameter:
    Accepted by the <level> parameter of CompressedTexImage2D
        Zero and negative values.  |level| + 1 determines the number of
        mip levels defined for the paletted texture.

This change fixes the tests in presence of
the OES_compressed_paletted_texture extension.

Components: AOSP
Google bug: 38109626
VK-GL-CTS issue: 424

Affects:
dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_tex2d
dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_cube

Change-Id: Ia37e3fecaf3547abfb209803378114043c63a243
(cherry picked from commit 9de005f0355e389f1782543f34e0fb3c65a0a700)

7 years agoCorrect the test conditions for sRGB_write_control
Graeme Leese [Tue, 9 May 2017 14:21:53 +0000 (15:21 +0100)]
Correct the test conditions for sRGB_write_control

The extension is not part of ES3.2, so the not-supported version of the
tests should be run on ES3.2 implementations without the
GL_EXT_sRGB_write_control extension.

VK-GL-CTS Issue: 389
Components: AOSP

Affects:
dEQP-GLES31.functional.fbo.srgb_write_control.framebuffer_srgb_enabled
dEQP-GLES31.functional.fbo.srgb_write_control.framebuffer_srgb_unsupported_enum

Change-Id: I42a531aa7d1ad38f7a85cde1a5da659f780ec5d5
(cherry picked from commit 2d987e3b1e3c564ddc197124b1c7689aed060b8e)

7 years agoUpdate KC CTS ref
Alexander Galazin [Wed, 24 May 2017 06:59:51 +0000 (08:59 +0200)]
Update KC CTS ref

Components: OpenGL

VK-GL-CTS issue: 430

Affects:
GTF-GL45.gtf30.GL3Tests.framebuffer_srgb.framebuffer_srgb_draw

Change-Id: I01b5d5bb9ae37b24a44427c1a7cd735f98e60675