platform/upstream/VK-GL-CTS.git
7 years agodEQP-VK: Add SPV_KHR_16bit_storage at shaders using 16bit
Jose Maria Casanova Crespo [Wed, 31 May 2017 11:10:31 +0000 (13:10 +0200)]
dEQP-VK: Add SPV_KHR_16bit_storage at shaders using 16bit

All shaders stages that use VK_KHR_16bit_storage capabilities
need to enable the SPV_KHR_16bit_storage extension at the SPIR-V
assembly.

A recent update of the SPIRV-Tools checks for this error in the
SPIR-V code. This has raised several link error in the execution
of the VK_KHR_16bit_storage tests.

This patch enables the extension at the assembly code of the compute
shaders tests and the pass-through stages of the input-output
graphics tests.

Also includes newline at OpExtension "SPV_KHR_16bit_storage" uses.

Components: Vulkan
VK-GL-CTS issue: 454

Affects:
* dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output.*
* dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.*

Change-Id: I29b7e8706eba54b5f931f33442c85613d99cd113

7 years agoAllow denormalized input values to be flushed to zeros
Lei Zhang [Wed, 31 May 2017 19:37:20 +0000 (15:37 -0400)]
Allow denormalized input values to be flushed to zeros

Components: Vulkan
VK-GL-CTS issue: 452

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.*

Change-Id: I2ab9fe88cd603157e477c0132c6db3421b1e440f

7 years agoFix for crash in createDeviceWithExtensions
Marcin Kańtoch [Mon, 29 May 2017 10:23:45 +0000 (12:23 +0200)]
Fix for crash in createDeviceWithExtensions

createDeviceWithExtensions function is crashing if extensions vector
does not contain any elements. This simple fix prevents the crash
from happening.

Affects: dEQP-VK.spirv_assembly.*

Components: Vulkan

Change-Id: If4e5149df8d00b25b6ee97a235757d44dccd60d1

7 years agoFix incorrect sType in cross instance tests
Iago Toral Quiroga [Fri, 26 May 2017 07:58:15 +0000 (09:58 +0200)]
Fix incorrect sType in cross instance tests

The tests create a VkExternalImageFormatPropertiesKHX struct with
sType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHX,
should be VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHX.

Components: Vulkan
VK-GL-CTS issue: 446

Affects:
dEQP-VK.synchronization.cross_instance.*

Change-Id: Ibc1d28d56f495f34f24f9baaf3ca7a79cc5fe415

7 years agoCheck unsupported image formats in cross instance tests
Iago Toral Quiroga [Fri, 19 May 2017 10:21:17 +0000 (12:21 +0200)]
Check unsupported image formats in cross instance tests

vkGetPhysicalDeviceImageFormatProperties2KHR can return
VK_ERROR_FORMAT_NOT_SUPPORTED, in which case the tests
shouldn't fail and be marked as unsupported instead.

Components: Vulkan
VK-GL-CTS issue: 431

Affects:
dEQP-VK.synchronization.cross_instance.*

Change-Id: I0b2c1f49f26f2516d0610c14d285e0b11c72a762

7 years agoTest VK_KHR_dedicated_allocation mem requirement queries
Boris Zanin [Fri, 12 May 2017 08:11:01 +0000 (10:11 +0200)]
Test VK_KHR_dedicated_allocation mem requirement queries

Add tests:
 * dEQP-VK.memory.requirements.dedicated_allocation.buffer.*
 * dEQP-VK.memory.requirements.dedicated_allocation.image.*

Components: Vulkan

VK-GL-CTS issue: 391

Change-Id: I9510464987e33b395a5ac20c2fdb9129eefd91da

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

Change-Id: I93bd873bad46a33a3e6a86971f343981b188b1b3

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 agoMultiView extended tests
Arkadiusz Sarwa [Thu, 6 Apr 2017 09:56:17 +0000 (11:56 +0200)]
MultiView extended tests

Affects:
dEQP-VK.multiview.*

New testcases:
dEQP-VK.multiview.input_attachments.*
dEQP-VK.multiview.instanced.*
dEQP-VK.multiview.input_instance.*
dEQP-VK.multiview.draw_indirect.*
dEQP-VK.multiview.clear_attachments.*
dEQP-VK.multiview.secondary_cmd_buffer.*

Components: Vulkan

VK_GL_CTS Issue: #70

Authors: Iago Toral Quiroga, Arkadiusz Sarwa

Change-Id: If45159d462186380cf3e8e1b6cd70c38af153762

7 years agoAdd test for VK_KHR_get_memory_requirements2
Boris Zanin [Sun, 7 May 2017 12:21:28 +0000 (14:21 +0200)]
Add test for VK_KHR_get_memory_requirements2

Update tests:
 * dEQP-VK.memory.requirements.buffer.*
 * dEQP-VK.memory.requirements.image.*

Rename tests (add .core subgroup):
 * dEQP-VK.memory.requirements.core.buffer.*
 * dEQP-VK.memory.requirements.core.image.*

Add tests:
 * dEQP-VK.memory.requirements.extended.buffer.*
 * dEQP-VK.memory.requirements.extended.image.*

Components: Vulkan

VK-GL-CTS issue: 391

Change-Id: I307bbf361d36d5f277ff70ce3204d67f8eb59871

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/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 24 May 2017 15:15:12 +0000 (17:15 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I7b3bddd72baec1544475f3320aca2a13a59ffa3c

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

7 years agoAdd tests for VK_KHR_storage_buffer_storage_class
Pyry Haulos [Wed, 3 May 2017 22:08:12 +0000 (15:08 -0700)]
Add tests for VK_KHR_storage_buffer_storage_class

This change extends following groups to cover the new StorageBuffer
decoration:

 * dEQP-VK.glsl.opaque_type_indexing
 * dEQP-VK.spirv_assembly.compute.opatomic

VK-GL-CTS issue: 357
Components: Vulkan

Change-Id: I283a39f4e92f1be6597d843c67debc3ae28c9f22

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Mon, 22 May 2017 19:44:03 +0000 (12:44 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I7d89570a93664a95736113863921985ee1af9d6c

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Mon, 22 May 2017 19:34:20 +0000 (12:34 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: Ie841d0a435d1d587450b7c2d57307b37b3295bbb

7 years agoRefactor X11 and wayland platforms to run alongside each other
Slawomir Cygan [Wed, 11 Jan 2017 16:17:11 +0000 (17:17 +0100)]
Refactor X11 and wayland platforms to run alongside each other

This adds a capability for running Vulkan WSI ane EGL tests on both
X11 and wayland compositors from one binary built in 'default' target.

The change replaces X11 & wayland tcu::Platform-s with one common
'linux' platform, that is parametrized by DEQP_SUPPORT_
(X11|GLX|XCB|WAYLAND) at compile time.

This new platform supports creating WSI displays and EGL contexts
for each of compositors enabled at build-time. To choose EGL compositor
use --deqp-egl-display-type=x11 or Wayland.

No functional change is made to 'wayland' target: it is still possible
to build Wayland-only binary using that target.

VK-GL-CTS issue: 83
Components: Framework
Affects: dEQP-VK.wsi.* and all tests using EGL.

Change-Id: I1d8725d1329e1071ac545f765c374d2d7d5a29df

7 years agoFix compute shader in robustness tests to produce an output
Iago Toral Quiroga [Thu, 11 May 2017 09:11:48 +0000 (11:11 +0200)]
Fix compute shader in robustness tests to produce an output

The compute shader only writes to shared variables, which means
that it doesn't produce any useful output. Shader compiler
backends can see this and mark all uniform variables declared
by the shader as "inactive" and remove them, which would defeat
the purpose of the 'getnuniform' test and lead to a failure.
Fix this by making the compute shader write to a shader storage
buffer object instead, so that uniforms remain active for being
involved in generating a shader output.

Component: OpenGL
VK-GL-CTS issue: 415

Affects:
KHR-GL45.robustness.getnuniform

Change-Id: I67b3fd8eb3a63012b6c46713e17c86d51b42d82e

7 years agoTie TCS XFB to Desktop GL + NV_gpu_shader5
James Helferty [Mon, 10 Apr 2017 18:20:30 +0000 (14:20 -0400)]
Tie TCS XFB to Desktop GL + NV_gpu_shader5

This change ties the ability to read PATCHES data directly from a
tessellation control shader via transform feedback to the presence of
NV_gpu_shader5 and a desktop context. Any other use of transform
feedback from a tessellation control shader is considered an error.

As part of this change, we also revert a change that used the wrong
notation for consuming PATCHES data with transform feedback.

(Reverts part of 1ab254234c4f6c45036ba68f67980858e0ef5001)

Affects:

KHR-GLES31.core.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GLES32.core.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GL44.tessellation_shader.single.xfb_captures_data_from_correct_stage
KHR-GL45.tessellation_shader.single.xfb_captures_data_from_correct_stage

Component: OpenGL

VK-GL-CTS issue: 365

Change-Id: Ie5619f9146448c54906401d2805de676000b34e8

7 years agoRemove copy_image special path for rgb9e5/rg11b10
Jeannot Breton [Wed, 10 May 2017 19:25:02 +0000 (14:25 -0500)]
Remove copy_image special path for rgb9e5/rg11b10

Copy_image is similar to a memcpy. When analyzing copy_image result,
the test have a special path for rgb9e5 and rg11b10.
Instead of using a memcmp, it converts each component to float and
then compare values.

This could be problematic, when data from other formats is
reinterpreted as rgb9e5/rg11b10, the result can be INF or NAN.

Doing a float equal comparison on 2 NAN values will return false,
so we can have 2 identical 32-bits values that are considered
different by the test because they are reinterpreted as float.

This change remove the special path for rgb9e5 and rg11b10.
I don't think it is required since copy_image should be like a
memcpy, a memcmp should be enough to verify the result

Affects:

KHR-GL45.copy_image.functional

Components: OpenGL

VK-GL-CTS issue: 404

Change-Id: Ifc7f7b4c8d62692e9364510ebc4e4162468e9568

7 years agoKHR-GL44.khr_debug: create texture before calling glObjectLabel
Slawomir Cygan [Wed, 10 May 2017 17:09:07 +0000 (19:09 +0200)]
KHR-GL44.khr_debug: create texture before calling glObjectLabel

The test does not call glBindTexture after glGenTextures, so
texture object is not created.

This causes later glObjectLabel GL error checks to fail due to wrong
 GL error codes.

Affects: KHR-GL44.khr_debug.*
Components: OpenGL
VK-GL-CTS Issue: 410

Change-Id: I9036264b2c549c58a5a80fb1ec89e1fdaae4b6b7

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Thu, 18 May 2017 23:02:58 +0000 (16:02 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ia3866a3a0df54013e3f62f0b1263b9b5085bc548

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Thu, 18 May 2017 23:02:57 +0000 (16:02 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I305e5144dee58d10e2284e1824d9d4683a9c67d8

7 years agoFix Vulkan null driver
Pyry Haulos [Thu, 18 May 2017 22:42:53 +0000 (15:42 -0700)]
Fix Vulkan null driver

Vulkan platform was changed to use vkGetInstanceProcAddr(NULL, pName)
for loading all platform-level functions, except vkGetInstanceProcAddr
itself, in commit bbd3dce44fafaa4b1952b63564022f19b3a65ca3. Null
driver was not adjusted for that change and that resulted calling into
null function pointer early in the initialization code.

Additionally, null driver now advertises HOST_COHERENT memory.

Change-Id: I65c8b37722950de08e337d7df95aa46a0e826c7b

7 years agoFix extension check in ES3.2 BoundingBox test
Graeme Leese [Thu, 11 May 2017 16:03:23 +0000 (17:03 +0100)]
Fix extension check in ES3.2 BoundingBox test

The test is still using the suffixed name to access gl_BoundingBox[EXT],
which means it still needs to enable the extension.

Affects: dEQP-GLES31.functional.android_extension_pack.shaders.es32.
extension_directive.ext_primitive_bounding_box

Components: AOSP

VK-GL-CTS issue: 423

Change-Id: I652e59b6ca29b1d237028eac57fc860731378c35
(cherry picked from commit abef7613781dfc4b07b8a37cd17ab5fe3dfe0c01)

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Tue, 16 May 2017 18:05:37 +0000 (11:05 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I538752108415ebe9a68ca04289e2d3048083a77e

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Tue, 16 May 2017 18:03:58 +0000 (11:03 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: Icf7defc7279b1b0cf9f6b13498de3d1456239e9c

7 years agoUpdate vulkan.h.in to 1.0.49 and strip unused exts
Pyry Haulos [Wed, 10 May 2017 16:54:23 +0000 (09:54 -0700)]
Update vulkan.h.in to 1.0.49 and strip unused exts

This change updates vulkan.h.in to match header version 49.
Vendor-specific extensions and KHX extensions that are not covered by CTS
are removed.

gen_framework.py now auto-detects function class from its first argument,
except for vkGet*ProcAddr, which require special handling.

Components: Vulkan

Change-Id: If6e1d959091a9064585bf29ef9983d03649ce513

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Tue, 16 May 2017 16:23:57 +0000 (09:23 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I6f2d23322dbd2b82afcf6439c8f4c62891745a43

7 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Pyry Haulos [Tue, 16 May 2017 16:12:09 +0000 (09:12 -0700)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Iee00ded195e3178e685470b19df25a9b352ddfb5

7 years agoRemove unused function from es31fSRGBDecodeTests.cpp
Pyry Haulos [Tue, 16 May 2017 16:03:30 +0000 (16:03 +0000)]
Remove unused function from es31fSRGBDecodeTests.cpp
am: 1ee59ff986

Change-Id: I0bf132f2d1a09e66768bddc5818906aa0e066967

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

7 years agoFix texture/sampler mapping in sRGB tests
Alexander Galazin [Mon, 15 May 2017 20:17:42 +0000 (20:17 +0000)]
Fix texture/sampler mapping in sRGB tests
am: c8efb45ead

Change-Id: I23849cbcae67248ac5ca55f443f226d6b1e4389e

7 years agoAdd tests for the VK_KHR_16bit_storage extension
Lei Zhang [Wed, 1 Mar 2017 17:30:20 +0000 (12:30 -0500)]
Add tests for the VK_KHR_16bit_storage extension

* Four capabilities
  * StorageUniform16
  * StorageUniformBufferBlock16
  * StorageInputOutput16
  * StoragePushConstant16
* 16bit -> 32bit and 32bit -> 16bit
* integers and floats
* vectors and matrices of integers and floats

Component: Vulkan

Change-Id: I01f1273ce0e50f6dd3e8bfa8b13550bff0b6907d

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

Change-Id: I16508f6033b31583b1c5973b70a610dd59e78e8f

7 years agoAdded CTS_ARB_shader_ballot tests
Filip Demczewski [Mon, 16 Jan 2017 12:27:50 +0000 (13:27 +0100)]
Added CTS_ARB_shader_ballot tests

Added CTS_ARB_shader_ballot cases:
ShaderBallotAvailabilityTestCase
ShaderBallotBitmasksTestCase
ShaderBallotFunctionBallotTestCase
ShaderBallotFunctionReadTestCase

affects:

GL45-CTS.shader_ballot_tests.*

components: OpenGL

VK-GL-CTS issue: 143

Change-Id: I28c724a84adab7e40edb542e70bc019cde0a0156

7 years agoFix VS2013 build by avoiding using non-standard C extension
Boris Zanin [Mon, 15 May 2017 08:00:50 +0000 (10:00 +0200)]
Fix VS2013 build by avoiding using non-standard C extension

Avoid using C++14 0b prefix.

Affects:
 * GL45-CTS.shader_atomic_counter_ops_tests.*

Components: OpenGL

VK-GL-CTS issue: 175

Change-Id: Ia500db76e1112933ad3471e9ac29423ccda81d4f

7 years agoFix VS2013 build by avoiding using non-standard C extension
Boris Zanin [Mon, 15 May 2017 08:00:50 +0000 (10:00 +0200)]
Fix VS2013 build by avoiding using non-standard C extension

Avoid using C++14 0b prefix.

Affects:
 * GL45-CTS.shader_atomic_counter_ops_tests.*

Components: OpenGL

VK-GL-CTS issue: 175

Change-Id: Ia500db76e1112933ad3471e9ac29423ccda81d4f

7 years agoAdded CTS_ARB_shader_group_vote tests
Filip Demczewski [Thu, 16 Mar 2017 15:17:13 +0000 (16:17 +0100)]
Added CTS_ARB_shader_group_vote tests

Added CTS_ARB_shader_group_vote cases:
ShaderGroupVoteAvailabilityTestCase
ShaderGroupVoteAllInvocationsTestCase
ShaderGroupVoteAnyInvocationTestCase
ShaderGroupVoteAllInvocationsEqualTestCase

affects:

GL45-CTS.shader_group_vote_tests.*

components: OpenGL

VK-GL-CTS issue: 211

Change-Id: I479b09277d8386c41b007075465f8ea383fb7f0a

7 years agoresolve merge conflicts of 633ab6f3 to deqp-dev
Pyry Haulos [Fri, 12 May 2017 20:46:38 +0000 (13:46 -0700)]
resolve merge conflicts of 633ab6f3 to deqp-dev

Change-Id: I879838e31c3fc6bbceb102c9b2720a2372360c1a

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Fri, 12 May 2017 20:30:50 +0000 (13:30 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ic72d76a608170ff3297d112699914a9529d565bb

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Fri, 12 May 2017 20:30:28 +0000 (13:30 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: Icd63416e0133bca1c1580e3c36b950caa7b1bc23

7 years agoImport fixes from Android Vulkan CTS 1.0.2 branch
Pyry Haulos [Fri, 12 May 2017 20:26:36 +0000 (13:26 -0700)]
Import fixes from Android Vulkan CTS 1.0.2 branch

 * Android copy of mustpass is updated to exclude waived tests.

 * Add missing file to Android.mk

 * Add -fwrapv and -Wno-delete-non-virtual-dtor to Android.mk

Change-Id: I9cdb0b0490dbad4134ad085216c3969cda40747a

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Fri, 12 May 2017 18:05:20 +0000 (11:05 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ib5a98bc9b3c1781a6d4a6ca5eaabe74aee42badf

7 years agoRemove tcuWin32GLES3Platform.*
Pyry Haulos [Fri, 12 May 2017 18:03:48 +0000 (11:03 -0700)]
Remove tcuWin32GLES3Platform.*

GLES3 wrapper is no longer supported so these are clearly broken.

Components: Framework

Change-Id: I656b70aecc5f0380d99b471a516d271f5b820836

7 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Pyry Haulos [Fri, 12 May 2017 17:53:03 +0000 (10:53 -0700)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I2d372c38240ffa856509c479b4f24b03ca95649c

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Fri, 12 May 2017 17:31:33 +0000 (10:31 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Idd304bc2401d429f8a7153fef43c3af5169a5425

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Fri, 12 May 2017 17:31:32 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I94c771f530e058c9ac30185e2708fd0ac6fccf36

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Fri, 12 May 2017 17:31:29 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I11828b81ea4c9e67dc879dd98a9cbf91341de2c9

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Pyry Haulos [Fri, 12 May 2017 17:31:26 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

Change-Id: I6245604cf5ce44a2c4d9c064efb65b058d8f24eb

7 years agoAdd more alternatives to reflect() precision tests
Iago Toral Quiroga [Fri, 5 May 2017 06:30:15 +0000 (08:30 +0200)]
Add more alternatives to reflect() precision tests

Intel/Mesa started to generate these in some scenarios recently.

Components: Vulkan
Vk-GL-CTS Issue: 392

Affects:
dEQP-VK.glsl.builtin.precision.reflect.*

Change-Id: Ic943cf14d531e392c03adf18605e6330267be4a1

7 years agoCheck sampler_mirror_clamp_to_edge extension in tex filter tests
Yanjun Zhang [Mon, 24 Apr 2017 08:59:26 +0000 (01:59 -0700)]
Check sampler_mirror_clamp_to_edge extension in tex filter tests

Components: Vulkan
VK-GL-CTS issue: 384

Affects:
dEQP-VK.texture.filtering.*.combinations.*_mirror_clamp_to_edge_*

Change-Id: Ie829b9247cd374e6c34ac70885e9e4421d284d1e

7 years agoDo not report warning if OOM testing is incomplete
Pyry Haulos [Mon, 8 May 2017 16:15:25 +0000 (09:15 -0700)]
Do not report warning if OOM testing is incomplete

object_management.alloc_callback_fail tests are trying to exhaustively
test all OOM paths in vkCreate* functions. However, to keep test run-
time reasonable, they have a fixed maximum allocation count and if
that is exceeded report a warning since OOM testing was not
exhaustive.

Since an implementation that requires more allocations than the limit
is valid, this commit changes the tests to report clean Pass instead
of CompatibilityWarning. Note about incomplete OOM testing is included
in the test log contents instead.

Affects:

dEQP-VK.api.object_management.alloc_callback_fail.*

VK-GL-CTS issue: 399
Components: Vulkan

Change-Id: I6890321546ae42f2646b8653007172d4b8affb8a

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Pyry Haulos [Fri, 12 May 2017 17:15:26 +0000 (10:15 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

7 years agoFix extension check in ES3.2 BoundingBox test
Graeme Leese [Thu, 11 May 2017 16:03:23 +0000 (17:03 +0100)]
Fix extension check in ES3.2 BoundingBox test

The test is still using the suffixed name to access gl_BoundingBox[EXT],
which means it still needs to enable the extension.

Affects: dEQP-GLES31.functional.android_extension_pack.shaders.es32.
extension_directive.ext_primitive_bounding_box

Components: AOSP

Change-Id: I652e59b6ca29b1d237028eac57fc860731378c35

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Fri, 12 May 2017 17:03:10 +0000 (10:03 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I6d1646f1e77cdf1855b88abee9ab8e76df5af25c

7 years agoUpdate Vulkan CTS to version 1.0.2.3
Pyry Haulos [Fri, 12 May 2017 16:38:51 +0000 (09:38 -0700)]
Update Vulkan CTS to version 1.0.2.3

New tests:

 * Add tests for VK_KHR_shared_presentable_image
 * Add tests for VK_KHR_get_surface_capabilities2

Fixes:

 * makeFramebufferWithoutAttachments creates invalid framebuffer
 * Fix typo in dE-IT.build_info.de_endianness_consistent name
 * Fix - uniform buffer incorrectly dereferenced
 * Use vkGetInstanceProcAddr(NULL) to load platform funcs
 * Imgtec Waiver for texture_gather*cube*depth32f*
 * Add VK_KHR_incremental_present to the list of allowed device
extensions
 * Use -std=c++03 with GCC and clang
 * Fix GCC 6.3 warnings in vulkan-cts-1.0.2
 * Improve check_build_sanity.py
 * Relax image verification in anisotropic filtering tests
 * Respect maxColorAttachments in image tests
 * Fix SPIR-V generation in dEQP-VK.spirv_assembly
 * Fix - depth/stencil images mandatory only for VK_IMAGE_TYPE_2D
 * Add missing barrier in ssbo layout tests

Bug: 38260702
Change-Id: I1c00d4b63c339ba69990b64a5bb225c661957e4c

7 years agoMerge vk-gl-cts/master into aosp/deqp-dev
Pyry Haulos [Fri, 12 May 2017 16:20:30 +0000 (09:20 -0700)]
Merge vk-gl-cts/master into aosp/deqp-dev

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Pyry Haulos [Fri, 12 May 2017 16:16:56 +0000 (09:16 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: Ifb187a8bff7ec809e78fb53da5c84807e1569843

7 years agoCheck for INVALID_OPERATION from TextureStorage
James Helferty [Mon, 8 May 2017 21:31:59 +0000 (17:31 -0400)]
Check for INVALID_OPERATION from TextureStorage

When the effective target differs from the glTextureStorage* function
used, GL should generate an GL_INVALID_OPERATION error instead of
GL_INVALID_ENUM.

Affects:

KHR-GL45.direct_state_access.textures_storage_errors

Components: OpenGL

Issue: 407

Change-Id: I8cbfaeee7ce6bb7519cf2df9a255bfcfb3c84165

7 years agoIgnore performance messages in KHR_debug tests
Iago Toral Quiroga [Tue, 2 May 2017 11:42:05 +0000 (13:42 +0200)]
Ignore performance messages in KHR_debug tests

The KHR-GL45.khr_debug.receiveing_messages checks that only expected
messages are recorded so it should ignore spurious performance
messages that can be injected by drivers and mess up the expected
message counts.

Components: OpenGL
VK-GL-CTS issue: 394

Affects:
KHR-GL45.khr_debug.receiveing_messages

Change-Id: Iee24cb5d6de3d2c6311dc96da312540512dc2173

7 years agoFix texture_size_promotion snorm/RGB10_A2UI issue
Jeannot Breton [Tue, 2 May 2017 19:41:55 +0000 (14:41 -0500)]
Fix texture_size_promotion snorm/RGB10_A2UI issue

Read color clamping was not considered in the snorm expected value,
so the change clamp the expected value

The alpha component in RGB10_A2UI didn't have enough bits to hold
an expected value of 4. So we change the expected alpha value to 1

Affects:

KHR-GL45.texture_size_promotion.functional

Components: OpenGL

VK-GL-CTS issue: 395

Change-Id: I920eb187e558faf9557f886be0269ea0c927918b

7 years agoAdjust cull_distance position on pixel center
Jeannot Breton [Tue, 2 May 2017 20:44:43 +0000 (15:44 -0500)]
Adjust cull_distance position on pixel center

The primitive position is on the pixel edge, it should be on the
pixel center to be rendered at the expected location

Affects:

KHR-GL45.cull_distance.functional

Components: OpenGL

VK-GL-CTS issue: 396

Change-Id: I6f604c559894a4d9b1220a65935eb59b8b8e53e6

7 years agoFix DrawElements indice to use a NULL offset
Jeannot Breton [Tue, 2 May 2017 21:06:07 +0000 (16:06 -0500)]
Fix DrawElements indice to use a NULL offset

We are using the address of an array as indice parameters
to a DrawElements call.

The address will be used as an offset to the element buffer,
and it's not what we want.

Use NULL instead

Affects:

KHR-GL45.enhanced_layouts.vertex_attrib_locations

Components: OpenGL

VK-GL-CTS issue: 397

Change-Id: Ic6be8925b990107e342f609726730ab51a33da9b

7 years agoUse correct format for integer DSA buffer clears
James Helferty [Fri, 5 May 2017 21:53:26 +0000 (17:53 -0400)]
Use correct format for integer DSA buffer clears

Affects:

KHR-GL45.direct_state_access.buffers_clear

Components: OpenGL

VK-GL-CTS issue: 405

Change-Id: I86f2c463a5bcc86bd08188e42a285673ffb058d4

7 years agoshader_integer_mix is unsupported prior to 4.5
Jeannot Breton [Mon, 8 May 2017 21:04:26 +0000 (16:04 -0500)]
shader_integer_mix is unsupported prior to 4.5

This change adds logic to make sure shader_integer_mix.prototypes
with shader version prior to 4.5 is marked unsupported

It adds a new shaders45 group of tests to make sure core glsl 4.5
supports the extension

It adds the test shader_integer_mix.prototypes-negative to make sure
glsl versions that doesn't support the feature are returning an error

Finally it updates the mustpass list with the new tests

Affects:

KHR-GLES3.shaders.shader_integer_mix.prototypes-negative
KHR-GLES31.core.shader_integer_mix.prototypes-negative
KHR-GLES32.shaders.shader_integer_mix.prototypes-negative
KHR-GL33.shaders.shader_integer_mix.prototypes
KHR-GL33.shaders.shader_integer_mix.prototypes-negative
KHR-GL40.shaders.shader_integer_mix.prototypes
KHR-GL40.shaders.shader_integer_mix.prototypes-negative
KHR-GL41.shaders.shader_integer_mix.prototypes
KHR-GL41.shaders.shader_integer_mix.prototypes-negative
KHR-GL42.shaders.shader_integer_mix.prototypes
KHR-GL42.shaders.shader_integer_mix.prototypes-negative
KHR-GL43.shaders.shader_integer_mix.prototypes
KHR-GL43.shaders.shader_integer_mix.prototypes-negative
KHR-GL44.shaders.shader_integer_mix.prototypes
KHR-GL44.shaders.shader_integer_mix.prototypes-negative
KHR-GL45.shaders.shader_integer_mix.prototypes
KHR-GL45.shaders.shader_integer_mix.prototypes-negative
KHR-GL45.shaders45.shader_integer_mix.*

Components: OpenGL

VK-GL-CTS issue: 406

Change-Id: I574bec1a8d5aca0e4ec52b8df96abf45828b527a

7 years agoARB_texture_filter_minmax tests should check if the extension is supported
Iago Toral Quiroga [Wed, 10 May 2017 09:07:37 +0000 (11:07 +0200)]
ARB_texture_filter_minmax tests should check if the extension is supported

Component: OpenGL
Vk-GL-CTS issue: 409

Affects:
KHR-GL45.texture_filter_minmax_tests.*

Change-Id: Ic1e63db507afb7a25f30b3309ba06fce2889cb8a

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Pyry Haulos [Thu, 11 May 2017 20:59:03 +0000 (13:59 -0700)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

7 years agoExpand dEQP-VK.glsl.opaque_type_indexing shader types
Pyry Haulos [Thu, 4 May 2017 19:51:04 +0000 (12:51 -0700)]
Expand dEQP-VK.glsl.opaque_type_indexing shader types

This change expands dEQP-VK.glsl.opaque_type_indexing group to cover
geometry and tessellation shaders.

VK-GL-CTS issue: 357
Components: Vulkan

Change-Id: I3a89e3d2d59b826b078504cc6831254e839bb741

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

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

Change-Id: Ia70f33fb6daad0d3774ae9edbd438bd14296f1d3

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

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