head 1.2; access; symbols netbsd-7-2-RELEASE:1.1.1.3 netbsd-7-1-2-RELEASE:1.1.1.3 netbsd-7-1-1-RELEASE:1.1.1.3 netbsd-7-1:1.1.1.3.0.14 netbsd-7-1-RELEASE:1.1.1.3 netbsd-7-1-RC2:1.1.1.3 netbsd-7-1-RC1:1.1.1.3 netbsd-7-0-2-RELEASE:1.1.1.3 netbsd-7-0-1-RELEASE:1.1.1.3 netbsd-7-0:1.1.1.3.0.12 netbsd-7-0-RELEASE:1.1.1.3 netbsd-7-0-RC3:1.1.1.3 netbsd-7-0-RC2:1.1.1.3 netbsd-7-0-RC1:1.1.1.3 netbsd-5-2-3-RELEASE:1.1.1.1 netbsd-5-1-5-RELEASE:1.1.1.1 netbsd-6-0-6-RELEASE:1.1.1.3 netbsd-6-1-5-RELEASE:1.1.1.3 netbsd-7:1.1.1.3.0.10 netbsd-7-base:1.1.1.3 netbsd-6-1-4-RELEASE:1.1.1.3 netbsd-6-0-5-RELEASE:1.1.1.3 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.3 riastradh-drm2:1.1.1.3.0.8 riastradh-drm2-base:1.1.1.3 netbsd-6-1-3-RELEASE:1.1.1.3 netbsd-6-0-4-RELEASE:1.1.1.3 netbsd-5-2-2-RELEASE:1.1.1.1 netbsd-5-1-4-RELEASE:1.1.1.1 netbsd-6-1-2-RELEASE:1.1.1.3 netbsd-6-0-3-RELEASE:1.1.1.3 netbsd-5-2-1-RELEASE:1.1.1.1 netbsd-5-1-3-RELEASE:1.1.1.1 netbsd-6-1-1-RELEASE:1.1.1.3 xorg-server-1-10-6:1.1.1.3 netbsd-6-1:1.1.1.3.0.6 netbsd-6-0-2-RELEASE:1.1.1.3 netbsd-6-1-RELEASE:1.1.1.3 netbsd-6-1-RC4:1.1.1.3 netbsd-6-1-RC3:1.1.1.3 netbsd-6-1-RC2:1.1.1.3 netbsd-6-1-RC1:1.1.1.3 netbsd-5-2:1.1.1.1.0.8 netbsd-6-0-1-RELEASE:1.1.1.3 netbsd-5-2-RELEASE:1.1.1.1 netbsd-5-2-RC1:1.1.1.1 netbsd-6-0:1.1.1.3.0.4 netbsd-6-0-RELEASE:1.1.1.3 netbsd-6-0-RC2:1.1.1.3 netbsd-6-0-RC1:1.1.1.3 netbsd-6:1.1.1.3.0.2 netbsd-6-base:1.1.1.3 netbsd-5-1-2-RELEASE:1.1.1.1 netbsd-5-1-1-RELEASE:1.1.1.1 xorg-server-1-10-3:1.1.1.3 mrg-xorg-server-1-9-5-pre-1-10-3:1.1.1.2 xorg-server-1-9-5:1.1.1.2 xorg-server-1-9-2:1.1.1.2 netbsd-5-1:1.1.1.1.0.6 netbsd-5-1-RELEASE:1.1.1.1 netbsd-5-1-RC4:1.1.1.1 netbsd-5-1-RC3:1.1.1.1 netbsd-5-1-RC2:1.1.1.1 netbsd-5-1-RC1:1.1.1.1 netbsd-5-0-2-RELEASE:1.1.1.1 xorg-server-1-6-5:1.1.1.1 xorg-server-1-6-3:1.1.1.1 netbsd-5-0-1-RELEASE:1.1.1.1 xorg-server-1-6-2:1.1.1.1 xorg-server-1-6-1-901:1.1.1.1 netbsd-5-0:1.1.1.1.0.4 netbsd-5-0-RELEASE:1.1.1.1 netbsd-5-0-RC4:1.1.1.1 netbsd-5-0-RC3:1.1.1.1 netbsd-5-0-RC2:1.1.1.1 netbsd-5-0-RC1:1.1.1.1 netbsd-5:1.1.1.1.0.2 netbsd-5-base:1.1.1.1 xorg-server-1-4-2:1.1.1.1 xorg:1.1.1; locks; strict; comment @# @; 1.2 date 2016.08.11.00.04.28; author mrg; state dead; branches; next 1.1; commitid FQxwnZNPy5ZgOOhz; 1.1 date 2008.07.31.19.50.31; author mrg; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2008.07.31.19.50.31; author mrg; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2010.11.23.05.21.20; author mrg; state Exp; branches; next 1.1.1.3; 1.1.1.3 date 2011.08.02.06.56.50; author mrg; state Exp; branches; next ; desc @@ 1.2 log @first merge of netbsd changes. not tested yet. @ text @ File Index
Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

dmxpict.c File Reference

#include "dmx.h"
#include "dmxsync.h"
#include "dmxpict.h"
#include "dmxwindow.h"
#include "dmxpixmap.h"
#include "fb.h"
#include "pixmapstr.h"
#include "dixstruct.h"
#include "render.h"
#include "renderproto.h"
#include "picture.h"
#include "picturestr.h"
#include "mipict.h"
#include "fbpict.h"

Functions

void dmxInitRender (void)
void dmxResetRender (void)
Bool dmxPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
Bool dmxBEFreeGlyphSet (ScreenPtr pScreen, GlyphSetPtr glyphSet)
void dmxCreatePictureList (WindowPtr pWindow)
int dmxCreatePicture (PicturePtr pPicture)
Bool dmxBEFreePicture (PicturePtr pPicture)
Bool dmxDestroyPictureList (WindowPtr pWindow)
void dmxDestroyPicture (PicturePtr pPicture)
int dmxChangePictureClip (PicturePtr pPicture, int clipType, pointer value, int n)
void dmxDestroyPictureClip (PicturePtr pPicture)
void dmxChangePicture (PicturePtr pPicture, Mask mask)
void dmxValidatePicture (PicturePtr pPicture, Mask mask)
void dmxComposite (CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
void dmxGlyphs (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlists, GlyphListPtr lists, GlyphPtr *glyphs)
void dmxCompositeRects (CARD8 op, PicturePtr pDst, xRenderColor *color, int nRect, xRectangle *rects)
Bool dmxInitIndexed (ScreenPtr pScreen, PictFormatPtr pFormat)
void dmxCloseIndexed (ScreenPtr pScreen, PictFormatPtr pFormat)
void dmxUpdateIndexed (ScreenPtr pScreen, PictFormatPtr pFormat, int ndef, xColorItem *pdef)
void dmxTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid *traps)
void dmxTriangles (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntri, xTriangle *tris)
void dmxTriStrip (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int npoint, xPointFixed *points)
void dmxTriFan (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int npoint, xPointFixed *points)

Detailed Description

Provide support for the RENDER extension (version 0.8).

Function Documentation

Bool dmxBEFreeGlyphSet ScreenPtr  pScreen,
GlyphSetPtr  glyphSet
 

Free glyphSet on back-end screen number idx.

Bool dmxBEFreePicture PicturePtr  pPicture  ) 
 

Destroy pPicture on the back-end server.

void dmxChangePicture PicturePtr  pPicture,
Mask  mask
 

Change the attributes of the pictures. If the picture has not yet been created due to lazy window creation, save the mask so that it can be used to appropriately initialize the picture's attributes when it is created later.

int dmxChangePictureClip PicturePtr  pPicture,
int  clipType,
pointer  value,
int  n
 

Change the picture's list of clip rectangles.

void dmxCloseIndexed ScreenPtr  pScreen,
PictFormatPtr  pFormat
 

Indexed color visuals are not yet supported.

void dmxComposite CARD8  op,
PicturePtr  pSrc,
PicturePtr  pMask,
PicturePtr  pDst,
INT16  xSrc,
INT16  ySrc,
INT16  xMask,
INT16  yMask,
INT16  xDst,
INT16  yDst,
CARD16  width,
CARD16  height
 

Composite a picture on the appropriate screen by combining the specified rectangle of the transformed src and mask operands with the specified rectangle of the dst using op as the compositing operator. For a complete description see the protocol document of the RENDER library.

void dmxCompositeRects CARD8  op,
PicturePtr  pDst,
xRenderColor *  color,
int  nRect,
xRectangle *  rects
 

Fill a rectangle on the appropriate screen by combining the color with the dest picture in the area specified by the list of rectangles. For a complete description see the protocol document of the RENDER library.

int dmxCreatePicture PicturePtr  pPicture  ) 
 

Create a picture. This function handles the CreatePicture unwrapping/wrapping and calls dmxDoCreatePicture to actually create the picture on the appropriate screen.

void dmxCreatePictureList WindowPtr  pWindow  ) 
 

Create a list of pictures. This function is called by dmxCreateAndRealizeWindow() during the lazy window creation realization process. It creates the entire list of pictures that are associated with the given window.

void dmxDestroyPicture PicturePtr  pPicture  ) 
 

Destroy a picture. This function calls the wrapped function that frees the resources in the DMX server associated with this picture.

void dmxDestroyPictureClip PicturePtr  pPicture  ) 
 

Destroy the picture's list of clip rectangles.

Bool dmxDestroyPictureList WindowPtr  pWindow  ) 
 

Destroy a list of pictures that are associated with the window that is being destroyed. This function is called by dmxDestroyWindow().

void dmxGlyphs CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  nlists,
GlyphListPtr  lists,
GlyphPtr *  glyphs
 

Null function to catch when/if RENDER calls lower level mi hooks. Compositing glyphs is handled by dmxProcRenderCompositeGlyphs(). This function should never be called.

Bool dmxInitIndexed ScreenPtr  pScreen,
PictFormatPtr  pFormat
 

Indexed color visuals are not yet supported.

void dmxInitRender void   ) 
 

Initialize the Proc Vector for the RENDER extension. The functions here cannot be handled by the mi layer RENDER hooks either because the required information is no longer available when it reaches the mi layer or no mi layer hooks exist. This function is called from InitOutput() since it should be initialized only once per server generation.

Bool dmxPictureInit ScreenPtr  pScreen,
PictFormatPtr  formats,
int  nformats
 

Initialize the RENDER extension, allocate the picture privates and wrap mi function hooks. If the shadow frame buffer is used, then call the appropriate fb initialization function.

void dmxResetRender void   ) 
 

Reset the Proc Vector for the RENDER extension back to the original functions. This function is called from dmxCloseScreen() during the server reset (only for screen #0).

void dmxTrapezoids CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  ntrap,
xTrapezoid *  traps
 

Composite a list of trapezoids on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxTriangles CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  ntri,
xTriangle *  tris
 

Composite a list of triangles on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxTriFan CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  npoint,
xPointFixed *  points
 

Composite a triangle fan on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxTriStrip CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  npoint,
xPointFixed *  points
 

Composite a triangle strip on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxUpdateIndexed ScreenPtr  pScreen,
PictFormatPtr  pFormat,
int  ndef,
xColorItem *  pdef
 

Indexed color visuals are not yet supported.

void dmxValidatePicture PicturePtr  pPicture,
Mask  mask
 

Validate the picture's attributes before rendering to it. Update any picture attributes that have been changed by one of the higher layers.


Generated June 29, 2004 for Distributed Multihead X by doxygen 1.3.4. @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @initial import of xorg-server-1.4.2 @ text @@ 1.1.1.2 log @import xorg-server 1.9.2. important changes since 1.6.5 include: - built-in symbol visibility, default not export - fixes for various crashes - many fixes for XI2, EXA, dix, render, glx, xkb, EDID, randr, Xv, resource handling, Xext, vfb, xfree86 / vga and composite support. - fixes several memory leaks - many many documentation updates - record extension enabled - no longer looks for XF86Config files @ text @d9 54 a62 112

dmxpict.c File Reference

#include "dmx.h"
#include "dmxsync.h"
#include "dmxpict.h"
#include "dmxwindow.h"
#include "dmxpixmap.h"
#include "fb.h"
#include "pixmapstr.h"
#include "dixstruct.h"
#include <X11/extensions/render.h>
#include <X11/extensions/renderproto.h>
#include <X11/extensions/Xfixes.h>
#include "picture.h"
#include "picturestr.h"
#include "mipict.h"
#include "fbpict.h"

Functions

static int dmxProcRenderCreateGlyphSet (ClientPtr client)
static int dmxProcRenderFreeGlyphSet (ClientPtr client)
static int dmxProcRenderAddGlyphs (ClientPtr client)
static int dmxProcRenderFreeGlyphs (ClientPtr client)
static int dmxProcRenderCompositeGlyphs (ClientPtr client)
static int dmxProcRenderSetPictureTransform (ClientPtr client)
static int dmxProcRenderSetPictureFilter (ClientPtr client)
static int dmxGlyphErrorHandler (Display *dpy, XErrorEvent *ev)
void dmxInitRender (void)
void dmxResetRender (void)
Bool dmxPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
static XRenderPictFormat * dmxFindFormat (DMXScreenInfo *dmxScreen, PictFormatPtr pFmt)
Bool dmxBEFreeGlyphSet (ScreenPtr pScreen, GlyphSetPtr glyphSet)
int dmxBECreateGlyphSet (int idx, GlyphSetPtr glyphSet)
static Picture dmxDoCreatePicture (PicturePtr pPicture)
void dmxCreatePictureList (WindowPtr pWindow)
int dmxBECreatePicture (PicturePtr pPicture)
int dmxCreatePicture (PicturePtr pPicture)
Bool dmxBEFreePicture (PicturePtr pPicture)
Bool dmxDestroyPictureList (WindowPtr pWindow)
void dmxDestroyPicture (PicturePtr pPicture)
int dmxChangePictureClip (PicturePtr pPicture, int clipType, pointer value, int n)
void dmxDestroyPictureClip (PicturePtr pPicture)
void dmxChangePicture (PicturePtr pPicture, Mask mask)
void dmxValidatePicture (PicturePtr pPicture, Mask mask)
void dmxComposite (CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
void dmxGlyphs (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlists, GlyphListPtr lists, GlyphPtr *glyphs)
void dmxCompositeRects (CARD8 op, PicturePtr pDst, xRenderColor *color, int nRect, xRectangle *rects)
Bool dmxInitIndexed (ScreenPtr pScreen, PictFormatPtr pFormat)
void dmxCloseIndexed (ScreenPtr pScreen, PictFormatPtr pFormat)
void dmxUpdateIndexed (ScreenPtr pScreen, PictFormatPtr pFormat, int ndef, xColorItem *pdef)
void dmxTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid *traps)
void dmxTriangles (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntri, xTriangle *tris)
void dmxTriStrip (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int npoint, xPointFixed *points)
void dmxTriFan (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int npoint, xPointFixed *points)

Variables

int RenderErrBase
int(* ProcRenderVector [RenderNumberRequests])(ClientPtr)
static int(* dmxSaveRenderVector [RenderNumberRequests])(ClientPtr)
static int dmxGlyphLastError

Detailed Description

Provide support for the RENDER extension (version 0.8).


Function Documentation

int dmxBECreateGlyphSet ( int  idx,
GlyphSetPtr  glyphSet 
)

Create glyphSet on the backend screen number idx.

d64 1 a64 1

References _DMXScreenInfo::beDisplay, DMX_GET_GLYPH_PRIV, dmxFindFormat(), dmxGlyphErrorHandler(), dmxGlyphLastError, dmxScreens, and _dmxGlyphPriv::glyphSets.

d66 1 a66 1

Referenced by dmxBERestoreRenderGlyph(), and dmxProcRenderCreateGlyphSet().

d68 1 a68 18
int dmxBECreatePicture ( PicturePtr  pPicture  ) 

Create pPicture on the backend.

d70 1 a70 1

References DMX_GET_PICT_PRIV, dmxDoCreatePicture(), dmxValidatePicture(), and _dmxPictPriv::pict.

d72 1 a72 1

Referenced by dmxBERestoreRenderPict().

d74 8 a81 6
d83 4 a86 4 a88 1 d90 3 a92 2 d96 2 a97 2 d99 1 d101 27 a127 7
Bool dmxBEFreeGlyphSet ( ScreenPtr  pScreen, GlyphSetPtr  glyphSet )
d130 19 a148 14
Bool dmxBEFreePicture ( PicturePtr  pPicture  ) 
d150 4 a153 4 a155 1 d157 3 a159 2 d163 2 a164 2 d166 1 d168 19 a186 14

Change the attributes of the pictures. If the picture has not yet been created due to lazy window creation, save the mask so that it can be used to appropriately initialize the picture's attributes when it is created later.

References DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxChangePicture(), dmxScreens, and _dmxPictPriv::savedMask.

Referenced by dmxChangePicture(), and dmxPictureInit().

void dmxChangePicture ( PicturePtr  pPicture, Mask  mask )
d188 4 a191 4 a193 1 d195 3 a197 2 a199 1 d201 3 a203 2 a205 1 d207 3 a209 2 d213 2 a214 2 d216 1 d218 19 a236 14
int dmxChangePictureClip ( PicturePtr  pPicture, int  clipType, pointer  value, int  n )
d238 4 a241 4 a243 1 d245 3 a247 2 d251 2 a252 2 d254 1 d256 19 a274 10

Indexed color visuals are not yet supported.

void dmxCloseIndexed ( ScreenPtr  pScreen, PictFormatPtr  pFormat )
d276 4 a279 4 a281 1 d283 3 a285 2 a287 1 d289 3 a291 2 a293 1 d295 3 a297 2 a299 1 d301 3 a303 2 a305 1 d307 3 a309 2 a311 1 d313 3 a315 2 a317 1 d319 3 a321 2 a323 1 d325 3 a327 2 a329 1 d331 3 a333 2 a335 1 d337 3 a339 2 a341 1 d343 3 a345 2 d349 2 a350 2 d352 1 d354 19 a372 14

Composite a picture on the appropriate screen by combining the specified rectangle of the transformed src and mask operands with the specified rectangle of the dst using op as the compositing operator. For a complete description see the protocol document of the RENDER library.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxComposite(), dmxScreens, dmxSync(), and _dmxPictPriv::pict.

Referenced by dmxComposite(), and dmxPictureInit().

void dmxComposite ( CARD8  op, PicturePtr  pSrc, PicturePtr  pMask, PicturePtr  pDst, INT16  xSrc, INT16  ySrc, INT16  xMask, INT16  yMask, INT16  xDst, INT16  yDst, CARD16  width, CARD16  height )
d374 4 a377 4 a379 1 d381 3 a383 2 a385 1 d387 3 a389 2 a391 1 d393 3 a395 2 a397 1 d399 3 a401 2 d405 2 a406 2 d408 1 d410 27 a436 3

Fill a rectangle on the appropriate screen by combining the color with the dest picture in the area specified by the list of rectangles. For a complete description see the protocol document of the RENDER library.

d438 28 a465 1

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxCompositeRects(), dmxScreens, dmxSync(), and _dmxPictPriv::pict.

d467 27 a493 15

Referenced by dmxCompositeRects(), and dmxPictureInit().

void dmxCompositeRects ( CARD8  op, PicturePtr  pDst, xRenderColor *  color, int  nRect, xRectangle *  rects )
a494 8
int dmxCreatePicture ( PicturePtr  pPicture  ) 

Create a picture. This function handles the CreatePicture unwrapping/wrapping and calls dmxDoCreatePicture to actually create the picture on the appropriate screen.

References DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxCreatePicture(), dmxDoCreatePicture(), dmxScreens, _dmxPictPriv::pict, and _dmxPictPriv::savedMask.

Referenced by dmxCreatePicture(), and dmxPictureInit().

a495 14
d497 26 a522 21

Create a list of pictures. This function is called by dmxCreateAndRealizeWindow() during the lazy window creation realization process. It creates the entire list of pictures that are associated with the given window.

References DMX_GET_PICT_PRIV, dmxDoCreatePicture(), and _dmxPictPriv::pict.

Referenced by dmxCreateAndRealizeWindow().

void dmxCreatePictureList ( WindowPtr  pWindow  ) 
a523 4
void dmxDestroyPicture ( PicturePtr  pPicture  ) 

Destroy a picture. This function calls the wrapped function that frees the resources in the DMX server associated with this picture.

a524 18

References DMX_UNWRAP, DMX_WRAP, dmxBEFreePicture(), dmxDestroyPicture(), dmxScreens, and dmxSync().

Referenced by dmxDestroyPicture(), and dmxPictureInit().

d526 26 a551 21
void dmxDestroyPictureClip ( PicturePtr  pPicture  ) 
a552 8
Bool dmxDestroyPictureList ( WindowPtr  pWindow  ) 

Destroy a list of pictures that are associated with the window that is being destroyed. This function is called by dmxDestroyWindow().

References dmxBEFreePicture().

Referenced by dmxDestroyWindow().

a553 14
d555 19 a573 14

Create a picture on the appropriate screen. This is the actual function that creates the picture. However, if the associated window has not yet been created due to lazy window creation, then delay the picture creation until the window is mapped.

References _DMXScreenInfo::beDisplay, DMX_GET_PIXMAP_PRIV, DMX_GET_WINDOW_PRIV, dmxFindFormat(), dmxScreens, _dmxWinPriv::hasPict, _dmxPixPriv::pixmap, and _dmxWinPriv::window.

Referenced by dmxBECreatePicture(), dmxCreatePicture(), and dmxCreatePictureList().

static Picture dmxDoCreatePicture ( PicturePtr  pPicture  )  [static]
d575 4 a578 4 a580 1 d582 3 a584 2 d588 3 a590 2 a591 15
static XRenderPictFormat* dmxFindFormat ( DMXScreenInfo dmxScreen, PictFormatPtr  pFmt ) [static]

Find the appropriate format on the requested screen given the internal format requested. The list of formats is searched sequentially as the XRenderFindFormat() function does not always find the appropriate format when a specific format is requested.

References _DMXScreenInfo::beDisplay.

Referenced by dmxBECreateGlyphSet(), dmxDoCreatePicture(), dmxProcRenderCompositeGlyphs(), dmxTrapezoids(), dmxTriangles(), dmxTriFan(), and dmxTriStrip().

d593 4 a596 4 a598 1 a599 4 d601 2 a602 22
static int dmxGlyphErrorHandler ( Display *  dpy, XErrorEvent *  ev 
) [static]

References dmxGlyphLastError.

Referenced by dmxBECreateGlyphSet().

a604 1 a605 5 d607 2 a608 2 a610 1 a611 5 d613 2 a614 2 a616 1 a617 5 d619 2 a620 2 a622 1 a623 5 d625 2 a626 2 d630 2 a631 2 d633 1 d635 19 a653 12

Null function to catch when/if RENDER calls lower level mi hooks. Compositing glyphs is handled by dmxProcRenderCompositeGlyphs(). This function should never be called.

Referenced by dmxPictureInit().

void dmxGlyphs ( CARD8  op, PicturePtr  pSrc,
PicturePtr  pDst, PictFormatPtr  maskFormat,
INT16  xSrc, INT16  ySrc,
int  nlists, GlyphListPtr  lists,
GlyphPtr *  glyphs )
d655 4 a658 4 a660 1 d662 3 a664 2 d668 2 a669 2 d671 1 d673 27 a699 3

Indexed color visuals are not yet supported.

a700 14
Bool dmxInitIndexed ( ScreenPtr  pScreen, PictFormatPtr  pFormat )
d702 19 a720 14

Initialize the Proc Vector for the RENDER extension. The functions here cannot be handled by the mi layer RENDER hooks either because the required information is no longer available when it reaches the mi layer or no mi layer hooks exist. This function is called from InitOutput() since it should be initialized only once per server generation.

References dmxSaveRenderVector, and ProcRenderVector.

Referenced by InitOutput().

void dmxInitRender ( void   ) 
d722 4 a725 4 a727 1 d729 3 a731 2 a733 1 d735 3 a737 2 d741 2 a742 2 a743 6
Bool dmxPictureInit ( ScreenPtr  pScreen, PictFormatPtr  formats, int  nformats )

Initialize the RENDER extension, allocate the picture privates and wrap mi function hooks. If the shadow frame buffer is used, then call the appropriate fb initialization function.

References DMX_WRAP, dmxChangePicture(), dmxChangePictureClip(), dmxComposite(), dmxCompositeRects(), dmxCreatePicture(), dmxDestroyPicture(), dmxDestroyPictureClip(), dmxGlyphs(), dmxPictPrivateKeyRec, dmxScreens, dmxShadowFB, dmxTrapezoids(), dmxTriangles(), dmxTriFan(), dmxTriStrip(), and dmxValidatePicture().

a744 16

Referenced by dmxScreenInit().

d746 26 a771 19
static int dmxProcRenderAddGlyphs ( ClientPtr  client  )  [static]
a772 4
static int dmxProcRenderCompositeGlyphs ( ClientPtr  client  )  [static]

Composite glyphs on each screen into the requested picture. If either the src or dest picture has not been allocated due to lazy window creation, this request will gracefully return.

a773 16

References _DMXScreenInfo::beDisplay, DMX_GET_GLYPH_PRIV, DMX_GET_PICT_PRIV, dmxFindFormat(), dmxSaveRenderVector, dmxScreens, dmxSync(), _dmxGlyphPriv::glyphSets, and _dmxPictPriv::pict.

d775 19 a793 12

Create a Glyph Set on each screen. Save the glyphset ID from each screen in the Glyph Set's private structure. Fail if the format requested is not available or if the Glyph Set cannot be created on the screen.

References _DMXScreenInfo::beDisplay, DMX_SET_GLYPH_PRIV, dmxBECreateGlyphSet(), dmxBEFreeGlyphSet(), dmxNumScreens, dmxSaveRenderVector, dmxScreens, and _dmxGlyphPriv::glyphSets.

static int dmxProcRenderCreateGlyphSet ( ClientPtr  client  )  [static]
d795 4 a798 6 a799 13
static int dmxProcRenderFreeGlyphs ( ClientPtr  client  )  [static]
d801 4 a804 6 a805 13
static int dmxProcRenderFreeGlyphSet ( ClientPtr  client  )  [static]
d807 4 a810 27
static int dmxProcRenderSetPictureFilter ( ClientPtr  client  )  [static]

Set the picture filter on each screen.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, dmxSaveRenderVector, dmxScreens, dmxSync(), and _dmxPictPriv::pict.

a811 13
static int dmxProcRenderSetPictureTransform ( ClientPtr  client  )  [static]

Set the picture transform on each screen.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, dmxSaveRenderVector, dmxScreens, dmxSync(), and _dmxPictPriv::pict.

a812 5 d814 3 a817 15
void dmxResetRender ( void   ) 

Reset the Proc Vector for the RENDER extension back to the original functions. This function is called from dmxCloseScreen() during the server reset (only for screen #0).

References dmxSaveRenderVector, and ProcRenderVector.

Referenced by dmxCloseScreen().

a818 7 d820 3 a822 2 a824 1 a825 5 d827 2 a828 2 a830 1 a831 5 d833 2 a834 2 a836 1 a837 5 d839 2 a840 2 d844 2 a845 2 d847 1 d849 19 a867 14

Composite a list of trapezoids on the appropriate screen. For a complete description see the protocol document of the RENDER library.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxFindFormat(), dmxScreens, dmxSync(), dmxTrapezoids(), and _dmxPictPriv::pict.

Referenced by dmxPictureInit(), and dmxTrapezoids().

void dmxTrapezoids ( CARD8  op,
PicturePtr  pSrc, PicturePtr  pDst,
PictFormatPtr  maskFormat, INT16  xSrc,
INT16  ySrc, int  ntrap,
xTrapezoid *  traps )
d869 4 a872 4 a874 1 d876 3 a878 2 a880 1 d882 3 a884 2 a886 1 d888 3 a890 2 a892 1 d894 3 a896 2 a898 1 d900 3 a902 2 a904 1 d906 3 a908 2 a910 1 d912 3 a914 2 d918 2 a919 2 d921 1 d923 19 a941 14

Composite a list of triangles on the appropriate screen. For a complete description see the protocol document of the RENDER library.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxFindFormat(), dmxScreens, dmxSync(), dmxTriangles(), and _dmxPictPriv::pict.

Referenced by dmxPictureInit(), and dmxTriangles().

void dmxTriangles ( CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  ntri, xTriangle *  tris )
d943 4 a946 4 a948 1 d950 3 a952 2 a954 1 d956 3 a958 2 a960 1 d962 3 a964 2 a966 1 d968 3 a970 2 a972 1 d974 3 a976 2 a978 1 d980 3 a982 2 a984 1 d986 3 a988 2 d992 2 a993 2 d995 1 d997 19 a1015 14

Composite a triangle fan on the appropriate screen. For a complete description see the protocol document of the RENDER library.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxFindFormat(), dmxScreens, dmxSync(), dmxTriFan(), and _dmxPictPriv::pict.

Referenced by dmxPictureInit(), and dmxTriFan().

void dmxTriFan ( CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  npoint, xPointFixed *  points )
d1017 4 a1020 4 a1022 1 d1024 3 a1026 2 a1028 1 d1030 3 a1032 2 a1034 1 d1036 3 a1038 2 a1040 1 d1042 3 a1044 2 a1046 1 d1048 3 a1050 2 a1052 1 d1054 3 a1056 2 a1058 1 d1060 3 a1062 2 d1066 2 a1067 2 d1069 1 d1071 19 a1089 14

Composite a triangle strip on the appropriate screen. For a complete description see the protocol document of the RENDER library.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxFindFormat(), dmxScreens, dmxSync(), dmxTriStrip(), and _dmxPictPriv::pict.

Referenced by dmxPictureInit(), and dmxTriStrip().

void dmxTriStrip ( CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  npoint, xPointFixed *  points )
d1091 4 a1094 4 a1096 1 d1098 3 a1100 2 a1102 1 d1104 3 a1106 2 a1108 1 d1110 3 a1112 2 d1116 2 a1117 2 d1119 1 d1121 19 a1139 10

Indexed color visuals are not yet supported.

void dmxUpdateIndexed ( ScreenPtr  pScreen, PictFormatPtr  pFormat, int  ndef, xColorItem *  pdef )
d1141 4 a1144 4 a1146 1 d1148 3 a1150 2 d1154 2 a1155 21
void dmxValidatePicture ( PicturePtr  pPicture, Mask  mask )

Validate the picture's attributes before rendering to it. Update any picture attributes that have been changed by one of the higher layers.

References _DMXScreenInfo::beDisplay, DMX_GET_PICT_PRIV, DMX_UNWRAP, DMX_WRAP, dmxScreens, dmxSync(), dmxValidatePicture(), _dmxPictPriv::pict, and _dmxPictPriv::savedMask.

Referenced by dmxBECreatePicture(), dmxPictureInit(), and dmxValidatePicture().


Variable Documentation

a1156 4
int dmxGlyphLastError [static]

Catch errors that might occur when allocating Glyph Sets. Errors are saved in dmxGlyphLastError for later handling.

a1157 11

Referenced by dmxBECreateGlyphSet(), and dmxGlyphErrorHandler().

@ 1.1.1.3 log @initial import of xorg-server 1.10.3. highlights include: - fixes xorg bugs 29969, 30367, 30527, 30267, 30260, 29046, 30260, 31548, 28672, 24887, 32115, 21457, 32436, 21827, 28414, 24703, 32803, 16318, 33449, 33324, 33929, 35082, 35209, 36146, 36119 - many additional NULL checks - adjustments related to input ABI 12 - *lots* of dead code removal - vga arbitrator fixes - GL fixes - EDID fixes - conversion to using asprintf() in many places - many fixes from valgrind, compiler warnings see these for more details: http://lists.freedesktop.org/archives/xorg-announce/2011-February/001612.html http://lists.freedesktop.org/archives/xorg-announce/2011-April/001646.html http://lists.freedesktop.org/archives/xorg-announce/2011-May/001675.html http://lists.freedesktop.org/archives/xorg-announce/2011-July/001710.html @ text @d9 3 a11 2