platform/upstream/VK-GL-CTS.git
6 years agoAdd tests to use OpPhi with various variable types
Jari Komppa [Tue, 12 Sep 2017 12:00:59 +0000 (15:00 +0300)]
Add tests to use OpPhi with various variable types

Based on the spec, OpPhi should be able to handle any variable type.
These tests use various variable types (int, float, vec3, mat4, array
and struct) with the OpPhi instruction.

All of the tests are of the form:

    testtype r

    if (indata > 0)
        r = 1
    else
        r = -1

    return (float)r

Affects:

dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_int
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_vec3
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_mat4
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_array
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_struct

Components: Vulkan

VK-GL-CTS issue: 259

Change-Id: I2d090d06c52c904d66b35f8cee5f2895a2087069

6 years agoAvoid watchdog timeout in Vulkan builtin precision tests
Chris Forbes [Mon, 16 Oct 2017 19:42:35 +0000 (12:42 -0700)]
Avoid watchdog timeout in Vulkan builtin precision tests

Calculating the reference intervals can take a substantial amount of
time. On some very slow targets, this can cause us to trip the watchdog
in the verification loop.

Same approach and limit as in modules/glshared/glsBuiltinPrecisionTests.cpp

Affected tests:
dEQP-VK.glsl.builtin.precision.*

Component: Vulkan

Bug: 67854695
Test: run on google devices
Change-Id: I492b656e7e2a9aa724bb3785bdf1416a4c22ec04

6 years agoMerge "Fix include guards for tcuSurfacelessPlatform.hpp"
Chris Forbes [Thu, 19 Oct 2017 23:17:05 +0000 (23:17 +0000)]
Merge "Fix include guards for tcuSurfacelessPlatform.hpp"
am: e32e143310

Change-Id: I275354879e5f2467846ada1bf32cc54bf71dfbe0

6 years agoMerge "Fix include guards for tcuSurfacelessPlatform.hpp"
Treehugger Robot [Thu, 19 Oct 2017 22:19:02 +0000 (22:19 +0000)]
Merge "Fix include guards for tcuSurfacelessPlatform.hpp"

6 years agoFix include guards for tcuSurfacelessPlatform.hpp
Chris Forbes [Thu, 19 Oct 2017 18:03:30 +0000 (11:03 -0700)]
Fix include guards for tcuSurfacelessPlatform.hpp

Change-Id: I3f6b9824c0fb51270e22942121e4feea1d6660fb
Components: Framework

6 years agoMerge "eglGetFrameTimestamps: Allow reads done to equal rendering complete." am:...
Brian Anderson [Wed, 18 Oct 2017 23:16:09 +0000 (23:16 +0000)]
Merge "eglGetFrameTimestamps: Allow reads done to equal rendering complete." am: f3788ae990 am: 7a0770ee76
am: cd11988b12

Change-Id: I8a6be95d0fd32d8f37626a2daec942f0925f05ce

6 years agoMerge "eglGetFrameTimestamps: Allow reads done to equal rendering complete." am:...
Brian Anderson [Wed, 18 Oct 2017 23:02:40 +0000 (23:02 +0000)]
Merge "eglGetFrameTimestamps: Allow reads done to equal rendering complete." am: f3788ae990
am: 7a0770ee76

Change-Id: I15c50ee2036e1033420ea68e74230a6160ef6653

6 years agoMerge "eglGetFrameTimestamps: Allow reads done to equal rendering complete."
Brian Anderson [Wed, 18 Oct 2017 23:00:38 +0000 (23:00 +0000)]
Merge "eglGetFrameTimestamps: Allow reads done to equal rendering complete."
am: f3788ae990

Change-Id: Ic6d75a4135e1bdbc779a47655574dc2ccbdb8f63

6 years agoMerge "eglGetFrameTimestamps: Allow reads done to equal rendering complete."
Treehugger Robot [Wed, 18 Oct 2017 22:51:38 +0000 (22:51 +0000)]
Merge "eglGetFrameTimestamps: Allow reads done to equal rendering complete."

6 years agoExclude incremental_present scale down from Android CTS
Chris Forbes [Fri, 29 Sep 2017 16:51:49 +0000 (09:51 -0700)]
Exclude incremental_present scale down from Android CTS

Bug: b/67022169
Bug: b/67295411
Test: check_build_sanity
Change-Id: I4be889f0bf64251069e829924faf4e8c113baa86

6 years agoExclude shared_presentable_image scale down from Android CTS
Chris Forbes [Fri, 29 Sep 2017 16:51:49 +0000 (09:51 -0700)]
Exclude shared_presentable_image scale down from Android CTS

Bug: b/66464066
Test: check_build_sanity
Change-Id: If815b53b8e998e720aca4fc1994e0151eef971a5

6 years agoDelete textures after ES2 completeness tests
David Emett [Mon, 16 Oct 2017 13:53:52 +0000 (14:53 +0100)]
Delete textures after ES2 completeness tests

VK-GL-CTS issue 772
Components: AOSP
Affects: dEQP-GLES2.functional.texture.completeness.*

Change-Id: Iad2c25706ef4d3630607db87543739462da0bbfd

6 years agoLower correlation threshold in flush-finish tests again
Gurchetan Singh [Fri, 6 Oct 2017 16:06:21 +0000 (09:06 -0700)]
Lower correlation threshold in flush-finish tests again

This test expects predictability from glFlush/glFinish timing.
In particular,  the code from FlushFinishCase::analyzeResults()
checks that the result falls within specific timing thresholds.

Notice that in the GLES3 specification, there is no requirement for
timing, just a guarantee that "commands [...] complete in finite time".
This is a problem because it makes the test very flaky, for example
if the CPU/GPU clocks are not ramping up fast enough.

BUG=b:67331095
TEST=Ran dEQP-GLES3.functional.flush_finish.finish on Elm for over 3+ hours
     Observed 1.5% to 2% flakiness without this patch. Observed no flakiness
     with this patch.

(cherry picked from commit 59f4fcde5ac1402ab3b911cf6a9f66b886c10464)
Signed-off-by: Gurchetan Singh <gurchetansingh@google.com>
6 years agoeglGetFrameTimestamps: Allow reads done to equal rendering complete.
Brian Anderson [Tue, 17 Oct 2017 19:17:40 +0000 (12:17 -0700)]
eglGetFrameTimestamps: Allow reads done to equal rendering complete.

If there are no reads performed by the compositor, it is possible
for reads done timestamp to be the same as the rendering complete
timestamp.

Also add and use check_lt and check_le, to print out more detailed
debug info in the results.

Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Change-Id: I258562806aab2f44e91f2aafa1e7a00f4d522959

6 years agocmake: Use FindPNG instead of find_path/find_library
Chad Versace [Fri, 2 Dec 2016 23:43:08 +0000 (15:43 -0800)]
cmake: Use FindPNG instead of find_path/find_library

dEQP's use of find_path() and find_library() failed to find the png
paths if the paths contained a version suffix. For example, they failed
to find /usr/include/libpng12/png.h and /usr/lib64/libpng12.so.

CMake ships a standard FindPNG module that does not get confounded by
version-suffixed paths.  The module also respects cross-compilation
environments.

Change-Id: I636be9430697a9d883040b53e79767466fbd2ad5
Signed-off-by: Chad Versace <chad.versace@intel.com>
6 years agoplatform/surfaceless: Add Vulkan support
Chad Versace [Thu, 2 Feb 2017 20:35:56 +0000 (12:35 -0800)]
platform/surfaceless: Add Vulkan support

Tested on the following systems:
  - Chromium OS, board=reef, mesa-17.1.0-r3
  - Arch Linux, gpu=skylake, mesa-13.0.3-1

Change-Id: Iaaf0f4617f8e099ec076fb083055214dd8f6e243

6 years agoAdd test for reading samples from previous subpass.
Ari Suonpaa [Mon, 18 Sep 2017 13:09:52 +0000 (16:09 +0300)]
Add test for reading samples from previous subpass.

Added new test under renderpass group where two subpasses are run
and the second one reads samples from the first. This verifies any
of the samples from an input attachment can be read.

Affects: dEQP-VK.renderpass.sampleread.*

Components: Vulkan

VK-GL-CTS issue: 636

Change-Id: I8863a31cbfade75581e0874c936f87e8b23a1619

6 years agoMake 420pack 'binding' layout qualifier tests check MAX_*_IMAGE_UNIFORMS
Kenneth Graunke [Mon, 25 Sep 2017 04:18:11 +0000 (21:18 -0700)]
Make 420pack 'binding' layout qualifier tests check MAX_*_IMAGE_UNIFORMS

Image uniform support is not mandatory for the VS/TCS/TES/GS stages,
so GL_MAX_*_IMAGE_UNIFORMS can report 0.  On such an implementation,
these tests would fail.

This patch skips image testing in any such stages, making them
essentially passthrough shaders.

In BindingImageSingleTest, we also put the binding qualifier in the
fragment shader stage if the stage where we'd normally put it doesn't
support images.  This way, it's guaranteed to exist in at least one
shader stage.

Components: OpenGL

VK-GL-CTS issue: 712

Affects:
* KHR-GL45.shading_language_420pack.binding_images
* KHR-GL45.shading_language_420pack.binding_image_api_override
* KHR-GL45.shading_language_420pack.binding_image_array
* KHR-GL45.shading_language_420pack.binding_image_single
* KHR-GL45.shading_language_420pack.binding_image_default

Change-Id: Ic9eceb4472edff87d5de54ec6318cdb856b0bb8d

6 years agoSkip impossible shader stages in image load store max uniforms test.
Kenneth Graunke [Sun, 24 Sep 2017 23:18:11 +0000 (16:18 -0700)]
Skip impossible shader stages in image load store max uniforms test.

Implementations not required to support images in the geometry stages,
and are allowed to advertise 0 for:

    * GL_MAX_VERTEX_IMAGE_UNIFORMS
    * GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS
    * GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS
    * GL_MAX_GEOMETRY_IMAGE_UNIFORMS

This means that gl_Max*ImageUniforms may be 0, which means that

    #define N_UNIFORMS gl_MaxVertexImageUniforms
    layout(r32i) uniform iimage2D u_image[N_UNIFORMS];

will define a zero sized array, which is illegal.  To work around this,
simply skip stages that have zero supported image uniforms - there's
nothing to test there, anyway.

Components: OpenGL

VK-GL-CTS issue: 712

Affects:
* KHR-GL45.shader_image_load_store.uniform-limits

Change-Id: I14116ff8b4714e04b35ce0929ed68ed0f38e7d52

6 years agoBroadcom Waiver Request for #757
Graeme Leese [Mon, 9 Oct 2017 10:17:28 +0000 (11:17 +0100)]
Broadcom Waiver Request for #757

VK-GL-CTS issue: 757
Affected tests:
dEQP-VK.draw.inverted_depth_ranges.nodepthclamp_deltazero

Component: Vulkan

Change-Id: I22500562b83716697be98605a2b44de83e3132a0

6 years agoAdd tests for inverted depth ranges.
Ari Suonpaa [Thu, 14 Sep 2017 08:02:24 +0000 (11:02 +0300)]
Add tests for inverted depth ranges.

Added a new test under draw group that draws a triangle with
interpolated depth values. Viewport minDepth and maxDepth is
configured so that minDepth >= maxDepth. Test is run with both
depth clamp enabled and disabled.

Affects: dEQP-VK.draw.inverted_depth_ranges.*

Components: Vulkan

VK-GL-CTS issue: 616

Change-Id: I68ff5ea420831600a7cfcc0741820802bb745bdc

6 years agoMerge "targets/surfaceless: Add support for Chrome OS surfaceless" am: f8236f5139...
Stéphane Marchesin [Tue, 17 Oct 2017 06:03:33 +0000 (06:03 +0000)]
Merge "targets/surfaceless: Add support for Chrome OS surfaceless" am: f8236f5139 am: 0b8256eeff
am: 19bfe43ed3

Change-Id: I5ec3279f3033296b04ce80dd5003551aa076344d

6 years agoMerge "targets/surfaceless: Add support for Chrome OS surfaceless" am: f8236f5139
Stéphane Marchesin [Tue, 17 Oct 2017 05:41:25 +0000 (05:41 +0000)]
Merge "targets/surfaceless: Add support for Chrome OS surfaceless" am: f8236f5139
am: 0b8256eeff

Change-Id: I5d3b3ea704c6273fe4372e473fb92d3f1ac27aa8

6 years agoMerge "targets/surfaceless: Add support for Chrome OS surfaceless"
Stéphane Marchesin [Tue, 17 Oct 2017 05:38:31 +0000 (05:38 +0000)]
Merge "targets/surfaceless: Add support for Chrome OS surfaceless"
am: f8236f5139

Change-Id: I45754132c076ea55519c4ef75371b0adaf161b10

6 years agoMerge "targets/surfaceless: Add support for Chrome OS surfaceless"
Treehugger Robot [Tue, 17 Oct 2017 05:33:44 +0000 (05:33 +0000)]
Merge "targets/surfaceless: Add support for Chrome OS surfaceless"

6 years agoMerge "Use -Werror in external/deqp" am: 9f802d115c am: 0698c01b99
Chih-Hung Hsieh [Mon, 16 Oct 2017 19:28:09 +0000 (19:28 +0000)]
Merge "Use -Werror in external/deqp" am: 9f802d115c am: 0698c01b99
am: 7efe1df783

Change-Id: Ibdcb9f743a1ad1d44c255e93b6dd908950c783c4

6 years agoMerge "Use -Werror in external/deqp" am: 9f802d115c
Chih-Hung Hsieh [Mon, 16 Oct 2017 19:23:09 +0000 (19:23 +0000)]
Merge "Use -Werror in external/deqp" am: 9f802d115c
am: 0698c01b99

Change-Id: Ibda7e6bee8aea91e086af6c24c88263cbe3b8a85

6 years agoMerge "Use -Werror in external/deqp"
Chih-Hung Hsieh [Mon, 16 Oct 2017 19:18:36 +0000 (19:18 +0000)]
Merge "Use -Werror in external/deqp"
am: 9f802d115c

Change-Id: I8406ee0af79b2bdba4dfc541e4b7afa64860107c

6 years agoMerge "Use -Werror in external/deqp"
Treehugger Robot [Mon, 16 Oct 2017 19:07:52 +0000 (19:07 +0000)]
Merge "Use -Werror in external/deqp"

6 years agoTest if GL_FRAGMENT_PRECISION_HIGH is exposed
Piotr Byszewski [Thu, 14 Sep 2017 09:34:18 +0000 (11:34 +0200)]
Test if GL_FRAGMENT_PRECISION_HIGH is exposed

GL_FRAGMENT_PRECISION_HIGH macro should be exposed in all ES shaders
from version 300 es onwards, as well as in version 100.

Components: OpenGL

VK-GL-CTS issue: 11

Affects:
KHR-GLES3.core.shader_macros.*
KHR-GLES31.core.shader_macros.*
KHR-GLES32.core.shader_macros.*

Change-Id: I8612a5ebe2c565405ae27319d821a0d6cae4fa52

6 years agoAdd Shader Binary Multiple Shader Objects test case proposal
Adam Czupryna [Wed, 4 Oct 2017 12:44:03 +0000 (14:44 +0200)]
Add Shader Binary Multiple Shader Objects test case proposal

This is Shader Binary Multiple Shader Objects test case proposal to
CTS_ARB_gl_spirv specification.

Components: OpenGL

VK-GL-CTS issue: 554

Change-Id: I05817ca5e8daf5f1e08a849a67de3784376f317a

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 13 Oct 2017 07:24:43 +0000 (09:24 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ief4d74bb43002c377e9bcfa941dd80bc627b68b1

6 years agoLower correlation threshold in flush-finish tests again am: 59f4fcde5a am: ebee600fb0
Gurchetan Singh [Thu, 12 Oct 2017 17:50:08 +0000 (17:50 +0000)]
Lower correlation threshold in flush-finish tests again am: 59f4fcde5a am: ebee600fb0
am: 1b9bd18134

Change-Id: Ib2e799976e7ef88e12809b8c00d73cf5f4718c5a

6 years agoLower correlation threshold in flush-finish tests again am: 59f4fcde5a
Gurchetan Singh [Thu, 12 Oct 2017 17:46:06 +0000 (17:46 +0000)]
Lower correlation threshold in flush-finish tests again am: 59f4fcde5a
am: ebee600fb0

Change-Id: Ie178b2070034fb7c014e4ae9ff005a2e31770e9e

6 years agoLower correlation threshold in flush-finish tests again
Gurchetan Singh [Thu, 12 Oct 2017 17:44:21 +0000 (17:44 +0000)]
Lower correlation threshold in flush-finish tests again
am: 59f4fcde5a

Change-Id: I9b510ab7163cd135942a26f22ab5abdccaae2c76

6 years agoDelete incorrect invalid map CTS tests.
Kenneth Graunke [Fri, 8 Sep 2017 23:18:49 +0000 (16:18 -0700)]
Delete incorrect invalid map CTS tests.

The citation given in these tests comes from the OpenGL man pages, which
are not authoritative.  The ES 3.2 and GL 4.x specifications say:

   "Effects of Mapping Buffers on Other GL Commands

    Any GL command which attempts to read from, write to, or change the
    state of a buffer object may generate an INVALID_OPERATION error if
    all or part of the buffer object is mapped. However, only commands
    which explicitly describe this error are required to do so. If an
    error is not generated, using such commands to perform invalid
    reads, writes, or state changes will have undefined results and may
    result in GL interruption or termination."

Importantly, it says "_may_ generate an INVALID_OPERATION error".  Some
drivers choose not to implement this to avoid the CPU overhead required
to enforce this optional restriction.

Affects:
- KHR-*.draw_elements_base_vertex_tests.invalid_mapped_bos

VK-GL-CTS issue: 682

Components: OpenGL

Change-Id: I4c0f7785ca7a747145591d071dda6e5231c787d4
(cherry picked from commit 6a50dd2a2cd0a3f867fe6bdabbf8dc9fb678fb99)

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Wed, 11 Oct 2017 10:43:53 +0000 (12:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I630355a8c937c0fcd2ea102e5b1dcce81eb58753

6 years agoUse -Werror in external/deqp
Chih-Hung Hsieh [Tue, 10 Oct 2017 19:20:23 +0000 (12:20 -0700)]
Use -Werror in external/deqp

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: I8b711d0fdfcf5241dc1b7754a8be5fbd712d555f

6 years agotargets/surfaceless: Add support for Chrome OS surfaceless
Stéphane Marchesin [Tue, 1 Mar 2016 06:19:09 +0000 (22:19 -0800)]
targets/surfaceless: Add support for Chrome OS surfaceless

Implement a new dEQP target, "surfaceless", that supports offscreen
rendering using Chrome OS's EGL null platform. This is based on
intel's work to add support for "drm" target, but extends it to work
on ARM as well.

dEQP could be ran with --deqp-surface-type=fbo because the native EGL
platform does not support EGLSurfaces. However, because of b:27656575,
it must be run with --deqp-surface-type=pbuffer at the moment.

Unlike all of dEQP's other EGL-derived platforms (x11::egl::Platform,
Android::Platform, rpi::Platform, etc), class surfaceless::Platform does
not inherit from eglu::Platform and it reuses very little of dEQP's
existing EGL code. I had to re-invent the wheel when implementing the DRM
platform because dEQP's existing EGL code relies heavily on EGLSurfaces,
which Chrome's EGL surfaceless does not support.

BUG=chromium:543372
TEST=run deqp on veyron_jaq

6 years agoLower correlation threshold in flush-finish tests again
Gurchetan Singh [Fri, 6 Oct 2017 16:06:21 +0000 (09:06 -0700)]
Lower correlation threshold in flush-finish tests again

This test expects predictability from glFlush/glFinish timing.
In particular,  the code from FlushFinishCase::analyzeResults()
checks that the result falls within specific timing thresholds.

Notice that in the GLES3 specification, there is no requirement for
timing, just a guarantee that "commands [...] complete in finite time".
This is a problem because it makes the test very flaky, for example
if the CPU/GPU clocks are not ramping up fast enough.

BUG=b:67331095
TEST=Ran dEQP-GLES3.functional.flush_finish.finish on Elm for over 3+ hours
     Observed 1.5% to 2% flakiness without this patch. Observed no flakiness
     with this patch.

6 years agoAdd multiple contexts tests
Piotr Byszewski [Fri, 25 Aug 2017 11:39:58 +0000 (13:39 +0200)]
Add multiple contexts tests

multiple_contexts test (one of shader_subroutine tests) was modified
and moved to contextless module. Shared contexts functionality was
restored in framework.

Components: Framework, OpenGL

VK-GL-CTS issue: 612

Affects:
KHR-NoContext.gl40.multiple_contexts.uniform_preservation
KHR-GL40.shader_subroutine.multiple_contexts

Change-Id: Id170ef37c2e3c488095663c91788978223d356ec
(cherry picked from commit 1b91247d4ad206cbdbef731a2bac9151d6ddda70)

6 years agoRemove ES3PlusWrapperContext
Piotr Byszewski [Thu, 7 Sep 2017 13:35:02 +0000 (15:35 +0200)]
Remove ES3PlusWrapperContext

ES3PlusWrapperContext is not maintained anymore.

Components: Framework

Change-Id: I4327c219d6fd0362da89449884be48c1109a9b62
(cherry picked from commit bda54aaefe2ce0c6bf05b1fc58b98721b9a9f1a2)

6 years agoAlways apply flat qualifier to double inputs, same as int/uint
Ilia Mirkin [Sat, 9 Sep 2017 22:27:30 +0000 (18:27 -0400)]
Always apply flat qualifier to double inputs, same as int/uint

Affects:

KHR-GL45.enhanced_layouts.varying_structure_locations

Components: OpenGL

GitHub Issue: #53

(cherry picked from commit 878a6a5a8343b710ff7a7fcff0c219a25d0c4368)

Change-Id: I84de1d9b42695034a7b2f60c3fc5a19213733085

6 years agoTest EXT_shader_group_vote using variables
Piotr Byszewski [Tue, 19 Sep 2017 14:53:49 +0000 (16:53 +0200)]
Test EXT_shader_group_vote using variables

Current tests call shader group functions passing directly True/False
values. This change adds test that verifies new functions using
variables.
This change also reduces workgroup size for ES as all tests were
previously using workgroup size that was greater than the minimum
required.

Components: OpenGL

VK-GL-CTS issue: 693

Affects:
KHR-GL45.shader_group_vote.*
KHR-GLES31.core.shader_group_vote.*

Change-Id: Icbb5c278c65edd04fe339e31934df7624834c439

6 years agoVK_KHR_incremental_present: Trigger the fence off vkQueueSubmit
Jason Ekstrand [Fri, 6 Oct 2017 23:10:26 +0000 (16:10 -0700)]
VK_KHR_incremental_present: Trigger the fence off vkQueueSubmit

Previously, the tests were using AcquireNextImage to trigger the fence
and using it to guard the vkFreeCommandBuffers call.  However, the
acquire fence tells you when the PE is done with an image and when you
can start rendering to it.  This meant that the test was waiting for the
start of the previous frame's rendering not the end before deleting the
previous frame's command buffer.  This meant that the previous frame's
rendering could still be active on the GPU when the command buffer was
freed.  By triggering the fence off of the vkQueueSubmit, we wait for
the end of the previous frame's rendering before freeing its command
buffer.

VK-GL-CTS issue: 756

Component: Vulkan

Affects:
dEQP-VK.wsi.*.incremental_present.*

Change-Id: I87b25eb2a25e4ae48c8c527d5d63c45d89a31a30
(cherry picked from commit db916576a76a17c02c14390fc5d5b3db1488d1d2)

6 years agoDrawUtil: Fix depthBounds check
Igor Ostrowski [Mon, 9 Oct 2017 14:41:31 +0000 (16:41 +0200)]
DrawUtil: Fix depthBounds check

Affects:
dEQP-VK.glsl.builtin_var.fragdepth*

Components: Vulkan

VK-GL-CTS issue: 758

Change-Id: I4da79b236921e64f11566fe386b144497249123b

6 years agoFix KHR-GL45/46.enhanced_layouts.varying_block_member_locations
Eleni Maria Stea [Wed, 20 Sep 2017 11:28:40 +0000 (14:28 +0300)]
Fix KHR-GL45/46.enhanced_layouts.varying_block_member_locations

The stages of the same program used in/out blocks that didn't match
(see section 4.7.1 in OpenGL 4.5 spec: qualification mismatch) and as a
result a linker error was produced. With this change all stages use the
same block definition which is either the 1st or the 2nd depending on
the iteration but not both at the same time:

Goku {
    vec4 gohan;
    vec4 goten;
    vec4 chichi;
} gokuARRAY;

Goku {
    layout (location = 2) vec4 gohan;
    layout (location = 4) vec4 goten;
    layout (location = 6) vec4 chichi;
} gokuARRAY;

Affects:

KHR-GL46.enhanced_layouts.varying_block_member_locations
KHR-GL45.enhanced_layouts.varying_block_member_locations

Components: OpenGL

VK-GL-CTS issue: 703

Change-Id: I03a6a90929e28489a2507838003c62475a8a58b8
(cherry picked from commit 4b6462e469359ac7ddec9c63d042e43ead6031fc)

6 years agoIncrease negative GLSL coverage
Piotr Byszewski [Thu, 14 Sep 2017 14:06:49 +0000 (16:06 +0200)]
Increase negative GLSL coverage

GLSL and ESSL specify that the following are legal declarations:
  int;
  int ,a;
while the following are not:
  struct foo { int; };
  struct bar { int ,a; };
  int a,;

Components: OpenGL

VK-GL-CTS issue: 7

Affects:
KHR-GL33.shaders.declarations.*
KHR-GLES3.shaders.declarations.*

Change-Id: Ib1735ca96e4ce7be60fa0ca91c64f7392b237605

6 years agoIncrease coverage for robustness
Piotr Byszewski [Mon, 7 Aug 2017 12:12:55 +0000 (14:12 +0200)]
Increase coverage for robustness

Out-of-range fetching tests verify fetches 4K, 1MB and 10MB past
the end of the object.

Components: OpenGL

VK-GL-CTS issue: 16

Affects:
KHR-GL43.robust_buffer_access_behavior.*
KHR-GLES32.robust.robust_buffer_access_behavior.*

Change-Id: Ibad4eb3e30f3dc48b2d5ecb4781014a4374e4dc5

6 years agoTests mixing UB/SSB with and without instance names
Piotr Byszewski [Fri, 15 Sep 2017 13:36:25 +0000 (15:36 +0200)]
Tests mixing UB/SSB with and without instance names

Matched uniform or shader storage block names (but not input or
output block names) must also either all be lacking an instance
name or all having an instance name.

Components: OpenGL

VK-GL-CTS issue: 3

Affects:
KHR-GL43.shader_storage_buffer_object.basic-name-match
KHR-GLES31.core.shader_storage_buffer_object.basic-name-match
KHR-GL33.shaders.uniform_block.common.name_matching
KHR-GLES3.shaders.uniform_block.common.name_matching

Change-Id: I7dc3476272d6f3fca3faa7e6bc57a008bce0e17f

6 years agoExclude incremental_present scale down from Android CTS
Chris Forbes [Wed, 4 Oct 2017 23:28:26 +0000 (23:28 +0000)]
Exclude incremental_present scale down from Android CTS
am: 57b62d4c43

Change-Id: Ib3ac8415985fcdd4f4c39f3238807ef8e23d4521

6 years agoExclude shared_presentable_image scale down from Android CTS
Chris Forbes [Wed, 4 Oct 2017 23:28:07 +0000 (23:28 +0000)]
Exclude shared_presentable_image scale down from Android CTS
am: 03744fdc39

Change-Id: Ie842dbbbf1a7f9977e450a1a73f6a92ab3ae4818

6 years agoExclude incremental_present scale down from Android CTS
Chris Forbes [Fri, 29 Sep 2017 16:51:49 +0000 (09:51 -0700)]
Exclude incremental_present scale down from Android CTS

Bug: b/65643778
Bug: b/67022169
Bug: b/67295411
Test: check_build_sanity
Change-Id: I4be889f0bf64251069e829924faf4e8c113baa86

6 years agoExclude shared_presentable_image scale down from Android CTS
Chris Forbes [Fri, 29 Sep 2017 16:51:49 +0000 (09:51 -0700)]
Exclude shared_presentable_image scale down from Android CTS

Bug: b/65643778
Bug: b/66464066
Test: check_build_sanity
Change-Id: If815b53b8e998e720aca4fc1994e0151eef971a5

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am...
Chris Forbes [Tue, 3 Oct 2017 22:53:40 +0000 (22:53 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am: 3a1de9094d am: e1b43f5bf1
am: 600f61a69c

Change-Id: I7ac13b27386f7388d10ab4b4963286f89105c05f

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am...
Chris Forbes [Tue, 3 Oct 2017 22:52:50 +0000 (22:52 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am: 188944cfd1 am: 0f95f68482
am: 6126d15a8d

Change-Id: I7859b272d861489da25f01d194f70b0acd0c4113

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am...
Chris Forbes [Tue, 3 Oct 2017 22:49:57 +0000 (22:49 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am: 188944cfd1 am: 0f95f68482
am: c3016307d0

Change-Id: I24346893c8fc989e5ef977b4d7b893bc1967a3e2

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am...
Chris Forbes [Tue, 3 Oct 2017 22:46:18 +0000 (22:46 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am: 188944cfd1
am: 0f95f68482

Change-Id: Ia49724d1cf3fade59f71e39d6f321398e042e5f6

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am...
Chris Forbes [Tue, 3 Oct 2017 22:45:51 +0000 (22:45 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am: 3a1de9094d
am: e1b43f5bf1

Change-Id: I44fb4bcb31c5a5a62601ef08ca683cbbb950678e

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am...
Chris Forbes [Tue, 3 Oct 2017 22:44:26 +0000 (22:44 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7 am: 188944cfd1
am: 0f95f68482

Change-Id: Ic486d20f8fa907b2280ae04ba105555e5a4e0c21

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7
Chris Forbes [Tue, 3 Oct 2017 22:41:03 +0000 (22:41 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7
am: 3a1de9094d

Change-Id: I2bf5e7232412cfd54bb5321a9357262ba6f73116

6 years agoDisable some UBO tests which got broken by recent glslang change am: d81d8e2af7
Chris Forbes [Tue, 3 Oct 2017 22:41:02 +0000 (22:41 +0000)]
Disable some UBO tests which got broken by recent glslang change am: d81d8e2af7
am: 188944cfd1

Change-Id: Iab4679d945588de21bf329f114074d3bd0f92765

6 years agoDisable some UBO tests which got broken by recent glslang change
Chris Forbes [Tue, 3 Oct 2017 22:37:51 +0000 (22:37 +0000)]
Disable some UBO tests which got broken by recent glslang change
am: d81d8e2af7

Change-Id: Ic275c1ec2efeaf191a4537ca78a8b0109b8ac9fc

6 years agoDisable some UBO tests which got broken by recent glslang change
Chris Forbes [Tue, 3 Oct 2017 22:23:11 +0000 (22:23 +0000)]
Disable some UBO tests which got broken by recent glslang change
am: d81d8e2af7

Change-Id: I1dadbabb85dfe7ecb5da296acb84a91538521e3e

6 years agoDisable some UBO tests which got broken by recent glslang change
Chris Forbes [Tue, 3 Oct 2017 17:17:59 +0000 (10:17 -0700)]
Disable some UBO tests which got broken by recent glslang change

Bug: b/67013571
Change-Id: I54c3f9aba636381a57e398de603b09dad4d14188

6 years agoUpdate owners file am: 412471299c am: 52698183c4
Mika Isojrvi [Mon, 2 Oct 2017 21:06:43 +0000 (21:06 +0000)]
Update owners file am: 412471299c am: 52698183c4
am: 0af23d580a

Change-Id: Ie8b08237ddcebe3703e8809157401e7a06b34d1e

6 years agoUpdate owners file am: 412471299c
Mika Isojrvi [Mon, 2 Oct 2017 20:54:52 +0000 (20:54 +0000)]
Update owners file am: 412471299c
am: 52698183c4

Change-Id: I39a262a3d14200646ede5e33bd89a64a27bd3580

6 years agoUpdate owners file
Mika Isojrvi [Mon, 2 Oct 2017 20:47:33 +0000 (20:47 +0000)]
Update owners file
am: 412471299c

Change-Id: Ifcd38fa1f0eeaeeb37348793d897886182888d24

6 years agoFix non-unique type declarations in tests
Andrey Tuganov [Wed, 20 Sep 2017 20:42:35 +0000 (16:42 -0400)]
Fix non-unique type declarations in tests

Multiple test code generators were generating incorrect SPIR-V code
(non-unique type declarations of non-aggregate types).

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

VK-GL-CTS issue: 195

Change-Id: I55200a2b78c84c298db05f34892aa4cffbfff74c

6 years agoCorrect image usage flags for YCbCr copy tests
Jorg Wagner [Thu, 28 Sep 2017 11:59:51 +0000 (13:59 +0200)]
Correct image usage flags for YCbCr copy tests

The images are used as copy source and destination,
hence TRANSFER_SRC | TRANSFER_DST must be present
in the usage flags.

Images are not sampled from - remove SAMPLED flag.

Affects:
dEQP-VK.ycbcr.copy.*

Components: Vulkan

VK-GL-CTS issue: 715

Change-Id: Ie53d3e2fb18aa834af12938cd822aa6c50f75986
(cherry picked from commit f2a5b768c81760bef727f1d72741e74274968518)

6 years agoSerialize region copies for YCbCr copy tests
Panagiotis Apostolou [Thu, 7 Sep 2017 11:54:51 +0000 (13:54 +0200)]
Serialize region copies for YCbCr copy tests

As the generated regions can overlap - force all calls
of vkCmdCopyImage() to be executed sequentially by adding
a pipeline barrier between each call to avoid producing
undefined results.

Affects:
dEQP-VK.ycbcr.copy.*

Components: Vulkan

VK-GL-CTS issue: 716

Change-Id: Ifed67cdc077a8c03630b36f8aa59bd6dae0578a3
(cherry picked from commit 9fe7d4753721d10235cbf38194cf7c8cf2eb7d19)

6 years agoFix KHR-GL45/46.enhanced_layouts.varying_block_member_locations
Eleni Maria Stea [Wed, 20 Sep 2017 11:28:40 +0000 (14:28 +0300)]
Fix KHR-GL45/46.enhanced_layouts.varying_block_member_locations

The stages of the same program used in/out blocks that didn't match
(see section 4.7.1 in OpenGL 4.5 spec: qualification mismatch) and as a
result a linker error was produced. With this change all stages use the
same block definition which is either the 1st or the 2nd depending on
the iteration but not both at the same time:

Goku {
    vec4 gohan;
    vec4 goten;
    vec4 chichi;
} gokuARRAY;

Goku {
    layout (location = 2) vec4 gohan;
    layout (location = 4) vec4 goten;
    layout (location = 6) vec4 chichi;
} gokuARRAY;

Affects:

KHR-GL46.enhanced_layouts.varying_block_member_locations
KHR-GL45.enhanced_layouts.varying_block_member_locations

Components: OpenGL

VK-GL-CTS issue: 703

Change-Id: I03a6a90929e28489a2507838003c62475a8a58b8

6 years agoTest struct names hiding other struct names
Piotr Byszewski [Mon, 11 Sep 2017 16:31:16 +0000 (18:31 +0200)]
Test struct names hiding other struct names

Test if names are correctly hidden when a level of nesting is
involved.

Components: OpenGL

VK-GL-CTS issue: 14

Affects:
KHR-GLES3.shaders.name_hiding.*

Change-Id: I3eb83bfcf6d10fcb15abaa6c086ecd5f9c3d0b36

6 years agoFix locations in enhanced layouts tests
Iago Toral Quiroga [Fri, 22 Sep 2017 09:06:50 +0000 (11:06 +0200)]
Fix locations in enhanced layouts tests

Some of the tests query the last output location in
each shader stage and write an output to them that is
then read in the next shader stage, but they do not
consider if that location exists in the next shader
stage.

Fix this by selecting the maximum output location to
use as the minimum between the stage's maximum output
location and the next stage's maximum input location.

The same issue applies to the maximum input location
available in each shader stage.

Components: OpenGL
VK-GL-CTS issue: 708

Affects:
KHR-GL45.enhanced_layouts.varying_components
KHR-GL45.enhanced_layouts.varying_locations
KHR-GL45.enhanced_layouts.varying_location_limit
KHR-GL46.enhanced_layouts.varying_components
KHR-GL46.enhanced_layouts.varying_locations
KHR-GL46.enhanced_layouts.varying_location_limit

Change-Id: Iacf84bd3eeb33eadaf5a9a816f7ebb7205492af5

6 years agoFixed invalid OpPtrAccessChain usage in access chain tests.
Ari Suonpaa [Thu, 21 Sep 2017 06:13:33 +0000 (09:13 +0300)]
Fixed invalid OpPtrAccessChain usage in access chain tests.

Modified  dEQP-VK.spirv_assembly.instruction.*.indexing.* tests to
use an array of structs as input to have a meaningful usage of
OpPtrAccessChain.

Affects:

dEQP-VK.spirv_assembly.instruction.*.indexing.*

Components: Vulkan

VK-GL-CTS issue 686

Change-Id: Ia1604d5a24712c522f51cbd0692d85b1baa2d27c

6 years agoTest BLOCK_INDEX of uniform inside block array
Piotr Byszewski [Wed, 13 Sep 2017 07:56:42 +0000 (09:56 +0200)]
Test BLOCK_INDEX of uniform inside block array

Uniform blocks declared in an array are considered active
if any member of the array would otherwise be considered
active.

Components: OpenGL

VK-GL-CTS issue: 13

Affects:
KHR-GL43.program_interface_query.uniform-block-array
KHR-GLES31.core.program_interface_query.uniform-block-array

Change-Id: Iaa67be6f23f168e35e5ddc3965342756dc2c59ed

6 years agoAllow min/max/clamp to flush subnormals only during comparison
Nicolai Hähnle [Wed, 20 Sep 2017 20:26:44 +0000 (22:26 +0200)]
Allow min/max/clamp to flush subnormals only during comparison

An implementation may follow the rule that subnormals are flushed
to zero for all arithmetic operations (including comparisons), but
never for mere copies.

In this case, if the input to min/max/clamp contains more than one
subnormal number (including +/-0.0), the returned value may be any
of the subnormal numbers and not really the true minimum/maximum/
clamped value.

This does not hurt real applications, since any subsequent use of
the result will flush it to zero anyway, and it does seem to be
implicitly allowed by the GLSL ES spec.

Change the implementation of min/max/clamp to explicitly handle
the subnormal case in the comparison.

Components: AOSP

VK-GL-CTS issue: 705

Affects:
dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.*
dEQP-GLES3.functional.shaders.builtin_functions.precision.max.*
dEQP-GLES3.functional.shaders.builtin_functions.precision.min.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.max.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.min.*

Change-Id: I9a5bed9d78e311f96fe03b689299d777050ea063

6 years agoAdd CTS_ARB_gl_spirv test specification proposal
Adam Czupryna [Thu, 29 Jun 2017 14:50:53 +0000 (16:50 +0200)]
Add CTS_ARB_gl_spirv test specification proposal

This is CTS_ARB_gl_spirv test specification proposal.

Components: OpenGL

VK-GL-CTS issue: 554

Change-Id: I95478228f66c27ed5ff78a9e17a0381512abbf21

6 years agoTest vkCmdBlitImage for cubemaps with layerCount=6
Paavo Pessi [Thu, 21 Sep 2017 10:08:13 +0000 (13:08 +0300)]
Test vkCmdBlitImage for cubemaps with layerCount=6

Tests were added to verify that the typical use-case of generating
mipmap levels for cubemaps with vkCmdBlitImage() works with all supported
formats.

Tests in 'from_base_level' group use the base image as a source for all
mip levels and generate all mip levels for all six image layers with a
single blit command.

Tests in 'from_previous_level' group use the previous mip level as a
source for the next mip level and generate each mip level for all
six image layers with a separate blit command with barriers between
each blit.

Existing mipmap tests cases in the
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.generate_mipmaps.*
test group were moved to
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.generate_mipmaps.*.layercount_1.*

New tests:

dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*.layercount_6.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.*.layercount_6.*

Components: Vulkan

VK-GL-CTS issue: 615
VK-GL-CTS public issue: 50

Change-Id: I512484434dda155b668a600c8303650d42417e0a

6 years agoUpdate owners file
Mika Isojärvi [Thu, 28 Sep 2017 17:25:24 +0000 (10:25 -0700)]
Update owners file

Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: I117459d91f39055aaa5f0bc6abfbda32f31cdab2

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Thu, 28 Sep 2017 10:55:33 +0000 (12:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: Ic02c027d4172d581d782eec10ba3bf8955c2c356

6 years agoValidate empty render pass
Paavo Pessi [Fri, 22 Sep 2017 09:00:16 +0000 (12:00 +0300)]
Validate empty render pass

The test creates a render pass and a subpass with no input, color,
resolve or depth/stencil attachments and executes a single draw
command.

New tests:

dEQP-VK.renderpass.suballocation.simple.no_attachments
dEQP-VK.renderpass.dedicated_allocation.simple.no_attachments

Components: Vulkan

VK-GL-CTS issue: 620
VK-GL-CTS public issue: 10

Change-Id: I0da8a6850898979e65d39f323b14694968d9d6c5

6 years agoTest reading compute shader builtin vars by component
David Neto [Thu, 14 Sep 2017 22:03:37 +0000 (18:03 -0400)]
Test reading compute shader builtin vars by component

- Adds a test of reading compute shader builtin variables by component.
  These get test case name suffix of "_component".
- Previous behaviour, reading the whole builtin variable, is preserved
  in cases but without an extra suffix.
- WorkgroupSize builtin is made specializable to prevent Glslang
  from constant folding its value.

Affects:
Components: Vulkan

dEQP-VK.compute.builtin_var.*

VK-GL-CTS issue: 694

Change-Id: Ia783babf4ba5e24fc58bc9d19594bb7d921de7c9

6 years agoRemove YCbCr from the instance extensions
Alexander Galazin [Wed, 27 Sep 2017 12:13:30 +0000 (14:13 +0200)]
Remove YCbCr from the instance extensions

VK_KHR_sampler_ycbcr_conversion is a device extension.
It must not be listed as an allowed instance extension.

Components: Vulkan

VK-GL-CTS issue: 698

Affects:
dEQP-VK.api.info.instance.extensions

Change-Id: I1ee1448535df75016a0214ebfe800a476daf32c4

6 years agoFix UniformBlockPrecisionMatching test
Piotr Byszewski [Tue, 19 Sep 2017 11:58:53 +0000 (13:58 +0200)]
Fix UniformBlockPrecisionMatching test

Fixed an issue that resulted in omiting second set of
shaders (first set was tested twice).

Components: OpenGL

Affects:
KHR-GLES3.shaders.uniform_block.common.precision_matching

Change-Id: I44205f66cd5672692fc46f4db91801b86aa8ff74

6 years agoAdd multiple contexts tests
Piotr Byszewski [Fri, 25 Aug 2017 11:39:58 +0000 (13:39 +0200)]
Add multiple contexts tests

multiple_contexts test (one of shader_subroutine tests) was modified
and moved to contextless module. Shared contexts functionality was
restored in framework.

Components: Framework, OpenGL

VK-GL-CTS issue: 612

Affects:
KHR-NoContext.gl40.multiple_contexts.uniform_preservation
KHR-GL40.shader_subroutine.multiple_contexts

Change-Id: Id170ef37c2e3c488095663c91788978223d356ec

6 years agoRemove test cases for doubles from varying components test
Iago Toral Quiroga [Wed, 27 Sep 2017 08:37:56 +0000 (10:37 +0200)]
Remove test cases for doubles from varying components test

Usage of the component layout qualifier (introduced with
ARB_enhanced_layouts) with double types has specific rules and
restrictions (see page 67 of the GLSL 4.60 spec), but the tests
ignore all of these completely and just follow the same code
paths we use for single-precision types, making the resulting
shaders completely bogus.

Remove these tests until we can provide new ones that make
sense for double precision and follow the specs.

Components: OpenGL
VK-GL-CTS issue: 714

Affects:
KHR-GL45.enhanced_layouts.varying_components
KHR-GL46.enhanced_layouts.varying_components

Change-Id: I2d3c1c645f5a18a83feee5c7b28cb023bd255808

6 years agoFreeze OpenGL ES CTS 3.2.4.x mustpass
Alexander Galazin [Tue, 26 Sep 2017 13:57:02 +0000 (15:57 +0200)]
Freeze OpenGL ES CTS 3.2.4.x mustpass

Components: OpenGL

Change-Id: I85c9d9c21887cd9eb8d399477a4e030f2389c848

6 years agoLimit max renderbuffer size to avoid too-large allocations
Mark Adams [Wed, 13 Sep 2017 18:54:40 +0000 (14:54 -0400)]
Limit max renderbuffer size to avoid too-large allocations

This brings the ES2 version of this test in-line with the ES3 version
in order to avoid hitting address-space limitations with very large max sizes
in 32-bit mode.

VK-GL-CTS issue: 687

Affects:
dEQP-GLES2.functional.state_query.rbo.renderbuffer_size

Change-Id: Id3a0be7e8e2e6aaf3dcb6d9cd2b1c4a9a19d4baf

6 years agoTypo fix in YCbCr conversion tests
Peter Gal [Fri, 15 Sep 2017 16:39:08 +0000 (18:39 +0200)]
Typo fix in YCbCr conversion tests

During YCbCr conversion tests the Disjoint
information ws incorrectly recorded into the
log file.

Change-Id: I63c5d5fc326fd52019f4e167c6632132cbc4668c
Components: Vulkan
(cherry picked from commit 37a196f757a516af2d75f4653153d1e5df8809db)

6 years agoCheck viewport limits against framebuffer limits
Graeme Leese [Mon, 18 Sep 2017 23:58:22 +0000 (00:58 +0100)]
Check viewport limits against framebuffer limits

They were being checked against the maximum image dimensions which was
incorrect.

Affects: dEQP-VK.api.info.device.properties
Components: Vulkan
VK-GL-CTS Issue: 700

Change-Id: Ia11bb69439294c5160d2da0a432ef8fc38e33500

6 years agoAdd test to stress deeply nested OpPhi
Jari Komppa [Fri, 8 Sep 2017 08:19:10 +0000 (11:19 +0300)]
Add test to stress deeply nested OpPhi

Added test that generates a deeply nested shader which modifies a
single variable in various points of the hierarchy.

Code generation is done by first creating a code string with
characters A, B and C. These characters represent the following:

A "if () { result++;"
B "} else {"
C "}"

By inserting ABC between the characters of the code string, we get
complex nested hierarchy. For example, AABCBC generates:
"if () { if { result++; if () { result ++; } else { } } else { }"

Note that the else-paths do not generate new values, and thus the code
generator needs to track the previous symbol for the else-paths.

The generated code is 8 levels deep and about 1600 lines long.
The test can be simplified for debugging purposes by reducing the
number of iterations when generating the code string.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.opphi.nested

Components: Vulkan

Vk-GL-CTS issue: 259

Change-Id: I4c9943e2a11c8375104a16f0a78df136ff848831

6 years agoUse hidden visibility with GCC and Clang am: 0fa7ebccc4 am: 13641fa112
Emil Velikov [Mon, 25 Sep 2017 22:39:50 +0000 (22:39 +0000)]
Use hidden visibility with GCC and Clang am: 0fa7ebccc4 am: 13641fa112
am: ce28e6a975

Change-Id: I88f8bcd923dc164483f5ba1073f0dadde3ffad33

6 years agoAdd missing JNIEXPORT and JNICALL to createTestActivity() JNI call am: 1e7c5746fb...
Mika Isojrvi [Mon, 25 Sep 2017 22:39:47 +0000 (22:39 +0000)]
Add missing JNIEXPORT and JNICALL to createTestActivity() JNI call am: 1e7c5746fb am: 1b02bdf0c0
am: efbe56dc43

Change-Id: I57f82e3bb1281cd74b30cff8bd1871305bf39051

6 years agoUse hidden visibility with GCC and Clang am: 0fa7ebccc4
Emil Velikov [Mon, 25 Sep 2017 22:33:23 +0000 (22:33 +0000)]
Use hidden visibility with GCC and Clang am: 0fa7ebccc4
am: 13641fa112

Change-Id: I730cf0e31e73bd1c8925e5bb850992a3d9170053

6 years agoAdd missing JNIEXPORT and JNICALL to createTestActivity() JNI call am: 1e7c5746fb
Mika Isojrvi [Mon, 25 Sep 2017 22:33:18 +0000 (22:33 +0000)]
Add missing JNIEXPORT and JNICALL to createTestActivity() JNI call am: 1e7c5746fb
am: 1b02bdf0c0

Change-Id: If6ebf1a47369afaebe3ce9d6c262872ba0358281

6 years agoUse hidden visibility with GCC and Clang
Emil Velikov [Mon, 25 Sep 2017 22:31:22 +0000 (22:31 +0000)]
Use hidden visibility with GCC and Clang
am: 0fa7ebccc4

Change-Id: I556e6233f7af2818786fbc2798eec1658cf3a590

6 years agoAdd missing JNIEXPORT and JNICALL to createTestActivity() JNI call
Mika Isojrvi [Mon, 25 Sep 2017 22:31:20 +0000 (22:31 +0000)]
Add missing JNIEXPORT and JNICALL to createTestActivity() JNI call
am: 1e7c5746fb

Change-Id: Ie89e7d9aa13b0a29d5953a26d79a218c288eda53

6 years agoUse hidden visibility with GCC and Clang
Emil Velikov [Wed, 30 Aug 2017 14:12:14 +0000 (15:12 +0100)]
Use hidden visibility with GCC and Clang

The final result of the build are standalone executables, with all the
code statically linked.

Change the visibility to hidden, to avoid the symbol leakage and allow
the compiler to discard some code.

As a result the binary size is drastically decreased.

Total executable size on my setup drops by ~20%
 158M    before
 128M    after

Note: The binaries still export multiple unneeded symbols. Resolving
those is left as an exercise for later.

Test: full rebuild, running resulting binaries.

Change-Id: Ife10bbd123d59f4480349794785f13978516df30
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoAdd missing JNIEXPORT and JNICALL to createTestActivity() JNI call
Mika Isojärvi [Fri, 8 Sep 2017 19:36:34 +0000 (12:36 -0700)]
Add missing JNIEXPORT and JNICALL to createTestActivity() JNI call

Test: Ran internal deqp tests on couple of Google devices
Change-Id: I08c8ff0a040261aaf60fa761158a12cccff987c2