summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-02gl-1.0: Add a scissored depth clear test that uses negative x,y.scissorMatt Turner3-0/+91
Exposes a bug in i965, fixed by i965: fix noop_scissor range issue on width/height Reviewed-by: Brian Paul <brianp@vmware.com>
2016-09-02gl-1.0: Run scissor tests concurrently.Matt Turner1-7/+7
Reviewed-by: Brian Paul <brianp@vmware.com>
2016-09-02gl-1.0: Call piglit_ortho_projection from piglit_init.Matt Turner7-63/+7
In some cases we called it from piglit_display, and in others we had it open-coded in a reshape function. Reviewed-by: Brian Paul <brianp@vmware.com>
2016-09-02gl-1.0: Remove @file names.Matt Turner7-7/+7
Some were wrong, and Pekka noted that we can simply leave them out and Doxygen will do the right thing. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2016-09-01gl-1.0: Move scissor tests here.Matt Turner11-16/+16
Reviewed-by: Brian Paul <brianp@vmware.com>
2016-08-19glsl-1.50: add tests to verify that clip distance in VS doesn't mess up GSIlia Mirkin2-0/+107
This includes both SSO and non-SSO versions of the same test, as they can end up hitting slightly different code paths. Note: this presently fails on all intel generations Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2016-08-20depth-clamp-range: make sure clamping actually makes a differenceRoland Scheidegger1-8/+8
The problem with the chosen depth values was that the depth values naturally got viewport-transformed to values below 0.5 (for those quads drawn) or above 0.5 (for those not drawn). This allowed buggy implementations (in particular llvmpipe) to pass the test, even though llvmpipe a) couldn't handle swapped near/far and b) didn't actually do any clamping whatsoever in this particular case. So change the depth values so that transformed values actually end up "on the wrong side" of the depth range. Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
2016-08-18EGL_EXT_image_dma_buf_import/refcount: New test for GEM handle bug.Eric Anholt5-4/+140
Drivers can miss the need to refcount their GEM handles, and the destroy of the image/texture pair for tex2 will result in tex1 no longer being usable. This fails to piglit_report_result(PIGLIT_FAIL) on vc4 (which is missing the handle code), because tex1's shadow tiled temporary already has the texture contents in it when the shadow linear->tiled blit fails, but the driver does make a noisy warning on stderr. On intel, if you drop the global name lookup in libdrm, the driver exit()s due to the -EINVAL from the draw call. v2: add to all.py. Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-18sample_common: Move clearing the buffer to the callers.Eric Anholt3-4/+6
I want to be able to sample more than one dmabuf in the scene. Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-18sample_common: Separate drawing from destroying an image.Eric Anholt2-14/+19
It's a weird pair of things to do in one helper function, and I need to be able to do them separately for the refcount test. Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-18sample_common: Separate EGLImage-to-texture from drawing.Eric Anholt2-3/+21
This will get reused from refcount testing. Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-18sample_common: Reuse piglit_draw_rect_tex instead of hand-rolling it.Eric Anholt1-16/+6
Less code, and it may be useful if we want to extend the tests to desktop at some point. Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-18sample_common: Factor out image creation for a dmabuf fd.Eric Anholt2-10/+34
I need to reuse this part, without the destruction, for refcounting tests. Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-18sample_rgb/yuv: Present the results to the screen in non-auto.Eric Anholt2-4/+12
Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-18piglit-framework-gl: Use GBM on non-intel for dmabuf creation.Eric Anholt2-1/+107
Previously the dmabuf tests only worked on the intel driver. However, thanks to the new GBM BO mapping interface by Rob Herring, we can make a generic framework for other drivers. Reviewed-by: Rob Clark <robdclark@gmail.com>
2016-08-17cl: Add vstore test generatorJan Vesely4-126/+135
The tests try to use target mem type aligned access. Generated tests pass (except vstore-half which skips) on intel(cpu), beignet, nvidia CUDA v2: Move code to main function, update copyright Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2016-08-17cl: Add support for cl_half to program testerJan Vesely3-4/+92
Use explicit conversion from regexp matched array values v2: distance between two half numbers is 8192 single float ulps no need to place converted float in the middle of single precision range Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-by: Tom Stellard <thomas.stellard@amd.com>
2016-08-16framework: Deprecated abnormalities in deqp_gles3.pyDylan Baker2-24/+46
This changes gles3 the use the more standard bin variable rather than the exe variable. The old version is still supported, but a deprecation warning will be issued if they're used. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-16framework: add commandline option for deqp-mustpassDylan Baker6-4/+25
Rather than relying on just setting the option in the configuration file turning on the functionality add a switch. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-16framework: Add mustpasslist support to deqp-gles{2,31}Dylan Baker4-13/+38
This also changes the environment variable of deqp-gles3, but adds a deprecation warning if using the old environment variable and honors it. At some point it should be removed. There is also a small change in the default value of the mustpass variable in the conf file to reflect the modern location of the mustpass lists. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-16framework/test/deqp: generalize mustpass list handlingDylan Baker3-42/+67
This patch generalizes the mustpass list functionality in deqp_gles3.py. While the idea is the same, this implementation is considerably different than the version in deqp_gles3, since it bypasses calling the binary to generate a test list altogether, and simply replaces the iter_deqp_test_cases function by providing output that the make_profile function can consume. The end result is that this is simpler (though more LOC are added since this actually has tests), and can be applied to gles2 and gles31. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-16unittests/schema: Drop additionProperties restrction from optionsDylan Baker1-2/+1
In the past piglit has added or removed options from that part of the results without caring too much. The reason for this is that these values are really meant for developers to manually inspect, and for resuming. We don't support resuming a run on a different version of piglit than it started (and that's crazy, we never will), so allowing these values to change arbitrarily is fine. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-16unittests: Add deqp_egl to integration tests.Dylan Baker1-0/+1
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-16unittests: fix typo that breaks fallback import of mockDylan Baker1-1/+1
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-15.gitignore: add __pycache__ to the list of ignored files.Dylan Baker1-0/+1
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-12multisample_blit_scaled: Change 8X MSAA sample mappingAnuj Phogat1-5/+5
This is required following a change in 8X multisample positions in i965 driver. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2016-08-11arb_shading_language_420pack: Added some few more struct initializing testsAndres Gomez4-0/+79
This set focus on checking invalid structs initializations. Specifically, adds a test to check that only implicit conversions are perform and vector conversions of the type vec3 to vec2 through dropping the z component are not allowed. Acked-by: Timothy Arceri <timothy.arceri@collabora.com> Signed-off-by: Andres Gomez <agomez@igalia.com>
2016-08-11glslparsertest: Added some few more struct construction testsAndres Gomez6-0/+84
This set focus on checking invalid structs construction. Specifically, adds a test to check that only implicit conversions are perform and vector conversions of the type vec3 to vec2 through dropping the z component are not allowed. Acked-by: Timothy Arceri <timothy.arceri@collabora.com> Signed-off-by: Andres Gomez <agomez@igalia.com>
2016-08-10KHR_debug/object-label: Improve query object label testing.Eric Anholt1-3/+4
The test was trying to use timer queries on any desktop GL, even though timer queries were a fairly late extension. Instead, check for occlusion queries and use those, which should work on much more hardware (GL 2.0). Fixes test failure on vc4. Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2016-08-10Tests: Add integration for dEQP-EGL testsDylan Baker2-0/+64
This adds the necessary bits to make dEQP-EGL work. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Mark Janes <mark.a.janes@intel.com> Tested-by: Mark Janes <mark.a.janes@intel.com>
2016-08-10framework: fix binary assignment for shader_runnerDylan Baker3-80/+88
Currently the python layer tries to dispatch shader_tests to the right binary (gles2, gles3 or gl). But the implementation is pretty dumb. It basically assumes either >= or == are the only operators used, and makes wrong assignments for < or <=, which are allowed. Is also only understands 2.0 and 3.0 as GLES versions, which is problematic. This version uses the closes equivalent of a match statement that python has, to try to pick the right GLES version, otherwise it uses the GL version. It also shares this picking mechanism with the Fast Skip mechanism, so they always have the same result. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> cc: mark.a.janes@intel.com cc: currojerez@riseup.net Tested-by: Michel Dänzer <michel.daenzer@amd.com>
2016-08-09astc_sliced_3d: Remove extra block_dims increment.Vinson Lee1-1/+0
Fix for-loop-analysis warning. khr_compressed_astc-sliced-3d-miptree.c:313:3: warning: variable 'block_dims' is incremented both in the loop header and in the loop body [-Wfor-loop-analysis] block_dims++; ^ khr_compressed_astc-sliced-3d-miptree.c:277:50: note: incremented here for ( ; block_dims < ARRAY_SIZE(block_dim_str); block_dims++) { ^ Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2016-08-09astc_3d: Remove unused variables.Vinson Lee1-4/+0
Fix unused-const-variable warnings. oes_compressed_astc-miptree-3d.c:108:20: warning: unused variable 'green' [-Wunused-const-variable] static const float green[3] = {0.0, 1.0, 0.0}; ^ oes_compressed_astc-miptree-3d.c:109:20: warning: unused variable 'red' [-Wunused-const-variable] static const float red[3] = {1.0, 0.0, 0.0}; ^ oes_compressed_astc-miptree-3d.c:110:20: warning: unused variable 'black' [-Wunused-const-variable] static const float black[3] = {0.0, 0.0, 0.0}; ^ Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2016-08-09arb_texture_barrier: use itertools.product instead of nested loopsAlejandro Piñeiro1-7/+10
v2: move the array definitions out of line (Ilia) Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2016-08-09Add tests/spec/gl-2.1/polygon-stipple-fsNicolai Hähnle3-0/+175
Test polygon stipple and its interaction with a simple fragment shader. Exposes a bug that lived in Gallium's stipple emulation for a very long time until it was hit by Kodi (reported by Christian König). v2: - require only OpenGL 2.1 (Brian Paul) - use a larger window size for Windows (Brian Paul) Reviewed-by: Brian Paul <brianp@vmware.com>
2016-08-08Change arb_framebuffer_srgb/blit to follow GL 4.4+ rules.Kenneth Graunke1-32/+128
OpenGL originally never did sRGB decode/encode for BlitFramebuffer. OpenGL ES 3.x has always done sRGB decode/encode for BlitFramebuffer. OpenGL 4.x specifications attempted to unify this behavior, and ultimately settled on doing decode/encode if GL_FRAMEBUFFER_SRGB is enabled, which allows the full flexibility. In the process, 4.1, 4.2, early 4.3, and later 4.3 all had somewhat broken rules. This test was originally written when the latest specification (early 4.3) contained completely contradictory rules, and so simply enforced a "copy the data unchanged" policy. This patch updates it to follow the rules they finally settled on for GL 4.4 and 4.5. Thanks to Gu Yang and Miao Qiankun for their help analyzing the differences between the various specifications. This fixes 20 subtests with NVIDIA 367.35 on a GTX 980: - blit {renderbuffer,texture} {linear_to_srgb,srgb_to_linear} {downsample, msaa, scaled, single_sampled, upsample} enabled This will break those test cases for Mesa drivers. I have patches to make i965 handle the updated rules correctly. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2016-08-08Make multisample accuracy test set GL_FRAMEBUFFER_SRGB when resolving.Kenneth Graunke1-0/+4
For a long time, Mesa has contained a hack to override color spaces to sRGB when doing multisample resolves, with the following justification: * It has been observed that mulitisample resolves produce slightly better * looking images when averaging is done using destination format. NVIDIA's * proprietary OpenGL driver also follow this approach. So, we choose to * follow it in our driver. * * When multisampling, if the source and destination formats are equal * (aside from the color space), we choose to blit in sRGB space to get * this higher quality image. I've never understood the purpose of this hack. It sort of makes sense in a "never decode, never encode" world. But with the new GL 4.4 rules, where encoding and decoding is optional, I'm not sure that it has any place - the colorspaces should be application directed. That said, this Piglit test appears to expect that resolves will be done in the sRGB color space for TEST_TYPE_SRGB, so let's make it explicitly request OpenGL to make that happen. This makes a number of subtests pass on NVIDIA 367.35 on a GTX 980: - accuracy {2,4,8,32} srgb depthstencil - accuracy {2,4,8,32} srgb depthstencil linear - accuracy {2,4,8,32} srgb small depthstencil - accuracy {2,4,8,32} srgb small depthstencil linear (The 16x and all_samples variants still fail on NVIDIA.) No change on i965, as it currently ignores GL_FRAMEBUFFER_SRGB but has the hack to do resolves in sRGB regardless. It will soon drop the hack, but start respecting GL_FRAMEBUFFER_SRGB. Ditto for Gallium. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2016-08-08Delete fbo-srgb-blit test.Kenneth Graunke3-147/+0
This appears to be redundant with spec/arb_framebuffer_srgb/blit which tests many more configurations. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2016-08-08OES_geometry_shader: Verify the limits in section 7.2Ian Romanick2-0/+55
minimum-maximums.txt was created by copy-and-pasting directly from the GL_OES_geometry_shader extension followed by some by-hand cleanups. This is why the names are not listed in alphabetic order (or in the same order as the glsl-es-3.00 test). v2: Add test to all.py. Suggested by Dylan. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2016-08-08built-in-constants: Fix up tessellation shader #extension work-around for ESIan Romanick1-2/+5
v2: Simplify the OES vs ARB string handling. Suggested by Tapani. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2016-08-08built-in-constants: Separate tessellation and geometry shader checks for ↵Ian Romanick1-7/+25
desktop and ES Previous to this, running the test on OpenGL ES 3.1 would generate spurious warnings from Mesa: Mesa: User error: GL_INVALID_ENUM in CreateShader(GL_GEOMETRY_SHADER) This fixes that in a way that is understandable. It also allows the desktop geometry shader check to be simplified. This also prevents spurious failures when we enable GL_OES_geometry_shaders in Mesa. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2016-08-08OES_geometry_shader: Basic SSO IO validation testsIan Romanick2-0/+135
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2016-08-08shader_runner: Allow SSO in OpenGL ES tooIan Romanick1-8/+13
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2016-08-08shader_runner: Trivial whitespace fixesIan Romanick1-2/+2
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2016-08-08shader_runner: print the line number of test failuresNicolai Hähnle1-3/+19
I've found this to be rather useful with longer shader_test scripts. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
2016-08-05README: update requirements for testing the frameworkDylan Baker1-4/+20
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-05framework/test/glsl_parser_test: Add ARB_ESx to command line when neededDylan Baker2-5/+7
When using the GL binary to run GLES tests the appropriate ES compatibility extension is added to the fast skipping requirements, but not to the command line options. It needs to be added to the command line options too, so that it will be skipped properly when not using the fast-skipping layer. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-05framework/test/glsl_parser_test: Don't error on blank C commentsDylan Baker2-2/+1
Currently if a C style comment has a blank line in it: /* * my comment * * more */ The parser will choke and die. That's not good, so fix it. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-05framework: Fix valgrind mixin.Dylan Baker2-4/+3
This Mixin is currently broken because it doesn't handle warn statuses, but it really needs to handle them because the underlying Test class is going to turn a number of statuses it expects to be 'pass' into 'warn' Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2016-08-05framework/options: Fix values for _Options.concurrentDylan Baker2-4/+2
This is currently being set to True, but valid options are "some", "all", or "none". This fixes the JSON validity unit test. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>