diff options
Diffstat (limited to 'xorg-server/glamor/glamor.h')
-rw-r--r-- | xorg-server/glamor/glamor.h | 173 |
1 files changed, 6 insertions, 167 deletions
diff --git a/xorg-server/glamor/glamor.h b/xorg-server/glamor/glamor.h index 206158c02..d07182d9e 100644 --- a/xorg-server/glamor/glamor.h +++ b/xorg-server/glamor/glamor.h @@ -53,25 +53,15 @@ struct glamor_context; */ typedef enum glamor_pixmap_type { GLAMOR_MEMORY, - GLAMOR_MEMORY_MAP, GLAMOR_TEXTURE_DRM, - GLAMOR_SEPARATE_TEXTURE, GLAMOR_DRM_ONLY, GLAMOR_TEXTURE_ONLY, - GLAMOR_TEXTURE_LARGE, - GLAMOR_TEXTURE_PACK } glamor_pixmap_type_t; #define GLAMOR_EGL_EXTERNAL_BUFFER 3 -#define GLAMOR_INVERTED_Y_AXIS 1 /* compat stub */ -#define GLAMOR_USE_SCREEN (1 << 1) -#define GLAMOR_USE_PICTURE_SCREEN (1 << 2) -#define GLAMOR_USE_EGL_SCREEN (1 << 3) -#define GLAMOR_NO_DRI3 (1 << 4) -#define GLAMOR_VALID_FLAGS (GLAMOR_INVERTED_Y_AXIS \ - | GLAMOR_USE_SCREEN \ - | GLAMOR_USE_PICTURE_SCREEN \ - | GLAMOR_USE_EGL_SCREEN \ +#define GLAMOR_USE_EGL_SCREEN (1 << 0) +#define GLAMOR_NO_DRI3 (1 << 1) +#define GLAMOR_VALID_FLAGS (GLAMOR_USE_EGL_SCREEN \ | GLAMOR_NO_DRI3) /* @glamor_init: Initialize glamor internal data structure. @@ -79,23 +69,13 @@ typedef enum glamor_pixmap_type { * @screen: Current screen pointer. * @flags: Please refer the flags description above. * - * @GLAMOR_USE_SCREEN: - * If running in an pre-existing X environment, and the - * gl context is GLX, then you should set this bit and - * let the glamor to handle all the screen related - * functions such as GC ops and CreatePixmap/DestroyPixmap. - * - * @GLAMOR_USE_PICTURE_SCREEN: - * If don't use any other underlying DDX driver to handle - * the picture related rendering functions, please set this - * bit on. Otherwise, clear this bit. And then it is the DDX - * driver's responsibility to determine how/when to jump to - * glamor's picture compositing path. - * * @GLAMOR_USE_EGL_SCREEN: * If you are using EGL layer, then please set this bit * on, otherwise, clear it. * + * @GLAMOR_NO_DRI3 + * Disable the built-in DRI3 support + * * This function initializes necessary internal data structure * for glamor. And before calling into this function, the OpenGL * environment should be ready. Should be called before any real @@ -142,7 +122,6 @@ extern _X_EXPORT Bool glamor_destroy_pixmap(PixmapPtr pixmap); #define GLAMOR_CREATE_PIXMAP_CPU 0x100 #define GLAMOR_CREATE_PIXMAP_FIXUP 0x101 #define GLAMOR_CREATE_FBO_NO_FBO 0x103 -#define GLAMOR_CREATE_PIXMAP_MAP 0x104 #define GLAMOR_CREATE_NO_LARGE 0x105 #define GLAMOR_CREATE_PIXMAP_NO_TEXTURE 0x106 @@ -326,146 +305,6 @@ extern _X_EXPORT void glamor_destroy_gc(GCPtr gc); extern Bool _X_EXPORT glamor_change_window_attributes(WindowPtr pWin, unsigned long mask); extern void _X_EXPORT glamor_copy_window(WindowPtr window, DDXPointRec old_origin, RegionPtr src_region); -/* Glamor rendering/drawing functions with XXX_nf. - * nf means no fallback within glamor internal if possible. If glamor - * fail to accelerate the operation, glamor will return a false, and the - * caller need to implement fallback method. Return a true means the - * rendering request get done successfully. */ -extern _X_EXPORT Bool glamor_fill_spans_nf(DrawablePtr drawable, - GCPtr gc, - int n, DDXPointPtr points, - int *widths, int sorted); - -extern _X_EXPORT Bool glamor_poly_fill_rect_nf(DrawablePtr drawable, - GCPtr gc, - int nrect, xRectangle *prect); - -extern _X_EXPORT Bool glamor_put_image_nf(DrawablePtr drawable, - GCPtr gc, int depth, int x, int y, - int w, int h, int left_pad, - int image_format, char *bits); - -extern _X_EXPORT Bool glamor_copy_n_to_n_nf(DrawablePtr src, - DrawablePtr dst, - GCPtr gc, - BoxPtr box, - int nbox, - int dx, - int dy, - Bool reverse, - Bool upsidedown, Pixel bitplane, - void *closure); - -extern _X_EXPORT Bool glamor_copy_nf(DrawablePtr src, - DrawablePtr dst, - GCPtr gc, - BoxPtr box, - int nbox, - int dx, - int dy, - Bool reverse, - Bool upsidedown, Pixel bitplane, - void *closure); - -extern _X_EXPORT Bool glamor_composite_nf(CARD8 op, - PicturePtr source, - PicturePtr mask, - PicturePtr dest, - INT16 x_source, - INT16 y_source, - INT16 x_mask, - INT16 y_mask, - INT16 x_dest, INT16 y_dest, - CARD16 width, CARD16 height); - -extern _X_EXPORT Bool glamor_trapezoids_nf(CARD8 op, - PicturePtr src, PicturePtr dst, - PictFormatPtr mask_format, - INT16 x_src, INT16 y_src, - int ntrap, xTrapezoid *traps); - -extern _X_EXPORT Bool glamor_glyphs_nf(CARD8 op, - PicturePtr src, - PicturePtr dst, - PictFormatPtr mask_format, - INT16 x_src, - INT16 y_src, int nlist, - GlyphListPtr list, GlyphPtr *glyphs); - -extern _X_EXPORT Bool glamor_triangles_nf(CARD8 op, - PicturePtr pSrc, - PicturePtr pDst, - PictFormatPtr maskFormat, - INT16 xSrc, INT16 ySrc, - int ntris, xTriangle *tris); - -extern _X_EXPORT void glamor_glyph_unrealize(ScreenPtr screen, GlyphPtr glyph); - -extern _X_EXPORT Bool glamor_set_spans_nf(DrawablePtr drawable, GCPtr gc, - char *src, DDXPointPtr points, - int *widths, int n, int sorted); - -extern _X_EXPORT Bool glamor_get_spans_nf(DrawablePtr drawable, int wmax, - DDXPointPtr points, int *widths, - int count, char *dst); - -extern _X_EXPORT Bool glamor_composite_rects_nf(CARD8 op, - PicturePtr pDst, - xRenderColor *color, - int nRect, xRectangle *rects); - -extern _X_EXPORT Bool glamor_get_image_nf(DrawablePtr pDrawable, int x, int y, - int w, int h, unsigned int format, - unsigned long planeMask, char *d); - -extern _X_EXPORT Bool glamor_add_traps_nf(PicturePtr pPicture, - INT16 x_off, - INT16 y_off, int ntrap, - xTrap *traps); - -extern _X_EXPORT Bool glamor_copy_plane_nf(DrawablePtr pSrc, DrawablePtr pDst, - GCPtr pGC, int srcx, int srcy, int w, - int h, int dstx, int dsty, - unsigned long bitPlane, - RegionPtr *pRegion); - -extern _X_EXPORT Bool glamor_image_glyph_blt_nf(DrawablePtr pDrawable, - GCPtr pGC, int x, int y, - unsigned int nglyph, - CharInfoPtr *ppci, - void *pglyphBase); - -extern _X_EXPORT Bool glamor_poly_glyph_blt_nf(DrawablePtr pDrawable, GCPtr pGC, - int x, int y, - unsigned int nglyph, - CharInfoPtr *ppci, - void *pglyphBase); - -extern _X_EXPORT Bool glamor_push_pixels_nf(GCPtr pGC, PixmapPtr pBitmap, - DrawablePtr pDrawable, int w, int h, - int x, int y); - -extern _X_EXPORT Bool glamor_poly_point_nf(DrawablePtr pDrawable, GCPtr pGC, - int mode, int npt, DDXPointPtr ppt); - -extern _X_EXPORT Bool glamor_poly_segment_nf(DrawablePtr pDrawable, GCPtr pGC, - int nseg, xSegment *pSeg); - -extern _X_EXPORT Bool glamor_poly_lines_nf(DrawablePtr drawable, GCPtr gc, - int mode, int n, DDXPointPtr points); - -extern _X_EXPORT Bool glamor_poly_text8_nf(DrawablePtr drawable, GCPtr gc, - int x, int y, int count, char *chars, int *final_pos); - -extern _X_EXPORT Bool glamor_poly_text16_nf(DrawablePtr drawable, GCPtr gc, - int x, int y, int count, unsigned short *chars, int *final_pos); - -extern _X_EXPORT Bool glamor_image_text8_nf(DrawablePtr drawable, GCPtr gc, - int x, int y, int count, char *chars); - -extern _X_EXPORT Bool glamor_image_text16_nf(DrawablePtr drawable, GCPtr gc, - int x, int y, int count, unsigned short *chars); - #define HAS_GLAMOR_TEXT 1 #ifdef GLAMOR_FOR_XORG |