platform/upstream/VK-GL-CTS.git
7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Thu, 8 Dec 2016 19:19:25 +0000 (11:19 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: I2385941b94be82955fb39482abece33d7f90798e

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Thu, 8 Dec 2016 19:19:05 +0000 (11:19 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: Id4737fe97bb1880757a443e0ad97d0edbc9a1546

7 years agoRemove CMAKE Compiler settings from GL CTS build mustpass script
Alexander Galazin [Thu, 8 Dec 2016 14:31:12 +0000 (15:31 +0100)]
Remove CMAKE Compiler settings from GL CTS build mustpass script

Change-Id: I08bff386b40f8643388a888d5af5aab115c9cdb2

7 years agoAlloc callbacks: don't report a quality warning for pooled objects
Maciej Jesionowski [Wed, 7 Dec 2016 09:55:36 +0000 (10:55 +0100)]
Alloc callbacks: don't report a quality warning for pooled objects

Modified tests:
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.descriptor_set
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_primary
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_secondary

Change-Id: I0daea167c4b0c1e0a00039286b85af8c02e410f5

7 years agoUpdate the verification script to reflect git 2.9.1 changes
Alexander Galazin [Tue, 6 Dec 2016 20:54:57 +0000 (21:54 +0100)]
Update the verification script to reflect git 2.9.1 changes

git 2.9.1 changed the "working directory" message to "working
 tree". Accept both statements in the verification script.

Ref:
https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.9.1.txt

Fixes #559

Change-Id: Ie90097d39e1f09c1796bb1238ee92bf19aff93bf

7 years agoMerge "Update KC CTS reference" into opengl-cts-dev
Alexander Galazin [Tue, 6 Dec 2016 11:56:54 +0000 (06:56 -0500)]
Merge "Update KC CTS reference" into opengl-cts-dev

7 years agoUpdate KC CTS reference
Alexander Galazin [Tue, 6 Dec 2016 08:14:07 +0000 (09:14 +0100)]
Update KC CTS reference

Change-Id: I502ace8ea0a26595ce13101fe3a1b3140dba253e

7 years agoMerge "GL_ARB_gpu_shader_fp64: Forces UBOs to use the std140 layout" into opengl...
Alexander Galazin [Mon, 5 Dec 2016 09:53:47 +0000 (04:53 -0500)]
Merge "GL_ARB_gpu_shader_fp64: Forces UBOs to use the std140 layout" into opengl-cts-dev

7 years agoMerge "GL_ARB_shading_language_420pack: component names sets mix is forbidden" into...
Alexander Galazin [Mon, 5 Dec 2016 09:53:15 +0000 (04:53 -0500)]
Merge "GL_ARB_shading_language_420pack: component names sets mix is forbidden" into opengl-cts-dev

7 years agoGL_ARB_shading_language_420pack: component names sets mix is forbidden
Andres Gomez [Thu, 17 Nov 2016 15:57:00 +0000 (17:57 +0200)]
GL_ARB_shading_language_420pack: component names sets mix is forbidden

When refering to component names we can use xywz, rgba or stpq but not
mix them when refering to the components of a specific resulting vector
or scalar.

For example, this is illegal; float(1.5).xr, but this is legal;
float(1.5).xxxx.rgba.stpq.xywz

GL_ARB_shading_language_420pack doesn't explicitly forbid it but we can
find the following in the specs:

From The OpenGLĀ® Shading Language 4.40, page 104:

  "  v4.xgba;   // is illegal - the component names do not come from
                                the same set."

Added another case for the following test:
    GL44-CTS.shading_language_420pack.scalar_swizzlers_invalid

Change-Id: I31889598ccf88850c44eeb0e267f43f2d89bbcf2

7 years agoGL_ARB_gpu_shader_fp64: Forces UBOs to use the std140 layout
Andres Gomez [Mon, 11 Jul 2016 20:24:53 +0000 (23:24 +0300)]
GL_ARB_gpu_shader_fp64: Forces UBOs to use the std140 layout

The max_uniform_components test for the FP64 extension was asuming
UBOs were stored in a tightly packed fashion. The way this is done is
implementation dependent; for example, mesa uses std140. The only way
of making any assumption on how an implementation is packing the data
for UBOs is, actually, by specifying the std140 layout.

Unfortunately, this also involves that the available used space for a
single UBO may be exhausted much before we get to use the maximum
uniform components. Hence, this patch also adds a check for
GL_MAX_UNIFORM_BLOCK_SIZE and limits the generated test to use the
amount of uniforms that fit in whichever limit gets exhausted first.

Fixes the following test (from fail to pass):
     GL44-CTS.gpu_shader_fp64.max_uniform_components

Change-Id: I734b090dbded4899e4db48c969754ab0a67c5245

7 years agoAdded CTS ARB_texture_filter_minmax specification proposal
Alexander Galazin [Mon, 5 Dec 2016 09:46:55 +0000 (10:46 +0100)]
Added CTS ARB_texture_filter_minmax specification proposal

Here is test specification proposal for ARB_texture_filter_minmax

See merge request !99

Change-Id: Ibb8d8f8506ab8dabd5dc00927b36f44697e1c174

7 years agoMerge "Documentation updates" into opengl-cts-dev
Alexander Galazin [Mon, 5 Dec 2016 09:41:51 +0000 (04:41 -0500)]
Merge "Documentation updates" into opengl-cts-dev

7 years agoDocumentation updates
Alexander Galazin [Fri, 2 Dec 2016 10:48:11 +0000 (11:48 +0100)]
Documentation updates

- Update README.md (typos, CTS folder structure, build instructions)
- Add CONTRIBUTING.md (moved Tips for developing new tests into this file)

Change-Id: Ia893e0cb6bc0cdd166a6f055e3951eac89788042

7 years agoRename OpenGL CTS mustpass folders.
Alexander Galazin [Mon, 5 Dec 2016 08:37:09 +0000 (09:37 +0100)]
Rename OpenGL CTS mustpass folders.

Remove explicit patch version

Change-Id: I19ae7039f8803ac668849ad9fdd5e708e40e20ce

7 years agoMerge "Reformat file with clang-format-4.0" into opengl-cts-dev
Alexander Galazin [Mon, 5 Dec 2016 08:12:23 +0000 (03:12 -0500)]
Merge "Reformat file with clang-format-4.0" into opengl-cts-dev

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Fri, 2 Dec 2016 23:51:20 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: Ife68d86ffa96d9f9462565175e637e28c24989f6

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 23:51:17 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: Ib54e6e75d11508c1ee4194ae90815666088c79d7

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Fri, 2 Dec 2016 23:51:14 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I4f62b1e39978bea366e0b7e2f745b0f7a25a0f66

7 years agoMerge aosp/master into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 23:48:21 +0000 (15:48 -0800)]
Merge aosp/master into gerrit/vulkan-cts-1.0-dev

Change-Id: Ic50054c78a4bb736f9fcfa2768968ea8bbc1bd41

7 years agoClarify --deqp-log-filename usage in README.md
Pyry Haulos [Fri, 2 Dec 2016 22:29:24 +0000 (14:29 -0800)]
Clarify --deqp-log-filename usage in README.md

Vulkan CTS issue: #525

Change-Id: Idb0f23cd13e548aaea21682ec02d89e52adee579

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Fri, 2 Dec 2016 22:26:33 +0000 (14:26 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: I4a04b54b92d507303ccf09b20b1fd643fe13e134

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 22:26:30 +0000 (14:26 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: Ida8369e7d121c8282069fd3a70a64efb4490bddd

7 years agoFix VkPipelineLayout overwriting
Arkadiusz Sarwa [Tue, 29 Nov 2016 10:43:38 +0000 (11:43 +0100)]
Fix VkPipelineLayout overwriting

Fixes #527

Change-Id: Ia053e9ead201f62fc1310d07e7dafd76139ba173

7 years agoMerge gerrit/vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Fri, 2 Dec 2016 21:38:22 +0000 (13:38 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into aosp/master

Change-Id: Ic9e43c0554d8976766507fab6916be6a037505a7

7 years agoAdd new files to Android.mk
Pyry Haulos [Fri, 2 Dec 2016 21:36:36 +0000 (13:36 -0800)]
Add new files to Android.mk

Change-Id: I75be28ac1a62e9ee3f797e8eb4adaffc75486826

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Fri, 2 Dec 2016 19:45:59 +0000 (11:45 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: I3228680996ef34bbc824b4e38d26da0597ff22b7

7 years agoBugfix: Use PointSize in draw tests
Maciej Jesionowski [Mon, 28 Nov 2016 15:12:23 +0000 (16:12 +0100)]
Bugfix: Use PointSize in draw tests

Tests that rasterize points have to write to PointSize variable.
Also fix nonCoherentAtomSize errors from validation.

Affected tests:
- dEQP-VK.draw.basic_draw.draw.point_list.*
- dEQP-VK.draw.basic_draw.draw_indexed.point_list.*
- dEQP-VK.draw.basic_draw.draw_indirect.point_list.*
- dEQP-VK.draw.basic_draw.draw_indexed_indirect.point_list.*
- dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list

Fixes #536

Change-Id: Ief9df51887babfc3765b0d11c6431765f322c634

7 years agoFix variable declaring location in SPIR-V assembly.
Lei Zhang [Wed, 30 Nov 2016 23:10:36 +0000 (18:10 -0500)]
Fix variable declaring location in SPIR-V assembly.

The spec validation rules require that all OpVariable instructions
in a function must be as the first instructions in the first block.

Change-Id: If054bd7882eaf5ffc00899fbdef9a9b71d544019

7 years agoBugfix: upload stencil data in pipeline image util
Maciej Jesionowski [Wed, 30 Nov 2016 11:37:01 +0000 (12:37 +0100)]
Bugfix: upload stencil data in pipeline image util

Fixes:
- Upload stencil data to the image with mixed DS formats
- Respect 4 byte offset alignment for formats <4 bytes
- Fix some nonCoherentAtomSize validation errors

Affected tests:
- dEQP-VK.texture.shadow.*d16_unorm
- dEQP-VK.texture.shadow.*x8_d24_unorm_pack32
- dEQP-VK.texture.shadow.*d32_sfloat
- dEQP-VK.texture.shadow.*s8_uint
- dEQP-VK.texture.shadow.*d16_unorm_s8_uint
- dEQP-VK.texture.shadow.*d24_unorm_s8_uint
- dEQP-VK.texture.shadow.*d32_sfloat_s8_uint

Issue #556

Change-Id: I56c0e7eef9c1bfc82790eb8ba6e48b95dc65f521

7 years agoAdd new tests Render To Image
Arkadiusz Sarwa [Tue, 22 Nov 2016 13:05:03 +0000 (14:05 +0100)]
Add new tests Render To Image

New tests:
- dEQP-VK.pipeline.render_to_image.*

Issue #535

Change-Id: I3854942c69d95b034cd9358cc7970f04b1c85d5b

7 years agoAdd tests for bulk object allocation failures
Maciej Jesionowski [Tue, 22 Nov 2016 11:30:45 +0000 (12:30 +0100)]
Add tests for bulk object allocation failures

New tests:
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.*

Issue #532

Change-Id: I1a8050c8000abf083435910e2e65c6ee045364af

7 years agoAdd test: sparse buffer usage
Maciej Jesionowski [Mon, 7 Nov 2016 15:18:58 +0000 (16:18 +0100)]
Add test: sparse buffer usage

Test UBO, SSBO, VB, IB, InB with sparse buffers using:
- sparse binding
- sparse residency
- sparse aliasing
- residencyNonResidentStrict (with UBOs)

New tests:
- dEQP-VK.sparse_resources.buffer.ubo.*
- dEQP-VK.sparse_resources.buffer.vertex_buffer.*
- dEQP-VK.sparse_resources.buffer.index_buffer.*
- dEQP-VK.sparse_resources.buffer.indirect_buffer.*

Renamed tests:
in dEQP-VK.sparse_resources:
- .buffer_sparse_binding.* -> .buffer.transfer.sparse_binding.*
- .buffer_sparse_residency.* -> .buffer.ssbo.sparse_residency.*
- .buffer_sparse_memory_aliasing.* -> .buffer.ssbo.sparse_binding_aliased.*

Issue: #401

Change-Id: Iba583a16eba0b688849175813a86d44c9b038f0d

7 years agoExtend copyImage tests with depth/stencil formats
Szilard Ledan [Tue, 26 Jul 2016 12:43:02 +0000 (14:43 +0200)]
Extend copyImage tests with depth/stencil formats

Add tests with all depth/stencil formats into image to image copies cases.
It was needed to fix the 'uploadImage' and 'readImage' functions, because
the copying combined dept/stencil data between buffers and images are not
supprted at the same time.

Update and fix the generation of expected image.

Update the mustpass lists.

Fix conflict after rebase.

This affects:
 * dEQP-VK.api.copy_and_blit.image_to_image.all_formats.depth_stencil_*
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d16_unorm_d16_unorm_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_x8_d24_unorm_pack32_x8_d24_unorm_pack32_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d32_sfloat_d32_sfloat_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_s8_uint_s8_uint_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d16_unorm_s8_uint_d16_unorm_s8_uint_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d24_unorm_s8_uint_d24_unorm_s8_uint_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d32_sfloat_s8_uint_d32_sfloat_s8_uint_nearest

Fixes #488

Change-Id: I29bdaf1d87d7bdba112fd55526f8e661865baa6e

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 16:42:53 +0000 (08:42 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I9afe7efd004ee04a7edd465457e5376b03e0abc0

7 years agoFix post-copy barrier in readImageAspect()
Pyry Haulos [Fri, 2 Dec 2016 16:34:43 +0000 (08:34 -0800)]
Fix post-copy barrier in readImageAspect()

 * Barrier was using TOP_OF_PIPE_BIT for flushing buffer contents for
host access. HOST_BIT must be used instead.

 * For combined depth stencil formats image was left in wrong image layout
for later stencil aspect copy.

Affects combined DS format cases in:

dEQP-VK.api.copy_and_blit.blit_image.all_formats.*

Change-Id: I80263efbc12da21c8205768687725416419e923e

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 00:33:32 +0000 (16:33 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Non-trivial merge of 0b0c5dba7daed6439ec6352aacf3cd216d1c1dd5

Change-Id: I1fa72e1814387b05b935cd781126880e603c91b4

7 years agoDo not generate constructor utils if API creates multiple objects
Pyry Haulos [Thu, 1 Dec 2016 23:23:12 +0000 (15:23 -0800)]
Do not generate constructor utils if API creates multiple objects

See #541

Change-Id: I1aa9ddae3bb758a70f6a72d1eb31e58c524ca9f4

7 years agoFix combined depth stencil handling in dEQP-VK.api.copy_and_blit
Pyry Haulos [Tue, 25 Oct 2016 08:41:48 +0000 (17:41 +0900)]
Fix combined depth stencil handling in dEQP-VK.api.copy_and_blit

The existing code had several bugs related to handling of combined DS
formats that manifested on implementations that support blitting of
said formats.

vk::isSupportedByFramework(VkFormat) utility function is added for
checking whether format is mappable to tcu::TextureFormat. This query
is used to filter out test cases that will always result in InternalError,
namely all cases that attempted to exercise formats with 64-bit channels.

Vulkan null driver is updated to advertise
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT to allow easier testing.

Affects:

dEQP-VK.api.copy_and_blit.*

See #488
See #515

Change-Id: Ic03c523aea6a4bc9115568ec486200c53ec37d80

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Thu, 1 Dec 2016 22:23:59 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: Idf88480c98290bb03825a1110ac40b45db8f6f9c

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Thu, 1 Dec 2016 22:23:53 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I8723ff8e2442c4311dad5b9c305d5def12d3a4f0

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 1 Dec 2016 22:23:51 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I1881729f313bd8fbee7dcc2d305ac89e7aaf2761

7 years agoIncrease blit source to avoid extreme blit scaling
Oivind Boge [Tue, 22 Nov 2016 13:21:00 +0000 (14:21 +0100)]
Increase blit source to avoid extreme blit scaling

Fixes #548

Change-Id: Ied146b91dc748f9efe41b7b64d11c5da870e5ac0

7 years agoImprove coverage of dEQP-VK.pipeline.image test group
Dominik Witczak [Tue, 15 Nov 2016 08:51:05 +0000 (09:51 +0100)]
Improve coverage of dEQP-VK.pipeline.image test group

Change-Id: I711edd83f8c75e980d6e979a56810f67bbe2e204

7 years agoAdd test: image views with VK_REMAINING_* levels/layers
Maciej Jesionowski [Thu, 13 Oct 2016 14:18:07 +0000 (16:18 +0200)]
Add test: image views with VK_REMAINING_* levels/layers

Test image view subresource range with VK_REMAINING_MIP_LEVELS and VK_REMAINING_ARRAY_LAYERS.

New tests:
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.lod_base_mip_level_remaining_levels
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.base_array_layer_remaining_layers
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.lod_base_mip_level_base_array_layer_remaining_levels_and_layers

Fixes #504

Change-Id: I9b78c8ba345b45231d7a931de9effdbde8aa0fc2

7 years agoAdd granularity test cases.
Gabor Abraham [Mon, 10 Oct 2016 15:12:19 +0000 (17:12 +0200)]
Add granularity test cases.

New test:
- dEQP-VK.api.granularity.*

Change-Id: Ib3b045a0199aeb7195dd17a603c089834c64b904

7 years agoReformat file with clang-format-4.0
Alexander Galazin [Thu, 1 Dec 2016 12:39:24 +0000 (13:39 +0100)]
Reformat file with clang-format-4.0

Change-Id: Ifc68a22e9ddcfe00baa42e55624c4f4d378db93c

7 years agoCheck in vulkan.h for generating framework code
Pyry Haulos [Wed, 30 Nov 2016 22:27:07 +0000 (14:27 -0800)]
Check in vulkan.h for generating framework code

Having copy of vulkan.h checked in makes it easier to re-generate
framework when needed.

vulkan.h is checked in as vulkan.h.in to discourage anyone from ever
attempting to include it directly in test code.

As part of this framework is updated to vulkan.h version 1.0.35.

Change-Id: I6e202a01d3633fe19855cf62afbf16e2b0ea67ea

7 years agoMove Vulkan CTS scripts to external/vulkancts/scripts
Pyry Haulos [Wed, 30 Nov 2016 22:23:57 +0000 (14:23 -0800)]
Move Vulkan CTS scripts to external/vulkancts/scripts

Change-Id: I928d848225d08f03d93fd700a80d36ac3fbc3ada

7 years agodEQP-VK.sparse_resources.shader_intrinsics fixes
Dominik Witczak [Thu, 17 Nov 2016 15:08:44 +0000 (16:08 +0100)]
dEQP-VK.sparse_resources.shader_intrinsics fixes

Some of the tests in the group form invalid SPIR-V code,
which tries to pass two arguments to the OpFAdd instruction,
whose number of components differs.

This change fixes this.

Khronos issue: #545

Change-Id: I3cad57d393f986cfb5b9bce85f758dcca3686d8a

7 years agoAdjust {Max,Min}Coords for {proj}offset texture tests with 3D texture targets
Iago Toral Quiroga [Tue, 22 Nov 2016 10:55:44 +0000 (06:55 -0400)]
Adjust {Max,Min}Coords for {proj}offset texture tests with 3D texture targets

As it is now, the computed lod ends up being ~0.962, which is very close to the
threshold that separates selection of the first two mipmap levels. At least on
Intel GPUs this leads to test failures because the miplevel selected by CTS to
produce the expected result does not match the one actually selected by the
hardware.

This patch alters the coordinates used with these tests so the comuted lod
isn't too close to a mipmap level threshold.

Affects:
dEQP-VK.glsl.texture_functions.texture{proj}offset.sampler3d*

Khronos issue: #552

Change-Id: I6ec766133905d2085cd795eea8aaf0b04e830278

7 years agoFixes incorrect usage of textureSamples().
Dominik Witczak [Fri, 18 Nov 2016 12:13:12 +0000 (13:13 +0100)]
Fixes incorrect usage of textureSamples().

The function should not be called against single-sample
images. See #538 for more details.

Tests affected: dEQP-VK.glsl.texture_functions.query.texturesamples.isampler*ms*

Change-Id: I7ce507c657b33cbcf99c9e3202fdafaee5ea1577

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Tue, 29 Nov 2016 19:45:34 +0000 (11:45 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: Ifc126593b72c46a6e73c4f4af20ab124a1f734b4

7 years agoMerge "Update GL/EGL headers to r33312" into opengl-cts-dev
Pyry Haulos [Tue, 29 Nov 2016 17:51:15 +0000 (12:51 -0500)]
Merge "Update GL/EGL headers to r33312" into opengl-cts-dev

7 years agoUpdate GL/EGL headers to r33312
Alexander Galazin [Tue, 29 Nov 2016 14:14:44 +0000 (15:14 +0100)]
Update GL/EGL headers to r33312

Change-Id: I8a8cdcd3c7e3b135b698df7b92ee493403754e37

7 years agoFramework: Add assert to position deviation image compare
Maciej Jesionowski [Tue, 29 Nov 2016 12:38:22 +0000 (13:38 +0100)]
Framework: Add assert to position deviation image compare

When using position deviation tolerance it's easy to forget
about the depth and effectively skip the check for the whole
image.

Change-Id: Ide873be57ba19e7e9e45606d27aae403f9c131ec

7 years agoReformat GL CTS according to the clang-format rules.
Alexander Galazin [Tue, 29 Nov 2016 07:35:41 +0000 (08:35 +0100)]
Reformat GL CTS according to the clang-format rules.

Mostly license statement is affected.

Change-Id: I41bcd7fbdf88b6e6acda8e723d88c57f5c5374a7

7 years agoFix OpenGL CTS mustpass issues
Alexander Galazin [Mon, 28 Nov 2016 14:20:10 +0000 (15:20 +0100)]
Fix OpenGL CTS mustpass issues

* Fix GLES 3.1 mustpass to match original OSS CTS
* Remove obsolete 3.2 packages
* Remove duplicate 3.1 configs in Khronos AOSP mustpass
* Remove obsolete file with copy-image definition
  (now a part of gles31-master)

Change-Id: I29dfabdc8c770aa6269b3617425670b7bd58ea5d

7 years agoShaderRenderCaseInstance::uploadSparseImage() fix
Dominik Witczak [Thu, 17 Nov 2016 15:13:32 +0000 (16:13 +0100)]
ShaderRenderCaseInstance::uploadSparseImage() fix

The function is used by various test cases to fill sparse images
with actual content. What they are unaware of is that the func
does not assign memory backing to odd tiles.

This change fixes this by removing the malicious if() block.
The change affects dEQP-VK.glsl.*sparse* tests

Change-Id: Ia2b157181d5fdba2d4fa0bcaf37dc02c4a6fe320

7 years agoFix memory management, image layout issues in uploadImageSparse()
Dominik Witczak [Thu, 17 Nov 2016 12:10:19 +0000 (13:10 +0100)]
Fix memory management, image layout issues in uploadImageSparse()

Fixes an issue where ShaderRenderCaseInstance::uploadSparseImage()
would first configure sparse image bindings and then deallocate
the memory objects, prior to actually sampling the image.

Fixes an issue where the sparse image, after having been filled with
contents, would first be transitioned to SHADER_READ_ONLY_OPTIMAL
layout, and then used in a DS which was expecting it to be in
GENERLA layout.

Finally, the patch addresses a problem, where the function would not
correctly recognize the VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
as reported by the running driver.

The change affects dEQP-VK.glsl.*sparse* tests

Khronos issue: #543

Change-Id: Ie5717841fe0ef9c0672b5075380ff96bba9855b9

7 years agoRemove unused files
Alexander Galazin [Wed, 16 Nov 2016 09:09:27 +0000 (10:09 +0100)]
Remove unused files

Change-Id: Icaf0ba63a746889ac44afd9046a7d6757b348656

7 years agoTry harder to defeat GLSL compiler dead-code optimizations
Ian Romanick [Thu, 10 Nov 2016 01:29:01 +0000 (17:29 -0800)]
Try harder to defeat GLSL compiler dead-code optimizations

A number of CTS tests generate shaders like like:

    #version 310 es

    buffer TargetInterface
    {
            highp float target;
    };

    highp vec4 readInputs()
    {
            highp vec4 retValue = vec4(0.0);
            retValue += vec4(float(target));
            return retValue;
    }

    void writeOutputs(in highp vec4 dummyValue)
    {
            target = float(dummyValue.y);
    }

    void main()
    {
            writeOutputs(readInputs());
    }

After various common optimizations this becomes:

    buffer TargetInterface
    {
            highp float target;
    };

    void main()
    {
            target = target;
    }

In the absence of memoryBarrier() or qualifiers on the buffer, there is
no guarantee about the order of writes to the buffer.  Since this write
is not guaranteed to be visible either on the GPU or the CPU, we
eliminate it.  Since there is no access to target in the shader, we
report GL_REFERENCED_BY_FRAGMENT_SHADER = GL_FALSE.  The tests expect
GL_TRUE.

The vectored versions of this test swizzle the value read from the
buffer before writing it back.  These writes are not eliminated.

Adding a uniform instead of a literal constant also prevents the reads
and writes of the SSBO from being eliminated.

v2: Ignore the uniform named "zero" in
ResourceListTestCase::verifyResourceList.  The alternative was to add
zero to the resource list, but that required making small changes
(mostly removing const) from over a dozen places in the code.  This
slightly hacky, but localized, change seemed better.

v3: Various coding standards fixes suggested by Alexander Galazin and
Pyry.  Add getDummyZeroUniformName to query name of the zero uniform and
a lot more documentation.  Both suggested by Pyry.

Change-Id: I0ea745b6c630ec92d3c6e6acfe8c48e6de156d4c
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16114

7 years agoUpdate kc-cts revision
Pyry Haulos [Tue, 22 Nov 2016 17:13:58 +0000 (09:13 -0800)]
Update kc-cts revision

This fixes build with -DGLCTS_GTF_TARGET=gl

Change-Id: Ifd70714bda22400c695b9331233320748905f263

7 years agoImport Khronos OpenGL CTS
Pyry Haulos [Mon, 14 Nov 2016 19:03:22 +0000 (11:03 -0800)]
Import Khronos OpenGL CTS

Change-Id: Ic6e4341dedb44dfd4ebaaeba7699a5e46202a8b3

7 years agoImport new GLSL ES 3.2 .test files from Khronos OpenGL CTS
Pyry Haulos [Mon, 21 Nov 2016 22:07:20 +0000 (14:07 -0800)]
Import new GLSL ES 3.2 .test files from Khronos OpenGL CTS

These files are modified copies of existing files under
data/gles31/shaders.

Existing .test file based tests under dEQP-GLES31 are moved to
<groupname>.es31 groups and new tests are added under <groupname>.es32.

gls::ShaderLibraryCase is changed to check and report if GLSL version
used by the test is not supported by the rendering context.

Android CTS mustpass lists are updated to reflect this.

Change-Id: I44339fa1be1bd9c4215e828c6ba63e0eef449694

7 years agoDo not remove old SPIR-V binaries before running vk-build-programs
Pyry Haulos [Fri, 18 Nov 2016 18:46:55 +0000 (10:46 -0800)]
Do not remove old SPIR-V binaries before running vk-build-programs

vk-build-programs can update pre-built binary directory in a smarter way
when there are existing binaries.

Test: Run external/vulkancts/build_spirv_binaries.py
Change-Id: I2a6afdc2855b7da1baf02682e8214a73a35cebda

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Fri, 18 Nov 2016 18:40:54 +0000 (10:40 -0800)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master

Change-Id: I656d82525b18e936b6c4a78dd73cbb9ef65a06a4

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Fri, 18 Nov 2016 18:40:39 +0000 (10:40 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: I75424d6c9c89f70907edba466f96101da06d0ce3

7 years agoAdd vktTextureFilteringAnisotropyTests.cpp to Android.mk
Pyry Haulos [Fri, 18 Nov 2016 18:40:10 +0000 (10:40 -0800)]
Add vktTextureFilteringAnisotropyTests.cpp to Android.mk

7 years agoAdd anisotropic filtering tests
Arkadiusz Sarwa [Wed, 19 Oct 2016 13:43:19 +0000 (15:43 +0200)]
Add anisotropic filtering tests

New tests:
- dEQP-VK.texture.filtering_anisotropy.basic.*
- dEQP-VK.texture.filtering_anisotropy.mipmap.*

Fixes #512

Change-Id: I96649846503e7ab349c774ad934f654388b01d0a

7 years agoExtends rasterization culling tests with polygonModes
Zoltan Janos Szabo [Wed, 26 Oct 2016 13:51:22 +0000 (15:51 +0200)]
Extends rasterization culling tests with polygonModes

Fixes #523

Change-Id: I2665e999f5ecb6bacd0d670b88e037bfbb0d5b2e

7 years agoAdd test: UBO out of order block member offsets
Maciej Jesionowski [Tue, 11 Oct 2016 09:35:24 +0000 (11:35 +0200)]
Add test: UBO out of order block member offsets

New tests:
- dEQP-VK.ubo.random.all_out_of_order_offsets.*

Modified tests:
- dEQP-VK.ubo.* - changed GLSL version from '310 es' to '450'
- dEQP-VK.ubo.random.all_* - include arrays of arrays

Version change is required to support 'offset' layout in GLSL.

Fixes #490

Change-Id: I0c07dcebd85874d64146e48db8fefe8ad9f88877

7 years agoAdd test: validate memoryTypeBits for buffers/images
Maciej Jesionowski [Wed, 5 Oct 2016 14:28:38 +0000 (16:28 +0200)]
Add test: validate memoryTypeBits for buffers/images

Query VkMemoryRequirements for various buffer and image configurations
and check:
- memoryTypeBits and alignment
- spec-imposed guarantees

New test:
- dEQP-VK.memory.requirements.*

Fixes #492

Change-Id: I3901cc4aa5501539404bdd900c5a1b4d3a62befb

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Fri, 18 Nov 2016 17:48:27 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: Ie57ad9d3e5d5057d5a622b19f38cb9fef89fefe2

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 18 Nov 2016 17:48:25 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I0800a091d1025c0ff6efc7f22f901285e198fd38

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Fri, 18 Nov 2016 17:48:22 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: Ib79da8c670b790d009cdf977039ece08c4e14320

7 years agoBugfix: use per-subpass pipeline in MS image tests
Maciej Jesionowski [Wed, 16 Nov 2016 14:21:28 +0000 (15:21 +0100)]
Bugfix: use per-subpass pipeline in MS image tests

The tests created a single graphics pipeline with a subpass index 0
and incorrectly reused it across different subpasses within the
same renderpass.

Affected tests:
- dEQP-VK.pipeline.multisample.sampled_image.*
- dEQP-VK.pipeline.multisample.storage_image.*

Change-Id: I71463748f10f7bb8cf194622b07ce44a855d823a

7 years agoUse highp in linkage.varying.rules.differing_name_*
Pyry Haulos [Thu, 20 Oct 2016 20:07:45 +0000 (13:07 -0700)]
Use highp in linkage.varying.rules.differing_name_*

This resolves RelaxedPrecision mismatches

Affects:

dEQP-VK.glsl.linkage.varying.rules.differing_name_1
dEQP-VK.glsl.linkage.varying.rules.differing_name_2

See #518

Change-Id: I7a152138e2d6ff2092c04d4226f7d00c8a40f4e0

7 years agoFix RelaxedPrecision mismatch in shader return statement tests
Pyry Haulos [Thu, 20 Oct 2016 20:17:33 +0000 (13:17 -0700)]
Fix RelaxedPrecision mismatch in shader return statement tests

Affects:

dEQP-VK.glsl.return.single_return_vertex
dEQP-VK.glsl.return.double_return_vertex
dEQP-VK.glsl.return.last_statement_in_main_vertex
dEQP-VK.glsl.return.return_in_infinite_loop_vertex

See #518

Change-Id: I981b7623f7dc2eed2e438092226f3fa3bde44d58

7 years agoUse highp by default in ShaderLibrary-based tests
Pyry Haulos [Thu, 20 Oct 2016 20:07:45 +0000 (13:07 -0700)]
Use highp by default in ShaderLibrary-based tests

This resolves numerous RelaxedPrecision mismatches

Affects:

dEQP-VK.glsl.arrays.*
dEQP-VK.glsl.conditionals.*
dEQP-VK.glsl.constants.*
dEQP-VK.glsl.conversions.*
dEQP-VK.glsl.functions.*
dEQP-VK.glsl.linkage.*
dEQP-VK.glsl.scoping.*
dEQP-VK.glsl.swizzles.*

See #518

Change-Id: I7b79f10c6dbdd5ae8da31359b680ac52ce2ad28c

7 years agoFix RelaxedPrecision mismatch in binding_model tests
Pyry Haulos [Thu, 20 Oct 2016 20:06:49 +0000 (13:06 -0700)]
Fix RelaxedPrecision mismatch in binding_model tests

Affects: dEQP-VK.binding_model.*

See #518

Change-Id: Iccda14ae17c7852c5283547e01573907f2eef18a

7 years agoWin32 and Android support improvements for OpenGL CTS
Pyry Haulos [Thu, 17 Nov 2016 23:29:14 +0000 (15:29 -0800)]
Win32 and Android support improvements for OpenGL CTS

 * Add DEQP_SUPPORT_WGL that can be used to detect if WGL support code
is available.

 * Remove win32_wgl target as default target works just fine.

 * Add full Android port include path to libdeqp.so target to support
hooking up additional entry points using DEQP_MODULE_ENTRY_POINTS that
may depend on Android porting code.

Change-Id: I10b467eb883605239c1114aa98ad08f23b892df1

7 years agoAdd eglw.h wrapper for legacy code
Pyry Haulos [Thu, 17 Nov 2016 23:26:29 +0000 (15:26 -0800)]
Add eglw.h wrapper for legacy code

eglw.h is a wrapper that allows supporting legacy EGL code that has been
written against egl.h.

Change-Id: I40e47e53c75cbc523f189adeefe0f3616e21d5ca

7 years agoFix typo in log_parser.py
Pyry Haulos [Thu, 17 Nov 2016 23:25:05 +0000 (15:25 -0800)]
Fix typo in log_parser.py

This would lead to an error if log parsing fails.

Change-Id: Id88cb7332541f25cd08facf50dc70ea8db17f6c9

7 years agoAdd <MODULE>-package static lib targets for all modules
Pyry Haulos [Tue, 15 Nov 2016 21:54:58 +0000 (13:54 -0800)]
Add <MODULE>-package static lib targets for all modules

This unifies single-binary and per-package binary builds somewhat, and
makes it easier to add additional binaries that source test cases from
existing test packages.

Change-Id: I15f47b1fea530ed28a987f112be29c5b42fd21f3

7 years agoOpenGL framework improvements to support Khronos CTS
Pyry Haulos [Wed, 16 Nov 2016 23:33:21 +0000 (15:33 -0800)]
OpenGL framework improvements to support Khronos CTS

 * Add optional RenderContext::makeCurrent()

 * Add optional RenderContext::getProcAddress()

 * Add way to specify context reset notification strategy for OpenGL
contexts

 * Improvements to WGL and GLX ports

Change-Id: I9b2e2181fd3b902b32dcaa34ef0dfe56e1fd9ddb

7 years agoReverse the expectation in SSO match_different_[member_]struct_names
Pyry Haulos [Thu, 17 Nov 2016 18:21:09 +0000 (10:21 -0800)]
Reverse the expectation in SSO match_different_[member_]struct_names

The resolution of bug #15866 is that the spec should be changed to
require that "structures have the same name" in order for the types
to match during SSO validation.  These structures differ in name,
so they should not match, and we should get an SSO validation
failure.

Khronos bug #15866

Change-Id: Ie1f6bdb625661f0ed4585dfde7a0694f32ff3413

7 years agoFix race condition between query pool reset and accessing query results
Slawomir Cygan [Mon, 14 Nov 2016 16:57:31 +0000 (17:57 +0100)]
Fix race condition between query pool reset and accessing query results

Affects tests:
dEQP-VK.query_pool.occlusion_query.get_results*(wait_query|wait_none)*

These tests access query pool results on host, without any synchronization
with command buffer which performs the query - they either use
VK_QUERY_RESULT_WAIT_BIT or allow for incomplete results to be captured.

This may have a race condition, mentioned by spec:

"""
Applications must take care to ensure that use of the
VK_QUERY_RESULT_WAIT_BIT bit has the desired effect. For example, if
a query has been used previously and a command buffer records the
commands vkCmdResetQueryPool, vkCmdBeginQuery, and vkCmdEndQuery for
that query, then the query will remain in the available state until the
 vkCmdResetQueryPool command executes on a queue.
"""

In affected tests, this change moves vkCmdResetQueryPool to separate
command buffer that is sumitted and completed before query is used on
device & host.

Additionally code handling RESULTS_MODE_COPY mode is refactored to use
new haveSeparateCopyCmdBuf() function instead of tons of flags and conditions.

Change-Id: Id4a538b912030f2a86b09593fecaae37f1819a71

7 years agoMerge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmal...
Tina Zhou [Thu, 17 Nov 2016 17:17:43 +0000 (17:17 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev am: a5af1b076f
am: c2c27aa562

Change-Id: I92de6f7a0cd6b064f8d0391fac2f70b464acd8d4

7 years agoFix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA. am: ea5589c748
Kenneth Graunke [Thu, 17 Nov 2016 17:17:34 +0000 (17:17 +0000)]
Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA. am: ea5589c748
am: ab691d3f7e

Change-Id: Ic377ad147e7a774685c6dcc3190f8f3e95f45049

7 years agoMerge "Fix internal format/type for 3D + depth/stencil negative API tests." into...
Tina Zhou [Thu, 17 Nov 2016 17:17:24 +0000 (17:17 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev am: d962b86909
am: 080d0d5005

Change-Id: I52ff978738ebe738d3d705c4a321a31b4786fa58

7 years agoFix internal format/type for 3D + depth/stencil negative API tests. am: d2f3b468db
Kenneth Graunke [Thu, 17 Nov 2016 17:17:10 +0000 (17:17 +0000)]
Fix internal format/type for 3D + depth/stencil negative API tests. am: d2f3b468db
am: f5414b15bb

Change-Id: I36fd5090772f6881a14135edcaf9c1ae8dab22fe

7 years agoMerge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmal...
Tina Zhou [Thu, 17 Nov 2016 17:10:28 +0000 (17:10 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev
am: a5af1b076f

Change-Id: I01c65d693d7ad5befe9244cb0d24814750a80bd2

7 years agoFix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA.
Kenneth Graunke [Thu, 17 Nov 2016 17:10:28 +0000 (17:10 +0000)]
Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA.
am: ea5589c748

Change-Id: I7358276f100608371da5b44ebc8e102a54706197

7 years agoMerge "Fix internal format/type for 3D + depth/stencil negative API tests." into...
Tina Zhou [Thu, 17 Nov 2016 17:10:12 +0000 (17:10 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev
am: d962b86909

Change-Id: I6a82d71f2fed9f848a953ae21c30079bacb07052

7 years agoFix internal format/type for 3D + depth/stencil negative API tests.
Kenneth Graunke [Thu, 17 Nov 2016 17:10:05 +0000 (17:10 +0000)]
Fix internal format/type for 3D + depth/stencil negative API tests.
am: d2f3b468db

Change-Id: Id43b369d67e04cf3a6d6b5b4e3303f02c7a35b87

7 years agoMerge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmal...
Tina Zhou [Thu, 17 Nov 2016 17:03:36 +0000 (17:03 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev

7 years agoMerge "Fix internal format/type for 3D + depth/stencil negative API tests." into...
Tina Zhou [Thu, 17 Nov 2016 17:02:44 +0000 (17:02 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev

7 years agoMerge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev
Pyry Haulos [Thu, 17 Nov 2016 14:59:00 +0000 (06:59 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into gerrit/opengl-cts-dev

Change-Id: I7c406854c0c7fba66c9863921410414f445328e4

7 years agoUpdate SPIRV-Headers
Maciej Jesionowski [Thu, 17 Nov 2016 09:44:36 +0000 (10:44 +0100)]
Update SPIRV-Headers

Add constants required for VK_KHR_shader_draw_parameters

Change-Id: I3cbf7cfa68714c47c205be019ece7f1218a66e00