Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
This exercises two code paths in Mesa's display list VBO code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
|
|
|
|
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.
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Use common code for printing unexpeced results for float and
ubyte color probes.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
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>
|
|
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>
|
|
Use newly created piglit_probe_rect_two_rgb instead of test-local
framebuffer probing code.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
Use newly created piglit_probe_rect_two_rgb instead of test-local
framebuffer probing code.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
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>
|
|
Use a static cyclic buffer of 4096 bytes. This should give returned
strings a long enough lifetime.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
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>
|
|
-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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
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>
|
|
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
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>
|
|
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
The "name" field was unused.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
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>
|
|
Replace GLenum stringification macros with calls to piglit_get_gl_enum_name.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|