From 7fe60435bce6595a9c58a9bfd8244d74b5320e96 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 15 Jan 2013 08:46:13 +0100 Subject: Import DirectFB141_2k11R3_beta5 --- Source/DirectFB/gfxdrivers/savage/savage.h | 145 +++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100755 Source/DirectFB/gfxdrivers/savage/savage.h (limited to 'Source/DirectFB/gfxdrivers/savage/savage.h') diff --git a/Source/DirectFB/gfxdrivers/savage/savage.h b/Source/DirectFB/gfxdrivers/savage/savage.h new file mode 100755 index 0000000..2b9b7c8 --- /dev/null +++ b/Source/DirectFB/gfxdrivers/savage/savage.h @@ -0,0 +1,145 @@ +/* + (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org) + (c) Copyright 2000-2004 Convergence (integrated media) GmbH + + All rights reserved. + + Written by Denis Oliver Kropp , + Andreas Hundt , + Sven Neumann , + Ville Syrjälä and + Claudio Ciccani . + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +#ifndef __SAVAGE_H__ +#define __SAVAGE_H__ + +#include + +#define SRC_BASE 0xa4d4 +#define DEST_BASE 0xa4d8 +#define CLIP_L_R 0xa4dc +#define CLIP_T_B 0xa4e0 +#define DEST_SRC_STR 0xa4e4 +#define MONO_PAT_0 0xa4e8 +#define MONO_PAT_1 0xa4ec + + +#define BCI_BUFFER_OFFSET 0x10000 + +#define MAXFIFO 0x7f00 + +typedef struct { + unsigned int accel_id; + + unsigned int waitfifo_sum; + unsigned int waitfifo_calls; + unsigned int waitidle_calls; + unsigned int fifo_waitcycles; + unsigned int idle_waitcycles; + unsigned int fifo_cache_hits; + + unsigned int fifo_space; + + unsigned int bci_ptr; +} SavageDeviceData; + +typedef struct { + volatile u8 *mmio_base; + volatile u32 *bci_base; +} SavageDriverData; + + +#if 0 +typedef struct S3SAVDRAWCTRLtag { + hwUI32 uED:1; // Enable Dithering + hwUI32 uUVO:1; // UV Offset Enable (add 0.5 to u and v + hwUI32 uBCM:2; // Backface Cull Mode + // 00 - reserved + // 01 - disable culling + // 10 - cull clockwise + // 11 - cull counterclockwise + hwUI32 uTVC:1; // vertex counter reset 1 - reset it + hwUI32 uSM:1; // Shade Mode 0 - gouraud, 1 - flat (color at vertex 0) + hwUI32 uESS:1; // Enable Specular + hwUI32 uDABM:3; // Destination Alpha Blend Mode look below + hwUI32 uSABM:3; // Source Alpha Blend Mode look below + hwUI32 uReserved1:1; + hwUI32 uATC:3; // Alpha Test Compare look below + hwUI32 uEAT:1; // Enable Alpha Test + hwUI32 uAlphaRef:8; // Alpha Reference Value + hwUI32 uTBC:3; // Texture Blending Control (look below) + hwUI32 uFDW:1; // Flush Destination Writes + hwUI32 uFZW:1; // Flush Z Writes + hwUI32 uIM:1; // Interpolaton Mode 1 - linear color and fog interpolation +} S3SAVDRAWCTRL, *PS3SAVDRAWCTRL; +#endif + +#define DRAWCTRL_ENABLE_DITHERING 0x00000001 +#define DRAWCTRL_ENABLE_UV_OFFSET 0x00000002 +#define DRAWCTRL_CULL_REVERSED 0x00000000 +#define DRAWCTRL_CULL_NONE 0x00000004 +#define DRAWCTRL_CULL_CLOCKWISE 0x00000008 +#define DRAWCTRL_CULL_COUNTERCLOCKWISE 0x0000000C +#define DRAWCTRL_VERTEX_COUNTER_RESET 0x00000010 +#define DRAWCTRL_SHADE_GOURAUD 0x00000000 +#define DRAWCTRL_SHADE_FLAT 0x00000020 +#define DRAWCTRL_ENABLE_SPECULAR 0x00000040 +#define DRAWCTRL_ENABLE_ALPHA_TEST 0x00020000 +#define DRAWCTRL_FLUSH_DESTINATION_WRITES 0x20000000 +#define DRAWCTRL_FLUSH_Z_WRITES 0x40000000 +#define DRAWCTRL_COLOR_AND_FOG_INTERPOLATION 0x80000000 + +#define DRAWCTRL_DABM_ZERO (0 << 7) +#define DRAWCTRL_DABM_ONE (1 << 7) +#define DRAWCTRL_DABM_SOURCE_COLOR (2 << 7) +#define DRAWCTRL_DABM_ONE_MINUS_SOURCE_COLOR (3 << 7) +#define DRAWCTRL_DABM_SOURCE_ALPHA (4 << 7) +#define DRAWCTRL_DABM_ONE_MINUS_SOURCE_ALPHA (5 << 7) +#define DRAWCTRL_DABM_6 (6 << 7) +#define DRAWCTRL_DABM_7 (7 << 7) + +#define DRAWCTRL_SABM_ZERO (0 << 10) +#define DRAWCTRL_SABM_ONE (1 << 10) +#define DRAWCTRL_SABM_DEST_COLOR (2 << 10) +#define DRAWCTRL_SABM_ONE_MINUS_DEST_COLOR (3 << 10) +#define DRAWCTRL_SABM_SOURCE_ALPHA (4 << 10) +#define DRAWCTRL_SABM_ONE_MINUS_SOURCE_ALPHA (5 << 10) +#define DRAWCTRL_SABM_6 (6 << 10) +#define DRAWCTRL_SABM_7 (7 << 10) + +#define DRAWCTRL_ATC_NEVER (0 << 14) +#define DRAWCTRL_ATC_LESS (1 << 14) +#define DRAWCTRL_ATC_EQUAL (2 << 14) +#define DRAWCTRL_ATC_LEQUAL (3 << 14) +#define DRAWCTRL_ATC_GREATER (4 << 14) +#define DRAWCTRL_ATC_NOTEQUAL (5 << 14) +#define DRAWCTRL_ATC_GEQUAL (6 << 14) +#define DRAWCTRL_ATC_ALWAYS (7 << 14) + +#define DRAWCTRL_TBC_DECAL (0 << 26) +#define DRAWCTRL_TBC_MODULATE (1 << 26) +#define DRAWCTRL_TBC_DECALALPHA (2 << 26) +#define DRAWCTRL_TBC_MODULATEALPHA (3 << 26) +#define DRAWCTRL_TBC_4 (4 << 26) +#define DRAWCTRL_TBC_5 (5 << 26) +#define DRAWCTRL_TBC_COPY (6 << 26) +#define DRAWCTRL_TBC_7 (7 << 26) + + +#endif -- cgit