summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-12-03travis: reflect new best-practice travis-ci configurationHEADmasterRhys Kidd1-3/+6
Travis-CI has or will shortly make in early December 2018 a number of beneficial changes to their Linux continuous integration testing infrastructure [0][1]. An accompanying benefit of this change is that Ubuntu Xenial (16.04 LTS) is now supported. The benefits for piglit are primarily: * Testing against a more modern, supported Ubuntu Xenial (16.04 LTS). [2] * Removal of a corner-case for Python 3.7, making testing more consistent. * Modest speed improvements from Travis-CI's move to Linux infrastructure combined into one (virtualized), from two previously (virtualized and container-based). [0] https://blog.travis-ci.com/2018-10-04-combining-linux-infrastructures [1] https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration [2] https://docs.travis-ci.com/user/reference/xenial/ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com> Reviewed-by: Andres Gomez <agomez@igalia.com>
2018-12-02cl: Wait for kernel execution instead of flushing the queue in ↵Jan Vesely1-1/+1
cl_piglit_execute kernel This prevents race condition when a failed kernel launch would no longer be in the command queue by the time we call clFinish. Signed-off-by: Jan Vesely <jano.vesely@gmail.com> Tested-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
2018-12-02cl: Add execution event parameter to piglit_cl_enqueue_kernelJan Vesely7-11/+22
Signed-off-by: Jan Vesely <jano.vesely@gmail.com> Tested-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
2018-11-29program_interface_query: don't expect a valid location for TCS outputAndrii Simiklit1-8/+8
I guess we should not expect a valid location for: "patch out vec4 tcs_patch;" because this output variable is declareted without "layout (location=X)" and according to spec: "Not all active variables are assigned valid locations; the following variables will have an effective location of -1: * uniforms declared as atomic counters; * members of a uniform block; * built-in inputs, outputs, and uniforms (starting with "gl_"); and * inputs or outputs not declared with a "location" layout qualifier, except for vertex shader inputs and fragment shader outputs." Also I fixed some conflicting comments. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108612 Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2018-11-26drawoverhead: print results in the CSV formatMarek Olšák3-26/+4
for easier data processing.
2018-11-26ext_window_rectangles/render: make the test more thoroughMarek Olšák1-32/+61
2018-11-26primitive-restart-draw-mode: draw front and back faces in different colorsMarek Olšák1-2/+9
so that triangle strip winding reset is visible after primitive restart
2018-11-21tests/image_load_store/atomic: use piglit subtest frameworkDylan Baker1-164/+239
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
2018-11-21texturing: run gles2 variants as wellErik Faye-Lund1-0/+3
It's nice if these tests also run automatically, so let's add them to opengl.py. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-11-21s3tc-errors: port to gles20Erik Faye-Lund1-24/+27
The glGetTexLevelParameteriv-function wasn't added to gles before gles31, so let's just skip those tests on earlier versions. This allows us to also run this test on gles20. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-11-21s3tc-errors: port to gles31Erik Faye-Lund2-2/+56
This specification is also supported on gles2, so let's add support for gles31 to the test also. Sadly, because gles2 doesn't support glGetCompressedTexImage, we can't easily support the test-cases that re-uploads compressed data. Disabling them and keeping the others are better than nothing, so let's do that for now. Similarly, because glGetTexLevelParameteriv isn't supported on gles before version 3.1, let's set that as the minimum version. A potential future improvement could be to embed a pre-compressed image so these tests can run in all cases. But that requires a lot more work, so I'll leave that for later. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-11-21s3tc-texsubimage: port to gles2Erik Faye-Lund2-0/+49
This specification is also supported on gles2, so let's add support for gles2 to the test also. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-11-21s3tc-teximage: port to gles2Erik Faye-Lund2-0/+53
This specification is also supported on gles2, so let's add support for gles2 to the test also. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-11-21texturing: use piglit_draw_rect_tex instead of glBegin/glEndErik Faye-Lund2-14/+4
This will make it easier to port these tests to gles. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-11-21texturing: make sure s3tc tests require GL 1.1Erik Faye-Lund3-3/+3
The EXT_texture_compression_s3tc spec lists that it requires OpenGL 1.1, not 1.0 like some of these list. In reality, this probably doesn't make a huge difference, as OpenGL 1.0 hardware/drivers are pretty much extinct, but let's just get it right to avoid confusion. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-11-16arb_texture_view: Test interaction with ARB_shader_image_load_storeDanylo Piliaiev3-0/+213
Tests that binding texture view to image unit results in a correct calculation of layers: - Correct layer should be read - Image should have correct layers count Exercises the bug: https://bugs.freedesktop.org/show_bug.cgi?id=107856 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Tested-by: Mark Janes <mark.a.janes@intel.com>
2018-11-16EGL_EXT_image_dma_buf_import: set RGBA visual for yuv sampling testsLionel Landwerlin1-0/+1
Depending on the platform you're running on, the test might fail with the AYUV format (or another format with alpha channel). To make this reliable, force to visual to RGBA. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Suggested-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-11-15EGL_EXT_image_dma_buf_import: fix error check with unknown drm formatLionel Landwerlin1-1/+8
According to the EGL_EXT_image_dma_buf_import spec, creating an EGL image with a DRM format not supported should yield the BAD_MATCH error : " * If <target> is EGL_LINUX_DMA_BUF_EXT, and the EGL_LINUX_DRM_FOURCC_EXT attribute is set to a format not supported by the EGL, EGL_BAD_MATCH is generated. " v2: Add spec quote (Eric) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: 0ee445dbbc161f ("tests/spec: EXT_image_dma_buf_import invalid attributes") Reviewed-by: Eric Anholt <eric@anholt.net>
2018-11-13vulkan: Prefix group names for VkRunner tests with “vulkan”Neil Roberts1-0/+1
This will make it easier to distinguish tests written for Vulkan. It makes a bit of an inconsistency because the GL and CL tests don’t have any prefix. Ideally maybe we would add a prefix for those too, but changing the test names at this late stage would probably cause a lot of hassle. Adding the prefix will avoid problems if we eventually decide to merge the Vulkan profile into the “quick” profile because otherwise we risk having name collisions when the same thing is tested on both Vulkan and GL. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Reviewed-by: Mark Janes <mark.a.janes@intel.com> Tested-by: Mark Janes <mark.a.janes@intel.com>
2018-11-13EGL_EXT_image_dma_buf_import: add AYUV format supportLionel Landwerlin3-0/+27
v2: Forgot to add the new test to opengl.py Drop some code to deal with alpha channel v3: Don't remove static const from expected results (Eric/Tapani) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2018-11-09remove ext_image_dma_buf_import-intel_external_sampler_with_dma_onlyLionel Landwerlin3-107/+0
Commit a5c39ed974402c ("i965: Lift restriction in external textures for EGLImage support") from Mesa lifted the restriction that this test was checking. Easy fix! Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
2018-11-09khr_debug: fix invalid enum usage on gles3Erik Faye-Lund1-2/+7
GL_SAMPLES_PASSED isn't allowed on gles3, so doing a quiery with it isn't going to work. But GL_ANY_SAMPLES_PASSED is allowed, so so let's use that one instead on gles. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2018-11-09framework: Add support for serializing VkRunner testsNeil Roberts4-3/+24
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-11-09framework/test: Use relative paths in the filename for VkRunnerTestNeil Roberts2-5/+6
Previously the filename was the full path to the test. This would break if the filename was serialized and installed to a different location. The code is based on what is done for ASMParserTest. However I have a suspicion that this won’t work for running generated tests from an out-of-tree build. In that case the path no longer contains the path to the build directory. If this really is a problem it will need to be fixed for ASMParserTest too so it could be done in a separate patch. In the meantime there aren’t any generated VkRunner tests yet so it’s not really a problem. Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-11-09framework/test: Set the filename property on VkRunnerTestNeil Roberts1-0/+2
This will be retrieved when generating the XML profile for the VkRunner tests. Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-11-09Cmake: Install vk_shader_test filesNeil Roberts1-2/+2
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-11-08python: add explicit utf-8 encodingEric Engestrom121-0/+121
I went with `# coding=utf-8` as it was the most common format in the existing code: 24 # coding=utf-8 21 ## coding=utf-8 19 # encoding=utf-8 9 ## encoding=utf-8 6 # -*- coding: utf-8 -*- I added it as the first line after the shebang, if any. Suggested-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-11-08framework: fix python2Eric Engestrom1-1/+1
The non-ascii char broke the python2 CI: https://travis-ci.org/mesa3d/piglit/jobs/452170869 Fixes: 221d924689e3bb2796ce "framework: Add a vulkan tests profile" Cc: Neil Roberts <nroberts@igalia.com> Cc: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-11-08vulkan: test cases for large local arraysAlejandro Piñeiro5-0/+201
Equivalent to the GLSL tests added with the series "Test cases for large GLSL local arrays". Quoting from the cover-letter of that series: "Drivers typically need special handling for local array storage when arrays exceed a certain size, this adds a few test cases for exercising some corner cases that were useful when implementing support for this in the r600g driver." Right now only two of the tests included on this series is passing (local-array and multiple). But all of them were working until the the following commit: * b3c6146925595ec3a7eece3afb9ccaad32906d4c ("nir: Copy propagation between blocks") So it is fact, a regression. More info on https://bugs.freedesktop.org/show_bug.cgi?id=108624 Original GLSL series: https://lists.freedesktop.org/archives/piglit/2017-March/021867.html Reviewed-by: Neil Roberts <nroberts@igalia.com>
2018-11-07vulkan: Add some tests for glsl450 builtin functions using doublesNeil Roberts5-0/+373
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2018-11-07framework: Add a vulkan tests profileNeil Roberts4-1/+76
This searches for files named *.vk_shader_test in the tests/vulkan directory and runs them with VkRunner. VkRunner is executed as an external dependency. It is found either with the vkrunner:bin config option, by setting the PIGLIT_VKRUNNER_BINARY environment variable, or just in the search path. v2: Move VkShaderTest to piglit_test.py and rename to VkRunnerTest. Add future imports. Remove unused import. v3: Support the PIGLIT_VKRUNNER_BINARY variable to specify the location of VkRunner. v4: Add documentation to the README. Add an option in piglit.conf to set the binary location. (Suggested by Samuel Iglesias) Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-11-05glsl/frexp: fix the incorrect expected valuesAndrii Simiklit1-1/+12
I guess that this test has the incorrect expected values. For instance the test expects that exponent for a value 2 will be 1 But it contradicts to spec because in this case the value of 'significand' must be 1.0: 2.0 = 1.0 * 2 ^ 1 GLSL spec says (about 'frexp'): "Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * 2 ^ exponent The significand is returned by the function and the exponent is returned in the parameter exp. For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108537 Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2018-11-04idtech: Fix format-security warning.Vinson Lee1-1/+1
idtech-extension-strings.c: In function ‘check_extension_list’: idtech-extension-strings.c:131:10: warning: format not a string literal and no format arguments [-Wformat-security] application_name); ^~~~~~~~~~~~~~~~ Fixes: f787ad0b6086 ("Add tests for GL_EXTENSION_STRING vs. old idTech2 / idTech3 games") Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2018-11-01egl_ext_device_drm: Fix format warning.Vinson Lee1-1/+2
egl_ext_device_drm.c: In function ‘main’: egl_ext_device_drm.c:165:52: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] printf("Make sure you have permissions to open %s\n"); ~^ Fixes: 039bbe4a61d1 ("egl_ext_device_drm: don't fail the test if open("/dev/dri/cardX") errors") Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-11-01gles-3.0: test for vertex attribute aliasingTapani Pälli3-0/+98
Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106833
2018-10-31egl_ext_device_drm: don't fail the test if open("/dev/dri/cardX") errorsEmil Velikov1-1/+4
As pointed out by Mathias opening the card node can fail in some cases. In boils down to a) the node is owned by root:video b) by default, the user is not part of the video group c) logind dynamically allows any user to open the node, once a user has logged-in. Thus if we use a remote machine accessible only over ssh, the test will fail. A fairly common setup that one could use for their CI. Demote the failure to a warning. v2: add missing eglTerminate (Mathias) Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
2018-10-31piglit: remove unneeded wayland-egl dependencyEmil Velikov1-1/+1
We do not use wayland-egl anywhere ... so let's remove it. Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-10-30tests: enable test case egl-context-priority on all egl platformsXiong, James1-6/+1
Signed-off-by: Xiong, James <james.xiong@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2018-10-30glsl-1.30: update linker test for inter stage in/out vars usageVadym Shovkoplias1-1/+4
Adding additional in/out variable which exposes a new GLSL linker bug, where we were using a variable in the IR which was later freed because we forgot to clone it. The test fails with the following error message: Failed to link: error: fragment shader input `bar' has no matching output in the previous stage Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-10-26fbo: add a few quirk-tests for format-emulationErik Faye-Lund3-0/+178
Drivers who implement GL_ALPHA textures by swizzling a GL_R texture needs to be prepared to offer multiple blend-colors, otherwise they will produce the wrong result, because the blend-color will also need per-format swizzling. Similarly, when drivers implement GL_RGB with GL_RGBA and adjust the blend-factors, they need to have separate blend-factors for all framebuffer attachments or the results will be wrong. This reveals a couple of bugs in virgl, where these currently fail. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-10-25piglit/vbo: memory leakSergii Romantsov1-0/+1
Trivial fix of memory leaking for test 'initialized-vbo'. v2: Rb added. Fixes: 6a467e00cfae (security/initialized-vbo: test contents of uninitialized VBOs) CC: Brian Paul <brianp@vmware.com> Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2018-10-24glsl-1.50: Verify that gl_ClipDistance cannot be redeclared to change ↵Ian Romanick6-0/+98
qualifier or type glslangValidator rejects all of the shaders that try to change the qualifier with errors like: ERROR: 0:8: 'redeclaration' : cannot change qualification of gl_ClipDistance Mesa currently allows all of them to compile. Closed-source drivers have not been tested. glslangValidator rejects the shaders that try to change the type with: ERROR: 0:8: 'gl_ClipDistance' : redeclaration of array with a different element type Mesa currently rejects these with a somewhat less helpful error message. Closed-source drivers have not been tested. NOTE: The lone .vert test is here because vertex shader array input were added in GLSL 1.50. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: Andrii Simiklit <andrii.simiklit@globallogic.com>
2018-10-24glsl-1.30: Verify that gl_ClipDistance cannot be redeclared to change ↵Ian Romanick9-0/+117
qualifier or type glslangValidator rejects all of the shaders that try to change the qualifier with errors like: ERROR: 0:8: 'redeclaration' : cannot change qualification of gl_ClipDistance Mesa currently allows all of them to compile. Closed-source drivers have not been tested. glslangValidator rejects the shaders that try to change the type with: ERROR: 0:8: 'gl_ClipDistance' : redeclaration of array with a different element type Mesa currently rejects these with a somewhat less helpful error message. Closed-source drivers have not been tested. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: Andrii Simiklit <andrii.simiklit@globallogic.com>
2018-10-24glsl-1.10: Verify that gl_TexCoord cannot be redeclared to change qualifier ↵Ian Romanick8-0/+104
or type glslangValidator rejects all of the shaders that try to change the qualifier with errors like: ERROR: 0:8: 'redeclaration' : cannot change qualification of gl_TexCoord Mesa currently allows all of them to compile. Closed-source drivers have not been tested. glslangValidator rejects the shaders that try to change the type with: ERROR: 0:8: 'gl_TexCoord' : redeclaration of array with a different element type Mesa currently rejects these with a somewhat less helpful error message. Closed-source drivers have not been tested. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: Andrii Simiklit <andrii.simiklit@globallogic.com>
2018-10-24glsl-1.50: Add missing out qualifier on gl_ClipDistance redeclarationIan Romanick1-1/+1
See https://lists.freedesktop.org/archives/piglit/2013-October/007935.html for the discussion. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: Andrii Simiklit <andrii.simiklit@globallogic.com>
2018-10-18Build fix for previous commitNicolai Hähnle2-11/+39
Don't use C++11 features. Reported-by: Jan Vesely <jan.vesely@rutgers.edu>
2018-10-17arb_tessellation_shader/tes-gs-max-output: new test for TES/GS amplificationNicolai Hähnle3-0/+819
Test extremes of GS amplification under tessellation. Acked-by: Marek Olšák <marek.olsak@amd.com>
2018-10-17glsl-1.50/gs-max-output: new test for geometry shader amplificationNicolai Hähnle3-0/+551
Test the extremes of # of GS output vertices / components per GS input primitive. Existing tests only cover cases of high # of components per vertex, but not cases of low # of components per vertex and high # of output vertices. Acked-by: Marek Olšák <marek.olsak@amd.com>
2018-10-09arb_shader_image_load_store: Test format incompatible texture bufferDanylo Piliaiev1-5/+14
Test for the regression which happened when GL_TEXTURE_BUFFER was allowed to have incompatible format. v2: Removed unnecessary code duplication - use upload_image instead of init_level. (Francisco Jerez) v3: Removed upload_image call because image is already called by init_image. (Francisco Jerez) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106465 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2018-10-09idTech: fix extensions string listEric Engestrom1-1/+1
CID: 1439995 Fixes: f787ad0b60869f969f02d "Add tests for GL_EXTENSION_STRING vs. old idTech2 / idTech3 games" Cc: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>