aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/Mesa/src/mesa/drivers/dri/savage/savagecontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/Mesa/src/mesa/drivers/dri/savage/savagecontext.h')
-rw-r--r--nx-X11/extras/Mesa/src/mesa/drivers/dri/savage/savagecontext.h331
1 files changed, 0 insertions, 331 deletions
diff --git a/nx-X11/extras/Mesa/src/mesa/drivers/dri/savage/savagecontext.h b/nx-X11/extras/Mesa/src/mesa/drivers/dri/savage/savagecontext.h
deleted file mode 100644
index 4c0959968..000000000
--- a/nx-X11/extras/Mesa/src/mesa/drivers/dri/savage/savagecontext.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
- * Copyright 2001-2003 S3 Graphics, Inc. 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
- * the rights to use, copy, modify, merge, publish, distribute, sub license,
- * 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
- * VIA, S3 GRAPHICS, AND/OR ITS 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.
- */
-
-
-
-#ifndef SAVAGECONTEXT_INC
-#define SAVAGECONTEXT_INC
-
-typedef struct savage_context_t savageContext;
-typedef struct savage_context_t *savageContextPtr;
-typedef struct savage_texture_object_t *savageTextureObjectPtr;
-
-#include <X11/Xlibint.h>
-#include "dri_util.h"
-#include "mtypes.h"
-#include "xf86drm.h"
-#include "drm.h"
-#include "savage_drm.h"
-#include "savage_init.h"
-#include "savage_3d_reg.h"
-#include "mm.h"
-#include "tnl/t_vertex.h"
-
-#include "texmem.h"
-
-#include "xmlconfig.h"
-
-/* Reasons to fallback on all primitives.
- */
-#define SAVAGE_FALLBACK_TEXTURE 0x1
-#define SAVAGE_FALLBACK_DRAW_BUFFER 0x2
-#define SAVAGE_FALLBACK_READ_BUFFER 0x4
-#define SAVAGE_FALLBACK_COLORMASK 0x8
-#define SAVAGE_FALLBACK_SPECULAR 0x10
-#define SAVAGE_FALLBACK_LOGICOP 0x20
-/*frank 2001/11/12 add the stencil fallbak*/
-#define SAVAGE_FALLBACK_STENCIL 0x40
-#define SAVAGE_FALLBACK_RENDERMODE 0x80
-#define SAVAGE_FALLBACK_BLEND_EQ 0x100
-#define SAVAGE_FALLBACK_NORAST 0x200
-#define SAVAGE_FALLBACK_PROJ_TEXTURE 0x400
-
-
-#define HW_CULL 1
-
-/* for savagectx.new_state - manage GL->driver state changes
- */
-#define SAVAGE_NEW_TEXTURE 0x1
-#define SAVAGE_NEW_CULL 0x2
-
-/* What needs to be changed for the current vertex dma buffer?
- * This will go away!
- */
-#define SAVAGE_UPLOAD_LOCAL 0x1 /* DrawLocalCtrl (S4) or
- DrawCtrl and ZBufCtrl (S3D) */
-#define SAVAGE_UPLOAD_TEX0 0x2 /* texture unit 0 */
-#define SAVAGE_UPLOAD_TEX1 0x4 /* texture unit 1 (S4 only) */
-#define SAVAGE_UPLOAD_FOGTBL 0x8 /* fog table */
-#define SAVAGE_UPLOAD_GLOBAL 0x10 /* most global regs */
-#define SAVAGE_UPLOAD_TEXGLOBAL 0x20 /* TexBlendColor (S4 only) */
-
-/*define the max numer of vertex in vertex buf*/
-#define SAVAGE_MAX_VERTEXS 0x10000
-
-/* Don't make it too big. We don't want to buffer up a whole frame
- * that would force the application to wait later. */
-#define SAVAGE_CMDBUF_SIZE 1024
-
-/* Use the templated vertex formats:
- */
-#define TAG(x) savage##x
-#include "tnl_dd/t_dd_vertex.h"
-#undef TAG
-
-typedef void (*savage_tri_func)( savageContextPtr, savageVertex *,
- savageVertex *, savageVertex * );
-typedef void (*savage_line_func)( savageContextPtr,
- savageVertex *, savageVertex * );
-typedef void (*savage_point_func)( savageContextPtr, savageVertex * );
-
-
-/**************************************************************
- **************** enums for chip IDs ************************
- **************************************************************/
-
-#define CHIP_S3GX3MS1NB 0x8A25
-#define CHIP_S3GX3MS1NBK 0x8A26
-#define CHIP_S3TWISTER 0x8D01
-#define CHIP_S3TWISTERK 0x8D02
-#define CHIP_S3TWISTER_P4M 0x8D04
-#define CHIP_S3PARAMOUNT128 0x8C22 /*SuperSavage 128/MX*/
-#define CHIP_S3TRISTAR128SDR 0x8C2A /*SuperSavage 128/IX*/
-#define CHIP_S3TRISTAR64SDRM7 0x8C2C /*SuperSavage/IX M7 Package*/
-#define CHIP_S3TRISTAR64SDR 0x8C2E /*SuperSavage/IX*/
-#define CHIP_S3TRISTAR64CDDR 0x8C2F /*SuperSavage/IXC DDR*/
-
-#define IS_SAVAGE(imesa) (imesa->savageScreen->deviceID == CHIP_S3GX3MS1NB || \
- imesa->savageScreen->deviceID == CHIP_S3GX3MS1NBK || \
- imesa->savageScreen->deviceID == CHIP_S3TWISTER || \
- imesa->savageScreen->deviceID == CHIP_S3TWISTERK || \
- imesa->savageScreen->deviceID == CHIP_S3TWISTER_P4M || \
- imesa->savageScreen->deviceID == CHIP_S3PARAMOUNT128 || \
- imesa->savageScreen->deviceID == CHIP_S3TRISTAR128SDR || \
- imesa->savageScreen->deviceID == CHIP_S3TRISTAR64SDRM7 || \
- imesa->savageScreen->deviceID == CHIP_S3TRISTAR64SDR || \
- imesa->savageScreen->deviceID == CHIP_S3TRISTAR64CDDR )
-
-
-struct savage_vtxbuf_t {
- GLuint total, used, flushed; /* in 32 bit units */
- GLuint idx; /* for DMA buffers */
- u_int32_t *buf;
-};
-
-struct savage_cmdbuf_t {
- GLuint size; /* size in qwords */
- drm_savage_cmd_header_t *base; /* initial state starts here */
- drm_savage_cmd_header_t *start; /* drawing/state commands start here */
- drm_savage_cmd_header_t *write; /* append stuff here */
-};
-
-struct savage_elt_t {
- GLuint n; /* number of elts currently allocated */
- drm_savage_cmd_header_t *cmd; /* the indexed drawing command */
-};
-
-
-struct savage_context_t {
- GLint refcount;
-
- GLcontext *glCtx;
-
- int lastTexHeap;
- driTexHeap *textureHeaps[SAVAGE_NR_TEX_HEAPS];
- driTextureObject swapped;
-
- driTextureObject *CurrentTexObj[2];
-
- /* Hardware state
- */
-
- savageRegisters regs, oldRegs, globalRegMask;
-
- /* Manage our own state */
- GLuint new_state;
- GLuint new_gl_state;
- GLboolean ptexHack;
-
- /* Command buffer */
- struct savage_cmdbuf_t cmdBuf;
-
- /* Elt book-keeping */
- struct savage_elt_t elts;
- GLint firstElt;
-
- /* Vertex buffers */
- struct savage_vtxbuf_t dmaVtxBuf, clientVtxBuf;
- struct savage_vtxbuf_t *vtxBuf;
-
- /* aperture base */
- GLubyte *apertureBase[5];
- GLuint aperturePitch;
- /* Manage hardware state */
- GLuint dirty;
- GLboolean lostContext;
- GLuint bTexEn1;
- /* One of the few bits of hardware state that can't be calculated
- * completely on the fly:
- */
- GLuint LcsCullMode;
- GLuint texEnvColor;
-
- /* Vertex state
- */
- GLuint vertex_size;
- struct tnl_attr_map vertex_attrs[VERT_ATTRIB_MAX];
- GLuint vertex_attr_count;
- char *verts; /* points to tnl->clipspace.vertex_buf */
-
- /* Rasterization state
- */
- GLuint SetupNewInputs;
- GLuint SetupIndex;
- GLuint RenderIndex;
-
- GLuint hw_primitive;
- GLenum raster_primitive;
- GLenum render_primitive;
-
- GLuint skip;
- GLubyte HwPrim;
- GLuint HwVertexSize;
-
- /* Fallback rasterization functions
- */
- savage_point_func draw_point;
- savage_line_func draw_line;
- savage_tri_func draw_tri;
-
- /* Funny mesa mirrors
- */
- GLuint MonoColor;
- GLuint ClearColor;
- GLfloat depth_scale;
- GLfloat hw_viewport[16];
- /* DRI stuff */
- GLuint bufferSize;
-
- GLframebuffer *glBuffer;
-
- /* Two flags to keep track of fallbacks. */
- GLuint Fallback;
-
- GLuint needClip;
-
- /* These refer to the current draw (front vs. back) buffer:
- */
- GLubyte *drawMap; /* draw buffer address in virtual mem */
- GLubyte *readMap;
- int drawX; /* origin of drawable in draw buffer */
- int drawY;
- GLuint numClipRects; /* cliprects for that buffer */
- GLint currentClip;
- drm_clip_rect_t *pClipRects;
-
- /* use this bit to support single/double buffer */
- GLuint IsDouble;
- /* use this to indicate Fullscreen mode */
- GLuint IsFullScreen; /* FIXME - open/close fullscreen is gone, is this needed? */
- GLuint backup_frontOffset;
- GLuint backup_backOffset;
- GLuint backup_frontBitmapDesc;
- GLuint toggle;
- GLuint backup_streamFIFO;
- GLuint NotFirstFrame;
-
- GLboolean inSwap;
- GLuint lastSwap;
- GLuint ctxAge;
- GLuint dirtyAge;
- GLuint any_contend; /* throttle me harder */
-
- /* Scissor state needs to be mirrored so buffered commands can be
- * emitted with the old scissor state when scissor state changes.
- */
- struct {
- GLboolean enabled;
- GLint x, y;
- GLsizei w, h;
- } scissor;
-
- drm_context_t hHWContext;
- drm_hw_lock_t *driHwLock;
- GLuint driFd;
-
- __DRIdrawablePrivate *driDrawable;
- __DRIdrawablePrivate *driReadable;
-
- /**
- * Drawable used by Mesa for software fallbacks for reading and
- * writing. It is set by Mesa's \c SetBuffer callback, and will always be
- * either \c mga_context_t::driDrawable or \c mga_context_t::driReadable.
- */
- __DRIdrawablePrivate *mesa_drawable;
-
- __DRIscreenPrivate *driScreen;
- savageScreenPrivate *savageScreen;
- drm_savage_sarea_t *sarea;
-
- GLboolean hw_stencil;
-
- /* Performance counters
- */
- GLuint c_textureSwaps;
-
- /* Configuration cache
- */
- driOptionCache optionCache;
- GLint texture_depth;
- GLboolean no_rast;
- GLboolean float_depth;
- GLboolean enable_fastpath;
- GLboolean enable_vdma;
- GLboolean sync_frames;
-};
-
-#define SAVAGE_CONTEXT(ctx) ((savageContextPtr)(ctx->DriverCtx))
-
-/* To remove all debugging, make sure SAVAGE_DEBUG is defined as a
- * preprocessor symbol, and equal to zero.
- */
-#ifndef SAVAGE_DEBUG
-extern int SAVAGE_DEBUG;
-#endif
-
-#define DEBUG_FALLBACKS 0x001
-#define DEBUG_VERBOSE_API 0x002
-#define DEBUG_VERBOSE_TEX 0x004
-#define DEBUG_VERBOSE_MSG 0x008
-#define DEBUG_DMA 0x010
-#define DEBUG_STATE 0x020
-
-#define TARGET_FRONT 0x0
-#define TARGET_BACK 0x1
-#define TARGET_DEPTH 0x2
-
-#define SUBPIXEL_X -0.5
-#define SUBPIXEL_Y -0.375
-
-#endif