/* $Id$ * ffb_drv.h: Creator/Creator3D direct rendering driver. * * Copyright (C) 2000 David S. Miller (davem@redhat.com) */ /* Auxilliary clips. */ typedef struct { volatile unsigned int min; volatile unsigned int max; } ffb_auxclip, *ffb_auxclipPtr; /* FFB register set. */ typedef struct _ffb_fbc { /* Next vertex registers, on the right we list which drawops * use said register and the logical name the register has in * that context. */ /* DESCRIPTION DRAWOP(NAME) */ /*0x00*/unsigned int pad1[3]; /* Reserved */ /*0x0c*/volatile unsigned int alpha; /* ALPHA Transparency */ /*0x10*/volatile unsigned int red; /* RED */ /*0x14*/volatile unsigned int green; /* GREEN */ /*0x18*/volatile unsigned int blue; /* BLUE */ /*0x1c*/volatile unsigned int z; /* DEPTH */ /*0x20*/volatile unsigned int y; /* Y triangle(DOYF) */ /* aadot(DYF) */ /* ddline(DYF) */ /* aaline(DYF) */ /*0x24*/volatile unsigned int x; /* X triangle(DOXF) */ /* aadot(DXF) */ /* ddline(DXF) */ /* aaline(DXF) */ /*0x28*/unsigned int pad2[2]; /* Reserved */ /*0x30*/volatile unsigned int ryf; /* Y (alias to DOYF) ddline(RYF) */ /* aaline(RYF) */ /* triangle(RYF) */ /*0x34*/volatile unsigned int rxf; /* X ddline(RXF) */ /* aaline(RXF) */ /* triangle(RXF) */ /*0x38*/unsigned int pad3[2]; /* Reserved */ /*0x40*/volatile unsigned int dmyf; /* Y (alias to DOYF) triangle(DMYF) */ /*0x44*/volatile unsigned int dmxf; /* X triangle(DMXF) */ /*0x48*/unsigned int pad4[2]; /* Reserved */ /*0x50*/volatile unsigned int ebyi; /* Y (alias to RYI) polygon(EBYI) */ /*0x54*/volatile unsigned int ebxi; /* X polygon(EBXI) */ /*0x58*/unsigned int pad5[2]; /* Reserved */ /*0x60*/volatile unsigned int by; /* Y brline(RYI) */ /* fastfill(OP) */ /* polygon(YI) */ /* rectangle(YI) */ /* bcopy(SRCY) */ /* vscroll(SRCY) */ /*0x64*/volatile unsigned int bx; /* X brline(RXI) */ /* polygon(XI) */ /* rectangle(XI) */ /* bcopy(SRCX) */ /* vscroll(SRCX) */ /* fastfill(GO) */ /*0x68*/volatile unsigned int dy; /* destination Y fastfill(DSTY) */ /* bcopy(DSRY) */ /* vscroll(DSRY) */ /*0x6c*/volatile unsigned int dx; /* destination X fastfill(DSTX) */ /* bcopy(DSTX) */ /* vscroll(DSTX) */ /*0x70*/volatile unsigned int bh; /* Y (alias to RYI) brline(DYI) */ /* dot(DYI) */ /* polygon(ETYI) */ /* Height fastfill(H) */ /* bcopy(H) */ /* vscroll(H) */ /* Y count fastfill(NY) */ /*0x74*/volatile unsigned int bw; /* X dot(DXI) */ /* brline(DXI) */ /* polygon(ETXI) */ /* fastfill(W) */ /* bcopy(W) */ /* vscroll(W) */ /* fastfill(NX) */ /*0x78*/unsigned int pad6[2]; /* Reserved */ /*0x80*/unsigned int pad7[32]; /* Reserved */ /* Setup Unit's vertex state register */ /*100*/ volatile unsigned int suvtx; /*104*/ unsigned int pad8[63]; /* Reserved */ /* Frame Buffer Control Registers */ /*200*/ volatile unsigned int ppc; /* Pixel Processor Control */ /*204*/ volatile unsigned int wid; /* Current WID */ /*208*/ volatile unsigned int fg; /* FG data */ /*20c*/ volatile unsigned int bg; /* BG data */ /*210*/ volatile unsigned int consty; /* Constant Y */ /*214*/ volatile unsigned int constz; /* Constant Z */ /*218*/ volatile unsigned int xclip; /* X Clip */ /*21c*/ volatile unsigned int dcss; /* Depth Cue Scale Slope */ /*220*/ volatile unsigned int vclipmin; /* Viewclip XY Min Bounds */ /*224*/ volatile unsigned int vclipmax; /* Viewclip XY Max Bounds */ /*228*/ v# $FreeBSD$ .PATH: ${.CURDIR}/.. KMOD = via NO_MAN = YES SRCS = via_dma.c via_drv.c via_ds.c via_irq.c via_map.c via_mm.c \ via_verifier.c via_video.c SRCS += device_if.h bus_if.h pci_if.h opt_drm.h CFLAGS += ${DEBUG_FLAGS} -I. -I.. .if defined(DRM_DEBUG) DRM_DEBUG_OPT= "\#define DRM_DEBUG 1" .endif .if !defined(DRM_NOLINUX) DRM_LINUX_OPT= "\#define DRM_LINUX 1" .endif opt_drm.h: touch opt_drm.h echo $(DRM_DEBUG_OPT) >> opt_drm.h echo $(DRM_LINUX_OPT) >> opt_drm.h .include <bsd.kmod.mk>