Lines Matching defs:drawable
149 drisw_update_drawable_info(struct dri_drawable *drawable)
151 __DRIdrawable *dPriv = drawable->dPriv;
158 drisw_get_image(struct dri_drawable *drawable,
162 __DRIdrawable *dPriv = drawable->dPriv;
170 drisw_put_image(struct dri_drawable *drawable,
173 __DRIdrawable *dPriv = drawable->dPriv;
179 drisw_put_image2(struct dri_drawable *drawable,
183 __DRIdrawable *dPriv = drawable->dPriv;
189 drisw_put_image_shm(struct dri_drawable *drawable,
195 __DRIdrawable *dPriv = drawable->dPriv;
204 struct dri_drawable *drawable = dri_drawable(dPriv);
205 struct dri_screen *screen = dri_screen(drawable->sPriv);
210 screen->base.screen->flush_frontbuffer(screen->base.screen, pipe, ptex, 0, 0, drawable, sub_box);
216 struct dri_drawable *drawable = dri_drawable(dPriv);
218 drawable->texture_stamp = dPriv->lastStamp - 1;
220 p_atomic_inc(&drawable->base.stamp);
241 struct dri_drawable *drawable = dri_drawable(dPriv);
242 struct dri_screen *screen = dri_screen(drawable->sPriv);
248 ptex = drawable->textures[ST_ATTACHMENT_BACK_LEFT];
253 pp_run(ctx->pp, ptex, ptex, drawable->textures[ST_ATTACHMENT_DEPTH_STENCIL]);
260 if (drawable->stvis.samples > 1) {
263 drawable->textures[ST_ATTACHMENT_BACK_LEFT],
264 drawable->msaa_textures[ST_ATTACHMENT_BACK_LEFT]);
279 struct dri_drawable *drawable = dri_drawable(dPriv);
280 struct dri_screen *screen = dri_screen(drawable->sPriv);
286 ptex = drawable->textures[ST_ATTACHMENT_BACK_LEFT];
290 if (ctx->pp && drawable->textures[ST_ATTACHMENT_DEPTH_STENCIL])
291 pp_run(ctx->pp, ptex, ptex, drawable->textures[ST_ATTACHMENT_DEPTH_STENCIL]);
299 if (drawable->stvis.samples > 1) {
302 drawable->textures[ST_ATTACHMENT_BACK_LEFT],
303 drawable->msaa_textures[ST_ATTACHMENT_BACK_LEFT]);
313 struct dri_drawable *drawable,
321 if (drawable->stvis.samples > 1) {
324 drawable->textures[ST_ATTACHMENT_FRONT_LEFT],
325 drawable->msaa_textures[ST_ATTACHMENT_FRONT_LEFT]);
327 ptex = drawable->textures[statt];
345 struct dri_drawable *drawable,
349 struct dri_screen *screen = dri_screen(drawable->sPriv);
350 const __DRIswrastLoaderExtension *loader = drawable->dPriv->driScreenPriv->swrast_loader;
356 width = drawable->dPriv->w;
357 height = drawable->dPriv->h;
359 resized = (drawable->old_w != width ||
360 drawable->old_h != height);
365 pipe_resource_reference(&drawable->textures[i], NULL);
366 pipe_resource_reference(&drawable->msaa_textures[i], NULL);
383 if (drawable->textures[statts[i]])
386 dri_drawable_get_format(drawable, statts[i], &format, &bind);
403 drawable->textures[statts[i]] =
404 screen->base.screen->resource_create_front(screen->base.screen, &templ, (const void *)drawable);
406 drawable->textures[statts[i]] =
409 if (drawable->stvis.samples > 1) {
412 templ.nr_samples = drawable->stvis.samples;
413 templ.nr_storage_samples = drawable->stvis.samples;
414 drawable->msaa_textures[statts[i]] =
418 drawable->msaa_textures[statts[i]],
419 drawable->textures[statts[i]]);
423 drawable->old_w = width;
424 drawable->old_h = height;
428 drisw_update_tex_buffer(struct dri_drawable *drawable,
432 __DRIdrawable *dPriv = drawable->dPriv;
590 struct dri_drawable *drawable = NULL;
595 drawable = dPriv->driverPrivate;
597 drawable->allocate_textures = drisw_allocate_textures;
598 drawable->update_drawable_info = drisw_update_drawable_info;
599 drawable->flush_frontbuffer = drisw_flush_frontbuffer;
600 drawable->update_tex_buffer = drisw_update_tex_buffer;