[PATCH] Add file for i965 exa composite
This does not include ps program, which will be added in g4a form. Signed-off-by: Keith Packard <keithp@neko.keithp.com>
This commit is contained in:
parent
5a793b0dcf
commit
ed73bbaf5c
|
|
@ -93,7 +93,8 @@ i810_drv_la_SOURCES = \
|
|||
i830_exa.c \
|
||||
i830_xaa.c \
|
||||
i830_exa_render.c \
|
||||
i915_exa_render.c
|
||||
i915_exa_render.c \
|
||||
i965_exa_render.c
|
||||
|
||||
if HAVE_GEN4ASM
|
||||
sf_prog.h: packed_yuv_sf.g4a
|
||||
|
|
|
|||
|
|
@ -121,6 +121,11 @@ extern Bool I915EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
|
|||
extern Bool I915EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
|
||||
PixmapPtr, PixmapPtr, PixmapPtr);
|
||||
|
||||
extern Bool I965EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
|
||||
extern Bool I965EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
|
||||
PixmapPtr, PixmapPtr, PixmapPtr);
|
||||
extern void I965EXAComposite(PixmapPtr pDst, int srcX, int srcY, int maskX,
|
||||
int maskY, int dstX, int dstY, int width, int height);
|
||||
/**
|
||||
* I830EXASync - wait for a command to finish
|
||||
* @pScreen: current screen
|
||||
|
|
@ -419,6 +424,8 @@ IntelEXADoneComposite(PixmapPtr pDst)
|
|||
I830Sync(pScrn);
|
||||
#endif
|
||||
}
|
||||
|
||||
#define BRW_LINEAR_EXTRA (32*1024)
|
||||
/*
|
||||
* TODO:
|
||||
* - Dual head?
|
||||
|
|
@ -441,7 +448,11 @@ I830EXAInit(ScreenPtr pScreen)
|
|||
pI830->EXADriverPtr->exa_minor = 0;
|
||||
pI830->EXADriverPtr->memoryBase = pI830->FbBase;
|
||||
pI830->EXADriverPtr->offScreenBase = pI830->Offscreen.Start;
|
||||
pI830->EXADriverPtr->memorySize = pI830->Offscreen.End;
|
||||
if (IS_I965G(pI830))
|
||||
pI830->EXADriverPtr->memorySize = pI830->Offscreen.End -
|
||||
BRW_LINEAR_EXTRA; /* BRW needs state buffer*/
|
||||
else
|
||||
pI830->EXADriverPtr->memorySize = pI830->Offscreen.End;
|
||||
|
||||
DPRINTF(PFX, "EXA Mem: memoryBase 0x%x, end 0x%x, offscreen base 0x%x, memorySize 0x%x\n",
|
||||
pI830->EXADriverPtr->memoryBase,
|
||||
|
|
@ -492,6 +503,11 @@ I830EXAInit(ScreenPtr pScreen)
|
|||
pI830->EXADriverPtr->PrepareComposite = I830EXAPrepareComposite;
|
||||
pI830->EXADriverPtr->Composite = IntelEXAComposite;
|
||||
pI830->EXADriverPtr->DoneComposite = IntelEXADoneComposite;
|
||||
} else if (IS_I965G(pI830)) {
|
||||
pI830->EXADriverPtr->CheckComposite = I965EXACheckComposite;
|
||||
pI830->EXADriverPtr->PrepareComposite = I965EXAPrepareComposite;
|
||||
pI830->EXADriverPtr->Composite = I965EXAComposite;
|
||||
pI830->EXADriverPtr->DoneComposite = IntelEXADoneComposite;
|
||||
}
|
||||
|
||||
if(!exaDriverInit(pScreen, pI830->EXADriverPtr)) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue