Neil Roberts
879ce7301a
cogl-framebuffer: Force flushing the color mask when changing fbs
...
When changing between two framebuffers that have different color masks
it now forces the pipeline to flush the mask by setting
current_pipeline_changes_since_flush. For this to work there needs to
be a common bit of code that gets called when the framebuffers are
changed that has access to both the old framebuffer and the new
framebuffer. _cogl_set_framebuffers_real can't be used for this
because when it is called from cogl_pop_framebuffer the stack entries
have already changed so it can't know the old framebuffer. This patch
adds a new function called notify_buffers_changed which should get
called whenever the buffers are changed and it explicitly gets passed
pointers to the old and new buffers. cogl_pop_framebuffer now calls
this instead of trying to use _cogl_set_framebuffers_real to force a
flush.
This patch also fixes the ctx->window_buffer pointer. Previously this
was implemented by searching in the framebuffer stack for an onscreen
framebuffer whenever the current buffers are changed. However it does
this after the stack has already changed so it won't usually find the
right buffer.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
2011-09-19 16:40:07 +01:00
..
2011-08-01 14:05:09 +01:00
2010-09-12 19:25:47 +01:00
2011-09-19 16:40:06 +01:00
2011-04-11 15:28:53 +01:00
2011-03-10 13:05:43 +00:00
2011-09-09 15:06:31 +01:00
2011-09-19 16:40:06 +01:00
2010-11-11 13:17:26 +00:00
2011-05-06 12:12:08 +01:00
2011-09-09 15:06:31 +01:00
2011-05-05 17:32:28 +01:00
2011-09-05 19:02:04 +01:00
2011-07-08 15:35:51 +01:00
2011-03-14 18:18:15 +00:00
2011-05-16 14:31:31 +01:00
2011-05-16 14:31:31 +01:00
2011-05-16 14:31:31 +01:00
2011-09-19 16:40:06 +01:00
2011-09-19 16:40:06 +01:00
2011-05-16 14:32:37 +01:00
2010-07-15 17:24:01 +01:00
2011-02-15 12:40:11 +00:00
2011-07-25 22:45:24 +01:00
2011-07-25 22:45:24 +01:00
2011-07-25 22:45:24 +01:00
2010-12-13 17:28:29 +00:00
2011-04-20 18:20:10 +01:00
2011-09-05 17:54:46 +01:00
2010-06-15 15:26:27 +01:00
2011-09-19 16:40:06 +01:00
2011-02-15 12:10:54 +00:00
2011-08-12 15:28:43 +01:00
2011-07-11 12:57:38 +01:00
2011-08-12 15:28:43 +01:00
2011-09-19 16:40:06 +01:00
2011-08-12 15:28:43 +01:00
2011-08-12 15:28:43 +01:00
2011-08-12 15:28:43 +01:00
2011-03-10 13:05:43 +00:00
2011-06-01 20:44:41 +01:00
2011-04-11 17:54:36 +01:00
2010-12-07 16:00:32 +00:00
2010-06-15 15:26:27 +01:00
2010-06-15 15:26:27 +01:00
2011-08-12 15:28:42 +01:00
2011-08-12 15:28:42 +01:00
2011-07-19 19:27:09 +01:00
2011-09-19 16:40:07 +01:00
2011-09-05 17:54:46 +01:00
2011-05-05 17:32:31 +01:00
2011-08-12 15:28:42 +01:00
2011-08-12 15:28:42 +01:00
2011-06-01 20:44:42 +01:00
2010-03-01 12:56:10 +00:00
2011-05-16 18:45:51 +01:00
2011-06-14 14:40:27 +01:00
2011-06-14 17:09:55 +01:00
2011-07-29 11:50:15 +01:00
2011-09-05 19:02:05 +01:00
2011-09-06 11:19:20 +01:00
2009-10-16 18:58:50 +01:00
2009-10-16 18:58:50 +01:00
2011-05-16 14:12:42 +01:00
2011-05-16 14:12:49 +01:00
2011-08-12 15:28:42 +01:00
2011-07-27 16:10:02 +01:00
2011-07-27 16:10:02 +01:00
2011-07-27 18:46:36 +01:00
2010-06-01 12:08:18 +01:00
2011-04-20 18:20:10 +01:00
2011-08-12 15:28:43 +01:00
2011-09-19 16:40:07 +01:00
2011-09-05 19:02:05 +01:00
2011-06-30 14:34:33 +01:00
2011-07-27 16:10:02 +01:00
2010-12-07 12:16:50 +00:00
2010-06-04 14:44:15 +01:00
2011-05-16 14:31:31 +01:00
2011-05-16 14:31:31 +01:00
2011-05-16 14:31:31 +01:00
2011-05-16 14:31:31 +01:00
2011-05-16 14:31:31 +01:00
2011-05-16 14:31:31 +01:00
2011-07-13 19:06:19 +01:00
2011-06-01 14:41:59 +01:00
2011-09-19 16:40:06 +01:00
2011-06-09 16:21:15 +01:00
2011-06-09 16:21:15 +01:00
2011-07-04 15:31:50 +01:00
2011-07-11 12:57:38 +01:00
2010-12-13 17:29:13 +00:00
2011-08-12 15:28:44 +01:00
2011-08-12 15:28:44 +01:00
2011-06-14 12:14:02 +01:00
2011-06-14 12:14:02 +01:00
2011-06-14 12:14:02 +01:00
2010-09-06 16:11:46 +01:00
2011-04-11 17:54:35 +01:00
2011-04-11 17:54:35 +01:00
2011-04-11 17:54:35 +01:00
2011-05-16 13:28:17 +01:00
2011-05-16 14:31:31 +01:00
2011-04-11 15:18:12 +01:00
2010-12-22 09:52:35 +00:00
2011-07-13 12:30:07 +01:00
2011-07-13 12:30:07 +01:00
2011-07-13 12:30:07 +01:00
2011-09-19 16:40:06 +01:00
2010-12-13 17:22:57 +00:00
2011-07-13 12:30:07 +01:00
2010-12-13 17:22:57 +00:00
2011-09-05 19:02:04 +01:00
2011-09-19 16:40:00 +01:00
2011-09-19 16:40:00 +01:00
2011-09-19 16:40:00 +01:00
2010-12-13 17:22:57 +00:00
2011-09-05 17:54:46 +01:00
2011-09-19 16:40:06 +01:00
2011-01-21 16:24:14 +00:00
2011-07-13 12:30:07 +01:00
2011-09-19 16:35:59 +01:00
2011-09-19 16:35:59 +01:00
2011-09-19 16:35:59 +01:00
2010-12-13 17:22:57 +00:00
2011-07-11 12:57:38 +01:00
2010-12-13 17:28:28 +00:00
2011-07-13 12:30:07 +01:00
2011-09-19 16:40:06 +01:00
2011-09-19 16:40:06 +01:00
2011-05-16 14:31:31 +01:00
2011-07-08 15:35:46 +01:00
2011-05-16 14:31:31 +01:00
2011-03-07 13:26:19 +00:00
2011-03-07 13:26:19 +00:00
2011-05-16 14:31:31 +01:00
2011-05-16 18:34:22 +01:00
2011-05-16 14:32:37 +01:00
2010-11-04 18:10:08 +00:00
2011-09-19 16:40:06 +01:00
2010-03-25 09:33:26 +00:00
2011-09-19 16:40:06 +01:00
2011-01-24 15:45:45 +00:00
2010-09-14 12:43:17 +01:00
2010-12-13 17:22:57 +00:00
2011-07-11 12:57:38 +01:00
2011-05-16 14:11:47 +01:00
2011-07-27 18:21:27 +01:00
2011-05-16 17:08:30 +01:00
2011-07-01 17:52:55 +01:00
2011-05-17 15:24:54 +01:00
2010-08-12 11:54:42 +01:00
2011-07-27 18:46:36 +01:00
2011-09-05 17:54:46 +01:00
2011-09-05 17:54:46 +01:00
2011-07-11 12:57:38 +01:00
2011-07-11 12:57:38 +01:00
2011-07-11 12:57:38 +01:00
2010-09-03 16:59:01 +01:00
2010-03-01 12:56:10 +00:00
2010-03-01 12:56:10 +00:00
2010-03-01 12:56:10 +00:00
2011-07-25 22:45:24 +01:00
2011-05-05 14:46:02 +01:00
2011-05-05 14:46:02 +01:00
2011-05-05 14:46:02 +01:00
2011-06-01 20:44:42 +01:00
2010-11-03 18:09:23 +00:00
2011-09-05 19:02:04 +01:00
2011-09-05 19:02:04 +01:00
2011-09-05 19:02:05 +01:00
2010-11-03 18:09:23 +00:00
2011-07-11 12:57:38 +01:00
2010-07-13 14:28:52 +01:00
2011-07-08 15:35:51 +01:00
2011-09-05 19:02:04 +01:00
2010-11-03 18:09:23 +00:00
2011-09-05 19:02:04 +01:00
2011-09-19 16:40:06 +01:00
2011-07-25 22:45:24 +01:00
2011-09-19 16:40:06 +01:00
2011-04-11 17:54:36 +01:00
2011-01-10 16:55:00 +00:00
2010-05-20 17:18:24 +01:00
2010-06-30 18:51:31 +01:00
2011-05-16 14:31:31 +01:00
2011-06-13 17:48:23 +01:00
2011-02-09 19:12:12 +00:00
2011-06-30 14:34:46 +01:00
2011-06-30 14:33:13 +01:00
2011-06-30 14:34:46 +01:00
2011-06-30 14:34:33 +01:00
2011-06-30 14:34:33 +01:00
2011-06-01 20:44:42 +01:00
2011-06-30 14:34:33 +01:00
2011-09-08 15:48:07 +01:00
2011-06-30 14:34:33 +01:00
2011-06-30 14:34:33 +01:00
2011-04-20 18:17:06 +01:00
2011-09-19 16:40:06 +01:00
2011-09-19 16:40:00 +01:00
2011-09-19 16:40:00 +01:00
2011-08-12 15:28:42 +01:00