platform/upstream/VK-GL-CTS.git
5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 25 Sep 2018 16:18:49 +0000 (18:18 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Icea9eb43ccaca29c7f381078684800723ac9376c

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Tue, 25 Sep 2018 13:55:21 +0000 (15:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I6abfb86bd46b492d0cd8f1f7614d13c4480734ea

5 years agoDrop superfluous Clip/CullDistance capabilities
Graeme Leese [Fri, 21 Sep 2018 11:36:07 +0000 (12:36 +0100)]
Drop superfluous Clip/CullDistance capabilities

These capabilities were declared but not actually needed, causing the
tests to fail validation if the features are not supported.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*

Change-Id: Ic3cbef0f8141c53abeb575dff73953360761fad9

5 years agoRemove invalid execution mode in smoke test
Graeme Leese [Wed, 19 Sep 2018 17:04:50 +0000 (18:04 +0100)]
Remove invalid execution mode in smoke test

OriginLowerLeft is not valid, so use OriginUpperLeft.

Components: Vulkan
Affects: dEQP-VK.api.smoke.asm_triangle

Change-Id: I14b2ac7ec2b56be228aa7de3442f605e8525f163

5 years agoFix array stride in uniform buffer for VK_KHR_16bit_storage
Lei Zhang [Fri, 14 Sep 2018 18:56:12 +0000 (14:56 -0400)]
Fix array stride in uniform buffer for VK_KHR_16bit_storage

Array stride need to be a multiple of 16.

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

Components: Vulkan, SPIR-V
VK-GL-CTS issue: 1344

Change-Id: If5c4415e8f1914a2579d914d33ab3b334affd8d3

5 years agoShader validation: respect Vulkan version, relaxed layout requirement
David Neto [Fri, 21 Sep 2018 14:36:56 +0000 (10:36 -0400)]
Shader validation: respect Vulkan version, relaxed layout requirement

Pass more info to SPIR-V validation:
- Target Vulkan version
- Whether the test case requested relaxed layout

When a shader is built with VK_KHR_relaxed_block_layout, the SPIR-V
module does not record the setting.  But SPIR-V module validation
for Vulkan 1.0 must know if block layout should be relaxed.
Vulkan 1.1 includes VK_KHR_relaxed_block_layout in core.

Adds the necessary state to framework program build options objects to
pass those options to the SPIR-V validator.

Update SPIRV-Tools, SPIRV-Headers, Glslang to just befor NV Turing extensions.
Make sure we have the entry point:
  spvValidatorOptionsSetRelaxedBlockLayout

Change-Id: I74511629a4e56a4fea370ffe3a21677465a4510f
Component: Framework
VK-GL-CTS: 1266, 1270

5 years agoFix missing gl_PointSize
Graeme Leese [Fri, 21 Sep 2018 12:16:44 +0000 (13:16 +0100)]
Fix missing gl_PointSize

Components: Vulkan
Affects: dEQP-VK.pipeline.framebuffer_attachment.*

Change-Id: I04a59f9488cc4282198a74182822946c4aff4340

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 21 Sep 2018 09:38:23 +0000 (11:38 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Icd9ba51ef9981d8566fb3d2a1efaa11f0b66af34

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 21 Sep 2018 09:38:21 +0000 (11:38 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I3a182c96f9a5c073db89f3ed546ef2cbee088bc4

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 21 Sep 2018 09:38:19 +0000 (11:38 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I8893c9c1231f9d698ec1cd249299944a6890ff87

5 years agoAdd screenLayout to AndroidManifest configChanges
Robert Tray [Fri, 14 Sep 2018 22:32:57 +0000 (16:32 -0600)]
Add screenLayout to AndroidManifest configChanges

Specify that dEQP will handle screenLayout config changes in the
manifest so the Android framework doesn't try to stop and restart dEQP.
dEQP can't handle a restart and just exits.

Update the minSdkVersion and targetSdkVersion to match what is
used for Khronos Vulkan dEQP manifest.  Android P will launch the
DeprecatedTargetSdkVersionDialog if the sdk version is not recent
enough.

Test: deqp

Cherry-pick from https://android-review.googlesource.com/c/platform/external/deqp/+/757202
VK-GL-CTS Issue: 1357
Affects: OpenGL/OpenGL ES Android build

Change-Id: Ia9befb1d65752ece3ea5778ba1301a134559334a
(cherry picked from commit 4e0cf955dd890944a035e52f6ae4eda7e7bd2ec2)

5 years agoAdd screenLayout to AndroidManifest configChanges
Robert Tray [Fri, 14 Sep 2018 22:32:57 +0000 (16:32 -0600)]
Add screenLayout to AndroidManifest configChanges

Specify that dEQP will handle screenLayout config changes in the
manifest so the Android framework doesn't try to stop and restart dEQP.
dEQP can't handle a restart and just exits.

Update the minSdkVersion and targetSdkVersion to match what is
used for Khronos Vulkan dEQP manifest.  Android P will launch the
DeprecatedTargetSdkVersionDialog if the sdk version is not recent
enough.

Test: deqp

Cherry-pick from https://android-review.googlesource.com/c/platform/external/deqp/+/757202
VK-GL-CTS Issue: 1357
Affects: OpenGL/OpenGL ES Android build

Change-Id: Ia9befb1d65752ece3ea5778ba1301a134559334a

5 years agoFix asserts in image.mutable tests
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts in image.mutable tests

Fix malformed asserts and missing case switches in this test.

Components: Vulkan

Affects: dEQP-VK.image.mutable

VK-GL-CTS Issue: 1294

Change-Id: I010a8823e2f7fa53a845366e489f071dbdc2f7f2

5 years agoRemove over-zealous sanity check for memory types
Jari Komppa [Fri, 14 Sep 2018 11:05:34 +0000 (14:05 +0300)]
Remove over-zealous sanity check for memory types

This change removes the sanity checks that require additional features
when requesting specific memory types (lazy, cached).

New tests:

None

Components: Vulkan

VK-GL-CTS issue: 1171

Change-Id: Icb3ced8aa5bcfc490d45a8d36f0d25e469f03933

5 years agoAdd test for VK_KHR_driver_properties
Maciej Jesionowski [Tue, 3 Apr 2018 11:52:00 +0000 (13:52 +0200)]
Add test for VK_KHR_driver_properties

New tests:
dEQP-VK.api.driver_properties.properties

Components: Vulkan
VK-GL-CTS issue: 1098

Change-Id: Ifcb774700c45f76e48a03b147472a506d274c192
(cherry picked from commit eb5806aab57fdf89850be8916e194c3d3b54c8d9)

5 years agoAdd tests for VK_KHR_shader_atomic_int64
Norbert Garnys [Thu, 17 May 2018 11:01:35 +0000 (13:01 +0200)]
Add tests for VK_KHR_shader_atomic_int64

Add new test cases for 64 bit int atomic operations
to existing glsl.atomic_operations tests

New tests:
dEQP-VK.glsl.atomic_operations.*signed64bit*
dEQP-VK.glsl.atomic_operations.*unsigned64bit*

Affected tests:
dEQP-VK.glsl.atomic_operations.*

Components: Vulkan, Framework, Scripts

VK-GL-CTS issue:1172

Change-Id: If7e6871cc209b2086e087e0dd6c764cb8bd98a4b
(cherry picked from commit 80926e1393d1a3de407b9279162056fa0a53822e)

5 years agoGL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests
Jeff Bolz [Fri, 18 May 2018 01:32:31 +0000 (20:32 -0500)]
GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests

Components: Vulkan

Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*

Change-Id: Ic68f4e16ff96b2bbb161f2b37e7b4c83094e4009
(cherry picked from commit f14467473e1bce678e12f71bcfcfb130c6423faa)

5 years agoAdd random descriptor set tests, and test VK_EXT_inline_uniform_block
Jeff Bolz [Thu, 12 Jul 2018 19:51:24 +0000 (14:51 -0500)]
Add random descriptor set tests, and test VK_EXT_inline_uniform_block

These tests generate random descriptor set layouts, where each descriptor
set has a random number of bindings, each binding has a random array size
and random descriptor type.

Components: Vulkan

New Tests: dEQP-VK.binding_model.descriptorset_random.*

Change-Id: I3ddfc82898ed970366ee8be4254e50e39a186c58
(cherry picked from commit 152c32af165698f43aa581c60b79bc35c1448116)

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 19 Sep 2018 08:11:04 +0000 (10:11 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ic96ae73ffd3594f011ba4c12b9f005d4769cb6d6

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Wed, 19 Sep 2018 08:11:03 +0000 (10:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I5764983d64a06c6dec8ea1a02059ab0b85828e49

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Wed, 19 Sep 2018 08:11:01 +0000 (10:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I976c55e221f9d0362327ccdbf49aebe7cf4e37f1

5 years agoReport NotSupported for GLES1 tests on non-ES1 run
Sandeep Shinde [Fri, 7 Sep 2018 05:59:45 +0000 (11:29 +0530)]
Report NotSupported for GLES1 tests on non-ES1 run

If conformance build does not enable DEQP_SUPPORT_GLES1 while building
binary for non-ES1.1 conformance run then OpenGL ES 1.1 specific tests
should return NotSupported error instead of InternalError.

The reason is because the specification does not enforce ES 1.1 support
if conformance is run for non ES1 version like for ES 3.x version.

Components: OpenGL ES

VK-GL-CTS issue: 1343

Change-Id: Id7218cc011b3ee139237130a7cb7d850b4431d50
(cherry picked from commit 4eb9918b81069484603f3226ce090e303ef27eb5)

5 years agoReport NotSupported for GLES1 tests on non-ES1 run
Sandeep Shinde [Fri, 7 Sep 2018 05:59:45 +0000 (11:29 +0530)]
Report NotSupported for GLES1 tests on non-ES1 run

If conformance build does not enable DEQP_SUPPORT_GLES1 while building
binary for non-ES1.1 conformance run then OpenGL ES 1.1 specific tests
should return NotSupported error instead of InternalError.

The reason is because the specification does not enforce ES 1.1 support
if conformance is run for non ES1 version like for ES 3.x version.

Components: OpenGL ES

VK-GL-CTS issue: 1343

Change-Id: Id7218cc011b3ee139237130a7cb7d850b4431d50

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 19 Sep 2018 07:24:01 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ieda52b4e886e4448634bdea91f0791548642d3b0

5 years agoAdd ASTC LDR error colour quality warning
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning

Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.

This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.

If such a match is detected the test will output a QualityWarning
instead of a Pass.

If the two compared values don't match, but are not both error colours
the test result is still a Fail.

Affects:

dEQP-VK.image.texel_view_compatible*astc*

Components: Vulkan

VK-GL-CTS issue: 1231

Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff

5 years agoFixes WSI protected swapchain allocation tests
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests

Will now throw not supported if swapchain config
cannot fit in the available heap space.

Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"

Components: Vulkan
VK-GL-CTS issue: 1345

Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.*

Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4

5 years agoConsider rounding mode differences in mipmap tests
Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests

The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.

Affects:

dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear

Components: Vulkan

VK-GL-CTS issue: 1106

Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4
(cherry picked from commit b861ca1e6d4c002d4359a71dbff1cdf898e79aca)

5 years agodEQP-VK: Stop requiring the destination format to support linear sampling for blit...
Jason Ekstrand [Thu, 6 Sep 2018 18:53:39 +0000 (13:53 -0500)]
dEQP-VK: Stop requiring the destination format to support linear sampling for blit tests

Affected tests: dEQP-VK.api.copy_and_blit.core.blit_image.*linear

Components: Vulkan
VK-GL-CTS issue: 1347

Change-Id: I6d802ad3a9cdd03404875fb5c55855a104bdf1c3

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Sat, 15 Sep 2018 03:15:04 +0000 (05:15 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I5afbf0e717628d9b3c4c42ddfbe354544ee024e5

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Sat, 15 Sep 2018 02:09:23 +0000 (04:09 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I8540b9401bed30b01c7df3254e1f86fde1966b2b

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Sat, 15 Sep 2018 01:25:03 +0000 (03:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I3296187dc521ebb5d4fa5f548ae7e3b6fdece223

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 14 Sep 2018 19:02:19 +0000 (21:02 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I68c6cc18848b8c72f46cbece1c70f45502c231cd

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 14 Sep 2018 18:26:35 +0000 (20:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I888fa7abc156e03d7433791e8ae8ba9b6b41f1dd

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5
Alexander Galazin [Fri, 14 Sep 2018 17:36:46 +0000 (19:36 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5

Change-Id: I162d821fa9df2cee46e91754c7ebf68595f4ee87

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Alexander Galazin [Fri, 14 Sep 2018 17:36:42 +0000 (19:36 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4

Change-Id: I9105f8b1353709392afeab3163f1025ca4d3abcc

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.2 into vk-gl-cts/opengl-es-cts-3.2.3
Alexander Galazin [Fri, 14 Sep 2018 17:36:40 +0000 (19:36 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.2 into vk-gl-cts/opengl-es-cts-3.2.3

Change-Id: I3216622efcb450b7bea13b54661955b479d68e99

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 14 Sep 2018 14:55:26 +0000 (16:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I3cf1ce3cb9da66c83e88048fb29a055ec196497e

5 years agoUpdate KC CTS
Alexander Galazin [Fri, 14 Sep 2018 14:50:45 +0000 (16:50 +0200)]
Update KC CTS

Components: Framework

Change-Id: I227ab78c00577ee6ea8e90292b01d7abe3ddd2e6

5 years agoAllow reading GL_BYTE surfaces to GL_RGBA output.
Tapani Pälli [Mon, 3 Sep 2018 07:10:04 +0000 (10:10 +0300)]
Allow reading GL_BYTE surfaces to GL_RGBA output.

EXT_render_snorm specification:

   "For 8bit signed normalized fixed-point rendering surfaces, the
    combination format RGBA and type BYTE is accepted. For a 16bit signed
    normalized fixed point buffer, the combination RGBA and SHORT is
    accepted.

OpenGL ES 3.1 specification:
   "If G, B, or A values are not present in the internal format, they are
    taken to be zero, zero, and one respectively."

Components: OpenGL ES

VK-GL-CTS issue: 1338

Affects: KHR-GLES3.packed_pixels*snorm

Change-Id: I48df036fc3da80a06e1adef32bd59dac5b551cec
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
5 years agoTest gl_FrontFacing with both GL_CCW and GL_CW.
Nicolas Capens [Wed, 1 Aug 2018 21:42:48 +0000 (17:42 -0400)]
Test gl_FrontFacing with both GL_CCW and GL_CW.

glFrontFace(G_CW) should produce the inverse result of
glFrontFace(G_CCW):

OpenGL ES 3.0.5 spec:
"The built-in variable gl_FrontFacing is set to TRUE if the fragment is generated
from a front-facing primitive, and FALSE otherwise. For fragments generated
from triangle primitives, the determination is made by examining the sign of the
area computed by equation 3.6 of section 3.6.1 (including the possible reversal of
this sign controlled by FrontFace). If the sign is positive, fragments generated by
the primitive are front-facing; otherwise, they are back-facing."

Components: AOSP
Affects:
dEQP-GLES2.functional.shaders.builtin_variable.frontfacing
dEQP-GLES3.functional.shaders.builtin_variable.frontfacing
VK-GL-CTS Issue: 1334

Change-Id: I15d842055f789f8fa003e32eb70dbe3056c4b3f2

5 years agoFix the memory stomp running *core.internalformat.texture2d.depth_stencil*
Lujin Wang [Tue, 28 Aug 2018 00:08:42 +0000 (17:08 -0700)]
Fix the memory stomp running *core.internalformat.texture2d.depth_stencil*

On QNX, we hit "Malloc Check Failed" and crash running CTS 3.2.5.0 with,
Test case 'KHR-GLES*.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth24_stencil8'..
Malloc Check Failed: :/builds/workspace/sdp700/build_aarch64/lib/c/alloc/dlist.c:1134

In InternalformatCaseBase::convertUInt_24_8(), two unsigned int data were modified
instead of one, which led to memory stomp and crash during the returning of function
InternalformatCaseBase::generateTextureData(). Rewrite function convertUInt_24_8()
to properly convert float color vec to unsigned_int_24_8_depth24_stencil8.

Affects:
KHR-GLES*.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth24_stencil8

Compoments: OpenGL

VK-GL-CTS issue: 1329

Change-Id: I95dfa2be272136e7ecf71b4ef49b43b90813f077

5 years agoTest OpSpecConstantOp in float_controls
Piotr Byszewski [Fri, 10 Aug 2018 11:07:55 +0000 (13:07 +0200)]
Test OpSpecConstantOp in float_controls

Only rounding controls for FConvert opcode can be tested
because other opcodes would require float operations
that are only available with Kernel capability.

Components: Vulkan

VK-GL-CTS issue: 1083

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: I42ce9adc88340450648c4c088cd975f1abe2d88f

5 years agoTest render pass attachments not referenced by subpasses
Ari Suonpaa [Tue, 4 Sep 2018 06:47:59 +0000 (09:47 +0300)]
Test render pass attachments not referenced by subpasses

Added tests where render pass has an attachment which is
not referenced by any subpass. The load/store ops and
initial/final layouts should be ignored and contents of
the attachment preserved.

New tests:
dEQP-VK.renderpass*.unused_attachment.*

Components: Vulkan

VK-GL-CTS issue: 1129
Change-Id: I539a382b99868b1c5e87ec78db2f00267d1b074d

5 years agoTest cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.
Dzmitry Malyshau [Mon, 10 Sep 2018 00:40:54 +0000 (20:40 -0400)]
Test cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.

The intent of blit tests with layer count = 6 was to test cubemap image support.
This PR adds the appropriate image creation flag for those tests.

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*

VK-GL-CTS issue: 1336
Components: Vulkan

Change-Id: I6ca0bb6905baebb4e6e6d3597e6e7c54d582473a
(cherry picked from commit d8a05170a7ae7b6b284406f900b9609c7e71be14)

5 years agoTest cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.
Dzmitry Malyshau [Mon, 10 Sep 2018 00:40:54 +0000 (20:40 -0400)]
Test cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.

The intent of blit tests with layer count = 6 was to test cubemap image support.
This PR adds the appropriate image creation flag for those tests.

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*

VK-GL-CTS issue: 1336
Components: Vulkan

Change-Id: I6ca0bb6905baebb4e6e6d3597e6e7c54d582473a

5 years agoScale texture sizes to fit within available memory
James Helferty [Tue, 31 Jul 2018 19:12:08 +0000 (15:12 -0400)]
Scale texture sizes to fit within available memory

The change makes use of platform-specific information to scale the
dimensions of textures used by the advanced shader image load store
tests so they fit inside available memory.

Affects:

KHR-GL*.shader_image_load_store.advanced-copyImage
KHR-GL*.shader_image_load_store.advanced-memory-order
KHR-GL*.shader_image_load_store.advanced-sso-perSample
KHR-GL*.shader_image_load_store.advanced-sso-simple
KHR-GL*.shader_image_load_store.advanced-sso-subroutine
KHR-GL*.shader_image_load_store.advanced-sync-imageAccess2

Components: OpenGL

VK-GL-CTS issue: 1314

Change-Id: I06e7e4629b0e00f0ca5c152df56c09bbdcc05247

5 years agoTests for VK_KHR_shader_float_controls
Piotr Byszewski [Wed, 28 Mar 2018 13:27:52 +0000 (15:27 +0200)]
Tests for VK_KHR_shader_float_controls

Tests are executed for both compute and graphics stages,
for all three float widths and for two argument preparation
methods (passed via SSBO and generated in SPIR-V code).

Components: Vulkan

VK-GL-CTS issue: 1083

Affects:
dEQP-VK.api.info.get_physical_device_properties2.properties
dEQP-VK.api.info.get_physical_device_properties2.features
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: I2bb10b7aa51283600051ecf67e845ed5f2b2093f

5 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
(cherry picked from commit fed61233a802b5a8e7f6e634d0ef698e9155a94c)

5 years agoAdd tests for VK_KHR_shader_atomic_int64
Norbert Garnys [Thu, 17 May 2018 11:01:35 +0000 (13:01 +0200)]
Add tests for VK_KHR_shader_atomic_int64

Add new test cases for 64 bit int atomic operations
to existing glsl.atomic_operations tests

New tests:
dEQP-VK.glsl.atomic_operations.*signed64bit*
dEQP-VK.glsl.atomic_operations.*unsigned64bit*

Affected tests:
dEQP-VK.glsl.atomic_operations.*

Components: Vulkan, Framework, Scripts

VK-GL-CTS issue:1172

Change-Id: If7e6871cc209b2086e087e0dd6c764cb8bd98a4b

5 years agoNew tests for the VK_EXT_external_memory_host extension
Flisikowski [Thu, 12 Jul 2018 09:22:28 +0000 (11:22 +0200)]
New tests for the VK_EXT_external_memory_host extension

Components: Vulkan

VK-GL-CTS issue: 1301

New tests: dEQP-VK.memory.external_memory_host.*

Change-Id: I0220286b526d4b5b4f6ef30e8178b2d11f66772c

5 years agoFP16 precision tests VK_KHR_shader_float16_int8
Alexander Galazin [Wed, 19 Jul 2017 08:57:20 +0000 (10:57 +0200)]
FP16 precision tests VK_KHR_shader_float16_int8

Add tests:
 * dEQP-VK.glsl.builtin.precision_fp16*
 * dEQP-VK.glsl.builtin.precision*.comparison.*

Components: Vulkan, Framework

VK-GL-CTS issues: 1094

Change-Id: Iff0d1c4c144231128e5cd80bc7f72ef162ec22fa

5 years agoSPIR-V tests for VK_KHR_shader_float16_int8
Boris Zanin [Fri, 13 Apr 2018 12:38:19 +0000 (14:38 +0200)]
SPIR-V tests for VK_KHR_shader_float16_int8

Add tests:
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.function*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opconstant.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorextractdynamic*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorinsertdynamic*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorshuffle*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeconstruct*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeextract*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeinsert*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic*
 * dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.fconvert16_*
 * dEQP-VK.spirv_assembly.instruction.graphics.opphi.swap16_*
 * dEQP-VK.spirv_assembly.instruction.graphics.fconvert.*float16*
 * dEQP-VK.spirv_assembly.instruction.graphics.convert*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.function*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opconstantcomposite.*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorextractdynamic*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorinsertdynamic*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorshuffle*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeconstruct*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeextract*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeinsert*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*
 * dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.fconvert16
 * dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float16
 * dEQP-VK.spirv_assembly.instruction.compute.fconvert.*float16*
 * dEQP-VK.spirv_assembly.instruction.compute.convert*

Affects tests:
 * dEQP-VK.spirv_assembly.instruction.*

Components: Vulkan

VK-GL-CTS issue: 1095

Change-Id: If6112d42a9b84eaff50e559f0a4b438372815ae7

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 13 Sep 2018 08:04:33 +0000 (10:04 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I9565c536bf58b01d904618892150597563123878

5 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Thu, 13 Sep 2018 06:58:24 +0000 (08:58 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I1b7e9240617966ce68a7d25e35efa9c9b9def3c4

5 years agoFix malformed assets, use DE_FATAL
Slawomir Cygan [Thu, 6 Sep 2018 13:59:00 +0000 (15:59 +0200)]
Fix malformed assets, use DE_FATAL

Convert all malformed asserts like DE_ASSERT("...") to DE_FATAL.

Components: OpenGL, OpenGL ES, Vulkan

VK-GL-CTS Issue: 1294

Change-Id: I64631287e5005ef24dfcadef59baa5cc9aa45d74

5 years agoNotice of withdrawal of Vulkan CTS 1.0.2.x
Alexander Galazin [Mon, 10 Sep 2018 16:15:17 +0000 (18:15 +0200)]
Notice of withdrawal of Vulkan CTS 1.0.2.x

Components: Vulkan

Change-Id: If96d48b996577c5fec31474e3eaf7e665a390562

5 years agoAdd convert tests for 8-bit integers
Boris Zanin [Tue, 17 Jul 2018 13:51:07 +0000 (15:51 +0200)]
Add convert tests for 8-bit integers

Add tests:
 * dEQP-VK.spirv_assembly.instruction.*.sconvert*int8*
 * dEQP-VK.spirv_assembly.instruction.*.uconvert*uint8*
 * dEQP-VK.spirv_assembly.instruction.*.convertstof*int8*
 * dEQP-VK.spirv_assembly.instruction.*.convertftos*uint8*
 * dEQP-VK.spirv_assembly.instruction.*.convertutof*int8*
 * dEQP-VK.spirv_assembly.instruction.*.convertftou*uint8*

Affect tests:
 * dEQP-VK.spirv_assembly.instruction.*convert*

Components: Vulkan

VK-GL-CTS issues: 1095

Change-Id: I4f125634d993795029feee34a1818cdacc000517

5 years agoMerge "Merge remote-tracking branch 'aosp/master' into deqp-dev" into deqp-dev
Treehugger Robot [Wed, 12 Sep 2018 22:45:15 +0000 (22:45 +0000)]
Merge "Merge remote-tracking branch 'aosp/master' into deqp-dev" into deqp-dev

5 years agoMerge "Merge remote-tracking branch 'aosp/master' into deqp-dev" into deqp-dev
Treehugger Robot [Wed, 12 Sep 2018 22:45:13 +0000 (22:45 +0000)]
Merge "Merge remote-tracking branch 'aosp/master' into deqp-dev" into deqp-dev

5 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Wed, 12 Sep 2018 22:39:15 +0000 (15:39 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: I58ed596f2ae5d18eefe80dc907b644b8d0ead4ee

5 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Wed, 12 Sep 2018 22:35:24 +0000 (15:35 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: Idabececfc10c43011d1ff566a8cc9776039ab6b7

5 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Wed, 12 Sep 2018 21:39:13 +0000 (14:39 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Ide0cc071921295090980b85e5807ba31791d4bab

5 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4

5 years agoRemove dependency on IStrictShardableTest
Julien Desprez [Wed, 12 Sep 2018 15:26:40 +0000 (08:26 -0700)]
Remove dependency on IStrictShardableTest

Interface is not used anymore.

Test: make cts, run cts-unit-tests
Bug: 112426228
Change-Id: I95ac293a4b8a585fe7bf8adea3d55c1faf6548e1

5 years agoUpdate glslang
Alexander Galazin [Tue, 11 Sep 2018 06:57:18 +0000 (08:57 +0200)]
Update glslang

Components: Framework

Affects: dEQP-VK.*

VK-GL-CTS issue: 1339

Change-Id: I2abe3fe9ea500dde804251ff0962a3e99a7b2018

5 years ago[automerger skipped] [RESTRICT AUTOMERGE] Merge remote-tracking branch 'khronos/vulka...
Chris Forbes [Mon, 10 Sep 2018 22:31:15 +0000 (15:31 -0700)]
[automerger skipped] [RESTRICT AUTOMERGE] Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into oreo-mr1-cts-dev am: df6a2ffc6e  -s ours
am: 4eb31660f7  -s ours

Change-Id: Id4582490a4045249c6c2818ac51548d047460011

5 years ago[automerger skipped] [RESTRICT AUTOMERGE] Merge remote-tracking branch 'khronos/vulka...
Chris Forbes [Mon, 10 Sep 2018 22:26:16 +0000 (15:26 -0700)]
[automerger skipped] [RESTRICT AUTOMERGE] Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into oreo-mr1-cts-dev
am: df6a2ffc6e  -s ours

Change-Id: I5a7f593b5301a76a4e4a1d89c9d06a2a08a4fe50

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Mon, 10 Sep 2018 10:13:33 +0000 (12:13 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: If0c0def1085a05587011dda7c9b7f448638cfde5

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Mon, 10 Sep 2018 10:13:32 +0000 (12:13 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I10f5b76f1c39f764580eafcee4fc1f9e73113727

5 years agoAdd Flat decorations to integer fragment shader inputs
Slawomir Cygan [Fri, 31 Aug 2018 14:46:45 +0000 (16:46 +0200)]
Add Flat decorations to integer fragment shader inputs

According to spec fragment shader inputs that are signed
or unsigned integers must be decorated with Flat.

Components: Vulkan

VK-GL-CTS Issue: 1335

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

Change-Id: I5aa4f5bf9623549af4fb74647f956b9cbf4e3751

5 years agoAdd specific RGB10A2 data for BlendHSLHue and BlendHSLSaturation
Yabin Zheng [Fri, 31 Aug 2018 07:35:16 +0000 (15:35 +0800)]
Add specific RGB10A2 data for BlendHSLHue and BlendHSLSaturation

Some original input test data will cause divide by 0 issue. This issue
is not handled by spec, but the test should assure the valid data.

Affects: KHR-GLES31.core.blend_equation_advanced.*

VK-GL-CTS issue: 919

Components: OpenGL

Change-Id: I6278ed77de0a38aede7d840bac7b7ec57e869110

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Mon, 10 Sep 2018 08:35:38 +0000 (10:35 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ifce84bc2e772e60ba1b3905bf3d5251cd2462833

5 years agoAdded test to check memory requirement invariance
Jari Komppa [Fri, 25 May 2018 13:26:26 +0000 (16:26 +0300)]
Added test to check memory requirement invariance

Added a test that allocates random buffers and images, first in order
one by one, and then shuffled, verifying that the required memory
sizes match between these runs.

Image sizes, formats, allocation types and heap type requirements are
randomized.

The test depends on the supported image formats and available heap
types, so it is subtly different depending on the features the
driver supports. The goal for this test is to check for memory
requirement invariance, and thus it differs with the exact features
that are supported. The used features are printed in the log
for reference.

New tests:

dEQP-VK.api.invariance.random

Components: Vulkan

VK-GL-CTS issue: 1171

Change-Id: If869a72f6552174171d1f9bcce51e424ad8e8572

5 years agoFix: rendering complete times not monotonic
Jiayuan Ren [Tue, 14 Aug 2018 19:09:01 +0000 (12:09 -0700)]
Fix: rendering complete times not monotonic

We run into an intermittent issue that two neighboring
frames have the same rendering complete timestamp.

The timers will always have finite granularity.
The timestamp is in nanosecond but the timer producing
these timestamps might not actually be able to produce
timestamps at 1ns resolution. When the timer used for
these events has not enough granularity, events that
happen very quickly right after one another will appear
as if they appear at the same point in time.

Two neighboring frames have the same timestamp is allowed.

Components: AOSP

VK-GL-CTS issue: 1311
Bug: b/112778381

Affects:
dEQP-EGL.functional.get_frame_timestamps.*

(cherry picked from commit 59b6ba9bb2b8a280a30e931fb9b69f492650d14d)

Change-Id: I10c9f7d50d079fcad000baee028a97fea5b69c3c

5 years agoCorrect test group name ending in "_"
Slawomir Cygan [Thu, 27 Jul 2017 14:16:37 +0000 (16:16 +0200)]
Correct test group name ending in "_"

Components: Vulkan

Affects:
dEQP-VK.pipeline.multisample_interpolation.sample_interpolate_at_single_sample*

VK-GL-CTS issue: 1337

Change-Id: Id4b2bd4184c87bd35d88c2632ce31e5f7b31bfbb

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 6 Sep 2018 16:54:39 +0000 (18:54 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: Ic536adcefd24b9624863ce2894391238f4b4fb34

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 6 Sep 2018 16:35:42 +0000 (18:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: If13d31edfaa41aab48bbca57024722276b86a511

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 6 Sep 2018 16:18:10 +0000 (18:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I717b207ec5642fb2f5a7deb9a91e52da7b3c862f

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 6 Sep 2018 15:48:31 +0000 (17:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I5a095ab6fddfaa9ce687f8627b58ec12176ba660

5 years agoHandle denorm flush to negative zero in unpackhalf2x16 tests.
Jeff Bolz [Fri, 31 Aug 2018 02:42:54 +0000 (21:42 -0500)]
Handle denorm flush to negative zero in unpackhalf2x16 tests.

Whether input fp16 values are flushed to zero is implementation
dependent. However, negative denorm values can be flushed to negative
zero and the logic did not handle that case.

Affects: dEQP-VK.glsl.builtin.function.pack_unpack.unpackhalf2x16*
Component: Vulkan
VK-GL-CTS issue: 1341

Change-Id: I2cd4a68cb5e498cd714a7e55b27ae4bc05ccde2d

5 years agoFixes tessellation triangle check
Matthew Netsch [Fri, 13 Jul 2018 15:10:54 +0000 (11:10 -0400)]
Fixes tessellation triangle check

Tessellators may produce inner vertices positioned
on the edge of a primitive when used with fractional
odd spacing and the inner tessellation level is one.

Point mode doesn't factor into this rule

Components: Vulkan
VK-GL-CTS Issue: 1273

Affects:
dEQP-VK.tessellation.primitive_discard.*

Change-Id: Ida8c75d4275403eaae8b52fe55f3ed9e61dd2d6e

5 years agoFix result checking in multisample resolve tests
Toni Merilehti [Thu, 16 Aug 2018 11:54:02 +0000 (14:54 +0300)]
Fix result checking in multisample resolve tests

Test cases now return the correct test status based on the average
resolved values in attachments. Verifying the result also adjusts
the threshold values depending on the format component sizes and
converts the non-linear sRGB format values to linear before verifying
the result.

Affects:

dEQP-VK.renderpass.*.multisample_resolve.*

Components: Vulkan

VK-GL-CTS Issue 1306

Change-Id: I1ced03a1839221d5a76292d582155825c507923d

5 years agoReduces percentage of heap used in memory tests
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests

Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.

Components: Vulkan
VK-GL-CTS issue: 1342

Affects:
dEQP-VK.memory.device_group_allocation.random*

Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8

5 years agoMerge "Suppress -Wimplicit-fallthrough."
Treehugger Robot [Wed, 5 Sep 2018 07:49:47 +0000 (07:49 +0000)]
Merge "Suppress -Wimplicit-fallthrough."

5 years agoSimultaneous depth+stencil components blit test
Piotr Byszewski [Thu, 16 Aug 2018 06:43:03 +0000 (08:43 +0200)]
Simultaneous depth+stencil components blit test

Previously blit_image tests for depth and stencil components
were done separately - in one tests half of regions had depth
bit set and the other half stencil bit. This change modifies
those tests by adding additional blit regions that have both
DS bits set.

Components: Vulkan

VK-GL-CTS issue: 1303

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.depth_stencil.*

Change-Id: I38dec5c7e32678437126fb32ecf02c7329618094

5 years agoEnsure there's no KHX extensions
Piotr Byszewski [Thu, 23 Aug 2018 13:24:13 +0000 (15:24 +0200)]
Ensure there's no KHX extensions

This change adds test that verifies if implementations don't
expose KHX extensions for neither instance nor device.

Components: Vulkan

VK-GL-CTS issue: 1258

Affects:
dEQP-VK.api.info.device.no_khx_extensions

Change-Id: Ib8020cadbe1714d9854d3a18969a6850ebd56f08

5 years agoCheck the bits of channel when calling glCopyTexImage2D
Yabin Zheng [Mon, 13 Aug 2018 09:25:29 +0000 (17:25 +0800)]
Check the bits of channel when calling glCopyTexImage2D

This test copies some data from render target to a texture by
glCopyTexImage2D command. According to the GLES3.2 spec, "An
INVALID_OPERATION error is generated if the component sizes of
internalformat do not exactly match the corresponding component sizes of
the source buffer's effective internal format." when executing the
glCopyTexImage2D command.

Because GLES3.2 spec does not force GL_RGB10 to be a renderable format,
so in a test case, if GL_RGB10 isn't renderable, then the render target
format will be GL_RGBA8, but the texture format is GL_RGB10. So this
behavior conflicts with the spec.

I think we can check the status whether the component sizes of format
will match before calling glCopyTexImage2D.

If the GL_RGB10 is renderable by some companies, then it will call the
gl.copyTexImage2D command directly(skip the checking logical because of
completed FBO). If GL_RGB10 isn't renderable by other companies, then it
will check the corresponding component sizes of buffer between source
and dest(because of incompleted FBO).

Components: OpenGL

VK-GL-CTS issue: 1307

Affects: KHR-GLES2.core.internalformat.copy_tex_image.*

Change-Id: I91e6b6674506f2709f97796a541e203bd052030b

5 years agoMerge changes from topic "p-renderpass2" into pie-cts-dev
John Anthony [Tue, 4 Sep 2018 23:53:46 +0000 (16:53 -0700)]
Merge changes from topic "p-renderpass2" into pie-cts-dev
am: 79749eabc6

Change-Id: I0ddba5851971235127ae29b7047ef095ee6b2b16

5 years agoMerge changes from topic "p-renderpass2" into pie-cts-dev
Treehugger Robot [Tue, 4 Sep 2018 23:23:18 +0000 (23:23 +0000)]
Merge changes from topic "p-renderpass2" into pie-cts-dev

* changes:
  Incorrect enum values for VK_KHR_create_renderpass2
  Allowed device extensions list is missing entry
  Tests for VK_KHR_create_renderpass2

5 years agoSuppress -Wimplicit-fallthrough.
Chih-Hung Hsieh [Tue, 4 Sep 2018 23:14:20 +0000 (16:14 -0700)]
Suppress -Wimplicit-fallthrough.

-Wimplicit-fallthrough will be enabled globally.

Test: build with global -Wimplicit-fallthrough.
Change-Id: I0f1dea676f1cf551339036767f141aa5717cea3e

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 31 Aug 2018 09:16:21 +0000 (12:16 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I5a798ad268b27984038160cf645fc162260b069b

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 31 Aug 2018 07:52:20 +0000 (10:52 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I7e0e51ad6bbdebe2c0067cedbb8e0d3bca177fad

5 years agoFix subpixel precision for line geometry generation
Petros Bantolas [Wed, 18 Jul 2018 10:19:04 +0000 (11:19 +0100)]
Fix subpixel precision for line geometry generation

Line geometry generation for rasterization tests wasn't taking the HW
subPixelPrecisionBits limit into account. Modified the triangle creation
routines to round those coordinates down to the driver provided
precision.

Affects:

dEQP-VK.rasterization.*line*
dEQP-GLES*.functional.rasterization.*line*

Components: Framework

VK-GL-CTS issue: 1274

Change-Id: I54af2f9606372bead2a8c7238588374101f80e55

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 30 Aug 2018 13:23:45 +0000 (15:23 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I67d89cc065807feb39546627585308bb0971ef40

5 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Thu, 30 Aug 2018 12:35:21 +0000 (14:35 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I692ba691f3fb23aa09a722d12f9cc9158d561457

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 30 Aug 2018 11:51:17 +0000 (13:51 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: If1364c4c47fb23716fee1c7f7a28ba10dec350be

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 30 Aug 2018 11:51:15 +0000 (13:51 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I0b5a54a89154a5877a22244870d39149bf05b28b

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Thu, 30 Aug 2018 11:51:13 +0000 (13:51 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: Ia9cfc9fa2550d981cfa3e3317253123ed061f47e

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 30 Aug 2018 08:05:00 +0000 (10:05 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ic9120d9ae0925da53ba26e49f22412c8601641b1

5 years agoFix invalid combinations for texture/copy on ES2 driver
Jim Hauxwell [Tue, 28 Aug 2018 16:33:48 +0000 (17:33 +0100)]
Fix invalid combinations for texture/copy on ES2 driver

OES_packed_depth_stencil describes the valid combinations available.
Texturing is only valid from it when OES_depth_texture is also present.
ES3 added depth texturing, but used different tokens than the initial
extension.

Affects:

KHR-GLES2.core.internalformat.texture2d.
  depth_stencil_unsigned_int_24_8_depth24_stencil8
KHR-GLES*.core.internalformat.texture2d.
  depth_stencil_unsigned_int_24_8_depth_stencil

Components: OpenGL
VK-GL-CTS issue: 1261

Change-Id: I91262c2c7eb71c9d3ff1eb59931227132b1828f9