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
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
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
Treehugger Robot [Thu, 19 Oct 2017 22:19:02 +0000 (22:19 +0000)]
Merge "Fix 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
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
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
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
Treehugger Robot [Wed, 18 Oct 2017 22:51:38 +0000 (22:51 +0000)]
Merge "eglGetFrameTimestamps: Allow reads done to equal rendering complete."
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
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
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
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>
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
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>
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
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
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
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
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
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
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
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
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
Treehugger Robot [Tue, 17 Oct 2017 05:33:44 +0000 (05:33 +0000)]
Merge "targets/surfaceless: Add support for Chrome OS surfaceless"
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
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
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
Treehugger Robot [Mon, 16 Oct 2017 19:07:52 +0000 (19:07 +0000)]
Merge "Use -Werror in external/deqp"
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
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
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
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
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
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
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)
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
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
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
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.
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)
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)
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
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Mika Isojrvi [Mon, 2 Oct 2017 20:54:52 +0000 (20:54 +0000)]
Update owners file am:
412471299c
am:
52698183c4
Change-Id: I39a262a3d14200646ede5e33bd89a64a27bd3580
Mika Isojrvi [Mon, 2 Oct 2017 20:47:33 +0000 (20:47 +0000)]
Update owners file
am:
412471299c
Change-Id: Ifcd38fa1f0eeaeeb37348793d897886182888d24
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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>
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