[cogl] journal: Dirty the modelview matrix state when flushing



commit c7290c994c742456ff0977cb394c289afb377049
Author: Neil Roberts <neil linux intel com>
Date:   Mon Feb 18 18:21:39 2013 +0000

    journal: Dirty the modelview matrix state when flushing
    
    The journal manually flushes its own modelview matrix state so it
    needs to mark the state as dirty so that if a primitive is drawn with
    the same matrix state as the last primitive it will correctly reflush
    it.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=693612
    
    Reviewed-by: Robert Bragg <robert linux intel com>

 cogl/cogl-journal.c               |    4 ++++
 tests/conform/test-conform-main.c |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/cogl/cogl-journal.c b/cogl/cogl-journal.c
index f73e2da..05cd646 100644
--- a/cogl/cogl-journal.c
+++ b/cogl/cogl-journal.c
@@ -1306,6 +1306,10 @@ _cogl_journal_flush (CoglJournal *journal)
                                  ~(COGL_FRAMEBUFFER_STATE_MODELVIEW |
                                    COGL_FRAMEBUFFER_STATE_CLIP));
 
+  /* We need to mark the current modelview state of the framebuffer as
+   * dirty because we are going to manually replace it */
+  ctx->current_draw_buffer_changes |= COGL_FRAMEBUFFER_STATE_MODELVIEW;
+
   state.ctx = ctx;
   state.journal = journal;
 
diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c
index 607157d..72cd750 100644
--- a/tests/conform/test-conform-main.c
+++ b/tests/conform/test-conform-main.c
@@ -118,7 +118,7 @@ main (int argc, char **argv)
 
   ADD_TEST (test_map_buffer_range, TEST_REQUIREMENT_MAP_WRITE, 0);
 
-  ADD_TEST (test_primitive_and_journal, 0, TEST_KNOWN_FAILURE);
+  ADD_TEST (test_primitive_and_journal, 0, 0);
 
   UNPORTED_TEST (test_viewport);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]