Home | History | Annotate | Download | only in dri2

Lines Matching refs:dri2_surf

58                      struct dri2_egl_surface * dri2_surf)
65 dri2_surf->gc = xcb_generate_id(dri2_dpy->conn);
67 xcb_create_gc(dri2_dpy->conn, dri2_surf->gc, dri2_surf->drawable, mask, &function);
69 dri2_surf->swapgc = xcb_generate_id(dri2_dpy->conn);
73 xcb_create_gc(dri2_dpy->conn, dri2_surf->swapgc, dri2_surf->drawable, mask, valgc);
74 switch (dri2_surf->depth) {
77 dri2_surf->bytes_per_pixel = 4;
80 dri2_surf->bytes_per_pixel = 2;
83 dri2_surf->bytes_per_pixel = 1;
86 dri2_surf->bytes_per_pixel = 0;
89 _eglLog(_EGL_WARNING, "unsupported depth %d", dri2_surf->depth);
95 struct dri2_egl_surface * dri2_surf)
97 xcb_free_gc(dri2_dpy->conn, dri2_surf->gc);
98 xcb_free_gc(dri2_dpy->conn, dri2_surf->swapgc);
106 struct dri2_egl_surface *dri2_surf = loaderPrivate;
107 struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display);
114 cookie = xcb_get_geometry (dri2_dpy->conn, dri2_surf->drawable);
134 struct dri2_egl_surface *dri2_surf = loaderPrivate;
135 struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display);
141 gc = dri2_surf->gc;
144 gc = dri2_surf->swapgc;
150 xcb_put_image(dri2_dpy->conn, XCB_IMAGE_FORMAT_Z_PIXMAP, dri2_surf->drawable,
151 gc, w, h, x, y, 0, dri2_surf->depth,
152 w*h*dri2_surf->bytes_per_pixel, (const uint8_t *)data);
160 struct dri2_egl_surface *dri2_surf = loaderPrivate;
161 struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display);
168 dri2_surf->drawable, x, y, w, h, ~0);
206 struct dri2_egl_surface *dri2_surf;
218 dri2_surf = malloc(sizeof *dri2_surf);
219 if (!dri2_surf) {
224 if (!_eglInitSurface(&dri2_surf->base, disp, type, conf, attrib_list))
227 dri2_surf->region = XCB_NONE;
229 dri2_surf->drawable = xcb_generate_id(dri2_dpy->conn);
231 dri2_surf->drawable, dri2_dpy->screen->root,
232 dri2_surf->base.Width, dri2_surf->base.Height);
241 dri2_surf->drawable = drawable;
245 dri2_surf->base.GLColorspace);
248 dri2_surf->dri_drawable =
250 dri2_surf);
253 dri2_surf->dri_drawable =
255 dri2_surf);
258 if (dri2_surf->dri_drawable == NULL) {
264 cookie = xcb_get_geometry (dri2_dpy->conn, dri2_surf->drawable);
280 dri2_surf->base.Width = reply->width;
281 dri2_surf->base.Height = reply->height;
282 dri2_surf->depth = reply->depth;
291 dri2_surf->drawable);
308 dri2_surf->depth = _eglGetConfigKey(conf, EGL_BUFFER_SIZE);
310 swrastCreateDrawable(dri2_dpy, dri2_surf);
314 dri2_surf->base.PostSubBufferSupportedNV = EGL_TRUE;
316 return &dri2_surf->base;
319 dri2_dpy->core->destroyDrawable(dri2_surf->dri_drawable);
322 xcb_free_pixmap(dri2_dpy->conn, dri2_surf->drawable);
324 free(dri2_surf);
376 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf);
380 dri2_dpy->core->destroyDrawable(dri2_surf->dri_drawable);
383 xcb_dri2_destroy_drawable (dri2_dpy->conn, dri2_surf->drawable);
386 swrastDestroyDrawable(dri2_dpy, dri2_surf);
390 xcb_free_pixmap (dri2_dpy->conn, dri2_surf->drawable);
411 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf);
419 swrastGetDrawableInfo(drawable, &x, &y, &w, &h, dri2_surf);
438 dri2_x11_process_buffers(struct dri2_egl_surface *dri2_surf,
442 dri2_egl_display(dri2_surf->base.Resource.Display);
446 dri2_surf->buffer_count = count;
447 dri2_surf->have_fake_front = 0;
452 dri2_surf->buffers[i].attachment = buffers[i].attachment;
453 dri2_surf->buffers[i].name = buffers[i].name;
454 dri2_surf->buffers[i].pitch = buffers[i].pitch;
455 dri2_surf->buffers[i].cpp = buffers[i].cpp;
456 dri2_surf->buffers[i].flags = buffers[i].flags;
463 if (dri2_surf->buffers[i].attachment == __DRI_BUFFER_FAKE_FRONT_LEFT)
464 dri2_surf->have_fake_front = 1;
467 if (dri2_surf->region != XCB_NONE)
468 xcb_xfixes_destroy_region(dri2_dpy->conn, dri2_surf->region);
472 rectangle.width = dri2_surf->base.Width;
473 rectangle.height = dri2_surf->base.Height;
474 dri2_surf->region = xcb_generate_id(dri2_dpy->conn);
475 xcb_xfixes_create_region(dri2_dpy->conn, dri2_surf->region, 1, &rectangle);
484 struct dri2_egl_surface *dri2_surf = loaderPrivate;
486 dri2_egl_display(dri2_surf->base.Resource.Display);
494 dri2_surf->drawable,
504 dri2_surf->base.Width = *width = reply->width;
505 dri2_surf->base.Height = *height = reply->height;
506 dri2_x11_process_buffers(dri2_surf, buffers, *out_count);
510 return dri2_surf->buffers;
519 struct dri2_egl_surface *dri2_surf = loaderPrivate;
521 dri2_egl_display(dri2_surf->base.Resource.Display);
531 dri2_surf->drawable,
541 dri2_surf->base.Width = *width = reply->width;
542 dri2_surf->base.Height = *height = reply->height;
544 dri2_x11_process_buffers(dri2_surf, buffers, *out_count);
548 return dri2_surf->buffers;
559 struct dri2_egl_surface *dri2_surf = loaderPrivate;
561 dri2WaitGL(dri2_surf);
811 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
820 dri2_dpy->flush->flush(dri2_surf->dri_drawable);
822 if (dri2_surf->have_fake_front)
828 dri2_surf->drawable,
842 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
858 return dri2_copy_region(drv, disp, draw, dri2_surf->region) ? 0 : -1;
862 cookie = xcb_dri2_swap_buffers_unchecked(dri2_dpy->conn, dri2_surf->drawable,
884 dri2_dpy->flush->invalidate(dri2_surf->dri_drawable);
893 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
905 dri2_dpy->core->swapBuffers(dri2_surf->dri_drawable);
916 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
923 return dri2_copy_region(drv, disp, draw, dri2_surf->region);
927 rectangles[i].y = dri2_surf->base.Height - rects[i * 4 + 1] - rects[i * 4 + 3];
957 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf);
965 xcb_dri2_swap_interval(dri2_dpy->conn, dri2_surf->drawable, interval);
977 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf);
986 dri2_dpy->flush->flush(dri2_surf->dri_drawable);
991 dri2_surf->drawable,
996 dri2_surf->base.Width,
997 dri2_surf->base.Height);
1117 struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surface);
1121 cookie = xcb_dri2_get_msc(dri2_dpy->conn, dri2_surf->drawable);