Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This fixes a valgrind error in executing shader_runner on this test.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
|
|
V2 (Timothy Arceri):
- use piglit_get_gl_enum_name()
- use ARRAY_SIZE()
- set config.khr_no_error_support
Reviewed-by: Brian Paul <brianp@vmware.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73096
|
|
This filter hasn't worked quite right since the XML profile conversion,
the reason is that the assumption all filters had before the conversion
was that they would be used once, which is no longer true. They'll be
run at least twice now, once to get the count of tests, and once to
run the tests.
With the addition of the reset() method to the filter protocol, and the
Filter class that calls it, we can set the seed in the random generator
back to 42 (an arbitrary starting value), before it's run. This ensures
that the generation of the count and running of the actual tests match.
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
This class works like a list, but with an extra method that allows it to
"reset" a filter. This will allow class based filters that need to be
reset to have deterministic behavior to do so.
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
This is a bug that has existed for a long time, and I'm not really sure
how we haven't hit this before honestly, I think that the reason this
has worked is that we've always provided a concrete type to to
pool.imap.
The problem is that pool.imap is an iterator. If you don't walk the
results then the program might exit before finishing. This seems to be
especially true when running without -c or -1. Instead we'll write the
loop, using pool.apply_async does basically the same thing (without the
ability to use chunks), but with out exiting early.
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
test_list is an iterator, you can't walk an iterator more than once. To
solve this we use itertools.tee, which creates a shared buffer for the
iterators to draw from. This fixes errors like:
[000/480]
Traceback (most recent call last):
File "./piglit", line 178, in <module>
main()
File "./piglit", line 174, in main
sys.exit(runner(args))
File "/home/user/piglit/framework/exceptions.py", line 51, in _inner
func(*args, **kwargs)
File "/home/user/piglit/framework/programs/run.py", line 370, in run
backend.finalize({'time_elapsed': time_elapsed.to_json()})
File "/home/user/piglit/framework/backends/json.py", line 163, in finalize
assert data['tests']
AssertionError
Thanks Tomi for figuring out what was wrong with the original patch!
CC: Tomi Sarvela <tomi.p.sarvela@intel.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
|
|
ARB_ES_compatibility add several compressed (and specific)
internalformats. Those become part of 4.3.
We try to be smart and only try them if the extension is available. In
order to do that we differentiate the base (list of internalformats
available when the extension was defined) and es3_compatibility
formats, and concatenate to test them all only if needed.
Reviewed-by: Antia Puentes <apuentes@igalia.com>
|
|
Values based on mesa format_info.h values.
Reviewed-by: Antia Puentes <apuentes@igalia.com>
|
|
formats
Until right now we were using glTexImage*D for any compressed
internalformat. That would only work always if the driver supports
online compression for specific compressed internalformats.
As it is not really easy to check which internalformats the driver
supports online compression for, it is safer to use
glCompressedTexImage*D for any specific internalformat, keeping
glTexImage*D for the generic ones.
v2: specific compressed internalformat GL_COMPRESSED_RED_RGTC1 was
missing, minor tweaks (Antia)
Reviewed-by: Antia Puentes <apuentes@igalia.com>
|
|
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
|
|
Because concurrency is nice.
v2: - squash always remove tempfile into this (Juan)
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
|
|
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
|
|
Patch moves subtest execution in a separate function that
returns total result for each format, this fixes issues in test
with current pass/fail reporting.
Also remove reporting from verify_contents_float, this caused
duplicate subtest result reporting.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
Because python2 uses bytes, but python3 uses unicode.
CC: Michel Dänzer <michel.daenzer@amd.com>
Fixes: d42d909cd754d0e2c41eec60f3a1015f2d882b95
("tests: Add script to find all hand written test files")
Tested-by: Brian Paul <brianp@vmware.com>
|
|
Since it includes shaders.
|
|
OpenGL 3.1 is a little special when it comes to compatibility. If
a 3.1 compat profile is requested by piglit and ARB_compatibility
not supported waffle will end up creating a core profile for us.
Here we make sure ARB_compatibility is supported when explicitly
requesting a 3.1 compat profile from piglit. This allows us to
avoid testing for ARB_compatibility in all GL 3.1 compat tests.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106277
|
|
This happens due to LLVM printing colored text into stdout/stderr on error.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
|
|
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
|
|
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
|
|
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
|
|
This results in substantially smaller profiles and doesn't seem to
affect runtime.
v2: - install xml and xml.gz files. This is needed so that meta profiles
will be installed.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
This creates and installs xml for all builtin profiles. Using these
profiles I see startup times of ~1 second as opposed to more than 10
with current master, and runtimes that drop by ~1 minute.
v2: - Fix compilation with make. v1 only worked with ninja.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Including asmparser, glslparser, shader, and program tests, which will
be used by cmake to regenerate the appropriate xml whenever a new test
is added.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
This script loads a python module and creates an XML profiles. It will
be used at build time to serialize the built-in profiles. It currently
cannot serialize integrated suites (such as dEQP or IGC), but it could
be extended to do so.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
This conflicts with the idea of serializing the tests at build time,
since we can't assume that the build machine has the same features set
as the machine that will run tests, we can't run such a filter.
Since startup time is much faster and fast skip calculations are done at
build time I hope that no one will miss this.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Currently is_skip() relies on runtime detection of which glslparsertest
binaries are built, but we can't assume that at build time. Instead
always assign the appropriate binary, and then check for the existence
of that binary at run time.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
This is a rather sizeable commit, I'm sorry for that. Basically there
was no clean way I could come up with to make the change from a single
python file to multiple xml files.
The reason we want this is to to avoid duplication amongst profiles (and
very long build times), by allowing a single profile to be included in
multiple other profiles. This means that the all profile is now composed
of the "glslparser", "shader", and "opengl" (everything in all that's
not glslparser, asmparser, or shader tests). Running `piglit run all
foo` still produces the same results. This also allows us to mix native
and non-native tests so that traditional targets like quick_cl still
work.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
This filter is incorrect as is, in that it can mask tests that it can
remove tests it shouldn't, for example
spec@arb_enhanced_layouts@arb_enhanced_layouts-transform-feedback-layout-qualifiers_vs_interface.
Correcting this is problematic because it changes the way the filter
works and filter will now remove different tests than it did before.
However, it is necessary for a couple of reasons. 1) it's removing tests
it shouldn't, 2) this series is going to split reverse the
shader.py/all.py relationship, and this bug is going to surface there.
The good news is that while this changes the specific tests run, at least
on Intel hardware no failures are removed and no failures are added.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
For out of tree builds we need to point at a TESTS_DIR that is in tree,
and a GENERATED_TESTS dir that is out of tree. At no other time do we
need to do this.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
MetaProfiles are a single profile composed of more than one profile.
This is designed to allow the old all-inclusive names to continue to
exist without having to keep duplicates of each profile around. A
metaprofile simply declares that it needs profiles a, b, and c and then
runs those.
This allows an "all" meta profile to include opengl, shader, and
glslparser, for example.
A metaprofile is allowed to include XML or python based profiles.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
This will be used during build time to allow profiles that modify other
profiles to load XML instead of rebuilding.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Which includes de-serialization on demand. This will vastly reduce the
amount of resident memory that is necessary to hold the tests since test
instances are made on demand, and can be garbage collected as soon as
the run in complete.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Because they need to be relative at build time for serialization.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
These tests need some special handling for serializing, since they take
file paths as arguments.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Just a nice cleanup.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|
|
Since the serialized tests wont need this path, build a generic
constructor that this special constructor can leverage.
Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
|