Lines Matching refs:fbo

35                    glamor_pixmap_fbo *fbo)  in glamor_destroy_fbo()  argument
39 if (fbo->fb) in glamor_destroy_fbo()
40 glDeleteFramebuffers(1, &fbo->fb); in glamor_destroy_fbo()
41 if (fbo->tex) in glamor_destroy_fbo()
42 glDeleteTextures(1, &fbo->tex); in glamor_destroy_fbo()
44 free(fbo); in glamor_destroy_fbo()
49 glamor_pixmap_fbo *fbo) in glamor_pixmap_ensure_fb() argument
55 if (fbo->fb == 0) in glamor_pixmap_ensure_fb()
56 glGenFramebuffers(1, &fbo->fb); in glamor_pixmap_ensure_fb()
57 assert(fbo->tex != 0); in glamor_pixmap_ensure_fb()
58 glBindFramebuffer(GL_FRAMEBUFFER, fbo->fb); in glamor_pixmap_ensure_fb()
60 GL_TEXTURE_2D, fbo->tex, 0); in glamor_pixmap_ensure_fb()
101 glamor_pixmap_fbo *fbo; in glamor_create_fbo_from_tex() local
103 fbo = calloc(1, sizeof(*fbo)); in glamor_create_fbo_from_tex()
104 if (fbo == NULL) in glamor_create_fbo_from_tex()
107 fbo->tex = tex; in glamor_create_fbo_from_tex()
108 fbo->width = w; in glamor_create_fbo_from_tex()
109 fbo->height = h; in glamor_create_fbo_from_tex()
110 fbo->is_red = f->format == GL_RED; in glamor_create_fbo_from_tex()
113 if (glamor_pixmap_ensure_fb(glamor_priv, fbo) != 0) { in glamor_create_fbo_from_tex()
114 glamor_destroy_fbo(glamor_priv, fbo); in glamor_create_fbo_from_tex()
115 fbo = NULL; in glamor_create_fbo_from_tex()
119 return fbo; in glamor_create_fbo_from_tex()
245 glamor_pixmap_clear_fbo(glamor_screen_private *glamor_priv, glamor_pixmap_fbo *fbo) in glamor_pixmap_clear_fbo() argument
249 assert(fbo->fb != 0 && fbo->tex != 0); in glamor_pixmap_clear_fbo()
251 glamor_set_destination_pixmap_fbo(glamor_priv, fbo, 0, 0, fbo->width, fbo->height); in glamor_pixmap_clear_fbo()
259 glamor_pixmap_fbo *fbo; in glamor_pixmap_detach_fbo() local
264 fbo = pixmap_priv->fbo; in glamor_pixmap_detach_fbo()
265 if (fbo == NULL) in glamor_pixmap_detach_fbo()
268 pixmap_priv->fbo = NULL; in glamor_pixmap_detach_fbo()
269 return fbo; in glamor_pixmap_detach_fbo()
274 glamor_pixmap_attach_fbo(PixmapPtr pixmap, glamor_pixmap_fbo *fbo) in glamor_pixmap_attach_fbo() argument
280 if (pixmap_priv->fbo) in glamor_pixmap_attach_fbo()
283 pixmap_priv->fbo = fbo; in glamor_pixmap_attach_fbo()
301 glamor_pixmap_fbo *fbo; in glamor_pixmap_destroy_fbo() local
312 fbo = glamor_pixmap_detach_fbo(priv); in glamor_pixmap_destroy_fbo()
313 if (fbo) in glamor_pixmap_destroy_fbo()
314 glamor_destroy_fbo(glamor_priv, fbo); in glamor_pixmap_destroy_fbo()
323 glamor_pixmap_fbo *fbo; in glamor_pixmap_ensure_fbo() local
327 if (pixmap_priv->fbo == NULL) { in glamor_pixmap_ensure_fbo()
329 fbo = glamor_create_fbo(glamor_priv, pixmap, pixmap->drawable.width, in glamor_pixmap_ensure_fbo()
331 if (fbo == NULL) in glamor_pixmap_ensure_fbo()
334 glamor_pixmap_attach_fbo(pixmap, fbo); in glamor_pixmap_ensure_fbo()
338 if (!pixmap_priv->fbo->tex) in glamor_pixmap_ensure_fbo()
339 pixmap_priv->fbo->tex = in glamor_pixmap_ensure_fbo()
343 if (flag != GLAMOR_CREATE_FBO_NO_FBO && pixmap_priv->fbo->fb == 0) in glamor_pixmap_ensure_fbo()
344 if (glamor_pixmap_ensure_fb(glamor_priv, pixmap_priv->fbo) != 0) in glamor_pixmap_ensure_fbo()
359 temp_fbo = front_priv->fbo; in glamor_pixmap_exchange_fbos()
360 front_priv->fbo = back_priv->fbo; in glamor_pixmap_exchange_fbos()
361 back_priv->fbo = temp_fbo; in glamor_pixmap_exchange_fbos()