mutter/tests/conform
Neil Roberts f9456574ef Add test to verify replacing a layer doesn't leak the pipeline parent
The current recommendation for pipelines is that once they have been
used for painting then they should be considered immutable. If you
want to modify a pipeline you should instead make a copy and unref the
original pipeline. Internally we try to check whether the modified
copy replaces all of the properties of the parent and prune a
redundant ancestor hierarchy. Pruning the hierarchy is particularly
important if the pipelines contain textures because otherwise the
textures may be leaked when the parent pipeline keeps a reference to
it.

This test verifies that usage pattern by creating a chain of pipeline
copies each with their own replacement texture. Some user data is then
set on the textures with a callback so that we can verify that once
the original pipelines are destroyed then the textures are also
destroyed.

The test is currently failing because Cogl doesn't correctly prune
ancestory for layer state authority.

Reviewed-by: Robert Bragg <robert@linux.intel.com>

(cherry picked from commit 3fbec92acb90008492eb125025f92b42d6e07930)
2013-03-19 17:53:43 +00:00
..
config.env.in tests: Improve thoroughness and reporting of make test 2012-02-24 14:42:31 +00:00
Makefile.am Add test to verify replacing a layer doesn't leak the pipeline parent 2013-03-19 17:53:43 +00:00
run-tests.sh tests: Differentiate between known failures and missing requirements 2013-01-22 17:48:06 +00:00
test-alpha-test.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-alpha-textures.c Add a conformance test using alpha textures 2013-01-22 17:48:06 +00:00
test-atlas-migration.c Convert the test-atlas-migration test to a standalone Cogl test 2012-08-06 14:27:42 +01:00
test-backface-culling.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-bitmask.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-blend-strings.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-color-mask.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-conform-main.c Add test to verify replacing a layer doesn't leak the pipeline parent 2013-03-19 17:53:43 +00:00
test-copy-replace-texture.c Add test to verify replacing a layer doesn't leak the pipeline parent 2013-03-19 17:53:43 +00:00
test-custom-attributes.c tests: Don't report success when the test is skipped 2013-01-22 17:48:06 +00:00
test-depth-test.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-euler-quaternion.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-fixed.c Adds cogl_framebuffer_draw_[*_]rectangle functions 2012-03-20 12:33:40 +00:00
test-fixtures.c Adds cogl_framebuffer_draw_[*_]rectangle functions 2012-03-20 12:33:40 +00:00
test-framebuffer-get-bits.c Add a test for getting the component sizes from different fbs 2013-01-22 17:48:18 +00:00
test-gles2-context.c test-gles2-context: Read pixels using GL_RGBA not GL_RGB 2013-02-08 12:20:33 +00:00
test-just-vertex-shader.c tests: Don't report success when the test is skipped 2013-01-22 17:48:06 +00:00
test-launcher.sh.in tests: Improve thoroughness and reporting of make test 2012-02-24 14:42:31 +00:00
test-layer-remove.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-map-buffer-range.c Allow propogation of OOM errors to apps 2013-01-22 17:48:07 +00:00
test-materials.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-multitexture.c Adds CoglError api 2013-01-22 17:47:39 +00:00
test-no-gl-header.c Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
test-npot-texture.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-object.c Adds cogl_framebuffer_draw_[*_]rectangle functions 2012-03-20 12:33:40 +00:00
test-offscreen.c Allow lazy texture storage allocation 2013-01-22 17:48:17 +00:00
test-path.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-pipeline-uniforms.c tests: Don't report success when the test is skipped 2013-01-22 17:48:06 +00:00
test-pipeline-user-matrix.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-pixel-buffer.c Fix handling of binding errors when uploading a full texture 2013-01-22 17:48:09 +00:00
test-point-size.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-point-sprite.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-premult.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-primitive-and-journal.c Add a test to check interleaving primitives and the journal 2013-02-19 11:06:59 +00:00
test-primitive.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-read-texture-formats.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-readpixels.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-snippets.c Add fragment and vertex snippet hooks for global declarations 2013-02-27 14:43:55 +00:00
test-sparse-pipeline.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-sub-texture.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-texture-3d.c tests: Don't report success when the test is skipped 2013-01-22 17:48:06 +00:00
test-texture-get-set-data.c tests: port test-texture-get-set-data to be standalone 2013-01-22 17:48:09 +00:00
test-texture-mipmaps.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-texture-pixmap-x11.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-texture-rectangle.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-utils.c conform: explicitly check value of boolean env vars 2013-02-15 17:45:03 +00:00
test-utils.h test-write-texture-formats: Add fuzziness to the pixel comparisons 2013-01-22 18:00:11 +00:00
test-version.c Add a cogl-version header 2012-08-06 14:27:40 +01:00
test-vertex-buffer-contiguous.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-vertex-buffer-interleved.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-vertex-buffer-mutability.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-viewport.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-wrap-modes.c tests: update inline with master 2013-01-22 17:48:06 +00:00
test-wrap-rectangle-textures.c win32: Minor build fixes for building for win32 2013-02-21 15:20:55 +00:00
test-write-texture-formats.c test-write-texture-formats: Add fuzziness to the pixel comparisons 2013-01-22 18:00:11 +00:00