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.51; 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.h File Reference

Go to the source code of this file.

Data Structures

struct  _dmxGlyphPriv
struct  _dmxPictPriv

Defines

#define DMX_GET_PICT_PRIV(_pPict)   (dmxPictPrivPtr)(_pPict)->devPrivates[dmxPictPrivateIndex].ptr
#define DMX_SET_GLYPH_PRIV(_pGlyph, _pPriv)   GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateIndex, (_pPriv))
#define DMX_GET_GLYPH_PRIV(_pGlyph)   (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateIndex)

Typedefs

typedef _dmxPictPriv dmxPictPrivRec
typedef _dmxPictPrivdmxPictPrivPtr
typedef _dmxGlyphPriv dmxGlyphPrivRec
typedef _dmxGlyphPrivdmxGlyphPrivPtr

Functions

void dmxInitRender (void)
void dmxResetRender (void)
Bool dmxPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
void dmxCreatePictureList (WindowPtr pWindow)
Bool dmxDestroyPictureList (WindowPtr pWindow)
int dmxCreatePicture (PicturePtr pPicture)
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)
Bool dmxBEFreeGlyphSet (ScreenPtr pScreen, GlyphSetPtr glyphSet)
Bool dmxBEFreePicture (PicturePtr pPicture)

Variables

int dmxPictPrivateIndex
int dmxGlyphSetPrivateIndex


Detailed Description

This file provides access to the externally visible RENDER support functions, global variables and macros for DMX.

FIXME: Move function definitions for non-externally visible function to .c file.


Define Documentation

#define DMX_GET_GLYPH_PRIV _pGlyph   )     (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateIndex)
 

Get the glyphset private data given a glyphset pointer

#define DMX_GET_PICT_PRIV _pPict   )     (dmxPictPrivPtr)(_pPict)->devPrivates[dmxPictPrivateIndex].ptr
 

Get the picture private data given a picture pointer

#define DMX_SET_GLYPH_PRIV _pGlyph,
_pPriv   )     GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateIndex, (_pPriv))
 

Set the glyphset private data given a glyphset pointer


Typedef Documentation

typedef struct _dmxGlyphPriv * dmxGlyphPrivPtr
 

Glyph Set private structure

typedef struct _dmxGlyphPriv dmxGlyphPrivRec
 

Glyph Set private structure

typedef struct _dmxPictPriv * dmxPictPrivPtr
 

Picture private structure

typedef struct _dmxPictPriv dmxPictPrivRec
 

Picture private structure


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.


Variable Documentation

int dmxGlyphSetPrivateIndex
 

Private index for GlyphSets

int dmxPictPrivateIndex
 

Private index for Picts


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 8 a16 26

dmxpict.h File Reference

d18 58 a75 65

Go to the source code of this file.

Data Structures

struct  _dmxPictPriv
struct  _dmxGlyphPriv

Defines

#define DMX_GET_PICT_PRIV(_pPict)   (dmxPictPrivPtr)dixLookupPrivate(&(_pPict)->devPrivates, dmxPictPrivateKey)
#define DMX_SET_GLYPH_PRIV(_pGlyph, _pPriv)   GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateKey, (_pPriv))
#define DMX_GET_GLYPH_PRIV(_pGlyph)   (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateKey)

Typedefs

typedef struct _dmxPictPriv dmxPictPrivRec
typedef struct _dmxPictPrivdmxPictPrivPtr
typedef struct _dmxGlyphPriv dmxGlyphPrivRec
typedef struct _dmxGlyphPrivdmxGlyphPrivPtr

Functions

void dmxInitRender (void)
void dmxResetRender (void)
Bool dmxPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
void dmxCreatePictureList (WindowPtr pWindow)
Bool dmxDestroyPictureList (WindowPtr pWindow)
int dmxCreatePicture (PicturePtr pPicture)
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)
int dmxBECreateGlyphSet (int idx, GlyphSetPtr glyphSet)
Bool dmxBEFreeGlyphSet (ScreenPtr pScreen, GlyphSetPtr glyphSet)
int dmxBECreatePicture (PicturePtr pPicture)
Bool dmxBEFreePicture (PicturePtr pPicture)

Detailed Description

This file provides access to the externally visible RENDER support functions, global variables and macros for DMX.

FIXME: Move function definitions for non-externally visible function to .c file.


Define Documentation

#define DMX_GET_GLYPH_PRIV (   _pGlyph  )     (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateKey)
#define DMX_GET_PICT_PRIV (   _pPict  )     (dmxPictPrivPtr)dixLookupPrivate(&(_pPict)->devPrivates, dmxPictPrivateKey)
#define DMX_SET_GLYPH_PRIV (   _pGlyph,
  _pPriv 
)    GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateKey, (_pPriv))

Set the glyphset private data given a glyphset pointer

d86 1 a86 1

Referenced by dmxProcRenderCreateGlyphSet(), and dmxProcRenderFreeGlyphSet().

d88 94 a181 7

Typedef Documentation

d183 1 a183 2 d185 19 a203 9
typedef struct _dmxGlyphPriv * dmxGlyphPrivPtr
d205 1 a205 2 d207 19 a225 10

Glyph Set private structure

typedef struct _dmxGlyphPriv dmxGlyphPrivRec
d227 1 a227 2 d229 19 a247 9
typedef struct _dmxPictPriv * dmxPictPrivPtr
d249 1 a249 2 d251 20 a270 11

Picture private structure


Function Documentation

typedef struct _dmxPictPriv dmxPictPrivRec
d272 4 a275 4 a277 1 d279 3 a281 2 d285 2 a286 2 d288 1 d290 27 a316 7
int dmxBECreateGlyphSet ( int  idx, GlyphSetPtr  glyphSet )
d319 19 a337 14

Create pPicture on the backend.

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

Referenced by dmxBERestoreRenderPict().

int dmxBECreatePicture ( PicturePtr  pPicture  ) 
d339 4 a342 4 a344 1 d346 3 a348 2 d352 2 a353 2 a354 4
Bool dmxBEFreeGlyphSet ( ScreenPtr  pScreen, GlyphSetPtr  glyphSet )
d357 19 a375 14
Bool dmxBEFreePicture ( PicturePtr  pPicture  ) 
d377 4 a380 4 a382 1 d384 3 a386 2 a389 26
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.

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

Referenced by dmxChangePicture(), and dmxPictureInit().

d391 2 a392 2 a394 1 a395 5 d397 2 a398 2 d402 2 a403 2 d405 1 d407 19 a425 14
int dmxChangePictureClip ( PicturePtr  pPicture,
int  clipType, pointer  value,
int  n )
d427 4 a430 4 a432 1 d434 3 a436 2 d440 2 a441 2 d443 1 d445 19 a463 10

Indexed color visuals are not yet supported.

void dmxCloseIndexed ( ScreenPtr  pScreen, PictFormatPtr  pFormat )
d465 4 a468 4 a470 1 d472 3 a474 2 a476 1 d478 3 a480 2 a482 1 d484 3 a486 2 a488 1 d490 3 a492 2 a494 1 d496 3 a498 2 a500 1 d502 3 a504 2 a506 1 d508 3 a510 2 a512 1 d514 3 a516 2 a518 1 d520 3 a522 2 a524 1 d526 3 a528 2 a530 1 d532 3 a534 2 d538 2 a539 2 d541 1 d543 19 a561 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 )
d563 4 a566 4 a568 1 d570 3 a572 2 a574 1 d576 3 a578 2 a580 1 d582 3 a584 2 a586 1 d588 3 a590 2 d594 2 a595 2 d597 1 d599 27 a625 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.

d627 28 a654 1

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

d656 28 a683 1

Referenced by dmxCompositeRects(), and dmxPictureInit().

a684 14
void dmxCompositeRects ( CARD8  op, PicturePtr  pDst, xRenderColor *  color, int  nRect, xRectangle *  rects )
d686 26 a711 21

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().

int dmxCreatePicture ( PicturePtr  pPicture  ) 
a712 8
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.

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

Referenced by dmxCreateAndRealizeWindow().

a713 14
d715 26 a740 21

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

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

Referenced by dmxDestroyPicture(), and dmxPictureInit().

void dmxDestroyPicture ( PicturePtr  pPicture  ) 
a741 4
void dmxDestroyPictureClip ( PicturePtr  pPicture  ) 

Destroy the picture's list of clip rectangles.

a742 18

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

Referenced by dmxDestroyPictureClip(), and dmxPictureInit().

d744 19 a762 14

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().

Bool dmxDestroyPictureList ( WindowPtr  pWindow  ) 
d764 4 a767 4 a769 1 d771 3 a773 2 a775 1 d777 3 a779 2 a781 1 d783 3 a785 2 a787 1 d789 3 a791 2 a793 1 d795 3 a797 2 a799 1 d801 3 a803 2 a805 1 d807 3 a809 2 a811 1 d813 3 a815 2 d819 2 a820 2 d822 1 d824 19 a842 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 )
d844 4 a847 4 a849 1 d851 3 a853 2 d857 2 a858 2 d860 1 d862 27 a888 3

Indexed color visuals are not yet supported.

a889 14
Bool dmxInitIndexed ( ScreenPtr  pScreen, PictFormatPtr  pFormat )
d891 19 a909 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   ) 
d911 4 a914 4 a916 1 d918 3 a920 2 a922 1 d924 3 a926 2 d930 2 a931 2 d933 1 d935 27 a961 3

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.

a962 18

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

Referenced by dmxScreenInit().

Bool dmxPictureInit ( ScreenPtr  pScreen, PictFormatPtr  formats, int  nformats )
d964 19 a982 14

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().

void dmxResetRender ( void   ) 
d984 4 a987 4 a989 1 d991 3 a993 2 a995 1 d997 3 a999 2 a1001 1 d1003 3 a1005 2 a1007 1 d1009 3 a1011 2 a1013 1 d1015 3 a1017 2 a1019 1 d1021 3 a1023 2 a1025 1 d1027 3 a1029 2 d1033 2 a1034 2 d1036 1 d1038 19 a1056 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 )
d1058 4 a1061 4 a1063 1 d1065 3 a1067 2 a1069 1 d1071 3 a1073 2 a1075 1 d1077 3 a1079 2 a1081 1 d1083 3 a1085 2 a1087 1 d1089 3 a1091 2 a1093 1 d1095 3 a1097 2 a1099 1 d1101 3 a1103 2 d1107 2 a1108 2 d1110 1 d1112 19 a1130 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 )
d1132 4 a1135 4 a1137 1 d1139 3 a1141 2 a1143 1 d1145 3 a1147 2 a1149 1 d1151 3 a1153 2 a1155 1 d1157 3 a1159 2 a1161 1 d1163 3 a1165 2 a1167 1 d1169 3 a1171 2 a1173 1 d1175 3 a1177 2 d1181 2 a1182 2 d1184 1 d1186 19 a1204 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 )
d1206 4 a1209 4 a1211 1 d1213 3 a1215 2 a1217 1 d1219 3 a1221 2 a1223 1 d1225 3 a1227 2 a1229 1 d1231 3 a1233 2 a1235 1 d1237 3 a1239 2 a1241 1 d1243 3 a1245 2 a1247 1 d1249 3 a1251 2 d1255 2 a1256 2 d1258 1 d1260 19 a1278 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 )
d1280 4 a1283 4 a1285 1 d1287 3 a1289 2 a1291 1 d1293 3 a1295 2 a1297 1 d1299 3 a1301 2 d1305 2 a1306 2 d1308 1 d1310 19 a1328 10

Indexed color visuals are not yet supported.

void dmxUpdateIndexed ( ScreenPtr  pScreen, PictFormatPtr  pFormat, int  ndef, xColorItem *  pdef )
d1330 4 a1333 4 a1335 1 d1337 3 a1339 2 d1343 2 a1344 2 d1346 24 d1371 36 a1406 11

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().

@ 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 d44 3 a46 3 d49 4 a52 4 d55 25 a79 25 d81 2 a82 2

Detailed Description

This file provides access to the externally visible RENDER support functions, global variables and macros for DMX.

d84 1 a84 1

Define Documentation

d92 4 a95 3 d113 4 a116 3 d134 1 a134 1 d140 2 a141 2 d146 1 a146 1 d220 2 a221 2 d226 2 a227 2 d232 1 a232 1 d252 3 a254 2 d275 2 a276 2 d281 2 a282 2 d287 1 a287 1 d307 3 a309 2 d330 2 a331 2 d336 2 a337 2 d342 1 a342 1 d362 2 a363 2 d368 2 a369 2 d374 2 a375 2 d380 2 a381 2 d386 1 a386 1 d406 2 a407 2 d412 2 a413 2 d418 1 a418 1 d434 2 a435 2 d440 2 a441 2 d446 2 a447 2 d452 2 a453 2 d458 2 a459 2 d464 2 a465 2 d470 2 a471 2 d476 2 a477 2 d482 2 a483 2 d488 2 a489 2 d494 2 a495 2 d500 2 a501 2 d506 1 a506 1 d526 2 a527 2 d532 2 a533 2 d538 2 a539 2 d544 2 a545 2 d550 2 a551 2 d556 1 a556 1 d576 3 a578 2 d599 3 a601 2 d622 3 a624 2 d645 3 a647 2 d668 3 a670 2 d691 2 a692 2 d697 2 a698 2 d703 2 a704 2 d709 2 a710 2 d715 2 a716 2 d721 2 a722 2 d727 2 a728 2 d733 2 a734 2 d739 2 a740 2 d745 1 a745 1 d763 2 a764 2 d769 2 a770 2 d775 1 a775 1 d791 3 a793 2 d801 1 a801 1

References dmxProcRenderAddGlyphs(), dmxProcRenderCompositeGlyphs(), dmxProcRenderCreateGlyphSet(), dmxProcRenderFreeGlyphs(), dmxProcRenderFreeGlyphSet(), dmxProcRenderSetPictureFilter(), dmxProcRenderSetPictureTransform(), dmxSaveRenderVector, and ProcRenderVector.

d814 2 a815 2 d820 2 a821 2 d826 2 a827 2 d832 1 a832 1 d852 3 a854 2 d875 2 a876 2 d881 2 a882 2 d887 2 a888 2 d893 2 a894 2 d899 2 a900 2 d905 2 a906 2 d911 2 a912 2 d917 2 a918 2 d923 1 a923 1 d943 2 a944 2 d949 2 a950 2 d955 2 a956 2 d961 2 a962 2 d967 2 a968 2 d973 2 a974 2 d979 2 a980 2 d985 2 a986 2 d991 1 a991 1 d1011 2 a1012 2 d1017 2 a1018 2 d1023 2 a1024 2 d1029 2 a1030 2 d1035 2 a1036 2 d1041 2 a1042 2 d1047 2 a1048 2 d1053 2 a1054 2 d1059 1 a1059 1 d1079 2 a1080 2 d1085 2 a1086 2 d1091 2 a1092 2 d1097 2 a1098 2 d1103 2 a1104 2 d1109 2 a1110 2 d1115 2 a1116 2 d1121 2 a1122 2 d1127 1 a1127 1 d1147 2 a1148 2 d1153 2 a1154 2 d1159 2 a1160 2 d1165 2 a1166 2 d1171 1 a1171 1 d1187 2 a1188 2 d1193 2 a1194 2 d1199 1 a1199 1 a1212 4
void dmxValidatePicture ( PicturePtr  pPicture, Mask  mask )
struct  _dmxPictPriv
struct  _dmxGlyphPriv
#define DMX_GET_PICT_PRIV(_pPict)   (dmxPictPrivPtr)dixLookupPrivate(&(_pPict)->devPrivates, dmxPictPrivateKey)
#define DMX_SET_GLYPH_PRIV(_pGlyph, _pPriv)   GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateKey, (_pPriv))
#define DMX_GET_GLYPH_PRIV(_pGlyph)   (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateKey)
typedef struct _dmxPictPriv dmxPictPrivRec
typedef struct _dmxPictPrivdmxPictPrivPtr
typedef struct _dmxGlyphPriv dmxGlyphPrivRec
typedef struct _dmxGlyphPrivdmxGlyphPrivPtr
void dmxInitRender (void)
void dmxResetRender (void)
Bool dmxPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
void dmxCreatePictureList (WindowPtr pWindow)
Bool dmxDestroyPictureList (WindowPtr pWindow)
int dmxCreatePicture (PicturePtr pPicture)
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)
int dmxBECreateGlyphSet (int idx, GlyphSetPtr glyphSet)
Bool dmxBEFreeGlyphSet (ScreenPtr pScreen, GlyphSetPtr glyphSet)
int dmxBECreatePicture (PicturePtr pPicture)
Bool dmxBEFreePicture (PicturePtr pPicture)
  _pGlyph)    (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateKey)  _pPict)    (dmxPictPrivPtr)dixLookupPrivate(&(_pPict)->devPrivates, dmxPictPrivateKey)   _pPriv    GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateKey, (_pPriv))int  idx, GlyphSetPtr  glyphSet PicturePtr  pPicture)ScreenPtr  pScreen, GlyphSetPtr  glyphSet PicturePtr  pPicture)PicturePtr  pPicture, Mask  mask PicturePtr  pPicture, int  clipType, pointer  value, int  n ScreenPtr  pScreen, PictFormatPtr  pFormat CARD8  op, PicturePtr  pSrc, PicturePtr  pMask, PicturePtr  pDst, INT16  xSrc, INT16  ySrc, INT16  xMask, INT16  yMask, INT16  xDst, INT16  yDst, CARD16  width, CARD16  height CARD8  op, PicturePtr  pDst, xRenderColor *  color, int  nRect, xRectangle *  rects PicturePtr  pPicture)WindowPtr  pWindow)PicturePtr  pPicture)PicturePtr  pPicture)WindowPtr  pWindow)CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  nlists, GlyphListPtr  lists, GlyphPtr *  glyphs ScreenPtr  pScreen, PictFormatPtr  pFormat void  )ScreenPtr  pScreen, PictFormatPtr  formats, int  nformats void  )CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  ntrap, xTrapezoid *  traps CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  ntri, xTriangle *  tris CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  npoint, xPointFixed *  points CARD8  op, PicturePtr  pSrc, PicturePtr  pDst, PictFormatPtr  maskFormat, INT16  xSrc, INT16  ySrc, int  npoint, xPointFixed *  points ScreenPtr  pScreen, PictFormatPtr  pFormat, int  ndef, xColorItem *  pdef PicturePtr  pPicture, Mask  mask