summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-15Example shader_test scripts using new commandsshader_runner-time-v1shader_runner-timeJordan Justen2-0/+78
This commit is not intended to be added to piglit master, but it shows an example of how the previous shader_runner commits can be used. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15shader_runner: add finish commandJordan Justen1-0/+2
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15shader_runner: add echo commandJordan Justen1-0/+5
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15shader_runner: enable scissor commandJordan Justen1-0/+7
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15shader_runner: enable depth clearJordan Justen1-0/+4
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15shader_runner: support depth visual with DEPTH keyword in requirementsJordan Justen1-0/+7
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15shader_runner: add 'time reset' and 'time show' commandsJordan Justen1-0/+6
Insert time reset to set the timer to 0. The 'time show' command will then print out: microseconds: # When # is the elapsed time in microseconds since the reset. Piping the output through an awk command of awk '/microseconds: / {print $2}' will filter the time and provide a convenient input for ministat. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15piglit-util: add piglit_get_microsecondsJordan Justen3-0/+31
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Cc: Chad Versace <chad.versace@linux.intel.com>
2013-10-15glsl-1.50: add size requirements to 3 shader_test testsJordan Justen3-6/+9
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15shader_runner: support SIZE in requirement section of a shader_testJordan Justen1-13/+27
If a test requires a certain size, it adds 'SIZE Width Height' to the requirements section. Width and Height must be unsigned integers. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15glut framework: skip if implementation doesn't support required GL version.Paul Berry1-0/+28
In effect, we are already doing this when Waffle is in use, since Waffle uses a context creation mechanism that ensures that the context won't be created if the implementation doesn't support the GL version needed by the test. But for GLUT we need to do the check manually, since GLUT always just creates the highest GL version context it can. Tested-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-15gs: Check GL errors in primitive-id-restart test.Paul Berry1-0/+2
Previously, if drawing failed due to a GL error, no primitives would be generated, so the test would have nothing to check, and it would erroneously pass. Avoid that by checking for GL errors at the end of the test. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-15built-in-constants: don't try to create GS with version < 150.Paul Berry1-1/+1
Previously, built-in-constants looked at required_glsl_version to determine what to include in the "#version" directive, but it looked at glsl_version (the maximum version supported by the implementation) to decide whether to test geometry shaders. As a result, it when testing a built-in constant whose required_glsl_version was less than 150, it would try to create a geometry shader using a "#version" directive less than 150, leading to GL errors. This patch prevents the problem by only testing geometry shaders when required_glsl_version >= 150. Reviewed-by: Matt Turner <mattst88@gmail.com> v2: Don't try to create GS on GLES either. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-14junit: Update script for status class hierarchy.José Fonseca1-240/+9
Also, remove all the summary stuff, which we never used.
2013-10-14GL 3.2: Test that GetTexLevelParameterfv() generates an error when passed ↵Nicholas Mack3-0/+68
TEXTURE_BORDER v2: Multiple fixes and added to all.tests Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-14GLSL 1.50: Test that multiple shaders of version 140 and 150 can be linked ↵Nicholas Mack1-0/+52
together Reviewed-by: Paul Berry <stereotype441@gmail.com>
2013-10-14GLSL 1.50: Test that version 140 and version 150 shaders can be linked togetherNicholas Mack1-0/+33
Reviewed-by: Paul Berry <stereotype441@gmail.com>
2013-10-14GL 1.50: Test that UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER is accepted ↵Nicholas Mack1-42/+96
by GetActiveUniformBlockiv() v2: Incorporate this test into referenced-by-shader.c Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-14sso: Add compile tests for the location layout qualifierIan Romanick11-0/+171
NVIDIA (304.64 on GTX 260) fails all of the 1.10, 1.20, and 1.30 tests because they fail to recognize the layout keyword at all. Paul has suggested that adding #extension GL_ARB_fragment_coord_conventions: require may work around this issue in some cases. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com> Acked-by: Wen Su <WSu@nvidia.com>
2013-10-14sso: Combine 20 vertex shaders and 20 fragment shaders in various ways.Ian Romanick3-0/+374
Verify that the right shaders are used in the right combinations several ways. * The vertex shader has information baked-in that determines the X position of the block on the screen. * The fragment shader has information baked-in that determines how the block is colored. This is combined with data passed from the vertex shader. Since data is passed from the vertex shader to the fragment shader, the test can use either rendezvous-by-name (default) or rendezvous-by-location (with --by-location command line parameter). This test passes in both modes on NVIDIA (304.64 on GTX 260). v2: Ensure that the window is sized large enough for the tests. Use a much simpler shuffling algorithm. Both suggested by Paul. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2013-10-14sso: Verify that rendezvous by location also worksIan Romanick3-0/+204
Separate shader objects can either connect outputs to inputs by matching names (rendezvous by name) or by assigning explicit locations via the layout(location=...) (rendezvous by location). This is a simple test that a vertex shader with a different name than the fragment shader input can by matched by the location. v2: Fix some dumb bugs in the test. Use multiple values to ensure we're not matching using rendezvous-by-dumb-luck. v3: * Fix a bug in the ordering of cross product parameters. Noticed by Paul. * Add another test case where the fragment shader variables are listed in a different order. Add some explanitory text with rationalization for the tests chosen. * Dynamically set the #version line depending on driver support. This works around some bugs in the NVIDIA driver noticed by Paul. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2013-10-14piglit-run.py: Fix missing importKenneth Graunke1-0/+2
A late revision of commit 06b1a851874a75440458037543077002c31a510a accidentally included the hunk: -from threadpool import ThreadPool which broke piglit-run.py completely. It looks like a rebase mistake.
2013-10-14summary: Fold __generate_lists into __init__Dylan Baker1-21/+4
Since there is nothing special about __generate_lists() anymore (it always generates the same set of lists when called), and we need to call it in every instance just fold it back into the constructor, so that it no longer need to be explicitly called. v2: - Address some spelling problems in the commit message v3: - More spelling isues Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-14summary: Remove optimization with no impactDylan Baker2-42/+26
Generating these lists is rather trivial, so just generate them all the time. v2: - Fix html page generation v3: - Stop framework summary tests from trying to generate these lists Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-14status: Make use of the status objectsDylan Baker2-73/+36
This adds code in framework/summary.py and framework/core.py to make use of the status classes in status.py. This makes comparisons between statuses much simpler and cleaner v2: - Instead of importing all of the classes into the local namespace use the ``import ... as'' syntax. This means that if additional statuses are added they can easily be used without updating imports - Correct the sorting for fixes and regressions - Fix bug in TestResult that caused Fail, Warn, and Crash to be assigned the wrong status Objects - Adds support for dmesg-warn and dmesg-fail v3: - Use the status.status_lookup() function - Replace use of map with list comprehension Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-14status.py: Adds a new status class and subclassesDylan Baker1-0/+191
These status classes are intended to replace the string statuses currently used by piglit summary. They give a couple of very nice advantages, first, they can be directly compared to each other to determine whether a status is worse than another status. These statuses can also be compared to any object implementing the __int__ magic method. This will allow us to remove a number of special functions for sorting representations of statuses. v2: - Use larger numbers for the statuses, this should make adding additional statuses easier, since there is room between the statuses. - Add a class for the "Not Run" status - Adds classes for dmesg-warn and dmesg-fail - Change statuses to match the standard set in the framework test - Spelling corrections v3: - add a docstring showing status order - correct a couple of comments - Adds a function for converting a string into a status Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-14framework/summary.py: Fix problems with status handlingDylan Baker1-22/+26
Fixes status handling (fixes, regressions, changes) to be compliant with the status handling in framework_tests/summary.py. Mainly this addresses notrun -> * and * -> notrun, as well as a few corner cases. v2: - Spelling corrections v3: - More spelling corrections - fix skipped page generation Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-14piglit-framework-tests.py: Adds a utility for running piglit unit testsDylan Baker1-0/+47
This program gives the option to run the tests. These tests are meant to test internal features of the piglit framework. Currently there are only tests for the summary module's handling of regressions, fixes, changes, and problems. Acked-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-14framework/tests/summary.py: Tests Summary.py's assignment of statuesDylan Baker3-0/+445
This code tests the way Summary.py assigns statuses to tests. Specifically it tests regressions, fixes, changes, and problems, assuring that only the correct permutations of these tests are added to the list. It uses python's builtin unittest framework, and a magical decorator to limit code duplication. This already reveals ~20 problems in the current implementation v2: - Move framework_tests to framework/tests - Spelling corrections v3: - More spelling corrections - Address a number of concerns from Ken Graunke - Make exceptions more robust by using the ``except <error> as'' syntax - Refactor framework tests to reduce code duplication - Use python's tempfile module to get the system dependent temporary file location instead of hard-coding /tmp - Add test for the skip list Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-14arb_sync: Test that a sync object is initialized with the correct propertiesNicholas Mack3-0/+136
v2: Fix comments, add extra checks for length variable being modified v3: Start some rendering to insure initialized values and add to all.tests v4: [chadv] Fix indentation and patch subject. Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-14arb_sync: Test that IsSync returns true/false if it is given a valid/invalid ↵Nicholas Mack3-0/+85
sync object name v2: Fix comments, initialize variables v3: Minor fixes and added to all.tests v4: Fix patch subject. Fix executable name mismatch between all.tests and cmake. Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-14arb_sync: Test that GetSynciv sets correct error codes.Nicholas Mack3-0/+93
v2: Fix comments, initialize variables v3: Minor fixes and add to all.tests v4: [chadv] Fix indentation and patch subject. Fix executable name mismatch between all.tests and cmake. Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-14arb_sync: Test for the correct error messages caused by invalid input to ↵Nicholas Mack3-0/+75
FenceSync v2: Fix comments, remove unnecessary tests. v3: Added to all.tests v4: [chav] Fix indentation and patch subject. Fix executable name mismatch between all.tests and cmake. Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-14arb_sync: Basic test for DeleteSyncNicholas Mack3-0/+81
v2: Fix comments, add test for passing invalid sync to IsSync(), change variable types. v3: Minor fixes and add to all.tests v4: [chadv] Fix indentation and patch subject. Fix executable name mismatch between all.tests and cmake. Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-14arb_sync: Test to check the correct error messages are returned for invalid ↵Nicholas Mack3-0/+99
inputs for ClientWaitSync v2: Fix comments, initialize variables, rewrite loop through all bit masks v3: Remove redundant code, minor fixes, and add to all.tests v4: [chadv] Fix indentation and patch subject. Fix executable name mismatch between all.tests and cmake. Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-11arb_shader_bit_encoding: Generate tests for 3.30, not 4.00.Matt Turner1-2/+2
I was generating GLSL 4.00 tests because that's when ARB_gpu_shader5 functionality was folded in, but 3.30 is actually the first version with the bit encoding functions.
2013-10-11framework: stop copying dma buffer source paddingTopi Pohjolainen1-2/+2
Fixes a bug spotted by Chad. The initial support allowed the stride of the source content in the dma buffer creation to have some padding but it had to be less than the padding in the target dma buffer being created. Moreover the implementation also unnecessarily copied any padding present in the source to the destination. By copying only the actual pixel values one not only fixes this but also allows the source to have greater padding than the destination. Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2013-10-11depthstencil-render-miplevels: use double-buffered visualJordan Justen1-1/+1
This allows the depth textures to properly display on all systems when run in non-automatic mode. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-11GL 3.2: Test glFramebufferTextureJacob Penner3-0/+282
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-11GL 3.2: Test gl_Layer render to layered attachementsJacob Penner3-0/+310
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> [jordan.l.justen@intel.com: fix compiler error in gs source] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-11GL 3.2: Test gl_Layer maps to correct cube map face.Jacob Penner3-0/+190
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> [jordan.l.justen@intel.com: fix compiler error in gs source] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-11GL 3.2: Test gl_Layer with non layered texture.Jacob Penner3-0/+151
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> [jordan.l.justen@intel.com: fix compiler error in gs source] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-11GL 3.2: Test gl_Layer when unassigned or no geometry shaderJacob Penner3-0/+210
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> [jordan.l.justen@intel.com: fix compiler error in gs source] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-11piglit-run.py: Fix a few PEP8 issues that snuck inDylan Baker1-12/+15
This is purely formatting changes with no functional changes. Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
2013-10-09gs: Test that a single shader can redeclare both gl_PerVertex input and output.Paul Berry1-0/+67
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-09egl-1.4: Add test egl-terminate-then-unbind-context (v2)Chad Versace5-0/+123
This test makes current a context, terminates the context's display, then unbinds the context. According to the EGL 1.4 spec (2011.04.06), Section 3.2 Initialization, no errors should occur. Exposes a use-after-free crash on mesa-9.2 with i965. This is the underlying reason that `./$gles1_test -fbo` crashes on Intel for each GLES1 test. v2: Comment why EGL_KHR_surfaceless_context is needed. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69622 Reviewed-by: Paul Berry <stereotype441@gmail.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-08AMD_performance_monitor: Update comments about the Catalyst driver.Kenneth Graunke1-7/+7
I retested using Catalyst 13.10 on my Radeon 6870, and it had the same behavior as 12.6 did on my older Radeon 3650. It's worth noting this fact, though, since the 6870 is actually supported by the latest drivers, while the 3650 is only a legacy driver at this point.
2013-10-08glsl-1.50: Port over basic UBO tests from glsl 1.40 VS to glsl 1.50 GSEric Anholt13-0/+904
All pass on i965 with the 3.2/1.50 overrides set. v2: Move struct declarations outside of the interface blocks to fit the new 1.50 requirement (noted by Fabian) Reviewed-by: Fabian Bieler <fabianbieler@fastmail.fm> (v1)
2013-10-08Test that gl_in may be redeclared with an array size.Paul Berry1-0/+45
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-10-08Verify that gl_PerVertex can't be redeclared in certain shader types.Paul Berry3-0/+55
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>