summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-01-30arb_internalformat_query2: more than one way to support GEOMETRY_TEXTUREAlejandro Piñeiro1-1/+2
v2: GL_EXT_geometry_shader should not be checked, as is only for GLES (Ilia Mirkin) Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-01-30arb_internalformat_query2: minmax GL_ALPHA8 deprecated on 3.1+Alejandro Piñeiro1-2/+16
When ARB_compatibility is missing or the context is Core. v2: check for ARB_compatibility or core (Marek) Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-01-30arb_internalformat_query2: avoid bogus error spam about unsupported pnamesRoland Scheidegger3-41/+37
The test fed the equivalent_pname into the get_unsupported_response() function, which led to nonsense logged errors as this only recognizes the original pnames. Refactor pname/equivalent_pname translation so always the original pnames are fed into that function. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
2018-01-25arb_arrays_of_arrays: add ubo test with explicit bindingAlejandro Piñeiro1-0/+42
Although seems somewhat too specific, with mesa HEAD at: 766589d89a211e67f313e8cb38f2d05b09975f96 this test crashes, so it would be good to include a test for this. v2: Added comments that clarify the array index used (Fabian) Reviewed-by: Fabian Bieler <fabianbieler@fastmail.fm>
2018-01-19Revert "framework: Handle crashing subtest."Fabian Bieler1-7/+1
This reverts commit 938ec48e2575b78defd06d169f704ed8d4f11bce. The behaviour introduced by this commit was not desired and breaks summaries for tests that crash before the first call to piglit_report_subtest_result. See also https://bugs.freedesktop.org/show_bug.cgi?id=104700
2018-01-18gl-1.0-blend-func: add --quick optionBrian Paul2-5/+25
The test normally runs about 27,000 tests and takes quite a long time with some drivers. With the --quick option, only 5% of the tests are run. And update tests/quick.py to run the test with --quick. v2: test 5% instead of only 1% Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2018-01-18gl-1.0-dlist-materials: new test of materials in display listsBrian Paul3-0/+166
This exercises two code paths in Mesa's display list VBO code. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2018-01-18arb_enhanced_layouts/ssbo: make sure the driver supports vertex ssbosDave Airlie3-0/+3
2018-01-18arb_shader_clock: fix use of atomic countersDave Airlie2-2/+2
This test was trying to use two atomic counters at different buffer bindings, but the shader runner just allocates one bo, so just use the same binding, they will end up sequential.
2018-01-16framework: Handle crashing subtest.Fabian Bieler1-1/+7
Piglit silently ignored crashes in subtests. It's impossible to know what subtest crashed. Theoretically it might even be possible that a test crashes after the last call to piglit_report_subtest_result and thus no subtest crashed. Though the odds of that happening are probably pretty long. If a test with subtests crashes, this commit adds an additional subtest named "unknown" with result "crash". The issue that subsequent subtests are not run is not touched upon by this commit. This is more of a work-around. A proper fix would modify the C subtest framework to print a list of subtests it intends to run at the start of the test. This would enable the python subtest framework to know which subtest crashed. But that's a lot of work (it would require modifying more than 100 tests) and this is better than nothing. See also: https://bugs.freedesktop.org/show_bug.cgi?id=74642 Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16arb_texture_barrier add test texture-halves-ping-pong-operation-chainFabian Bieler3-0/+205
From the GL_ARB_texture_barrier spec: "Specifically, the values of rendered fragments are undefined if any shader stage fetches texels and the same texels are written via fragment shader outputs, even if the reads and writes are not in the same Draw call, unless any of the following exceptions apply: - The reads and writes are from/to disjoint sets of texels (after accounting for texture filtering rules). - There is only a single read and write of each texel, and the read is in the fragment shader invocation that writes the same texel (e.g. using "texelFetch2D(sampler, ivec2(gl_FragCoord.xy), 0);"). - If a texel has been written, then in order to safely read the result a texel fetch must be in a subsequent Draw separated by the command void TextureBarrier(void); TextureBarrier() will guarantee that writes have completed and caches have been invalidated before subsequent Draws are executed." Previously the only Piglit test for ARB_texture_barrier tested point 2 of that statement. This test aims to test point 1. It uses an uint texture bound as the colorbuffer and texture sampler source. It renders 6 passes. Every pass one half of the texture is sampled from while the other is written to. Which is which is swapped every pass. The operations in the passes are chosen so that the end result will differ if any pass is missing or the passes aren't executed in the correct order. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16gles3: Test transform-feedback to uniform-buffer-objectFabian Bieler3-0/+193
Some tiling renderers reorder draw-calls for performance reasons. This could interfere with the integrity of resources written to by draws calls and read from by subsequent draw calls. This test uses a buffer object, written by transform feedback and read as a uniform buffer object. With blending enabled, draw 3 identical passes: Each pass consists of two sub-passes: First sub-pass: Draw a grid of 8x8 transparent quads (each 32x32 pixels in size). Write the index of the current pass with transform feedback in a buffer object. Second sub-pass: Draw another grid of 8x8 quads. If the buffer object contains the index of the current pass output transparent, white otherwise. Check that the framebuffer is unaltered. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16arb_draw_indirect/draw-arrays-prim-restart: Ignore primitive restart.Fabian Bieler1-3/+7
glspec45 says since version 20141030 primitive restart only affects glDrawElements* calls. This is supposed to be a retroactive change. Previously, this test expected glDrawArraysIndirect to respect primitive restart. This commit modifies the test to expect glDrawArraysIndirect to ignore it, instead. See also https://bugs.freedesktop.org/show_bug.cgi?id=93308 Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16gl 1.0: Stress test GL_LINE_LOOP.Fabian Bieler3-0/+201
Draw circles with long line loops and check the result. In particular, check that the last line segment is drawn and that no additional segments in between arbitrary vertices are drawn. V2: Increase vertex size and count to exhaust Mesa's vbo buffer and Gallium's auxiliary draw buffer. Add command line argument to set vertex count. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16Add test for all user defined clip planesFabian Bieler3-0/+121
Previously the only fixed function user defined clip plane test used only one clip plane and no coordinate transformation. This new test uses all clip planes and a non-identity coordinate transformation matrix. The test works as follows: Arrange all clip planes perpendicular to the x-y-plane with equal angles between them and a distance of 0.5 to the origin. The user defined clip space should thus be a n-prism of infinite height centered around the z-axis where n is GL_MAX_CLIP_PLANES. Draw a quad filling the screen. The resulting render should be an n-sided regular polygon. Test color on either side of each edge of the polygon. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util-gl: Remove tolerance from integer pixel probes.Fabian Bieler1-2/+2
The present tests using these functions use the default piglit_tolerance of 0.01 which is as good as no tolerance for integer values. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util-gl: Add pixel comparison functions.Fabian Bieler1-183/+166
Add two static functions to compare n-component float or ubyte color values. This is code easily shared between multiple probing functions. Note: piglit_probe_rect_halves_equal_rgba was moved down to the other probing functions in order to use one of the new functions without a forward declaration. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util-gl: Consolidate printing of bad probed pixels.Fabian Bieler1-82/+85
Use common code for printing unexpeced results for float and ubyte color probes. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util-gl: Remove piglit prefix from static functions.Fabian Bieler1-27/+28
Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util-gl: Make piglit_compare_images_color respect x and y arguments.Fabian Bieler1-5/+8
piglit_compare_images_color used to ignore its x and y arguments. This commit fixes that and fixes piglit_probe_image_color which used to pass garbage values into piglit_compare_images_color. The header comment of piglit_probe_image_color is also updated. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util-gl: Silence some lint warnings.Fabian Bieler1-12/+13
clang-tidy complained about a potential memory leak, a type mismatch in a malloc call and a potential null-pointer deref. All three issues were false positives but I got tired of ignoring them. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16triangle-rasterization: Use util function to probe framebuffer.Fabian Bieler1-11/+8
Use newly created piglit_probe_rect_two_rgb instead of test-local framebuffer probing code. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16ignore-adjacent-veritces: Use util function to probe framebuffer.Fabian Bieler1-33/+4
Use newly created piglit_probe_rect_two_rgb instead of test-local framebuffer probing code. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util-gl: Add piglit_probe_rect_two_rgb.Fabian Bieler2-0/+53
Read color data from the given rectangle and compare its RGB value to the given two expected values. Print a log message if the color value deviates from both expected values. Return true if the color values match, false otherwise. This is useful to compare two renders drawn on top of each other with blending. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-16util/gl: Print numeric value of unrecognized enums.Fabian Bieler1-1/+13
Use a static cyclic buffer of 4096 bytes. This should give returned strings a long enough lifetime. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-12arb_texture_multisample: stress test of very large textures (v3)Brian Paul4-0/+753
Create the largest possible 2D GL_RGBA_32F multisampled texture, load it with known values the read it back and see if the values match up. The --array option runs the test with a 2D texture array instead of an MSAA texture. There are other options to specify texture size, number of samples, fp16 and a texel value scale. Fails with NVIDIA's driver. See code comments. Note: The entry in all.py limits the texture size to 512x512 so it runs in a reasonable amount of time. Ideally, the texture size should be set in quick.py instead but I've been unable to make that work. v2: * Fix a few code issues raised by Fabian Bieler, fix all.py, quick.py code. * Update comments about NVIDIA driver, per Roland. v3: * remove config.khr_no_error_support line. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2018-01-11teximage-colors: accept -127 instead of -128 for exact snorm up/downloadRoland Scheidegger1-4/+36
-128 and -127 represent exactly the same value (-1.0) for snorm8 values, as do -32768/-32767 for snorm16. Therefore it seems quite reasonable that an implementation would return the other representation (in particular r600 will do this with a blit, and the snorm->float->snorm conversion implied by this will never return the -128/-32768 values). Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-11arb_texture_buffer_object/indexed: test indexed samplers with tboRoland Scheidegger3-0/+112
This just verifies that sampler arrays indexed with a uniform work with TBOs. (Broken on r600 evergreen pending a fix.) v2: fix compiler warnings, directly assign index uniform in shader Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-01-09built-in-constants: check required GLSL versions for #extensionsJuan A. Suarez Romero1-1/+4
GL_OES_geometry_shader and GL_OES_tessellation_shader specifications require OpenGL ES Shading Language 3.10. So do not declare those extensions in shaders using older GLSL versions. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2018-01-08ssbo/execution: test std140/430 struct derefFlorian Will1-0/+85
This catches Mesa bug 104492 on radeonsi. The existing std140/430 tests don't assign whole struct variables, only individual struct members, which does not trigger the bug. Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-01-04arb_texture_buffer_object/max-size: skip if the buffer can't be allocatedRoland Scheidegger1-0/+6
The max size reported by GL_MAX_TEXTURE_BUFFER_SIZE only guarantees that buffers which contain that many texels can be sampled from. It does not mean it is guaranteed the corresponding huge buffers can be allocated in the first place. (r600 for instance will report some huge number, the test cuts this to 512 million texels, but naturally fails to allocate the 2GB buffer for it, at least on my card with 1GB vram. The driver actually will report 0.7 times the max of vram and gart size, but since the gl cap is in texels this doesn't really help as the test uses rgba8 format.) Since the test specifically tries to test the max, skip it when this happens (instead of trying lower sizes). Reviewed-by: Fabian Bieler <fabianbieler@fastmail.fm>
2018-01-04textureSize: add ability to test tess eval stageRoland Scheidegger4-11/+84
This is a problem of all texturing tests, they cannot exercise the tesselation stages. (But I'm too lazy to fix the others, and too lazy to hack something up for tcs stage, I only need it to verify a bug/fix with r600 buffer textures.) v2: add to all.py so it is actually run (all in all there's about 40 addtional tests run) Reviewed-by: Fabian Bieler <fabianbieler@fastmail.fm>
2018-01-03Remove old ATI_fs testMiklós Máté3-60/+0
It's a subset of spec/ati_fragment_shader/api-gen Signed-off-by: Miklós Máté <mtmkls@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-01-03ATI_fs: add some api testsMiklós Máté4-0/+163
v2: don't exit on first failure, add license headers, drop redundant error checks, add build system integration, add tests to all.py Signed-off-by: Miklós Máté <mtmkls@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-01-03ATI_fs: add render testsMiklós Máté9-0/+937
These mainly check the state machine. Compiler checks will come later. v2: don't exit on first failure, improve some tests, add license headers, drop redundant error checks, add build system integration, add tests to all.py v3: enums instead of magic numbers, style cleanups (by anholt, acked by Miklós). Signed-off-by: Miklós Máté <mtmkls@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-01-03ATI_fs: add api error testsMiklós Máté18-0/+1953
One for each paragraph in the Errors section of the spec. v2: don't exit on first failure, improve some tests, move spec quotes to top, add license headers, drop redundant error checks, add build system integration, add tests to all.py Signed-off-by: Miklós Máté <mtmkls@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-01-03Update TODO.Fabian Bieler1-14/+1
Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03arb_clear_texture: Remove GLenum stringification macros.Fabian Bieler7-41/+26
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03fbo-formats: Remove GLenum stringification macros.Fabian Bieler14-223/+244
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. V2: Make sure GL 1.0 legacy internal formats '3' and '4' are logged correctly. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03util/sized-internalformats: Remove GLenum stringification macros.Fabian Bieler6-113/+112
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03texturing-texwrap: Remove GLenum stringification macros.Fabian Bieler1-185/+185
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Also replace string comparison between command line argument and GLenum name with call to piglit_get_gl_enum_from_name and integer comparision. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03EXT_transform_feedback: Remove GLenum stringification macros.Fabian Bieler1-19/+27
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03ARB_texture_view: Remove GLenum stringification macros.Fabian Bieler1-11/+8
The "name" field was unused. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03ARB_texture_compression: Remove GLenum stringification macros.Fabian Bieler1-111/+105
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Also remove hard-coded GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI. Piglit-dispatch-gen defines this GLenum on all platforms. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03ARB_*_program: Remove GLenum stringification macros.Fabian Bieler2-50/+50
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03compressedteximage: Remove GLenum stringification macros.Fabian Bieler1-27/+28
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Also replace string comparison between command line argument and GLenum name with call to piglit_get_gl_enum_from_name and integer comparision. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03fbo-depth-tex1d: Remove GLenum stringification macros.Fabian Bieler1-11/+9
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Also replace string comparison between command line argument and GLenum name with call to piglit_get_gl_enum_from_name and integer comparision. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03fbo-depth: Remove GLenum stringification macros.Fabian Bieler1-12/+11
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Also replace string comparison between command line argument and GLenum name with call to piglit_get_gl_enum_from_name and integer comparision. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03fbo-stencil: Remove GLenum stringification macros.Fabian Bieler1-12/+11
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Also replace string comparison between command line argument and GLenum name with call to piglit_get_gl_enum_from_name and integer comparision. Reviewed-by: Brian Paul <brianp@vmware.com>
2018-01-03teximage-colors: Remove GLenum stringification macros.Fabian Bieler1-71/+70
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name. Also replace string comparison between command line argument and GLenum name with call to piglit_get_gl_enum_from_name and integer comparision. Reviewed-by: Brian Paul <brianp@vmware.com>