Commit 1f424303 authored by Kevin Brace's avatar Kevin Brace

Reorganize r128_exa.c

Stop the use of #include to include r128_exa_render.c inside
r128_exa.c.
Signed-off-by: Kevin Brace's avatarKevin Brace <kevinbrace@gmx.com>
parent 3acc004c
......@@ -31,7 +31,9 @@ R128_DRI_SRCS = r128_dri.c
endif
if USE_EXA
R128_EXA_SRCS = r128_exa.c
R128_EXA_SRCS = \
r128_exa.c \
r128_exa_render.c
endif
AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@
......@@ -40,19 +42,26 @@ r128_drv_la_LTLIBRARIES = r128_drv.la
r128_drv_la_LDFLAGS = -module -avoid-version
r128_drv_ladir = @moduledir@/drivers
r128_drv_la_SOURCES = \
r128_accel.c r128_cursor.c r128_driver.c \
r128_video.c r128_misc.c r128_crtc.c r128_output.c r128_probe.c \
$(R128_EXA_SRCS) $(R128_DRI_SRCS)
r128_accel.c \
r128_crtc.c \
r128_cursor.c \
r128_driver.c \
r128_misc.c \
r128_output.c \
r128_probe.c \
r128_video.c \
$(R128_EXA_SRCS) \
$(R128_DRI_SRCS)
EXTRA_DIST = \
compat-api.h \
compat-api.h \
r128.h \
r128_common.h \
r128_dri.h \
r128_dripriv.h \
r128.h \
r128_probe.h \
r128_reg.h \
r128_rop.h \
r128_sarea.h \
r128_version.h \
r128_exa_render.c \
atipcirename.h
......@@ -606,6 +606,30 @@ extern Bool R128GetDatatypeBpp(int bpp, uint32_t *type);
extern Bool R128GetPixmapOffsetPitch(PixmapPtr pPix, uint32_t *pitch_offset);
extern void R128DoPrepareCopy(ScrnInfoPtr pScrn, uint32_t src_pitch_offset,
uint32_t dst_pitch_offset, uint32_t datatype, int alu, Pixel planemask);
extern void R128Done(PixmapPtr pPixmap);
#ifdef R128DRI
extern void EmitCCE2DState(ScrnInfoPtr pScrn);
#endif
#ifdef RENDER
extern Bool R128CCECheckComposite(int op,
PicturePtr pSrcPicture,
PicturePtr pMaskPicture,
PicturePtr pDstPicture);
extern Bool R128CCEPrepareComposite(int op, PicturePtr pSrcPicture,
PicturePtr pMaskPicture,
PicturePtr pDstPicture,
PixmapPtr pSrc,
PixmapPtr pMask,
PixmapPtr pDst);
extern void R128CCEComposite(PixmapPtr pDst,
int srcX, int srcY,
int maskX, int maskY,
int dstX, int dstY,
int w, int h);
#define R128CCEDoneComposite R128Done
#endif
#endif
......
......@@ -102,27 +102,7 @@
#include "xf86.h"
#ifdef HAVE_XAA_H
static struct {
int rop;
int pattern;
} R128_ROP[] = {
{ R128_ROP3_ZERO, R128_ROP3_ZERO }, /* GXclear */
{ R128_ROP3_DSa, R128_ROP3_DPa }, /* Gxand */
{ R128_ROP3_SDna, R128_ROP3_PDna }, /* GXandReverse */
{ R128_ROP3_S, R128_ROP3_P }, /* GXcopy */
{ R128_ROP3_DSna, R128_ROP3_DPna }, /* GXandInverted */
{ R128_ROP3_D, R128_ROP3_D }, /* GXnoop */
{ R128_ROP3_DSx, R128_ROP3_DPx }, /* GXxor */
{ R128_ROP3_DSo, R128_ROP3_DPo }, /* GXor */
{ R128_ROP3_DSon, R128_ROP3_DPon }, /* GXnor */
{ R128_ROP3_DSxn, R128_ROP3_PDxn }, /* GXequiv */
{ R128_ROP3_Dn, R128_ROP3_Dn }, /* GXinvert */
{ R128_ROP3_SDno, R128_ROP3_PDno }, /* GXorReverse */
{ R128_ROP3_Sn, R128_ROP3_Pn }, /* GXcopyInverted */
{ R128_ROP3_DSno, R128_ROP3_DPno }, /* GXorInverted */
{ R128_ROP3_DSan, R128_ROP3_DPan }, /* GXnand */
{ R128_ROP3_ONE, R128_ROP3_ONE } /* GXset */
};
#include "r128_rop.h"
#endif
extern int getR128EntityIndex(void);
......
......@@ -36,31 +36,10 @@
#include "exa.h"
#include "r128_reg.h"
#include "r128_rop.h"
#include "xf86.h"
static struct {
int rop;
int pattern;
} R128_ROP[] = {
{ R128_ROP3_ZERO, R128_ROP3_ZERO }, /* GXclear */
{ R128_ROP3_DSa, R128_ROP3_DPa }, /* Gxand */
{ R128_ROP3_SDna, R128_ROP3_PDna }, /* GXandReverse */
{ R128_ROP3_S, R128_ROP3_P }, /* GXcopy */
{ R128_ROP3_DSna, R128_ROP3_DPna }, /* GXandInverted */
{ R128_ROP3_D, R128_ROP3_D }, /* GXnoop */
{ R128_ROP3_DSx, R128_ROP3_DPx }, /* GXxor */
{ R128_ROP3_DSo, R128_ROP3_DPo }, /* GXor */
{ R128_ROP3_DSon, R128_ROP3_DPon }, /* GXnor */
{ R128_ROP3_DSxn, R128_ROP3_PDxn }, /* GXequiv */
{ R128_ROP3_Dn, R128_ROP3_Dn }, /* GXinvert */
{ R128_ROP3_SDno, R128_ROP3_PDno }, /* GXorReverse */
{ R128_ROP3_Sn, R128_ROP3_Pn }, /* GXcopyInverted */
{ R128_ROP3_DSno, R128_ROP3_DPno }, /* GXorInverted */
{ R128_ROP3_DSan, R128_ROP3_DPan }, /* GXnand */
{ R128_ROP3_ONE, R128_ROP3_ONE } /* GXset */
};
/* Assumes that depth 15 and 16 can be used as depth 16, which is okay since we
* require src and dest datatypes to be equal.
*/
......@@ -145,7 +124,7 @@ static void Emit2DState(ScrnInfoPtr pScrn)
}
#ifdef R128DRI
static void EmitCCE2DState(ScrnInfoPtr pScrn)
void EmitCCE2DState(ScrnInfoPtr pScrn)
{
R128InfoPtr info = R128PTR(pScrn);
int has_src = info->state_2d.src_pitch_offset;
......@@ -335,7 +314,7 @@ R128Sync(ScreenPtr pScreen, int marker)
R128WaitForIdle(xf86ScreenToScrn(pScreen));
}
static void
void
R128Done(PixmapPtr pPixmap)
{
ScreenPtr pScreen = pPixmap->drawable.pScreen;
......@@ -412,10 +391,6 @@ R128CCESync(ScreenPtr pScreen, int marker)
R128CCEWaitForIdle(xf86ScreenToScrn(pScreen));
}
#ifdef RENDER
#include "r128_exa_render.c"
#endif
#endif
Bool
......
......@@ -34,8 +34,17 @@
/* The following is based on the kdrive ATI driver. */
#include <stdio.h>
#include <string.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "xf86.h"
#include "exa.h"
#include "r128.h"
#include "r128_reg.h"
#include "r128_rop.h"
static struct {
Bool dst_alpha;
......@@ -203,7 +212,7 @@ R128CheckCompositeTexture(PicturePtr pPict, PicturePtr pDstPict, int op)
return TRUE;
}
static Bool
Bool
R128CCECheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, PicturePtr pDstPicture)
{
#if R128_DEBUG
......@@ -405,7 +414,7 @@ do { \
ADVANCE_RING(); \
} while(0)
static Bool
Bool
R128CCEPrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
PicturePtr pDstPicture, PixmapPtr pSrc, PixmapPtr pMask, PixmapPtr pDst)
{
......@@ -650,7 +659,7 @@ do { \
OUT_RING(R128FloatAsInt((((float)(_srcY)) + 0.5) / (info->state_2d.heights[0]))); \
} while (0)
static void
void
R128CCEComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, int w, int h)
{
ScreenPtr pScreen = pDst->drawable.pScreen;
......@@ -733,4 +742,3 @@ R128CCEComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY, int d
ADVANCE_RING();
}
#define R128CCEDoneComposite R128Done
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
* VA Linux Systems Inc., Fremont, California.
*
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation on the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice (including the
* next paragraph) shall be included in all copies or substantial
* portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
* SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/*
* Authors:
* Rickard E. Faith <faith@valinux.com>
* Kevin E. Martin <martin@valinux.com>
*
*/
#ifndef _R128_ROP_H_
#define _R128_ROP_H_
#include "r128_reg.h"
static struct {
int rop;
int pattern;
} R128_ROP[] = {
{ R128_ROP3_ZERO, R128_ROP3_ZERO }, /* GXclear */
{ R128_ROP3_DSa, R128_ROP3_DPa }, /* Gxand */
{ R128_ROP3_SDna, R128_ROP3_PDna }, /* GXandReverse */
{ R128_ROP3_S, R128_ROP3_P }, /* GXcopy */
{ R128_ROP3_DSna, R128_ROP3_DPna }, /* GXandInverted */
{ R128_ROP3_D, R128_ROP3_D }, /* GXnoop */
{ R128_ROP3_DSx, R128_ROP3_DPx }, /* GXxor */
{ R128_ROP3_DSo, R128_ROP3_DPo }, /* GXor */
{ R128_ROP3_DSon, R128_ROP3_DPon }, /* GXnor */
{ R128_ROP3_DSxn, R128_ROP3_PDxn }, /* GXequiv */
{ R128_ROP3_Dn, R128_ROP3_Dn }, /* GXinvert */
{ R128_ROP3_SDno, R128_ROP3_PDno }, /* GXorReverse */
{ R128_ROP3_Sn, R128_ROP3_Pn }, /* GXcopyInverted */
{ R128_ROP3_DSno, R128_ROP3_DPno }, /* GXorInverted */
{ R128_ROP3_DSan, R128_ROP3_DPan }, /* GXnand */
{ R128_ROP3_ONE, R128_ROP3_ONE } /* GXset */
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment