Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
[v2] Test rounding of float to integer, and pretty up the test name in
the results.
|
|
Previously, there would be bursts of concurrent tests as we ran into a
series of them while walking the list of tests. If we get to the
point of the serial tests not being the limiting factor, it might have
impacted our total time.
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Reduces runtime from 26s to 6.7s on my system.
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Reduces runtime of piglit-run.py -t glslparser from 8.0 seconds to 5.4
seconds on my system.
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
This is not safe for all tests, but it means we can make some tests
run into FBOs and reduce disruption on developer systems.
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
I managed to drop them in the i965 VS backend.
|
|
This applies a small offset to the texel lookups.
It passes on softpipe and r600g, but no guarantee its actually correct.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This is just an initial simple test that just does enough to test TXF
development.
v2: add some lod testing, not sure what is defined at 1x1 and 2x2 miplevels.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
this test is a legal version that should pass.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
MSVC does not support the inline keyword for C.
|
|
The second one hits an assert in the glsl compiler..
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
Included are tests that test both positvely and negatively that the
compiler processed valid switch statements and detected syntax errors.
Signed-off-by: Dan McCabe <zen3d.linux@gmail.com>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
This test verifies that calling glGetAttribLocation on a
"conventional" attribute will return -1.
|
|
|
|
|
|
More combinations are obvious: 1D, 3D, Cube, 1DShadow, 2DShadow,
CubeShadow, 1DArray, 2DArray, 1DArrayShadow, 2DArrayShadow sampler
types, as well as NPOT textures, compressed textures...and calling
textureSize in the vertex shader.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Many tests want to check for a specific GLSL version. This helper
function makes that really easy: piglit_require_GLSL_version(130);
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Not really a FBO test, but it may help uncover some bugs.
|
|
|
|
This is a clone of the general draw-vertices test but adapted to test
the ARB_vertex_type_2_10_10_10_rev VBO api.
|
|
All of these tests follow a similar form. An array of matrices is set
to some values that have one incorrect element. A non-constant index
write is used to fix that incorrect element. The result is verified.
The tests vary on:
- Storage qualifier of the array/matrix (uniform, temporary, varying).
- Array / not an array.
- Matrix size (mat2, mat3, mat4).
- Whether or not the array index is a non-constant.
- Whether or not the matrix column is a non-constant.
- Whether or not the matrix row is a non-constant.
Since the base type is always a matrix, attributes and fragment shader
outputs are not tested.
|
|
All of these tests follow a similar form. A simple shader that reads
a particular array element, matrix column, and vector element (matrix
row) and compares it to some expected value. The tests vary on:
- Storage qualifier of the array/matrix (uniform, temporary, varying).
- Array / not an array.
- Matrix size (mat2, mat3, mat4).
- Whether or not the array index is a non-constant.
- Whether or not the matrix column is a non-constant.
- Whether or not the matrix row is a non-constant.
Since the base type is always a matrix, attributes and fragment shader
outputs are not tested.
|
|
Setting the rlimit should prevent the tests from completely exhausting
system memory and swap. Since the tests are more system friendly,
they are removed from the blacklist.
Acked-by: José Fonseca <jfonseca@vmware.com>
|
|
Acked-by: José Fonseca <jfonseca@vmware.com>
|
|
This test is made redundant by the spec/glsl-1.20/recursion tests. As
is, this test may not have been valid. It expected the error to be
generated at compile time, but many implementations generate this
error at link time.
Acked-by: José Fonseca <jfonseca@vmware.com>
|
|
These aren't done as shader_runner tests because there is no way to
expect linking or compilation to fail in shader_runner.
All of these tests pass on NVIDIA's closed-source driver except
'unreachable' and 'unreachable-constant-folding'.
All of these tests fail on AMD's closed-source driver, and 'simple',
'unreachable', and 'unreachable-constant-folding' crash inside the
driver. It looks like the compiler tries to recursively inline the
functions until the stack overflows.
Mesa currently produces pretty much the same results as AMD, but Mesa
can occasionally OOM instead of running out of stack.
I have not tested Apple's driver or Intel's Windows driver.
Reviewed-by: Chad Versace <chad@chad-versace.us>
Acked-by: José Fonseca <jfonseca@vmware.com>
|
|
Acked-by: José Fonseca <jfonseca@vmware.com>
|
|
This function sets the maximum amount of memory that a process can
have in its address space. This is useful for tests that use
"infinite" memory on failing implementations. Setting this low can
prevent the test from exhausting system memory and adversely affecting
other tests.
Acked-by: José Fonseca <jfonseca@vmware.com>
|
|
GLSL 1.30 added support for the following new built-in functions:
sinh, cosh, tanh, asinh, acosh, atanh, round, roundEven, trunc, modf,
isnan, and isinf.
This patch adds tests for all of the new built-in functions except
modf, isnan, and isinf. modf will need to be tested separately
because it has an out parameter; isnan and isinf will need to be
tested separately because producing infinite and NaN values will
require extra work in the shader.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
GLSL 1.30 adds support for the following operators: %, ~, <<, >>, &,
^, and |. This patch adds autogenerated tests for testing the
functionality of all these operators.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
GLSL 1.30 allows int and ivecN types to be passed to the functions
abs, sign, min, max, and clamp. In addition, it adds new unsigned
integer types uint and uvecN, which may be passed to min, max, clamp,
lessThan, lessThanEqual, greaterThan, greaterThanEqual, equal,
notEqual, and built-in operators.
This patch adds auto-generated tests for all of these new integral
built-in functions and operations.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
With this patch, shader_runner tests can now supply uniform values
using types "uint" and "uvecN".
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
This patch adds glUniform{1,2,3,4}ui and glUniform{1,2,3,4}uiv to the
set of GL functions available through aliases beginning with
"piglit_", so that they can be called from piglit tests in the same
manner as other OpenGL functions. Also added the missing versions of
glUniform{1,2,3,4}i and glUniform{1,2,3,4}iv.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
For builtin functions and operators returning bool, added generated
tests that use the return values in if statements like this:
if (a < b)
gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);
else
gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);
in addition to the existing tests that convert the return values to
floats, like this:
bool result = a < b;
gl_FragColor = vec4(result, 0.0, 0.0, 0.0);
Since implementations may produce substantially different GPU code for
these two cases.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
This function has been available since as early GLSL 1.10, it was
simply forgotten from the initial implementation of generated tests.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
This patch adds negative and zero values to the set of ints used to
test lessThan, lessThanEqual, greaterThan, greaterThanEqual, and
equal. It also adds ivecs whose elements are all positive to the
tests for operators--these will come in handy when we add tests for %,
which is not defined for negative inputs.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
This patch makes gen_builtin_uniform_tests.py and
gen_constant_array_size_tests.py build tests in a deterministic order,
so that when diffing their outputs from one revision to the next, it
is easier to see what changed.
There is no change in the actual tests generated, just in the *.list
files that are created as a side effect.
Reviewed-by: Chad Versace <chad@chad-versace.us>
|
|
Should fix MSVC build.
|
|
|
|
This patch adds tests for the following built-in GLSL operators:
- op-add, op-sub, op-mult, op-div: binary arithemetic operators on
floats, vecs, mats, ints, and ivecs.
- op-uplus, op-neg: unary arithmetic operators on floats, vecs, mats,
ints, and ivecs.
- op-gt, op-lt, op-ge, op-le: comparison operators on ints and floats.
- op-eq, op-ne: equality and inequality comparison on any GLSL 1.20 type.
- op-and, op-or, op-xor: logical operations on bools.
- op-not: unary logical not on bools.
- op-selection: trinary selection operator (x?y:z), where the first
argument is a bool and the second and third arguments are any GLSL
1.20 type.
Note that implicit type conversions are not tested. So, for instance,
int * ivec is tested, but float * ivec is not. This was in an effort
to avoid generating an outrageous number of tests.
Note also that the "shortcut" behavior of logical and/or and trinary
selection is not tested.
These tests leverage the same test generation framework used to test
built-in functions, so the tests exercise vertex shaders, fragment
shaders, and constant folding.
All in all 1332 tests are added, in the subtrees
spec/glsl-1.{10,20}/{compiler,execution}/built-in-functions.
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
|
|
In Python 2.6, the str.decode() function can't take keyword arguments,
so x.decode(y, errors=z) must be changed to x.decode(y, z). There is
no difference in functionality.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40051
|
|
|