• Home
  • Raw
  • Download

Lines Matching refs:drawable

187    struct dri_drawable *drawable = dri_drawable(dPriv);  in dri2_invalidate_drawable()  local
190 drawable->dPriv->lastStamp = drawable->dPriv->dri2.stamp; in dri2_invalidate_drawable()
191 drawable->texture_mask = 0; in dri2_invalidate_drawable()
193 p_atomic_inc(&drawable->base.stamp); in dri2_invalidate_drawable()
208 dri2_drawable_get_buffers(struct dri_drawable *drawable, in dri2_drawable_get_buffers() argument
212 __DRIdrawable *dri_drawable = drawable->dPriv; in dri2_drawable_get_buffers()
213 const __DRIdri2LoaderExtension *loader = drawable->sPriv->dri2.loader; in dri2_drawable_get_buffers()
221 with_format = dri_with_format(drawable->sPriv); in dri2_drawable_get_buffers()
234 dri_drawable_get_format(drawable, atts[i], &format, &bind); in dri2_drawable_get_buffers()
304 dri_image_drawable_get_buffers(struct dri_drawable *drawable, in dri_image_drawable_get_buffers() argument
309 __DRIdrawable *dPriv = drawable->dPriv; in dri_image_drawable_get_buffers()
310 __DRIscreen *sPriv = drawable->sPriv; in dri_image_drawable_get_buffers()
317 dri_drawable_get_format(drawable, statts[i], &pf, &bind); in dri_image_drawable_get_buffers()
352 (uint32_t *) &drawable->base.stamp, in dri_image_drawable_get_buffers()
455 struct dri_drawable *drawable, in dri2_allocate_textures() argument
459 __DRIscreen *sPriv = drawable->sPriv; in dri2_allocate_textures()
460 __DRIdrawable *dri_drawable = drawable->dPriv; in dri2_allocate_textures()
475 if (!dri_image_drawable_get_buffers(drawable, &images, in dri2_allocate_textures()
480 buffers = dri2_drawable_get_buffers(drawable, statts, &num_buffers); in dri2_allocate_textures()
481 if (!buffers || (drawable->old_num == num_buffers && in dri2_allocate_textures()
482 drawable->old_w == dri_drawable->w && in dri2_allocate_textures()
483 drawable->old_h == dri_drawable->h && in dri2_allocate_textures()
484 memcmp(drawable->old, buffers, in dri2_allocate_textures()
508 if (i != ST_ATTACHMENT_DEPTH_STENCIL && drawable->textures[i]) { in dri2_allocate_textures()
510 pipe->flush_resource(pipe, drawable->textures[i]); in dri2_allocate_textures()
513 pipe_resource_reference(&drawable->textures[i], NULL); in dri2_allocate_textures()
516 if (drawable->stvis.samples > 1) { in dri2_allocate_textures()
530 pipe_resource_reference(&drawable->msaa_textures[i], NULL); in dri2_allocate_textures()
546 &drawable->textures[ST_ATTACHMENT_FRONT_LEFT]; in dri2_allocate_textures()
557 &drawable->textures[ST_ATTACHMENT_BACK_LEFT]; in dri2_allocate_textures()
597 dri_drawable_get_format(drawable, statt, &format, &bind); in dri2_allocate_textures()
614 drawable->textures[statt] = in dri2_allocate_textures()
618 assert(drawable->textures[statt]); in dri2_allocate_textures()
623 if (drawable->stvis.samples > 1) { in dri2_allocate_textures()
630 if (drawable->textures[statt]) { in dri2_allocate_textures()
631 templ.format = drawable->textures[statt]->format; in dri2_allocate_textures()
632 templ.bind = drawable->textures[statt]->bind & ~PIPE_BIND_SCANOUT; in dri2_allocate_textures()
633 templ.nr_samples = drawable->stvis.samples; in dri2_allocate_textures()
638 if (!drawable->msaa_textures[statt] || in dri2_allocate_textures()
639 drawable->msaa_textures[statt]->width0 != templ.width0 || in dri2_allocate_textures()
640 drawable->msaa_textures[statt]->height0 != templ.height0) { in dri2_allocate_textures()
642 pipe_resource_reference(&drawable->msaa_textures[statt], NULL); in dri2_allocate_textures()
644 drawable->msaa_textures[statt] = in dri2_allocate_textures()
647 assert(drawable->msaa_textures[statt]); in dri2_allocate_textures()
660 drawable->msaa_textures[statt], in dri2_allocate_textures()
661 drawable->textures[statt]); in dri2_allocate_textures()
665 pipe_resource_reference(&drawable->msaa_textures[statt], NULL); in dri2_allocate_textures()
677 dri_drawable_get_format(drawable, statt, &format, &bind); in dri2_allocate_textures()
683 if (drawable->stvis.samples > 1) { in dri2_allocate_textures()
684 templ.nr_samples = drawable->stvis.samples; in dri2_allocate_textures()
685 zsbuf = &drawable->msaa_textures[statt]; in dri2_allocate_textures()
689 zsbuf = &drawable->textures[statt]; in dri2_allocate_textures()
706 pipe_resource_reference(&drawable->msaa_textures[statt], NULL); in dri2_allocate_textures()
707 pipe_resource_reference(&drawable->textures[statt], NULL); in dri2_allocate_textures()
719 drawable->old_num = num_buffers; in dri2_allocate_textures()
720 drawable->old_w = dri_drawable->w; in dri2_allocate_textures()
721 drawable->old_h = dri_drawable->h; in dri2_allocate_textures()
722 memcpy(drawable->old, buffers, sizeof(__DRIbuffer) * num_buffers); in dri2_allocate_textures()
728 struct dri_drawable *drawable, in dri2_flush_frontbuffer() argument
731 __DRIdrawable *dri_drawable = drawable->dPriv; in dri2_flush_frontbuffer()
732 const __DRIimageLoaderExtension *image = drawable->sPriv->image.loader; in dri2_flush_frontbuffer()
733 const __DRIdri2LoaderExtension *loader = drawable->sPriv->dri2.loader; in dri2_flush_frontbuffer()
739 if (drawable->stvis.samples > 1) { in dri2_flush_frontbuffer()
742 drawable->textures[ST_ATTACHMENT_FRONT_LEFT], in dri2_flush_frontbuffer()
743 drawable->msaa_textures[ST_ATTACHMENT_FRONT_LEFT]); in dri2_flush_frontbuffer()
746 if (drawable->textures[ST_ATTACHMENT_FRONT_LEFT]) { in dri2_flush_frontbuffer()
747 pipe->flush_resource(pipe, drawable->textures[ST_ATTACHMENT_FRONT_LEFT]); in dri2_flush_frontbuffer()
761 dri2_update_tex_buffer(struct dri_drawable *drawable, in dri2_update_tex_buffer() argument
2064 struct dri_drawable *drawable = NULL; in dri2_create_buffer() local
2069 drawable = dPriv->driverPrivate; in dri2_create_buffer()
2071 drawable->allocate_textures = dri2_allocate_textures; in dri2_create_buffer()
2072 drawable->flush_frontbuffer = dri2_flush_frontbuffer; in dri2_create_buffer()
2073 drawable->update_tex_buffer = dri2_update_tex_buffer; in dri2_create_buffer()