After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 670793 - Don't use cogl_get_draw_framebuffer when flushing pipeline state
Don't use cogl_get_draw_framebuffer when flushing pipeline state
Status: RESOLVED FIXED
Product: cogl
Classification: Platform
Component: CoglPipeline
unspecified
Other All
: Normal normal
: ---
Assigned To: Cogl maintainer(s)
Cogl maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-02-25 15:13 UTC by Neil Roberts
Modified: 2012-03-05 19:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don't use cogl_get_draw_framebuffer when flushing pipeline state (3.93 KB, patch)
2012-02-25 15:13 UTC, Neil Roberts
none Details | Review

Description Neil Roberts 2012-02-25 15:13:04 UTC
See patch
Comment 1 Neil Roberts 2012-02-25 15:13:06 UTC
Created attachment 208406 [details] [review]
Don't use cogl_get_draw_framebuffer when flushing pipeline state

Some of the state when flushing a pipeline depends on the current
framebuffer being used. These are:

• The matrix stack, so that it can flip vertically or not depending on
  whether the framebuffer is offscreen.
• The colormask. This is combined with the framebuffer's color mask.
• The cull face mode. If the framebuffer is offscreen then backface
  culling is translated to frontface culling and vice-versa.

These states were not working if the new framebuffer draw_primitive
API was used because in that case the framebuffer is not pushed to the
framebuffer stack so it would use the wrong one. This patch changes it
to use ctx->current_draw_buffer which is a pointer to the framebuffer
whose state was last flushed.
Comment 2 Neil Roberts 2012-03-05 19:52:45 UTC
Pushed as 75226501cfc