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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
Treehugger Robot [Wed, 14 Jun 2017 01:43:04 +0000 (01:43 +0000)]
Merge "Remove EGL gles1.rgb565_window from mustpass"
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
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)
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)
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
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
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
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
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
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
Treehugger Robot [Fri, 9 Jun 2017 21:29:04 +0000 (21:29 +0000)]
Merge "Add support for metamorphic testing" into deqp-dev
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chih-Hung Hsieh [Tue, 6 Jun 2017 02:29:36 +0000 (02:29 +0000)]
Add OWNERS in external/deqp
am:
ea5d0ac339
Change-Id: I22107e5022e4536ba8b5ecc0bb0d7b8d225ef428
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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)
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)
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)
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)
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)
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