summaryrefslogtreecommitdiff
path: root/testsuite/gsk/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* build: Internal tests must set GTK_COMPILATIONEmmanuele Bassi2023-05-091-1/+1
| | | | | Otherwise they won't be able to use the appropriate function visibility on Windows.
* Add a masked variation to gsk testsMatthias Clasen2023-05-051-0/+15
| | | | This improves test coverage for mask nodes.
* Skip another failing gsk test with small texturesMatthias Clasen2023-05-041-1/+2
|
* Merge wayland_smalltexture and wayland_glesMatthias Clasen2023-05-041-1/+1
| | | | | | We don't really need to have two full separate test runs for these conditions, so combine them into one test setup.
* Skip some tests with small texturesMatthias Clasen2023-05-011-2/+11
| | | | | | When textures are too large, we will scale them down to fit the max texture size, which will cause comparisons to fail.
* gsk: Give up on one testMatthias Clasen2023-05-011-1/+1
| | | | | | The rounded-clip-in-clip-3d test fails in GL when flipped. Given that it was already excluded from cairo, and also fails cairo when flipped, give up on it for now.
* Add a test for rotated blend nodesMatthias Clasen2023-05-011-0/+1
|
* Add a test for rotated cross-fade nodesMatthias Clasen2023-05-011-0/+1
| | | | | This one checks that we don't apply the modelview transform twice with cross-fades.
* Add another testMatthias Clasen2023-05-011-0/+1
|
* Add another gsk testMatthias Clasen2023-05-011-0/+1
|
* testsuite: Add more gsk testsMatthias Clasen2023-05-011-0/+45
| | | | | | Add separate suites for running the gsk compare-render tests with the --flip, --rotate or --repeat options. A bunch of these fail currently, and need diagnosis.
* testsuite: Add parsing tests for node and texture namingBenjamin Otte2023-03-291-0/+5
|
* rendernodeparser: Failing to parse a string is an errorBenjamin Otte2023-03-291-0/+3
| | | | Testcase included.
* gsk: Add a test for scaled texturesMatthias Clasen2023-03-221-0/+1
| | | | | GL and cairo disagree on this one, and have forever. Whee!
* testsuite: Add some texture testsMatthias Clasen2023-03-191-0/+3
| | | | | | | | In constrast to our other tests, these use textures that are big enough to force slicing with setting GSK_MAX_TEXTURE_SIZE, which we will use in the following commits to improve test coverage.
* tests: Add more tests for texture scale nodesMatthias Clasen2023-03-141-0/+3
|
* testsuite: Add tests for the unknown enumsBenjamin Otte2023-03-051-0/+6
| | | | See commit 40e7a265a7ccb1385a3af0931c591201b0ce063a
* testsuite: Add empty test for new nodeBenjamin Otte2023-03-051-0/+2
|
* testsuite: Add a test for stripesBenjamin Otte2023-03-041-0/+1
| | | | | | | | The GL renderer was creating sripes for nodes that were scaled in particular ways, probably due to rounding errors. This testsuite focuses on one of those stripes to make sure they are gone.
* testsuite: Add a test for large scale nodesBenjamin Otte2023-03-031-7/+8
| | | | | | | | | This test fails if we naively create fullscale intermediate offscreens. This was fixed in the previous commits. This tests the fixes in 22ba6b1f33dcbcab8d (for cairo) and 3a0152b65fd75f631b76 (for GL).
* gsk: Add a node parser test for mask modesMatthias Clasen2023-02-141-0/+2
|
* gsk: Add a render test for mask modesMatthias Clasen2023-02-141-0/+1
|
* Add more mask node testsMatthias Clasen2023-02-141-0/+3
|
* Add a test for mask nodesMatthias Clasen2023-02-121-0/+1
|
* Add a test for scaled texturesMatthias Clasen2023-02-111-0/+1
|
* build: Drop the install-tests optionMatthias Clasen2022-12-191-19/+6
| | | | | | We no longer use installed tests in CI, so lets reap the benefit and simplify our build setup for tests.
* build: Add known to be failing gsk comparison testsEmmanuele Bassi2022-12-141-15/+33
| | | | | | | The unaligned-offscreen and upside-down-label-3d tests are failing after upgrading our CI images, seemingly because of some font rendering issue that is hard to track. Let's use the "failing" testsuite mechanism that we also use for the reftests.
* gsk: Avoid a crash with negative scalesMatthias Clasen2022-11-201-0/+1
| | | | | | Don't crash when both scale_x and scale_y are -1. A test is included.
* gsk: Improve test coverageMatthias Clasen2022-07-151-1/+31
|
* nodeparser: Fix parsing of color-matrix nodeBenjamin Otte2022-05-181-0/+1
| | | | | Negative offsets in the color matrix were inverted because it used the rect parser.
* testsuite: Add unaligned-offscreen testSebastian Keller2022-04-041-0/+1
| | | | | Tests whether text rendered to an offscreen node unaligned with the pixel grid introduces blurriness.
* renderers: Handle large viewportsBenjamin Otte2022-02-261-0/+2
| | | | | | | | | When large viewports are passed to gsk_renderer_render_texture(), don't fail (or even return NULL). Instead, draw multiple tiles and assemble them into a memory texture. Tests added to the testsuite for this.
* gl: Linear gradients don't support 3d transformsTimm Bäder2021-12-121-4/+4
| | | | | | | Add another helper similar to the one for transforms, but that only works on 2d transforms. Fixes #4501
* Rename ngl to glMatthias Clasen2021-10-071-1/+1
| | | | | We have only one gl renderer now, and it is a bit odd for it not be called gl.
* ngl Fix bottom-right border render failureBenjamin Otte2021-09-161-0/+1
| | | | | | The wrong index was used for offsetting the bottom border rect. Test included.
* testuite: Add opacity-overdraw testBenjamin Otte2021-09-161-0/+1
| | | | | | | | Tests that overdrawing of content inside an opacity node happens before the opacity is applied. This is broken in the GL renderer and causes the opacity.ui reftest to fail.
* testsuite: Stop running tests for the gl rendererMatthias Clasen2021-09-141-1/+0
| | | | It does not exist anymore.
* testsuite: Avoid negative scales with gl rendererMatthias Clasen2021-07-161-1/+1
| | | | | | The fix in 1c90bb522e7e722b was only for the ngl renderer, so don't use the test with the gl renderer, until it is fixed as well.
* testsuite: Add test for crasherBenjamin Otte2021-07-151-0/+1
| | | | Test for the crasher in !4096
* tests: Add some fp16 testsMatthias Clasen2021-07-131-1/+2
|
* testsuite: Sort gsk compare testsMatthias Clasen2021-04-011-16/+15
| | | | Easier to find things that way.
* Add some more gsk testsMatthias Clasen2021-04-011-0/+2
| | | | | The css-background test contains a node pattern that is optimized in the ngl renderer.
* gsk: Add another testMatthias Clasen2021-03-311-1/+2
| | | | | | | | Compare clipped repeat nodes. Must skip cairo here since it blurred the child by scaling after rendering. Also skip the gl renderer, since it hasn't been fixed for this yet. ngl passes this test.
* testsuite: Rename next to nglMatthias Clasen2021-03-311-2/+2
| | | | | | Use specific names for renderers in the gsk tests. Otherwise the tests may use the wrong renderer, or the same renderer twice.
* Add some tests for node diffingsmarter-diffMatthias Clasen2021-03-281-0/+33
| | | | Nothing deep yet, but more can be added.
* gsk: add OpenGL based GskNglRendererChristian Hergert2021-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The primary goal here was to cleanup the current GL renderer to make maintenance easier going forward. Furthermore, it tracks state to allow us to implement more advanced renderer features going forward. Reordering This renderer will reorder batches by render target to reduce the number of times render targets are changed. In the future, we could also reorder by program within the render target if we can determine that vertices do not overlap. Uniform Snapshots To allow for reordering of batches all uniforms need to be tracked for the programs. This allows us to create the full uniform state when the batch has been moved into a new position. Some care was taken as it can be performance sensitive. Attachment Snapshots Similar to uniform snapshots, we need to know all of the texture attachments so that we can rebind them when necessary. Render Jobs To help isolate the process of creating GL commands from the renderer abstraction a render job abstraction was added. This could be extended in the future if we decided to do tiling. Command Queue Render jobs create batches using the command queue. The command queue will snapshot uniform and attachment state so that it can reorder batches right before executing them. Currently, the only reordering done is to ensure that we only visit each render target once. We could extend this by tracking vertices, attachments, and others. This code currently uses an inline array helper to reduce overhead from GArray which was showing up on profiles. It could be changed to use GdkArray without too much work, but had roughly double the instructions. Cycle counts have not yet been determined. GLSL Programs This was simplified to use XMACROS so that we can just extend one file (gskglprograms.defs) instead of multiple places. The programs are added as fields in the driver for easy access. Driver The driver manages textures, render targets, access to atlases, programs, and more. There is one driver per display, by using the shared GL context. Some work could be done here to batch uploads so that we make fewer calls to upload when sending icon theme data to the GPU. We'd need to keep a copy of the atlas data for such purposes.
* reftests: Share reftest-compare.[ch] between GSK and GTK testswip/smcv/reftest-dedupSimon McVittie2021-02-151-1/+1
| | | | | | | The only non-whitespace difference is that the copy in GSK does not set the symbol's visibility. Signed-off-by: Simon McVittie <smcv@debian.org>
* gl: Fixed clipped offscreen renderingfix-clipped-textureMatthias Clasen2021-02-091-0/+1
| | | | | | | | | | | | When we are rendering a texture node to an offscreen, and we have a clip, we must force the offscreen rendering. Otherwise, the code will notice: Hey, it already is a texture node, so no need to render it to a texture again. But when clipping is involved, that is exactly what we want to do. Testcase included. Fixes: #3651
* gl renderer: Fix viewport computation when rendering offscreenTimm Bäder2021-01-291-0/+1
| | | | Fixes #3615
* rendernode: Bail if matrix is invalidBenjamin Otte2020-12-241-0/+1
| | | | | | Invalid matrices are okay in GSK (and GL), but not in Cairo. Testcase included.