Piers Daniell [Fri, 1 Dec 2017 21:17:54 +0000 (14:17 -0700)]
Fix OpenGL function prototype calling conventions
OpenGL doesn't use the default function calling convention
on all platforms, which is why gl.h defines the macros
GL_APICALL and GL_APIENTRY for applications to use when
defining their own OpenGL function prototypes. Not using
these may cause a crash if an OpenGL function is called
with the wrong calling convention.
Affects:
KHR-GL46.transform_feedback.*
Components: OpenGL
VK-GL-CTS issue: 882
Change-Id: I8766262b32a04b8eff8e110e1f116c2f915274e9
Alexander Galazin [Fri, 1 Dec 2017 14:02:32 +0000 (15:02 +0100)]
Update KC CTS reference
Component: OpenGL
Change-Id: I5cfa8633cdc7af147351951e7c1cd89908ea3f45
Piers Daniell [Mon, 27 Nov 2017 19:26:19 +0000 (12:26 -0700)]
Add OpenGL 4.6 configuration
The CTS-Configs.gl46 entry was missing from the configs.qpa
file and results in validation failure.
Affects:
cts-runner --type=gl46
Components: OpenGL
VK-GL-CTS issue: 866
Change-Id: I16745a7ce36040f8ef60cfbb1e4ffac250b289ee
Iago Toral Quiroga [Thu, 23 Nov 2017 08:30:35 +0000 (09:30 +0100)]
Fix maximum location for varying location limit test
The varying location limit tests for enhanced layouts produces
shader code where it attempts to use a location that is 1 slot
beyond the limit available for each shader stage and expects
linker errors as a result.
However, the functions it uses to compute the maximum location
slot available in a shader stage also consider the stage it will
be linked to to cap that limit (which is required to produce valid
shader code in other tests that also use these functions).
This affects scenarios where, for example, one stage allows up to
32 output locations but the stage it is linked to only accepts
up to 16 inputs. In such scenario, these functions will return
a limit of 16 for the stage that can output 32 so the shader code
produced can link.
However, the varying location limit test intends to produce an
invalid location by adding 1 to the maximum location slot for that
stage (so it wants to produce 32 + 1 = 33 in the case above), so
in this particular case we want the connecting stage to be
ignored.
Add a boolean flag to these functions so we can select between both
behaviors when computing the maximum location for a given stage
and make the varying location limit test force the behavior where
the maximum location in the connecting shader stages is ignored.
Components: OpenGL
VK-GL-CTS issue: 863
Affects:
KHR-GL45.enhanced_layouts.varying_location_limit
KHR-GL46.enhanced_layouts.varying_location_limit
KHR-GL45.enhanced_layouts.varying_locations
KHR-GL46.enhanced_layouts.varying_locations
KHR-GL45.enhanced_layouts.varying_array_locations
KHR-GL46.enhanced_layouts.varying_array_locations
KHR-GL45.enhanced_layouts.varying_components
KHR-GL46.enhanced_layouts.varying_components
KHR-GL45.enhanced_layouts.varying_array_components
KHR-GL46.enhanced_layouts.varying_array_components
Change-Id: If766582bf494942abdad3e1dde5e1ed8149f4333
Nicolai Hähnle [Mon, 20 Nov 2017 16:45:49 +0000 (17:45 +0100)]
gl3cTransformFeedbackTests: use delete[] to match new[]
C++ requires that memory allocated by new[] is freed using delete[]
instead of just plain delete. This does not really have an effect in
practice, but it does fix an error reported by Address Sanitizer:
=================================================================
==12338==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x6020000634b0
#0 0x7f21af5b3580 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc8580)
#1 0x55d795f901ae in gl3cts::TransformFeedback::APIErrors::testExtension1() /home/nha/amd/tests/cts/external/openglcts/modules/gl/gl3cTransformFeedbackTests.cpp:837
#2 0x55d795f9d71f in gl3cts::TransformFeedback::APIErrors::iterate() /home/nha/amd/tests/cts/external/openglcts/modules/gl/gl3cTransformFeedbackTests.cpp:251
#3 0x55d795f64736 in gl3cts::TestCaseWrapper::iterate(tcu::TestCase*) /home/nha/amd/tests/cts/external/openglcts/modules/gl/gl3cTestPackages.cpp:100
#4 0x55d797d10682 in tcu::TestSessionExecutor::iterateTestCase(tcu::TestCase*) /home/nha/amd/tests/cts/framework/common/tcuTestSessionExecutor.cpp:272
#5 0x55d797d10798 in tcu::TestSessionExecutor::iterate() /home/nha/amd/tests/cts/framework/common/tcuTestSessionExecutor.cpp:135
#6 0x55d797cf0748 in tcu::App::iterate() /home/nha/amd/tests/cts/framework/common/tcuApp.cpp:173
#7 0x55d795f15967 in main /home/nha/amd/tests/cts/framework/platform/tcuMain.cpp:55
#8 0x7f21adceb3f0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x203f0)
#9 0x55d795f5e449 in _start (/mnt/
9a5f7d49-0504-436d-83ae-
10198f821499/nha/amd/tests/cts/build/external/openglcts/modules/glcts+0xa55449)
0x6020000634b0 is located 0 bytes inside of 3-byte region [0x6020000634b0,0x6020000634b3)
allocated by thread T0 here:
#0 0x7f21af5b30a0 in operator new[](unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc80a0)
#1 0x55d795f900da in gl3cts::TransformFeedback::APIErrors::testExtension1() /home/nha/amd/tests/cts/external/openglcts/modules/gl/gl3cTransformFeedbackTests.cpp:826
Component: OpenGL
VK-GL-CTS issue: 858
Affects:
KHR-GL45.transform_feedback.api_errors_test
Change-Id: Ie0872535d224c27cc6864fb71aaf7eb219661a02
Iago Toral Quiroga [Wed, 15 Nov 2017 07:44:22 +0000 (08:44 +0100)]
Fix expectation for multisample SPIR-V test
The last subtest of the builtin variable decorations
SPIR-V test renders to a 2-sample multisample FBO by
clearing to black and then using a fragment shader
that uses gl_SampleMask to select only one of the 2
samples. The selected sample always outputs 100% green.
Because the sample locations can be different acrosss
implementations, we can't tell what the resolved green
component will be, only that it cannot be 0x00 (since
one green sample is selected) and it cannot
be 0xFF (since sample coverage is only 50%).
Modules: OpenGL
VK-GL-CTS issue: 850
Affects:
KHR-GL45.gl_spirv.spirv_validation_builtin_variable_decorations_test
KHR-GL46.gl_spirv.spirv_validation_builtin_variable_decorations_test
Change-Id: I7f225199954c9193ff0b5e962d4de0ca905a5a76
Scott D Phillips [Tue, 14 Nov 2017 22:06:50 +0000 (14:06 -0800)]
Remove luminance and 3D depth requirement from ARB_texture_filter_minmax
Support not required by the extension.
Component: OpenGL
VK-GL-CTS issue: 849
Affects:
* KHR-GL45.texture_filter_minmax_tests.*
Change-Id: I53ede0343aa15e7528e12bf387f337f70ac155dd
Daniel Koch [Wed, 15 Nov 2017 15:20:54 +0000 (10:20 -0500)]
Add interaction with NVX_cross_process_interop
Update registry references to include
GL_NV_gpu_multicast and GL_NVX_cross_process_interop
VK-GL-CTS issue: 851
Component: OpenGL
Affects:
KHR-GL45.direct_state_access.buffers_errors
KHR-GL46.direct_state_access.buffers_errors
Change-Id: I42cdb7ad37f9c2ed60547aa817d263cd777f0f6f
Neil Roberts [Wed, 15 Nov 2017 21:45:39 +0000 (22:45 +0100)]
Fix strict aliasing violations in gl3cCommonBugsTests
In two places in PerVertexValidationTest::getTestIterationProperties
it first stores a value in a pointer to an enum and then later tries
to update the enum via a reference casted to an int reference. I
believe this violates the strict aliasing rules and so is undefined
behaviour. At least with gcc and -O2 the compiler seems to take
advantage of this and effectively ignores the initial assignment of
SHADER_STAGE_VERTEX for the PERVERTEX_DECLARATION_MISMATCH_TC_TE_VS
iteration. The result is that used_shader_stages gets or’d with an
unitialised value. This was causing a valgrind error and depending on
what the original value happened to be it can make the test
erroneously fail.
Modules: OpenGL
VK-GL-CTS issue: 853
Affects:
KHR-GL*.CommonBugs.CommonBug_PerVertexValidation
Change-Id: I1094de5c2114c035e339cdb524808f45cbe55782
Daniel Koch [Fri, 10 Nov 2017 19:42:51 +0000 (14:42 -0500)]
Documentation updates for OpenGL 4.6
Change-Id: I2d0a29ee9de24ae5aa616e0a5450c923ba3ba26d
Component: OpenGL
Affects: None
Alexander Galazin [Fri, 10 Nov 2017 15:13:33 +0000 (16:13 +0100)]
Remove mod from GL mustpass
Components: OpenGL
VK-GL-CTS public issue: 51
Affects:
KHR-GL*.gpu_shader_fp64.builtin.mod_*
Change-Id: Idac62351b9ca926cdcb411990c33e7332e8a9db7
Alexander Galazin [Fri, 10 Nov 2017 12:11:07 +0000 (13:11 +0100)]
Update KC CTS reference
Components: OpenGL
Change-Id: I241503a713fc4a15cdcf359c40e2b119b5b5fd4f
Juan A. Suarez Romero [Mon, 30 Oct 2017 12:50:23 +0000 (12:50 +0000)]
Use proper name for array-of-array varyings.
varying_structure_location tests have the piece of shader code:
```
struct Data {
dvec2 single;
dvec2 array[1];
};
layout (location = 0) flat in Data tes_gs_output[][1];
```
When test tries to verify "single" variable, it tries to access through
"tes_gs_output[0].single", which is not correct. Rather it must use
"tes_gs_output[0][0].single"
Affects:
* KHR-GL46.enhanced_layouts.varying_structure_locations
Components: OpenGL
VK-GL-CTS issue: 796
Change-Id: Ib1c2ac6877f46f0be8530156a184b8fa41349c40
Juan A. Suarez Romero [Mon, 6 Nov 2017 18:50:28 +0000 (19:50 +0100)]
GL_ARB_compute_shader required for OpenGL < 4.3
GL_ARB_compute_shader is part of OpenGL 4.3 and above.
For older versions, it is required to enable it explicitly.
Fixes:
KHR-GL31.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue
KHR-GL32.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue
KHR-GL33.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue
KHR-GL40.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue
KHR-GL41.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue
KHR-GL42.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue
Components: OpenGL
VK-GL-CTS issue: 818
Change-Id: I8e7ab78e29861547f0379feebce0375e1dabf47c
Juan A. Suarez Romero [Tue, 7 Nov 2017 12:24:25 +0000 (12:24 +0000)]
Load functions from ARB_uniform_buffer_object
While this extension is part of OpenGL 3.1 and above, it is not part of
OpenGL 3.0.
As we need to run the tests for OpenGL 3.0 too, and we need to use some
functions exposed by this extension, let's load them from the extension
itself, instead of relying in the core functions.
Affects:
* KHR-GL30.transform_feedback.draw_xfb_instanced_test
* KHR-GL30.transform_feedback.draw_xfb_stream_instanced_test
Components: OpenGL
VK-GL-CTS issue: 819
Change-Id: I2cd1652b4c2d3b55e009c44b85b451d207387b96
James Helferty [Thu, 19 Oct 2017 18:24:35 +0000 (14:24 -0400)]
Relax XFB begin check to match recent spec edit
Update tests to reflect a recent change to the GL 4.6 specification.
Previously, if a shader layout qualifier specified that xfb_stride was
non-zero for a given xfb_buffer, then a buffer object was required to
be bound at that transform feedback buffer binding point. After the
spec change, it is now legal to not have a buffer bound, provided no
outputs are associated with the buffer.
Components: OpenGL
VK-GL-CTS issue: 785
Affects:
* KHR-GL44/45/46.enhanced_layouts.xfb_stride_of_empty_list
* KHR-GL44/45/46.enhanced_layouts.xfb_stride_of_empty_list_and_api
Change-Id: I38622bad1af3bc8a2a4c683eadc184e6231f7c85
Adam Czupryna [Fri, 7 Jul 2017 09:42:37 +0000 (11:42 +0200)]
Add CTS_ARB_gl_spirv test implementation
Add CTS_ARB_gl_spirv test implementation that contains:
SpirvModulesPositiveTest,
SpirvModulesShaderBinaryMultipleShaderObjectsTest,
SpirvModulesStateQueriesTest,
SpirvModulesErrorVerificationTest,
SpirvGlslToSpirVEnableTest,
SpirvGlslToSpirVBuiltInFunctionsTest,
SpirvGlslToSpirVSpecializationConstantsTest,
SpirvValidationBuiltInVariableDecorationsTest
Affects:
KHR-GL45.gl_spirv.*
Components: Framework, OpenGL
VK-GL-CTS issue: 554
Change-Id: I0d54c70df619dbbd80b28350d2ac5e31aca08927
(cherry picked from commit
a24448cdd72ffdbd8f7f571886625b8a53100979)
Iago Toral Quiroga [Mon, 2 Oct 2017 11:10:20 +0000 (13:10 +0200)]
Fix attribute mapping in enhanced layouts tests for input arrays
Some tests in KHR-GL45.enhanced_layouts.varying_* (specifically
KHR-GL45.enhanced_layouts.varying_array_{locations,components})
use input arrays on the vertex shader, however, the code
that uploads vertex data for these (and other test cases) doesn't
account for arrays at all.
Also, the tests in this category that call
TextureTestBase::prepareAttributes to do the VAO setup seem to
provide inconsistent values for variable.m_descriptor.m_offset,
which also leads to incorrect vertex attribute mappings.
Specifically, in the 'component' variants of these tests
(such as varying_array_components), two different input variables
have m_offset = 0, which has the consequence that we end up
computing a vertex buffer with a size that's only big enough to
fit one of the inputs and we overwrite the data for the first
input with the data for the second input when we setup the VAO,
however, the 'location' variants (such as varying_array_locations),
see different offsets for different input variables, which leads to
a different VAO setup.
Components: OpenGL
VK-GL-CTS issue: 739
Affects:
KHR-GL45.enhanced_layouts.varying_*
KHR-GL46.enhanced_layouts.varying_*
Change-Id: Icec238a970e2cd67d6109a25fba980f756abb71b
Juan A. Suarez Romero [Wed, 18 Oct 2017 09:37:27 +0000 (09:37 +0000)]
Several fixes for texture_size_promotion
Specifically, this changeset fixes:
- Check for unsupported framebuffer configurations
- Setup data for depth/stencil textures
- Explicitly set minification/magnification filters
- Deal with the corner cases in precision when using fixed-point
textures.
Affects:
KHR-GL45.texture_size_promotion.functional
KHR-GL46.texture_size_promotion.functional
Components: OpenGL
VK-GL-CTS issue: 783
Change-Id: I3f191084b2a604f1a743759905d641d2b13db2ad
Iago Toral Quiroga [Tue, 17 Oct 2017 07:58:57 +0000 (09:58 +0200)]
Respect GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api
generates shaders that capture XFB for varyings of all types.
For the cases of dmat4x3, dmat3x4 and dmat4, this requires
over 64 transform feedback components in total, which is larger
than the minimum value that implementations are required to
support for GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
which the OpenGL 4.6 spec sets in 64. For implementations that
support this minimum, the generated shaders are invalid and
expected to fail to link.
Check the required component size of the XFB for the generated
shaders and skip them if they exceed the implementation limit.
At worse, for implementations that only support the minimum
number of transform feedback components required by the spec
it would only skip the 3 largest types (out of 34 being tested).
Components: OpenGL
VK-GL-CTS issue: 776
Affects:
KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api
Change-Id: I51c9da494f96a0746f74116f817d99afd070a9ee
Iago Toral Quiroga [Wed, 18 Oct 2017 10:08:54 +0000 (12:08 +0200)]
Component aliasing on vertex inputs is allowed
From the OpenGL 4.6 spec, section 11.1 Vertex shaders,
page 384:
"It is possible for an application to bind more than one
attribute name to the same location. This is referred
to as aliasing. This will only work if only one of the
aliased attributes is active in the executable program,
or if no path through the shader consumes more than one
attribute of a set of attributes aliased to the same
location. A link error can occur if the linker determines
that every path through the shader consumes multiple
aliased attributes, but implementations are not required
to generate an error in this case."
The varying_location_aliasing_with_mixed_types enhanced
layouts test generates negative tests to check that
component aliasing produces linker errors for all shader
stages, including vertex shaders when the aliasing occurs
on the vertex inputs. By the citation above, the spec
doesn't mandate implementations to produce an error in
this case, so these particular tests are invalid.
This change removes the test cases that expect an error
to be generated for shaders with component aliasing on
vertex shader inputs.
Components: OpenGL
VK-GL-CTS issue: 781
Affects:
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_types
Change-Id: Ie1cafc92c4b7023c3d911ec5fe883dad297029d5
Eleni Maria Stea [Tue, 13 Jun 2017 07:08:08 +0000 (09:08 +0200)]
Online compression for ETC2 compressed formats is not required
The DSA compressed texture tests currently require online compression for
ETC2 formats but drivers are not required to support this. Since the purpose
of the test is not to test the compression, when a compression format is not
supported we use already compressed data.
Components: OpenGL
VK-GL-CTS issue: 497
Affects:
KHR-GL45.direct_state_access.textures_compressed_subimage
Change-Id: Icff52745e9cf7a2acb39aea71d31f4ff827ea01c
Kenneth Graunke [Thu, 12 Oct 2017 04:39:05 +0000 (21:39 -0700)]
Delete incorrect invalid map transform feedback subtest.
The citation given in this test 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-*.transform_feedback.api_errors_test
VK-GL-CTS issue: 765
Change-Id: I34ca78926fe0f311db096de98b71e0981ee91d53
Components: OpenGL
Jeannot Breton [Fri, 6 Oct 2017 13:56:17 +0000 (08:56 -0500)]
Skip non accelerated pixel format
They were previously skipped in older CTS version,
but when we reorganized the code to merge all CTS together the
related code got remove
We also fix the way we detect hardware acceleration
Affects:
pixel formats selected by cts-runner on Windows
Components: OpenGL
VK-GL-CTS issue: 692
Change-Id: I9968d85b555fe41aea8e64b885f182407e1ce95e
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
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)
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
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)
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
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
James Helferty [Wed, 6 Sep 2017 18:12:53 +0000 (14:12 -0400)]
Replace missmatch_object with invalid_object
Modifies the missmatch_object (sic) test for glCopyImageSubData into an
invalid object test. The changes clarify what the test is actually
testing, and avoids an issue where an unexpectedly valid object name
could cause the test to fail.
Also fixes the spelling of 'mismatch' in several places, corrects the
description for Test [C], and corrects mention of 'CopyImageSubData'.
Components: OpenGL
VK-GL-CTS issue: 669
Affects:
* KHR-GL43/44/45/46.copy_image.missmatch_object, which are now
* KHR-GL43/44/45/46.copy_image.invalid_object
* KHR-GL43/44/45/46.copy_image.samples_missmatch, which are now
* KHR-GL43/44/45/46.copy_image.samples_mismatch
Change-Id: I5127435afc1c116df3d4fa8d6d78397069255603
Mark Adams [Mon, 18 Sep 2017 14:22:49 +0000 (10:22 -0400)]
Increase max for output image asserts to 32768
In framework/qphelper/qpTestLog.c, two assertions assume that the
width and height of the output image are no larger than 16384. But
when testing in 1 x max FBO mode, and max FBO size is larger than
16384, these asserts would fire. This change relaxes the assertions
so they expect sizes up to 32768.
Author: Weiwan Liu <weiwliu@nvidia.com>
Components: Framework
VK-GL-CTS issue: 697
Affects: KHR-GL46.explicit_uniform_location.uniform-loc
Change-Id: If6c674a8728defba971851590b36ac1196c7a39d
Piotr Byszewski [Mon, 24 Jul 2017 12:48:21 +0000 (14:48 +0200)]
Enable tests for EXT_shader_group_vote
ShaderGroupVoteTests were generalized so that thay can
test ARB_shader_group_vote for GL core and
EXT_shader_group_vote for ES.
Components: OpenGL
VK-GL-CTS issue: 383
Affects:
KHR-GL45.shader_group_vote.*
KHR-GLES31.core.shader_group_vote.*
Change-Id: I3822cd386e522ceb9f8609544828e2febc257770
(cherry picked from commit
61e9dd88605ae53d48d9059e64d866912fb80ba5)
Iago Toral Quiroga [Thu, 31 Aug 2017 08:57:48 +0000 (10:57 +0200)]
Make DSA storage multisample tests signal unsupported cases
The current implementation has a single test instance that
loops over a collection of types and sizes and produces a
single pass/fail result. This means that the test fails
if any of the framebuffer configurations attempted
during the test is unsupported.
This patch rewrites the implementation so that we have a
separate test instance for each configuration instead.
This allows us to signal independent pass/fail/unsupported
results for each one.
Components: OpenGL
Issue: 503
Affects:
KHR-GL45.direct_state_access.textures_storage_multisample (removed)
KHR-GL45.direct_state_access.textures_storage_multisample_<imgtype>_<format> (added)
KHR-GL46.direct_state_access.textures_storage_multisample (removed)
KHR-GL46.direct_state_access.textures_storage_multisample_<imgtype>_<format> (added)
Change-Id: Ic0f1172d47f83b060a27a9c7537c1b85cb4a50e8
Piotr Byszewski [Thu, 31 Aug 2017 12:08:24 +0000 (14:08 +0200)]
Split built_in_functions into separate test
gpu_shader_fp64.built_in_functions was split
into multiple tests - one per builtin function.
Components: OpenGL
VK-GL-CTS issue: 647
Affects:
KHR-GL40.gpu_shader_fp64.*
Change-Id: I66f48faeb882add083f3c5af2ecadfd55ac4b237
Alexander Galazin [Fri, 8 Sep 2017 08:12:41 +0000 (10:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: I480177a05de5faeb43cf9602554d636ede456bec
Ari Suonpaa [Tue, 5 Sep 2017 11:29:21 +0000 (14:29 +0300)]
Extend occlusion query test with fragment discard.
Added a variation of occlusion query test where half of the fragments
are discarded. This should show as a result of only half the number
of pixels compared to cases with no discard.
Affects:
dEQP-VK.query_pool.occlusion_query*discard
Components: Vulkan
VK-GL-CTS issue: 632
Change-Id: Ifad54ee71ce1eff1d1a2b86920f228ce9c698eb4
Alexander Galazin [Fri, 8 Sep 2017 07:13:24 +0000 (09:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: Ied1a7d639c56dbdffd3db89085b4b771741e43f7
James Helferty [Wed, 6 Sep 2017 01:47:05 +0000 (21:47 -0400)]
Fix race in ShaderBallotFunctionRead test
The original code contained a race to write an SSBO, since it wasn't
using atomics. This change replaces that code with a much simpler
reimplementation of readFirstInvocationARB() by using findLSB() and
ballotARB() to provide an argument to readInvocationARB().
This change also strips out a now-unused argument and related code
from the shader-builder helper class, which is shared with the other
shader_ballot tests.
Components: OpenGL
VK-GL-CTS issue: 665
Affects:
* KHR-GL43/44/45.shader_ballot_tests.ShaderBallotAvailability
* KHR-GL43/44/45.shader_ballot_tests.ShaderBallotBitmasks
* KHR-GL43/44/45.shader_ballot_tests.ShaderBallotFunctionBallot
* KHR-GL43/44/45.shader_ballot_tests.ShaderBallotFunctionRead
Change-Id: Iaf121ab07e13bf450533c96c95f1b7745631c0c8
Sunny Sun [Mon, 4 Sep 2017 04:22:59 +0000 (12:22 +0800)]
Render to FBO in tessellation winding order tests
Tessellation winding order tests render
to a new frame buffer to prevent
GL_INVALID_OPERATION from being generated
by glReadPixels.
VK-GL-CTS issue: 668
Components: OpenGL
Affects:
KHR-GL4*.tessellation_shader.winding.*
KHR-GLES3*.core.tessellation_shader.winding.*
Change-Id: Ia1af86df535ee07acd421ad1133497ce8f4e7eee
Alejandro Piñeiro [Fri, 25 Aug 2017 23:29:49 +0000 (16:29 -0700)]
ShaderImageLoadStore: relax texture incompleteness requirement
When the test was writen, OpenGL spec specified that image access
would be considered invalid fs the texture is incomplete.
This raised some issues when the texture is mipmap-incomplete (so
incomplete as a whole), but base-complete, and the image is bound to
the base level.
After some debate it was agreed to allow that case.
This patch modifies the test by setting a level different to the base
level for the incomplete source/destination images.
Affects:
KHR-GL45.shader_image_load_store.incomplete_textures
Components: OpenGL
VK-GL-CTS issue: 667
Khronos bugzilla: 16111
Change-Id: I4158ac149e5738c1843acf0b8237e87677bdf00a
Graeme Leese [Wed, 30 Aug 2017 15:37:14 +0000 (16:37 +0100)]
Change required sample counts for storage images
Update the API feature info tests to set requiredSampleCounts to 1 for
all images that are not usable as some type of framebuffer attachment.
Previously images that were not usable as attachments but could be used
as a storage image were incorrectly exempted from the requirement.
Components: Vulkan
VK-GL-CTS Issue: 645
Affects: dEQP-VK.api.info.image_format_properties.*
Change-Id: Ia0d09ad0ff51029b75cd3a264860a3dd63c249fb
Alexander Galazin [Thu, 7 Sep 2017 15:56:27 +0000 (17:56 +0200)]
Update KC CTS reference
Components: OpenGL
VK-GL-CTS issue: 675
Change-Id: I59d0da35e6310abf7aa93cb55a72ba0ba9a6d89c
Paavo Pessi [Fri, 30 Jun 2017 07:18:30 +0000 (10:18 +0300)]
Refactor time-consuming test group initializers
dEQP-VK.pipeline.stencil.*
- Large tests groups were split into smaller test groups.
dEQP-VK.spirv_assembly.instruction.compute.opatomic.*
- A large number of input and expected output value calculations were
moved from the test group initializer to the actual test runner.
Affects:
dEQP-VK.pipeline.stencil.*
dEQP-VK.spirv_assembly.instruction.*
Components: Vulkan
VK-GL-CTS issue: 151
Change-Id: I7cedc0e252439d7b04117ef0c15236014709b4f8
Boris Zanin [Thu, 7 Sep 2017 07:19:08 +0000 (09:19 +0200)]
Fix VK_KHR_maintenance2 extended_usage_bit tests
Due to test runs over uncompressed formats it cannot include
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR bit.
Remove this bit from the tests.
Update tests:
* dEQP-VK.image.extended_usage_bit.*
Components: Vulkan
VK-GL-CTS issue: 673, 614
Change-Id: I0adb26c5306a9d5f49936ffef070050fd5936faa
Gary Sweet [Mon, 4 Sep 2017 10:14:58 +0000 (11:14 +0100)]
Fixup some missing/incorrect flushes and invalidates
Some of the flushes were too small, and there were a few
missing invalidates.
Affects:
dEQP-VK.ssbo.layout.*
dEQP-VK.pipeline.push_constant.compute_pipeline.simple_test
Components: Vulkan
VK-GL-CTS issue: 660
Change-Id: I27fac24397984f82865683f30b823570c3e52aed
Paavo Pessi [Fri, 25 Aug 2017 07:16:05 +0000 (10:16 +0300)]
Test generating mipmaps with vkCmdBlitImage()
Tests were added to verify that the typical use-case of generating
mipmap levels with vkCmdBlitImage() works for 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 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 with a
separate blit command with barriers between each blit.
New tests:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.*
Components: Vulkan
VK-GL-CTS issue: 85
Change-Id: I7a9a432b6ed838e4b97649bfae0e3445b2614256
Ari Suonpää [Wed, 21 Jun 2017 06:08:02 +0000 (09:08 +0300)]
Add HLSL compilation support and some tessellation tests.
Compilation of HLSL shaders is now supported by adding source code to hlslSources member of program collection.
HLSL shaders were added to tessellation.winding and tessellation.fractional_spacing tests to cover requirements
of VK-GL-CTS issue 334.
Affects:
dEQP-VK.glsl.*
dEQP-VK.tessellation.*
dEQP-VK.api.smoke.create_shader
Components: Vulkan
VK-GL-CTS issue: 334
Change-Id: I40ed8228cd17d922f64679272696451916f8bbc2
Alexander Galazin [Wed, 6 Sep 2017 17:27:56 +0000 (19:27 +0200)]
Update GL 4.6 mustpass
Components: OpenGL
Change-Id: Ib125ae401fb5e629526932fe868c28752e87909d
Piotr Byszewski [Wed, 23 Aug 2017 07:42:41 +0000 (09:42 +0200)]
Create GL 4.6 test package
Ensures that tests for the extensions went into GL 4.6 can be
executed without checking for the extension string if run in
the 4.6 context.
Components: Framework, OpenGL
VK-GL-CTS issue: 640
Affects:
KHR-GL46.*
KHR-GL45.spirv_extensions.*
KHR-NoContext.es2.no_error.*
KHR-NoContext.gl30.no_error.*
KHR-GL45.polygon_offset_clamp.*
KHR-GL45.shader_group_vote_tests.*
KHR-GL43.indirect_parameters_tests.*
KHR-GL44.texture_filter_anisotropic.*
KHR-GLES3.texture_filter_anisotropic.*
KHR-GLES31.core.polygon_offset_clamp.*
KHR-GL45.shader_draw_parameters_tests.*
KHR-GL45.shader_atomic_counter_ops_tests.*
KHR-GL33.pipeline_statistics_query_tests_ARB.*
KHR-GL32.transform_feedback_overflow_query_ARB.*
Change-Id: Idbfacefb5c9e58611c4330b1a054b38bdd72ca87
Paavo Pessi [Mon, 28 Aug 2017 10:58:34 +0000 (13:58 +0300)]
Fix bitshift issue in dEQP-VK.api.copy_and_blit.*
Use 64-bit integers to calculate maximum color value to avoid situations
where 32-bit integers are shifted left by 32 bits.
Affects:
dEQP-VK.api.copy_and_blit.*
Components: Vulkan
VK-GL-CTS issue: 643
Change-Id: I90aab8a31a363716a3bb1ce0ca79272adf3b2b1e
Jari Komppa [Tue, 22 Aug 2017 11:50:17 +0000 (14:50 +0300)]
Add test to stress wide OpPhi instructions
New test that has a 1024 case wide OpPhi instruction.
The test has been written so that it is easy to change to any desirable
width; based on the SPIR-V specification a width of 16k should be
acceptable (as there can be 16k switch cases). However, that would
generate a rather large (about 50kLOC) shader.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opphi.wide
Components: Vulkan
VK-GL-CTS issue: 259
Change-Id: Ide349e19ab4811c8c8c13bff0d72ac6cf19349ed
Alexander Galazin [Wed, 6 Sep 2017 15:50:55 +0000 (17:50 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Change-Id: Ibe5a9c6ef66a017d9147574f0220d75058d977d2
Alexander Galazin [Wed, 6 Sep 2017 15:50:54 +0000 (17:50 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Change-Id: I99f3421afed52b3f80ca8041a80667ca40966a9c
Alexander Galazin [Tue, 22 Aug 2017 13:59:49 +0000 (15:59 +0200)]
Add more allowed 'dot' alternatives
Expanded dot may be re-associated in multiple ways.
Add all possible alternatives to prevent precision failures.
Components: AOSP
VK-GL-CTS issue: 634
Google issue:
28767510
Affects:
dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.*
dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.*
Change-Id: I2a91add1b92363acab2172179320cd880da779ec
(cherry picked from commit
e00e942ef2600253cf9ae16815922fa6617d68bf)
Gerrit Code Review [Wed, 6 Sep 2017 15:45:25 +0000 (11:45 -0400)]
Merge changes Ie1e6a555,If8a4860a
* changes:
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Run Draw*BaseVertex if EXT_draw_elements_base_vertex is present
Alexander Galazin [Wed, 16 Aug 2017 09:36:01 +0000 (11:36 +0200)]
Run Draw*BaseVertex if EXT_draw_elements_base_vertex is present
Draw*BaseVertex methods are enabled if
the EXT_draw_elements_base_vertex extension is present
Follow-up on
1b1ea05b
Components: AOSP
Affects: dEQP-GLES31.functional.draw_base_vertex.*
Change-Id: If8a4860a956c771ec5ea3341e2227f437b12a286
Alexander Galazin [Wed, 6 Sep 2017 15:08:02 +0000 (17:08 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: Ie1e6a555ace52a51725be96da0fa272bf4f3b1cc
Slawomir Cygan [Wed, 6 Sep 2017 14:47:04 +0000 (16:47 +0200)]
Use SRC image layout for copy image to buffer
The test was calling vkCmdCopyImageToBuffer with
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL layout, which is not a valid
parameter value for this function (and not the layout the image is currently in).
Affects: dEQP-VK.memory.binding.*.*.image_*
Components: Vulkan
VK-GL-CTS issue: 666
Change-Id: Ifb5a1bd8726535de02a0dc134f5ac76a2734a661
Alexander Galazin [Wed, 6 Sep 2017 13:40:53 +0000 (15:40 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Change-Id: I58b5051e5739be5f009061b09f1b2d65b68f8c37
Alexander Galazin [Wed, 6 Sep 2017 13:40:52 +0000 (15:40 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Change-Id: I6696e0770a9d8245cd2e5972bc1013e689fb4334
Mark Adams [Thu, 31 Aug 2017 19:47:15 +0000 (15:47 -0400)]
Restore fuzzyCompare() sample rate
Commit
57c002a31612855e744c33ac698590da0e3d02d3 changed how the stride
was calculated for sampling values in order to avoid double-counting
values. However, it also reduced the number of values sampled and
that's resulting in both GLES and Vulkan failures.
This patch restores the original stride calculation, but changes the
parameters to rnd.getInt() to ensure that 0 is never returned from it.
Components: Framework
VK-GL-CTS issue: 658
Change-Id: I4c7e6d39017bbfc38bcd155037d3b4d40ce46ca7
Alexander Galazin [Thu, 31 Aug 2017 10:41:59 +0000 (12:41 +0200)]
Update GL CTS Readme
Components: OpenGL
Change-Id: Ie3d8e8d7d20716d07d88a6aa2c8f09b1748ace1f
Alexander Galazin [Wed, 6 Sep 2017 10:43:54 +0000 (12:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: Ide2f570cd881a3eb4e302d22a02207e472e427b4
Mika Isojrvi [Tue, 5 Sep 2017 19:42:54 +0000 (19:42 +0000)]
Fix unused uniform bug in EGL robustness tests
am:
7806d74666
Change-Id: Idb3b53bc621c37063d82eda265173ae3bd9395bd
Slawomir Cygan [Tue, 5 Sep 2017 14:39:12 +0000 (16:39 +0200)]
Do not use ycbcr formats if ycbcr extension is not supported
Spec says (on "vkGetPhysicalDeviceFormatProperties"):
"format must be a valid VkFormat value"
Formats from future or unsupported extensions do not
constitute a "valid VkFormat values".
Affects: dEQP-VK.memory.requirements.*.image.*
Components: Vulkan
VK-GL-CTS issue: 663
Change-Id: Ia284977b830d5fda14bcbd9d96010995d84014d5
Mika Isojärvi [Tue, 5 Sep 2017 17:25:37 +0000 (17:25 +0000)]
Merge "Fix missing SSBO binding in EGL robustness tests"
am:
e19c3ff127
Change-Id: Ie8ee42a70186d5d8cd481b34901aa3b2e488d08d
Mika Isojärvi [Thu, 31 Aug 2017 19:13:05 +0000 (12:13 -0700)]
Fix unused uniform bug in EGL robustness tests
Bug:
64845766
Bug:
65175554
Test: Ran tests on couple of Google devices
Change-Id: Iee2918c1e45ad305dd9ca30f1b81998bdac06127
Treehugger Robot [Tue, 5 Sep 2017 17:18:37 +0000 (17:18 +0000)]
Merge "Fix missing SSBO binding in EGL robustness tests"
Pyry Haulos [Tue, 5 Sep 2017 15:31:59 +0000 (15:31 +0000)]
Fix issues in pipeline.timestamp.transfer_tests am:
0f672f2a20 am:
9e85a126d2
am:
342eb176e6
Change-Id: Icd88618ff5eb7cebfc9b0e210a24ecf4da68598f
Pyry Haulos [Tue, 5 Sep 2017 15:22:27 +0000 (15:22 +0000)]
Fix issues in pipeline.timestamp.transfer_tests am:
0f672f2a20
am:
9e85a126d2
Change-Id: I86a852a2216971095d4aa256a97f0b8e68e73646
Pyry Haulos [Tue, 5 Sep 2017 15:14:23 +0000 (15:14 +0000)]
Fix issues in pipeline.timestamp.transfer_tests
am:
0f672f2a20
Change-Id: Ib7e13db1c7801095b925890f226a38969a1b418e
Gary Sweet [Mon, 4 Sep 2017 09:39:36 +0000 (10:39 +0100)]
Fixup some missing/incorrect flushes and invalidates
Some of the flushes were too small, and there were a few
missing invalidates.
Affects:
dEQP-VK.ssbo.layout.*
dEQP-VK.pipeline.push_constant.compute_pipeline.simple_test
Components: Vulkan
VK-GL-CTS issue: 660
Change-Id: Id29b59d127e004a028c04a1075db563d697140a1
Mika Isojärvi [Thu, 31 Aug 2017 18:54:48 +0000 (11:54 -0700)]
Fix missing SSBO binding in EGL robustness tests
Bug:
64845581
Bug:
65175642
Test: Ran the tests on couple of Google devices
Change-Id: I3a98fe12802e6951483499e800cd3fe7412e37f0
Daniel Koch [Thu, 31 Aug 2017 13:48:53 +0000 (09:48 -0400)]
Whitelist new extensions for VK 1.0.2.6
VK-GL-CTS issue: 653
Component: Vulkan
Affects:
dEQP-VK.api.info.device.extensions
Change-Id: I7f5ef7511ce8312e67833e07c154cd6b9fea6041
Mika Isojärvi [Tue, 15 Aug 2017 23:57:24 +0000 (16:57 -0700)]
Add tests for image copies between YCbCr formats
Components: Vulkan, Framework
VK-GL-CTS issue: 111
Change-Id: I3a7050ae5605c4397cd678e14438f851a7cf48ce
(cherry picked from commit
f24269bdd0c4d3801c2118b153082f0b0223f55a)
Mika Isojärvi [Tue, 16 May 2017 21:17:49 +0000 (14:17 -0700)]
Add tests for VK_KHR_sampler_ycbcr_conversion
Components: Vulkan, Framework
VK-GL-CTS issue: 111
Change-Id: Id0810b196f0a148903922df3fc08f1c5db88f86e
(cherry picked from commit
595b5f763a8f6ef1c68bfd133a55ded9c25ac101)
Boris Zanin [Fri, 12 May 2017 08:11:01 +0000 (10:11 +0200)]
Test VK_KHR_dedicated_allocation mem requirement queries
Add tests:
* dEQP-VK.memory.requirements.dedicated_allocation.buffer.*
* dEQP-VK.memory.requirements.dedicated_allocation.image.*
Components: Vulkan
VK-GL-CTS issue: 391
Change-Id: I9510464987e33b395a5ac20c2fdb9129eefd91da
(cherry picked from commit
6c472cc5e98a1a73aeac019ce34cccac7f3fa30e)
David Sodman [Fri, 24 Feb 2017 19:04:46 +0000 (11:04 -0800)]
Add tests for FragCoord interaction with multisampling
Components: Vulkan
VK-GL-CTS issue: 89
Test: fragcoord_msaa, frontface, fragdepth, clipping
Change-Id: Ibf342e63f224b88fe0b0cffde59b10b34afd1faf
(cherry picked from commit
69a7a0079a6cc06d556ecb5314f275d2fa01a60d)
Maciej Jesionowski [Wed, 26 Jul 2017 13:53:13 +0000 (15:53 +0200)]
Fix VS12 compilation error (typedef)
Change-Id: Iebfece1455df2a49c79885d42f43817001a31b84
(cherry picked from commit
68c41978cf7a76391e898af7faaddea0598a3911)
Slawomir Cygan [Wed, 5 Jul 2017 17:17:02 +0000 (19:17 +0200)]
Fix wrong transition in dEQP-VK.glsl.builtin_var.fragdepth
The test was using vkCmdClearDepthStencilImage to clear an
image, than used this image as a depth attachment in
redering performed by VulkanDrawContext utility.
However, this utility always starts the renderpass on depth
attachment from UNDEFINED layout. As no depth clear is done
in the renderpass, the depth attachment contents are undefined
(and initially cleared image contents may be corrupted).
The easiest fix here is to move the clear to LOAD_OP - as
is already done for color, leaving the UNDEFINED layout as is.
Affects: dEQP-VK.glsl.builtin_var.fragdepth*
Components: Vulkan
VK-GL-CTS issue: 559
Change-Id: Icef3289ba62f71bf1ed989f84085a4d9d3b7218a
(cherry picked from commit
f3a36239082b721e1f5f6849afc70af65b42e3ed)
David Sodman [Fri, 24 Feb 2017 18:41:59 +0000 (10:41 -0800)]
Add test for FragDepth shader built-in
Components: Vulkan
VK-GL-CTS issue: 93
Test: fragdepth, frontface, clipping
Change-Id: I531e39a58dd6b577108bff14b2206d7bf9d9cd4f
(cherry picked from commit
3aeb0c565fe64441466247fe381fc815209d46e4)
David Sodman [Tue, 6 Sep 2016 21:05:59 +0000 (14:05 -0700)]
Extend gl_FrontFacing tests
Update gl_FrontFacing tests to include more tests as well as to use the
vktDrawUtil utility class
Change-Id: If94fb552f5f9366c79ffa3fcac6f085611a23f65
(cherry picked from commit
417115b2676c3064a06385184573b6d7a0644f42)
David Sodman [Fri, 9 Sep 2016 02:58:35 +0000 (19:58 -0700)]
Add ability to generate images with the reference renderer
*Separate DrawContext into a DrawContext and DrawContextState to reflect
graphics API's are split between state and action parts
* Add abstract DrawContext class
Test: Test clipping and synchronization primitives
Change-Id: I9f3945c6c3de169325fadea7bf70a9d5d7bfd932
(cherry picked from commit
11da53fb71eced942e89bac59407a5681dba3bb1)
David Sodman [Thu, 1 Sep 2016 17:40:21 +0000 (10:40 -0700)]
Add Vulkan DrawContext utility class
This is the first in a series of changes to move the DrawContext class
for more general use.
Test: run clipping tests on Vulkan
Affects: dEQP-VK.clipping.*
Change-Id: Ia9b8953d25c10ec2a6c227bf300637dcd62ea898
(cherry picked from commit
9a928cdc2014c830eb8cb43043746f8f2ea6969a)
Arkadiusz Sarwa [Tue, 29 Aug 2017 14:40:58 +0000 (16:40 +0200)]
VK_KHR_maintenance2: View block-compressed add check shader_read_only_optimal
Affects:
* dEQP-VK.image.texel_view_compatible.compute.extended.image_load.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texel_fetch.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texture.*
* dEQP-VK.image.texel_view_compatible.compute.extended.image_store.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_write.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_write.*
Components: Vulkan
VK-GL-CTS issue: 124
Change-Id: Ida0c7b8085e7ca90c325ffb0477773e8b09bf564
(cherry picked from commit
62e68c3916ce22a76b44bec91e470abc42cd6e92)
Boris Zanin [Tue, 8 Aug 2017 09:59:32 +0000 (11:59 +0200)]
VK_KHR_maintenance2: extended_usage_bit tests
Add tests:
* dEQP-VK.image.extended_usage_bit.*
Components: Vulkan
VK-GL-CTS issue: 614
Change-Id: Ied6251e642746d5f37aa7b2fe3f262061f765f8f
(cherry picked from commit
dcae428a67a0bccf2a6694075dd06115f0eb1db7)
Arkadiusz Sarwa [Tue, 29 Aug 2017 10:39:57 +0000 (12:39 +0200)]
Fix build errors with uint32_t vktImageMutableTests.cpp
Change-Id: I072fade98fd20b6a4a0389e9a63e790d36d6c0d0
Components: Vulkan
(cherry picked from commit
1afc0a15d483701f3319467f7a3f1d9b47692f66)
Boris Zanin [Thu, 24 Aug 2017 08:29:06 +0000 (10:29 +0200)]
VK_KHR_maintenance2: View block-compressed speedup
Do strict comparison first, if it fails use fuzzy.
Update tests:
* dEQP-VK.image.texel_view_compatible.compute.*
Components: Vulkan
VK-GL-CTS issue: 124
Change-Id: I1ad580d60638ba3fce83fc913819608d5d9a8812
(cherry picked from commit
c9e2dea449429762592af0530b609cf80ab913ce)
Arkadiusz Sarwa [Fri, 21 Jul 2017 14:35:33 +0000 (16:35 +0200)]
VK_KHR_maintenance2: View block-compressed formats extended tests
Add tests:
* dEQP-VK.image.texel_view_compatible.compute.extended.image_load.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texel_fetch.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texture.*
* dEQP-VK.image.texel_view_compatible.compute.extended.image_store.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_write.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_write.*
Update tests:
* dEQP-VK.image.texel_view_compatible.compute.basic.*
* dEQP-VK.image.texel_view_compatible.graphic.basic.*
Components: Vulkan
VK-GL-CTS issue: 124
Change-Id: Ia51ece39a339617302ec4f2a48c9133a3f9423d4
(cherry picked from commit
90d87fdceed790f9542acb19c3da196951c4d2dc)
Fix build errors with makeViewport
Local makeViewport cannot be used in recently added tests
in vktImageMutableTests.
Fix: Remove local makeViewport and use one from vkTypeUtil.inl
Components: Vulkan
VK-GL-CTS issue: 124
Change-Id: I27c9c255d9e46a74a6528327339317ba74e5eb98
(cherry picked from commit
310b00cc9869e26e85e620b55b6ad3a7efeb8d90)
Pyry Haulos [Mon, 12 Jun 2017 20:52:42 +0000 (13:52 -0700)]
Framework support for VK_KHR_sampler_ycbcr_conversion
Change-Id: I749b92c79766f933ea34bb183d3d34c102e023c2
(cherry picked from commit
e5cf8de067694afde10873b6fdbd7907486e5611)
Mika Isojärvi [Thu, 4 May 2017 22:55:19 +0000 (15:55 -0700)]
Add support for 10 and 12bit packed unorm formats
10 and 12bit unsigned normalized values are packed into highers bits
of 16bit unsigned int.
Change-Id: I18a88547ba29003961bf0806a50cb17995c72f13
Components: Framework
(cherry picked from commit
07621ffcf0362606afeccf2c2deac35bc0f3668a)
Iago Toral Quiroga [Tue, 4 Jul 2017 08:59:45 +0000 (10:59 +0200)]
Add tests for VK_KHR_image_format_list
Components: Vulkan
VK-GL-CTS issue: 550
New tests:
dEQP-VK.image.mutable.*_format_list
Change-Id: Ic72304a65c76335c98764678e056f030fafba71f
(cherry picked from commit
dcd00f2f316fae0b86e1b03a8cf22774ce312c1d)
Iago Toral Quiroga [Thu, 29 Jun 2017 05:37:41 +0000 (07:37 +0200)]
Expand tests for mutable images
Currently, only the image load/store tests use mutable images,
but these require the images's layout to be
VK_IMAGE_LAYOUT_GENERAL (requirement for image load/store) so they
don't provide coverage for the most interesting scenarios.
These tests add cases that mix combined image upload/download
methods that exercise various other image layouts and scenarios.
Specifically, it tests each of [copy, clear, draw, store] upload
methods with each of [copy, load, texture] download methods.
Components: Vulkan
VK-GL-CTS issue: 513
New Tests:
dEQP-VK.image.mutable.*
Change-Id: I01cd77ab250f9934e71f5c9997b850950c9bd552
(cherry picked from commit
16b30ca0f65fc9c6a1508d1f99ba1f6014f4e828)
Marcin Rogucki [Fri, 21 Jul 2017 11:44:23 +0000 (13:44 +0200)]
Tests for VK_KHR_bind_memory2
Regular and aliased bindings with suballocated and
dedicatedly allocated memory are exercised.
Added tests:
* dEQP-VK.memory.binding.*
Components: Vulkan
VK-GL-CTS issue: 434
Change-Id: I853ca8b007a9b2f6340ed60cca1a5cb35887ec11
(cherry picked from commit
a0aa054cbddcebe880d12836fae9a24ad4eade9f)
Arkadiusz Sarwa [Fri, 9 Jun 2017 15:58:01 +0000 (17:58 +0200)]
VK_KHR_maintenance2: View block-compressed formats
Add tests:
* dEQP-VK.image.texel_view_compatible.compute.image_load.*
* dEQP-VK.image.texel_view_compatible.compute.texel_fetch.*
* dEQP-VK.image.texel_view_compatible.compute.texture.*
* dEQP-VK.image.texel_view_compatible.compute.image_store.*
* dEQP-VK.image.texel_view_compatible.graphic.attachment_read.*
* dEQP-VK.image.texel_view_compatible.graphic.attachment_write.*
* dEQP-VK.image.texel_view_compatible.graphic.texture_read.*
* dEQP-VK.image.texel_view_compatible.graphic.texture_write.*
Components: Vulkan
VK-GL-CTS issue: 124
Change-Id: I8f12778e764144198dab603dbef72257faed0503
(cherry picked from commit
52af60c002b457dbc09044dc2e88ccee9cb59555)
Boris Zanin [Mon, 10 Apr 2017 17:14:55 +0000 (19:14 +0200)]
VK_KHR_maintenance2: Point clipping
Updated tests:
* dEQP-VK.clipping.clip_volume.clipped.large_points
* dEQP-VK.rasterization.primitives.lines_wide
* dEQP-VK.rasterization.primitives.line_strip_wide
* dEQP-VK.rasterization.primitives_multisample_2_bit.lines_wide
* dEQP-VK.rasterization.primitives_multisample_4_bit.lines_wide
* dEQP-VK.rasterization.primitives_multisample_8_bit.lines_wide
Components: Vulkan
VK-GL-CTS issue: 126
Change-Id: Id0cecb96e8a448ec3eb09e2a25d6c82acd837057
(cherry picked from commit
14bfa832d795dca9057699e867d0273db95c7de4)