Mike Blumenkrantz [Fri, 22 Apr 2022 13:12:26 +0000 (09:12 -0400)]
Rework sparse texture shader typing
This previously would try to jam 2D textures into 2DArray-using
shaders and vice versa, so instead just use layered image
binding when appropriate and pass both texture targets to ensure
that everything always matches up nicely.
Affects:
KHR-GL46.sparse_texture2_tests.SparseTexture2Commitment
KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
KHR-GL46.sparse_texture_tests.SparseTextureAllocation
KHR-GL46.sparse_texture_tests.SparseTextureCommitment
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: Iea7d1027784aaad4969b01372895939ac96968bc
Mike Blumenkrantz [Fri, 22 Apr 2022 13:09:31 +0000 (09:09 -0400)]
Set NEAREST filtering for sparse clamp lookup texture
Integer formats can't use LINEAR filtering here, so this was
a spec violation.
Given that LINEAR isn't being tested, just use NEAREST in all cases
to avoid complexity.
For the min filter use NEAREST_MIPMAP_NEAREST since mipmaps are used
by the test.
Affects:
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I5bb7fcde24c4d3dcf0584bf91e96c4c5559b2b39
Mike Blumenkrantz [Thu, 21 Apr 2022 19:52:14 +0000 (15:52 -0400)]
Skip mipmap generation for integer sparse texture formats
According to historical records, this is unsupported, and Mesa throws
GL_INVALID_OPERATION to confirm that it is unsupported.
Affects:
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I29dc008b6201939b2b7354b0843e018b9db4069c
Mike Blumenkrantz [Thu, 21 Apr 2022 19:30:34 +0000 (15:30 -0400)]
Fix texture target for verifying sparse data
This otherwise is a mismatch of a 2D_ARRAY image in a shader
that expects 2D.
Affects:
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I85cb70b17b9174cbf4c24481c97bf49f81763a2b
Mike Blumenkrantz [Thu, 21 Apr 2022 17:56:46 +0000 (13:56 -0400)]
Improve sparse texture failure errors
Provide more error messages that help debug implementation issues.
Affects:
KHR-GL46.sparse_texture2_tests.SparseTexture2Commitment
KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I45876884de16d3619b57027b9f9038d3b3135507
Mike Blumenkrantz [Thu, 21 Apr 2022 17:13:05 +0000 (13:13 -0400)]
Filter out invalid formats for sparse buffer texture queries
These formats are valid for textures, but not texture buffers
according to ARB_texture_buffer_object.
Affects:
KHR-GL46.sparse_texture2_tests.StandardPageSizesTestCase
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I0063ab333176958f5362b18b3e8363f033375efc
Mike Blumenkrantz [Thu, 31 Mar 2022 20:50:41 +0000 (16:50 -0400)]
Fix deinit of gl sparse buffer test
deinit here is expected to uncommit the range that was committed by
init, so use the same range that was used by init.
Affects:
KHR-GL46.sparse_buffer_tests.BufferStorageTest
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I0adce28475c4eab48a8fb6b0aa538b7c016f435b
Matthew Netsch [Mon, 28 Mar 2022 14:19:33 +0000 (14:19 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Change-Id: Ie1f7f2f793568ae79ccbb11f9678bb74cd7c1c82
Matthew Netsch [Mon, 28 Mar 2022 14:19:24 +0000 (14:19 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1
Change-Id: I02e16a1b389011005aebf279c6e689ca0a457ad5
Peter Kohaut [Mon, 28 Mar 2022 11:53:49 +0000 (13:53 +0200)]
Fix Zlib depedency
Use newer version of Zlib as older is no longer available to download from the zlib.net page
Components: Framework
Affects:
None
VK-GL-CTS Issue: 3587
Change-Id: Ie166dc897b0d1318c1ae73434bfa19687b579691
(cherry picked from commit
ec1804831b654ac55bd2a7a5dd27a556afe05030)
Matthew Netsch [Mon, 14 Mar 2022 16:51:00 +0000 (16:51 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Change-Id: I27e9df2eefc1ca63153c2fb10baf6b4118feaf4e
Matthew Netsch [Thu, 17 Feb 2022 20:31:17 +0000 (12:31 -0800)]
Update KC CTS
Pull in fixes for !42, !46, and !47
Components: Framework
Change-Id: Ief4ea3aadef47d1b3e25a7fadd57cac8e8228d73
Mike Blumenkrantz [Wed, 23 Feb 2022 22:14:31 +0000 (17:14 -0500)]
fix GL46 vector construction sizing
the vector here is 4 rows of 2 components, but std::vector.size()
returns the total vector length (8), so divide by 2 to get the correct
length here and avoid out-of-bounds reads
Affects:
KHR-GL46.shaders30.glsl_constructors*
Components: OpenGL
VK-GL-CTS Issue: 3538
Change-Id: I8a07957722bf8b49fdcee14fe109d284f8cb9e27
Matthew Netsch [Thu, 17 Feb 2022 21:13:30 +0000 (21:13 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Change-Id: I8b8cddd34f78dd0b134ae732b3c539cf503be087
Matthew Netsch [Thu, 17 Feb 2022 20:34:23 +0000 (20:34 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1
Change-Id: I04ec68c36522b8082694e1f3f849ffbdafd34ea7
Mike Blumenkrantz [Tue, 18 Jan 2022 17:48:01 +0000 (12:48 -0500)]
fix invalid buffer bind size in KHR-GL46.sparse_buffer_tests.BufferStorageTest
m_sparse_bo_data_size is the size of the sparse data, but this may exceed
the value returned by GL_MAX_UNIFORM_BLOCK_SIZE, which (should) cause
the test to fail on any driver where the sparse data size is larger than
the max uniform block size
instead, use the size of the data being passed to the shaders directly
so that this can never be too large
Affects:
KHR-GL46.sparse_buffer_tests.BufferStorageTest
Components: OpenGL
VK-GL-CTS Issue: 3468
Change-Id: Ie9d3de5760773e9b1b3b24e8af77976e7a54036c
Matthew Netsch [Fri, 4 Feb 2022 00:55:17 +0000 (00:55 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Change-Id: I0ae06c58b38d26deb1bebd95e78862c970b7326e
Matthew Netsch [Thu, 3 Feb 2022 22:38:33 +0000 (22:38 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1
Change-Id: I7ea3c530d47c2ebcc1c8c93b30f6e177ec5fb4e7
Piers Daniell [Mon, 10 Jan 2022 23:14:49 +0000 (16:14 -0700)]
Use the correct attachment parameter when not the default FBO
When using glGetFramebufferAttachmentParameteriv to query the
currently bound framebuffer, the attachment parameter is
different depending on whether the framebuffer is the default
framebuffer or not.
For the default framebuffer GL_DEPTH and GL_STENCIL can be
used, but for non-default these are invalid and
GL_DEPTH_ATTACHMENT and GL_STENCIL_ATTACHMENT must be used.
This CL updates the changes in CL 8180 and CL 8629 to
use the correct attachment parameter when not using
the default framebuffer.
VK-GL-CTS issue: 3092
Affects:
KHR-*.internalformat.renderbuffer.*
Test both with and without: --deqp-surface-type=fbo
Change-Id: Id5f27405861ec62b5fdd84e1a4c2668d8cb272a1
Piers Daniell [Mon, 10 Jan 2022 19:47:08 +0000 (12:47 -0700)]
Regenerate main/gl45-master.txt
It appears this file from https://gerrit.khronos.org/c/vk-gl-cts/+/8539
wasn't generated corretly. Simply running build_mustpass.py
fixes it.
Without this fix validation for opengl-cts-4.6.2.0 will fail.
Affects:
cts-runner --type=gl46
Components: OpenGL
VK-GL-CTS issue: 3438
Change-Id: Ic09317a548ee9a1f8ab2a3a240ee7490979bf080
Matthew Netsch [Fri, 14 Jan 2022 16:09:02 +0000 (11:09 -0500)]
Update KC-CTS for MR40
Relaxes tolerance for texture lod bias
Components: Opengl
VK-GL-CTS Issue: 2229
Affects:
GL40.gtf21.GL3Tests.texture_lod_bias.*
Change-Id: I4de59e342bc180238902548519ab5b70a6f92909
Ilkka Saarelainen [Thu, 2 Dec 2021 05:45:44 +0000 (07:45 +0200)]
Rework platform memory limits
Some OpenGL tests in openglcts and kc_cts used Vulkan platform class to
get the available system / device memory. The memory limits are not
Vulkan related.
This CL moves the getMemoryLimits function to the base class of all
platforms, so the functions can be accessed from openglcts without
referencing any Vulkan files.
Affects:
dEQP-VK.info.memory_limits
dEQP-VK.api.buffer.suballocation.*
dEQP-VK.api.buffer.dedicated_alloc.*
dEQP-VK.api.object_management.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.pipeline.render_to_image.*.small.*
dEQP-VK.pipeline.render_to_image.*.huge.*
KHR-GL4*.shader_image_load_store.advanced-*
Components:
Vulkan, OpenGL, Framework
VK-GL-CTS issue: 3360
Change-Id: I0743a83148c946d962fd793c8771f2c3c2e33ecc
Matthew Netsch [Fri, 7 Jan 2022 18:35:47 +0000 (18:35 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Change-Id: If89ac10fcff1faaded5a2de88943cd5789e52a56
Tapani Pälli [Sat, 11 Dec 2021 07:58:58 +0000 (09:58 +0200)]
Fix compilation issues with ShaderLibraryCase assert
This assert was causing issues with some compilers/options.
Components: Framework, OpenGL
VK-GL-CTS issue: 3399
Fixes: a590d9ab4 ("Add check for ES compatibility extensions with Desktop OpenGL")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I070d82e7e9c0a4aafbda21cabd18a2d37b5b2cf0
Tapani Pälli [Tue, 21 Dec 2021 06:19:46 +0000 (08:19 +0200)]
Query default FBO Depth, Stencil only when format requires
Earlier commit removed DSA usage but introduced a problem with
framebuffer parameter type and size queries in some configs.
Without DSA, we get errors if querying for attachment that does
not exist in framebuffer. Patch introduces a check to make sure
we do not query for separate depth/stencil attachment if that
would not exist in format.
VK-GL-CTS issue: 3092
Affects:
KHR-*.internalformat.renderbuffer.*
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I65ba7f74e5abd3a5bff17cd74ca4abcdf3f0ab53
Tapani Pälli [Thu, 9 Dec 2021 12:40:31 +0000 (14:40 +0200)]
Fix OpenGL implicit conversions tests
This change removes following tests:
dEQP-GL45.functional.shaders.implicit_conversions.es31.*
dEQP-GL45.functional.shaders.implicit_conversions.es32.*
The problem with these tests was generated data for the tests
required OpenGL ES extension. Instead we import new generated
data for gl45 and utilize that creating following tests for
OpenGL 4.5:
dEQP-GL45.functional.shaders.implicit_conversions.gl45.*
Affects:
dEQP-GL45.functional.shaders.implicit_conversions.es31.*
dEQP-GL45.functional.shaders.implicit_conversions.es32.*
dEQP-GL45.functional.shaders.implicit_conversions.gl45.*
Components: OpenGL
VK-GL-CTS issue: 3399
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ib2b6bc35183f05a351b5a33e98a93ef0cdf7fdc6
Qiang Yu [Thu, 16 Dec 2021 08:14:22 +0000 (16:14 +0800)]
Fix ARB_sparse_texture commit tests texture allocation
GL_NUM_SPARSE_LEVELS_ARB default value is 0, so the orginal code
will always set mState.levels to 0 which failed the following
glTexStorage* call.
In fact we can only know the meaningful GL_NUM_SPARSE_LEVELS_ARB
value after glTexStorage* which tells width/height/depth of the
texture. So check it before glTexStorage* is not right.
Affects:
KHR-GL46.sparse_texture_tests.SparseDSATextureCommitment
KHR-GL46.sparse_texture_tests.SparseTextureCommitment
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup
Components: OpenGL
Change-Id: I8ebedbb954ace56a49003d828179ac6225fe0b49
Piotr Byszewski [Wed, 8 Dec 2021 14:23:06 +0000 (15:23 +0100)]
Switch the branch to the main mustpass
Makes 'main' the current mustpass and
aligns it with 4.6.1
Components: OpenGL
VK-GL-CTS issue: 3397
Change-Id: Ie63aa4fedf46e60055d374ef673edc88d00d283f
Matthew Netsch [Fri, 10 Dec 2021 03:23:46 +0000 (03:23 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Change-Id: I1db380470b9ff4c5ac6341e6bb0cdd83a9487ed4
Tapani Pälli [Thu, 9 Dec 2021 08:20:11 +0000 (10:20 +0200)]
Add check for ES compatibility extensions with Desktop OpenGL
Affects:
dEQP-GL45.functional.shaders.functions.es31.*
dEQP-GL45.functional.shaders.arrays.es31.*
dEQP-GL45.functional.shaders.implicit_conversions.es31.*
dEQP-GL45.functional.shaders.uniform_block.es31.*
Components: Framework, OpenGL
VK-GL-CTS issue: 3399
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ife97fee3d2e5c433050142e9ba9e330bfe3cbde9
Matthew Netsch [Fri, 10 Dec 2021 01:43:38 +0000 (01:43 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1
Change-Id: I5dbe2d36f399ebb391471963192be42243fa8111
Aleksy Sokolowski [Wed, 8 Dec 2021 11:45:20 +0000 (12:45 +0100)]
Improve max image samples check in KHR-GL46.multi_bind test
The test uses fillMSTexture method to fill a shader image
using imageStore()-s. However, the test does not check if
the number of samples in the image is less than MAX_IMAGE_SAMPLES
- what may lead to invalid access on store, when MAX_IMAGE_SAMPLES
is 1.
It looks like the test needs at least 2 samples in the multisampled
image, so this change switches the texture target to non-multisampled
when MAX_IMAGE_SAMPLES is less than 2.
According to the spec:
"""
Invalid image stores will have no effect. (Invalid image atomics will
not update any texture bound to the image unit and will return zero.(...)
An access is considered invalid if: (...)
• the image has more samples than the implementation-dependent value of
MAX_IMAGE_SAMPLES.
"""
Components: OpenGL
VK-GL-CTS Issue: 3402
Affects: KHR-GL46.multi_bind.dispatch_bind_image_textures
Change-Id: I9915849f1cd3c708ae86deee40f1b94ec75d5fea
Matthew Netsch [Mon, 6 Dec 2021 23:09:47 +0000 (18:09 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Change-Id: Ife6b1f3d1cf99c215645df4a590bfa1e4ed808f4
Iago Toral Quiroga [Mon, 22 Nov 2021 07:29:50 +0000 (08:29 +0100)]
Allow rounding error when reading back Z buffer
The early fragment test produces Z values <= 0.5 and uses a shader
to write 0.75 that it expects to be ignored due to early fragment
tests, which it verifies by reading back the Z buffer and testing
that all values are <= 0.5.
On our platform, we observe that on storing 0.5 we retrieve
0.500008, which makes us fail the test incorrectly. Fix this
by adding a small room for rounding error, like we do for
other verification paths in these tests.
While we are doing this, lower the tolerance admited for
the late fragment test case as well.
Components: Vulkan
VK-GL-CTS Issue: 3340
Affects:
dEQP-VK.fragment_operations.early_fragment.discard_early_fragment_tests_depth
dEQP-VK.fragment_operations.early_fragment.discard_no_early_fragment_tests_depth
Change-Id: I8e1782b81d0e74a4a5af3e3cac40c9679f543ac6
Jari Komppa [Mon, 15 Nov 2021 08:25:36 +0000 (10:25 +0200)]
Fix amber vs cts device feature requirements
This change unifies the device requirements between cts and amber for
the affected tests.
Affects:
dEQP-VK.glsl.builtin.precision_fp16_storage16b.*
Components: Vulkan
VK-GL-CTS issue: 3304
Change-Id: I93f840751b40d145f89f847612e36733a18ac971
Piotr Byszewski [Mon, 22 Nov 2021 14:38:35 +0000 (15:38 +0100)]
Fix extended_dynamic_state tests
On vulkan-cts-1.2.8 branch extended_dynamic_state tests were
extended compared to the same group but in vulkan-cts-1.2.6 branch
(new tests were added). After updates to vulkan-cts-1.2.6 were
merged back to vulkan-cts-1.2.8 some of those new tests started
to fail as they did not have required changes.
This change makes sure that triangle strips are used in
the new tests to.
Components: Vulkan
VK-GL-CTS issue: 3327
Affects:
dEQP-VK.pipeline.extended_dynamic_state.*
Change-Id: I4fc19e40f6938d39be4428e8d9d98db4a74c0a5d
Matthew Netsch [Fri, 3 Dec 2021 22:20:44 +0000 (17:20 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I32494f04eda888304de0c56aec916eaa9f9ad011
Mika Väinölä [Tue, 30 Nov 2021 11:13:52 +0000 (13:13 +0200)]
Suppress GCC 11 conversion warning
On GCC 11 with UBSan enabled deHalfIsIEEENaN produces warnings due to
right shift promoting the result of an expression to an int, which is
then assigned to a deUint16.
Components: Framework
VK-GL-CTS issue: 3371
Change-Id: I48526b61ead69ee14b3253fa29737499253e62bc
Arkadiusz Sarwa [Wed, 17 Nov 2021 15:43:24 +0000 (16:43 +0100)]
Fix allocation of system memory.
Allocation of system memory which have been used as reference data can fail.
VK-GL-CTS issue: 3319
Components: Vulkan
Affects:
dEQP-VK.reconvergence.*
Change-Id: Icf9e6a2ad15912109aee2b6ea693a17650579087
Piotr Byszewski [Wed, 13 Oct 2021 12:17:14 +0000 (14:17 +0200)]
Generate inl files at build time
Inl files are no longer checked into the repo instead they are
generation at build time.
VK-GL-CTS issue: 3197
Components: Framework, Vulkan
Affects:
dEQP-VK.*
Change-Id: I526ed3d8dc8cc54860e44937a5048e499248a3c6
Piotr Byszewski [Tue, 19 Oct 2021 09:19:58 +0000 (11:19 +0200)]
Add Vulkan-Docs to fetch sources
Header files that are used to generate inl files are no longer
checked into the repo. Headers are now generated in Vulkan-Docs
which are now fetched from the gitlab. Generation is done
by gen_framework.py.
VK-GL-CTS issue: 3197
Components: Framework, Vulkan
Affects:
dEQP-VK.*
Change-Id: I4291848910b03180d4dc5514f8d8e5943c36e9b2
Matthew Netsch [Fri, 3 Dec 2021 19:36:13 +0000 (19:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I595a859be296c7f35cca35d7aa70278434ff8715
Brandon Schade [Tue, 28 Sep 2021 19:28:20 +0000 (12:28 -0700)]
Remove few EGL robustness tests
Components: EGL
Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.*
VK-GL-CTS issue: 257
Change-Id: I9edb2e577fb14b98d83bb16dc31188d3a901606d
(cherry picked from commit
39c99a7ece4b6618cde30c6c621bd3036801bd4b)
Mohd Faisal [Mon, 22 Nov 2021 14:58:37 +0000 (14:58 +0000)]
Fix use a device with protected memory enabled
Test is trying to allocate memory from protected memory heap using
default device which doesn't have protected memory enabled. Change
checks if the protected memory supported, if it is create a custom
device with protected memory enabled.
Affects:
dEQP-VK.memory.mapping.*.full.variable.implicit_unmap
Components: Vulkan
VK-GL-CTS issue: 3292
Change-Id: I74897e3dd7f1cada0044036ba27ad8764754ed23
YiHsing Shen [Tue, 9 Nov 2021 02:03:40 +0000 (02:03 +0000)]
Throttling CTS producing frame speed
CTS checks the present time of the frame 6 frames ago. However, if
the default buffer count of BufferQueue is more than 7, CTS could
produce frames continuously in a short time. In this case, the frame
6 frames ago might be not presented yet then CTS fails. To prevent
this situation, CTS produces frames at the speed according to
compositeInterval.
Component: EGL
Affected tests:
dEQP-EGL.functional.get_frame_timestamps.*
Change-Id: I1ac15974a6c4147ee2546ad21dea1fb3e6bf38f9
Matthew Netsch [Fri, 3 Dec 2021 16:56:42 +0000 (16:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: Id6db90adac07dce6a8806cf1175547fbee2cd482
Matthew Netsch [Fri, 3 Dec 2021 16:54:49 +0000 (11:54 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Idca0d19e2d98e5b2045c43588c24220a87eb1fa8
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes
Some files used std::numeric_limits without including <limits> and
failed to compile.
VK-GL-CTS issue: 2842
Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92
(cherry picked from commit
c686fd7ddf13d9ec51c84aea044d36ef3dd69c68)
Matthew Netsch [Fri, 3 Dec 2021 16:51:10 +0000 (11:51 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I0adccdf3f29176238bd4ca92fe8c9aa380986f43
Tomasz Gregorek [Fri, 29 Oct 2021 08:01:54 +0000 (03:01 -0500)]
Relax protected heap allocation tests - continuation
Some implementations have limitations on protected heap
allocations, and these limitations cannot be queried
using the Vulkan API. This change allows an out-of-memory
to happen after a certain number of allocations to
compensate that.
Fix protected memory allocation to be done on small
allocation chunks and ignore allocation failures
if there is at least 80 of concurrent allocations
at a time.
VK-GL-CTS issue: 3257
Affects:
dEQP-VK.memory.allocation.random.*
Components: Vulkan
Change-Id: I32ed020195ff468de468bbd8527dec1d7f0db183
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes
Some files used std::numeric_limits without including <limits> and
failed to compile.
VK-GL-CTS issue: 2842
Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92
Ilkka Saarelainen [Thu, 18 Nov 2021 06:31:30 +0000 (08:31 +0200)]
Add missing feature check to MS copy tests
Some of the multisample copy and resolve tests require fragmentStoresAndAtomics
feature, but the feature is not checked in "checkSupport" function.
This CL adds the feature check for those tests.
Affects:
dEQP-VK.api.copy_and_blit.*.resolve_image.*
Components: Vulkan
VK-GL-CTS issue: 3317
Change-Id: I7dba8b9f1e8090416a00ade6cd4e0acaf9e43e68
Jesse Archer [Tue, 30 Nov 2021 18:11:29 +0000 (10:11 -0800)]
Update Android API and permissions for OpenGL
Remove the popups asking for write permissions and to check
for updates due to using an older Android API version when
running OpenGL and OpenGL ES CTS on Android.
Update the GL&ES Android manifest to include recent changes made
to the Vulkan Android manifest:
Remove <uses-sdk ...> from AndroidManifest.xml. It is already added in
build_apk.py. Update the instructions in external/openglcts/README.md
to add "-g" to the ADB install command.
Adds foreground permissions to be consistent with Vulkan.
Changes are from these commits modifying package/AndroidManifest.xml:
6a23a69a78d940661f29de84b68a17f800014cea
358348221857f3d518bbb56f40fd8c9f7dd37bf0
Components: Android, Framework
Change-Id: I014456120422ee419c4bd7af5b0b6db5ab54315d
Antto Mäkinen [Thu, 25 Nov 2021 14:00:00 +0000 (16:00 +0200)]
Test no-op image layout transitions in VK_KHR_synchronization2
VK_KHR_synchronization2 allows applications to specify
oldLayout==newLayout in image barriers to skip the layout transition.
It's also allowed when oldLayout and newLayout are both UNDEFINED even
though the normal behaviour for UNDEFINED -> ANYTHING is to perform
a discard.
This commit adds a test which ensures that image contents are preserved
when doing a transition like this.
VK-GL-CTS issue: 3045
New Tests:
dEQP-VK.synchronization2.layout_transition.no_op
Components: Vulkan
Change-Id: I022ca662ad50e910d7813713e591f2f6f9600d1f
Antto Mäkinen [Wed, 27 Oct 2021 08:33:35 +0000 (11:33 +0300)]
Ensure that compute shaders have a subgroup size that is uniform in command scope
If the pipeline was created with the VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
flag the SubgroupSize may vary in the shader stage but it must be uniform with command scope.
VK-GL-CTS issue: 3036
New Tests:
dEQP-VK.subgroups.multiple_dispatches.uniform_subgroup_size
Components: Vulkan
Change-Id: I55a082af6e1b325be7b29c50d49bcb822d81c33e
Matthew Netsch [Fri, 3 Dec 2021 05:02:41 +0000 (05:02 +0000)]
Merge "Merge vk-gl-cts/dev/VK_ARM_rasterization_order_attachment_access into vk-gl-cts/master"
Juha Heiskanen [Fri, 12 Nov 2021 13:09:02 +0000 (15:09 +0200)]
Missing coverage for vkCmdCopyQueryPoolResults
Cover stride 0 and query count 1 for vkCmdCopyQueryPoolResult.
Components: Vulkan
VK-GL-CTS Issue: 3286
New tests: dEQP-VK.query_pool.occlusion_query.*stride_0_*
Change-Id: I033acd4927f3de45ce7584c610c73e33ac9c7a16
Jari Komppa [Tue, 16 Nov 2021 13:17:58 +0000 (15:17 +0200)]
Add suite of div by zero tests
This change adds a amber tests that execute various explicit and
implicit division by zero operations, which should not crash or fail the
rendering operation.
New test:
dEQP-VK.glsl.crash_test.divbyzero_frag
dEQP-VK.glsl.crash_test.divbyzero_comp
Components: Vulkan
VK-GL-CTS issue: 869
Change-Id: I7b180805d85461a536252d71a80151d9a626f665
Ari Suonpaa [Fri, 19 Nov 2021 11:47:20 +0000 (13:47 +0200)]
Enable packed formats for border swizzle tests
Packed formats were previously commented out in
border swizzle tests. A small modification to the
random clear color code allowed to enable these
formats.
VK-GL-CTS Issue: 3253
New tests:
dEQP-VK.pipeline.sampler.border_swizzle.*pack*
Components: Vulkan
Change-Id: I7c1fa3fd08b6193309e5b723726464362316540b
Piotr Byszewski [Thu, 18 Nov 2021 09:42:23 +0000 (10:42 +0100)]
Add portability_subset to extensions_data.txt
With this change VK_KHR_portability_subset extension
is being recognized as permitted Vulkan extension.
Components: Vulkan
VK-GL-CTS issue: 3268, 2879
Affects:
dEQP-VK.info.device_extensions
Change-Id: Iec9a9bbae684cd83eb13cb8cadb9eac8a853df4f
Lionel Landwerlin [Tue, 16 Nov 2021 10:17:19 +0000 (12:17 +0200)]
Verify that timeline semaphores cannot import/export SYNC_FD
Component: Vulkan
Affects: dEQP-VK.api.external.semaphore.*.info*
Change-Id: I17dd8e0fd172cffc785642b8d7b3f93cdd966e1b
Piotr Byszewski [Wed, 24 Nov 2021 09:52:48 +0000 (10:52 +0100)]
Execute FDM tests with dynamic rendering
VK_EXT_fragment_density_map tests are also executed
using dynamic rendering.
Affects:
dEQP-VK.dynamic_rendering.fragment_density_map.*
dEQP-VK.renderpass*.fragment_density_map.*
Components: Vulkan
VK-GL-CTS issue: 3246
Change-Id: I0603b40876ffdfa19ccdd0a4f10d23ffa079fe71
Piotr Byszewski [Fri, 19 Nov 2021 08:56:55 +0000 (09:56 +0100)]
Execute FDM tests with legacy renderpass
VK_EXT_fragment_density_map tests used only renderpass2,
this change executes them also with legacy renderpass.
Additionally this change removes duplication of
depth_stencil_resolve and multiple_subpasses_multiple_command_buffers
groups that were added to both renderpass and renderpass2 groups
despite supporting only one renderpass type.
Affects:
dEQP-VK.renderpass*.fragment_density_map.*
dEQP-VK.renderpass*
Components: Vulkan
VK-GL-CTS issue: 3247
Change-Id: Ic7e73689a6a5dd28fd23038546acace412614d22
Shahbaz Youssefi [Mon, 22 Nov 2021 20:30:26 +0000 (15:30 -0500)]
Fix shader operator tests' precision expectation
es3fShaderOperatorTests.cpp takes the reported precision for lowp and
mediump (through glGetShaderPrecisionFormat) and tests that that many
bits are actually supported by the type.
glGetShaderPrecisionFormat is a legacy function that's not very
meaningful on modern hardware (see Vulkan issue #2931), and there is no
equivalent for its functionality in Vulkan.
This relevant tests are changed such that the test now verifies that _at
least_ that many bits are used in lowp and mediump operations, rather
than _exactly_. This aligns with the semantics of RelaxedPrecision in
SPIR-V.
Affected tests:
dEQP-GLES3.functional.shaders.operator.*
Components: OpenGL ES
VK-GL-CTS issue: 3344
Change-Id: I88a38d6ee067de8313f25327578c6666c257dc8b
Matthew Netsch [Fri, 3 Dec 2021 00:23:26 +0000 (00:23 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Change-Id: I428d33d66bfad3ea511cab97a717315cf297feed
Matthew Netsch [Thu, 2 Dec 2021 22:41:14 +0000 (22:41 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I43ff786b98dd9bc2d5edcab4f04b3d9de4432520
Matthew Netsch [Thu, 2 Dec 2021 21:03:40 +0000 (21:03 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ie280369845ce69510359b85012a6b29de83c34cc
Ari Suonpaa [Wed, 24 Nov 2021 13:52:28 +0000 (15:52 +0200)]
Avoid shifting by more than bit width
Half float mantissa calculation was sometimes using
shift larger than a bit width. This change sets the
mantissa to zero in those cases.
VK-GL-CTS Issue: 3346
VK-GL-CTS Issue: 3349
Affects:
KHR-GLES*.core.internalformat.texture2d.*half_float*
KHR-GLES3.packed_pixels.*16f
Components: OpenGL ES
Change-Id: Ib91082fab530f6ff9e7cd5b6346ad7d433543a47
Mika Väinölä [Fri, 12 Nov 2021 11:41:54 +0000 (13:41 +0200)]
Pad out glClearBufferuiv value
The test calls glClearBufferuiv with GL_COLOR and a pointer to a
single GLuint when four components are expected.
Affects: KHR-GLES31.core.framebuffer_no_attachments.render
Components: OpenGL
VK-GL-CTS issue: 3295
Change-Id: I0ce2512cc619410c91104b083ab7bb7b9d667c4c
Jari Komppa [Thu, 4 Nov 2021 11:40:07 +0000 (13:40 +0200)]
Add missing extension requirement
This change adds the missing #extension line in the shader for the
fragdata.draw_buffers test if extension is supported.
Affects:
dEQP-GLES3.functional.shaders.fragdata.draw_buffers
Components: OpenGL
VK-GL-CTS issue: 3259
Change-Id: Id644e83b938fd3f2e22769faf727043bee88f62d
Ari Suonpaa [Wed, 1 Dec 2021 07:27:16 +0000 (09:27 +0200)]
Fix signed integer overflow in vertex array tests
Random quad calculation in some of the vertex array tests were
calculating ranges for allowed quad sizes using signed integers,
and there was a chance for an overflow, which is undefined behavior.
Now the quad calculation randomizes only coordinates instead of
coordinates and the quad size. This lets us avoid the calculation
of the range.
Some bug fixes to the quad randomization code were also added.
VK-GL-CTS Issue: 3357
Affects:
dEQP-GLES3.functional.vertex_arrays.*
Components: OpenGL ES
Change-Id: I651ac6cef94e15d3fc0bc322ea8d65cbd96a4c2d
Ralph Potter [Tue, 9 Nov 2021 12:45:38 +0000 (12:45 +0000)]
Mirror existing ANGLE waiver for Samsung devices
Some Samsung devices utilize an extended ANGLE implementation, with
a Samsung vendor string.
Components: OpenGL ES
VK-GL-CTS issue: 3255
Change-Id: I6e49ae571ee38ea8dace36103f9d62055151b520
(cherry picked from commit
34d6d68ab3bd13117d936869fae70d16cc7c1297)
Tomasz Gregorek [Fri, 29 Oct 2021 08:01:54 +0000 (03:01 -0500)]
Relax protected heap allocation tests - continuation
Some implementations have limitations on protected heap
allocations, and these limitations cannot be queried
using the Vulkan API. This change allows an out-of-memory
to happen after a certain number of allocations to
compensate that.
Fix protected memory allocation to be done on small
allocation chunks and ignore allocation failures
if there is at least 80 of concurrent allocations
at a time.
VK-GL-CTS issue: 3257
Affects:
dEQP-VK.memory.allocation.random.*
Components: Vulkan
Change-Id: I32ed020195ff468de468bbd8527dec1d7f0db183
Ari Suonpaa [Wed, 24 Nov 2021 15:03:44 +0000 (17:03 +0200)]
Fix signed integer overflow
VK-GL-CTS Issue: 3347
Affects:
KHR-GLES31.core.shader_bitfield_operation.bitfieldExtract.*
Components: OpenGL ES
Change-Id: Ifa35375cc20b54b9e2ff4950d519d0b0dad68812
Matthew Netsch [Tue, 23 Nov 2021 16:38:20 +0000 (11:38 -0500)]
Merge vk-gl-cts/dev/VK_ARM_rasterization_order_attachment_access into vk-gl-cts/master
Change-Id: Id470d3d2f789914446f0e70c0a251ea70fea509a
Matthew Netsch [Tue, 23 Nov 2021 16:36:10 +0000 (11:36 -0500)]
Merge vk-gl-cts/master into vk-gl-cts/dev/VK_ARM_rasterization_order_attachment_access
Change-Id: I59256586a0a8a75f224a9b0c458293634d905f98
Matthew Netsch [Sat, 20 Nov 2021 03:26:14 +0000 (03:26 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Change-Id: I5d20f6d4bce3d0ea56a5135193470ab13c6efcdb
Piotr Byszewski [Fri, 12 Nov 2021 18:40:12 +0000 (19:40 +0100)]
Portability: fix border_swizzle tests
When the test itself has nothing to do with triangle fans,
(just uses them to perform rendering) then use triangle strips
instead so that tests also work for portability.
Components: Vulkan
VK-GL-CTS issue: 3266
Affects:
dEQP-VK.pipeline.sampler.border_swizzle.*
Change-Id: I217af02ccb7ad2fc06c686714e65ee28a3ac0284
Ricardo Garcia [Fri, 12 Nov 2021 16:19:38 +0000 (17:19 +0100)]
Fix post-clear barrier in depth/stencil descriptor tests
After clearing the color and depth/stencil image, the tests were using a
barrier to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT with an access mask of 0.
This commit fixes that barrier to use VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
and an access mask covering all uses of these descriptors in the render
pass.
Affected tests:
dEQP-VK.image.depth_stencil_descriptor.*
Components: Vulkan
VK-GL-CTS issue: 3305
Change-Id: I7d8c41b3dbbe69f3a613ba1bd09a0482f77133f2
Matthew Netsch [Sat, 20 Nov 2021 01:41:45 +0000 (01:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I5a712babbcd6a60c58a58845624b7b2b60896b99
Mika Väinölä [Tue, 16 Nov 2021 12:11:34 +0000 (14:11 +0200)]
Zero initialize XFB counter buffer
Implementations that don't zero initialize buffers on allocation will
fail these tests when reading uninitialized counter buffers with
vkCmdBeginTransformFeedbackEXT.
Affects: dEQP-VK.rasterization.provoking_vertex.transform_feedback.*
Components: Vulkan
VK-GL-CTS issue: 3311
Change-Id: I3cd9a82aed94e55b5e37cbd287e159c2e5fc69d2
Matthew Netsch [Fri, 19 Nov 2021 20:11:48 +0000 (20:11 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I800d219e0b2d87e0a690bd535b00e377d7c13b5c
Tomasz Owczarek [Tue, 9 Nov 2021 16:53:02 +0000 (16:53 +0000)]
Disable depth clamp for graphics pipeline creation tests.
Not all GPUs does support depth clamp feature.
Disable depth clamp in pipeline creation tests as it's not used
by tests itself and isn't required to test pipeline creation.
Affects:
dEQP-VK.pipeline.creation_cache_control.graphics_pipelines.*
Components: Vulkan
VK-GL-CTS issue: 3297
Change-Id: I59ed04bfcd1e5fc4b79dae31e254ff48c3410a5b
Matthew Netsch [Fri, 19 Nov 2021 17:27:35 +0000 (17:27 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I2cbe3e52c8373027ab109a6dbaefa6a34f25dd05
Sławomir Cygan [Wed, 14 Apr 2021 16:12:12 +0000 (18:12 +0200)]
Fix 'implicit-fallthrough' build error on GCC 9.3.0
It seems the existing comment was not hitting the regular
expression used by the GCC compiler when reading user comments
before case switch fallthrough.
The warning is triggered by -Wextra, which on GCC enables
'-Wimplicit-fallthrough=3'.
Another way to avoid the warning would be to use
[[fallthrough]] statement, but it's from C++17, which does not seem
to be enabled.
Components: Vulkan
Change-Id: Ica52e88f94f4f1c303511d8462938856cb676146
(cherry picked from commit
3cbdbc5564b6684d4737c61d4bcfccd516e14ce7)
Ari Suonpaa [Wed, 10 Nov 2021 06:06:13 +0000 (08:06 +0200)]
Add tests for buffer size requirements
This change extends the existing buffer requirements tests
to verify the buffer memory size requirement is less than
or equal to the aligned size of the buffer.
Also fixed a typo in an existing test group name.
VK-GL-CTS Issue: 3287
New tests:
dEQP-VK.api.buffer_memory_requirements.*size_req*
Components: Vulkan
Change-Id: Id02d31d17a22bfd5e37b63f921d0d6fa12c0f022
Jari Komppa [Fri, 12 Nov 2021 08:43:38 +0000 (10:43 +0200)]
Extend interpolateAt* tests
These tests decorate input and then re-interpolate the values with their
corresponding functions, checking if the result is the same.
New tests:
dEQP-VK.pipeline.multisample_interpolation.reinterpolation_consistency.interpolate_at_centroid
dEQP-VK.pipeline.multisample_interpolation.reinterpolation_consistency.interpolate_at_sample
Components: Vulkan
VK-GL-CTS issue: 3271
Change-Id: I51cce91b076393c526df2a5d123c072e45354c6a
Jari Komppa [Fri, 12 Nov 2021 11:12:15 +0000 (13:12 +0200)]
Add power of two checks for physical device limits
This change adds power of two checks for the physical device limits
minTexelBufferOffsetAlignment, minUniformBufferOffsetAlignment,
minStorageBufferOffsetAlignment, nonCoherentAtomSize,
optimalBufferCopyOffsetAlignment and optimalBuffercopyRowPitchAlignment.
Affects:
dEQP-VK.info.device_properties
Components: Vulkan
VK-GL-CTS issue: 3291
Change-Id: I09fbf054262a351eca489f1bf66bf26f6aa177a6
Jari Komppa [Sat, 13 Nov 2021 18:45:18 +0000 (20:45 +0200)]
Modify dual source blend tests to use discard
This change adds discard to the shaders when testing dual source blend
shading. The reference renderer does not support discard, so the
reference image is updated after rendering to cover for this.
Affects:
dEQP-VK.pipeline.blend.dual_source.*
Components: Vulkan
VK-GL-CTS issue: 3230
Change-Id: I06b9b7fb904bc2efbd5d8758a1c5ed5b5f76b4e5
Juha Heiskanen [Tue, 2 Nov 2021 11:46:23 +0000 (13:46 +0200)]
Add fragment operations occlusion query tests
New occlusion query tests are covering scissored draws, depth and
stencil.
Components: Vulkan
VK-GL-CTS Issue: 3082
New tests: dEQP-VK.fragment_operations.occlusion_query.*
Change-Id: I64aa6788d163f88654977138c48209e8b1d82e59
Mohd Faisal [Thu, 11 Nov 2021 11:34:09 +0000 (11:34 +0000)]
Fix wrong conversion from shared pointer to int.
Dereference the correct pointer to object and converting to int (flag)
via implicit converter.
Affects:
dEQP-VK.api.buffer_memory_requirements.*
Components: Vulkan
VK-GL-CTS issue: 3300
Change-Id: Id38991211b0dd65166dec3e75cf5f5f96309e1ff
Arkadiusz Sarwa [Mon, 15 Nov 2021 13:34:48 +0000 (14:34 +0100)]
Enable anisotropic tests for mipmap images
Affects:
dEQP-VK.texture.filtering_anisotropy.mipmap.*
Components: Vulkan
VK-GL-CTS issue: 3309
Change-Id: Ie6ac2604f757598d25c972f569c942850849ab58
Jason Ekstrand [Fri, 12 Nov 2021 18:23:17 +0000 (12:23 -0600)]
Remove invalid semaphore import/export tests
VUID-VkSemaphoreGetFdInfoKHR-handleType-03253:
If handleType refers to a handle type with copy payload transference
semantics, semaphore must have been created with a VkSemaphoreType
of VK_SEMAPHORE_TYPE_BINARY
These tests are explicitly testing semaphore FD export with
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD which has copy payload
transference semantics. We need to throw out the timeline semaphore
version.
Component: Vulkan
Removes:
- dEQP-VK.synchronization.cross_instance.*timeline_semaphore_fence_fd
- dEQP-VK.synchronization2.cross_instance.*timeline_semaphore_fence_fd
Change-Id: I5dc5643c34cf9f06adf29545bcefcb5c577aaaef
Matthew Netsch [Thu, 18 Nov 2021 23:23:49 +0000 (23:23 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I70424be31ee8dc38327b852c6d8dec9137f4294d
Matthew Netsch [Thu, 18 Nov 2021 21:53:34 +0000 (21:53 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ib23ae3a63fd65ec4aae8385d92ffd09a114c32da
Antto Mäkinen [Fri, 12 Nov 2021 11:45:46 +0000 (13:45 +0200)]
Fix glcPackedPixelsTests to properly account for skip images
RectangleTest::makeGradient in glcPackedPixelsTests does not
properly account for skip images. This commit prevents it
writing over the end of an array.
Affects:
KHR-GL33.packed_pixels.*
Components: OpenGL ES
VK-GL-CTS Issue: 3275
Change-Id: I9d8a47b59c000512926c3bfc85b6c6dc66eee213
Ari Suonpaa [Fri, 12 Nov 2021 05:08:39 +0000 (07:08 +0200)]
Fix out-of-bounds stack read
glBufferData was given a pointer to a C struct, but
a wrong struct type was used for sizeof.
VK-GL-CTS Issue: 3294
Affects:
KHR-GLES31.core.draw_indirect.negative-noV*arrays
Components: OpenGL
Change-Id: If02916683e0fee46b05dd4774b56f7fe335cc80f
Matthew Netsch [Thu, 18 Nov 2021 21:52:19 +0000 (16:52 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I888aaa5fc93ef69f75c6f3a31ab2a02202028cbd
Matthew Netsch [Thu, 18 Nov 2021 19:56:13 +0000 (19:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I627fd4331d6dcf4f56a90b8a348dd1294e911e64
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes
Some files used std::numeric_limits without including <limits> and
failed to compile.
Some dynamic casts and calls to AndroidHardwareBufferExternalApi::
getInstance() produced nonnull warnings. Suppress these by
wrapping them in if statements.
This commit also removes implicit-fallthrough from the list of ignored
GCC warnings in check_build_sanity.py. All such warnings in the CTS
should be fixed by now and recent versions of Clang also support
this warning.
VK-GL-CTS issue: 2842
Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92