aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/Mesa/src/mesa/drivers/dri/unichrome/via_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/Mesa/src/mesa/drivers/dri/unichrome/via_context.h')
-rw-r--r--nx-X11/extras/Mesa/src/mesa/drivers/dri/unichrome/via_context.h412
1 files changed, 0 insertions, 412 deletions
diff --git a/nx-X11/extras/Mesa/src/mesa/drivers/dri/unichrome/via_context.h b/nx-X11/extras/Mesa/src/mesa/drivers/dri/unichrome/via_context.h
deleted file mode 100644
index e51ec48af..000000000
--- a/nx-X11/extras/Mesa/src/mesa/drivers/dri/unichrome/via_context.h
+++ /dev/null
@@ -1,412 +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 _VIACONTEXT_H
-#define _VIACONTEXT_H
-
-#include "dri_util.h"
-
-#include "mtypes.h"
-#include "drm.h"
-#include "mm.h"
-#include "tnl/t_vertex.h"
-
-#include "via_screen.h"
-#include "via_tex.h"
-#include "via_drm.h"
-
-struct via_context;
-
-/* Chip tags. These are used to group the adapters into
- * related families.
- */
-enum VIACHIPTAGS {
- VIA_UNKNOWN = 0,
- VIA_CLE266,
- VIA_KM400,
- VIA_K8M800,
- VIA_PM800,
- VIA_LAST
-};
-
-#define VIA_FALLBACK_TEXTURE 0x1
-#define VIA_FALLBACK_DRAW_BUFFER 0x2
-#define VIA_FALLBACK_READ_BUFFER 0x4
-#define VIA_FALLBACK_COLORMASK 0x8
-#define VIA_FALLBACK_SPECULAR 0x20
-#define VIA_FALLBACK_LOGICOP 0x40
-#define VIA_FALLBACK_RENDERMODE 0x80
-#define VIA_FALLBACK_STENCIL 0x100
-#define VIA_FALLBACK_BLEND_EQ 0x200
-#define VIA_FALLBACK_BLEND_FUNC 0x400
-#define VIA_FALLBACK_USER_DISABLE 0x800
-#define VIA_FALLBACK_PROJ_TEXTURE 0x1000
-#define VIA_FALLBACK_POLY_STIPPLE 0x2000
-
-#define VIA_DMA_BUFSIZ 4096
-#define VIA_DMA_HIGHWATER (VIA_DMA_BUFSIZ - 128)
-
-#define VIA_NO_CLIPRECTS 0x1
-
-
-/* Use the templated vertex formats:
- */
-#define TAG(x) via##x
-#include "tnl_dd/t_dd_vertex.h"
-#undef TAG
-
-typedef void (*via_tri_func)(struct via_context *, viaVertex *, viaVertex *,
- viaVertex *);
-typedef void (*via_line_func)(struct via_context *, viaVertex *, viaVertex *);
-typedef void (*via_point_func)(struct via_context *, viaVertex *);
-
-struct via_buffer {
- drm_handle_t handle;
- drmSize size;
- unsigned long offset;
- unsigned long index;
- GLuint pitch;
- GLuint bpp;
- char *map;
- GLuint orig; /* The drawing origin,
- * at (drawX,drawY) in screen space.
- */
- char *origMap;
-};
-
-
-#define VIA_MAX_TEXLEVELS 10
-
-struct via_tex_buffer {
- struct via_tex_buffer *next, *prev;
- struct via_texture_image *image;
- unsigned long index;
- unsigned long offset;
- GLuint size;
- GLuint memType;
- unsigned char *bufAddr;
- GLuint texBase;
- GLuint lastUsed;
-};
-
-
-
-struct via_texture_image {
- struct gl_texture_image image;
- struct via_tex_buffer *texMem;
- GLint pitchLog2;
-};
-
-struct via_texture_object {
- struct gl_texture_object obj; /* The "parent" object */
-
- GLuint texelBytes;
- GLuint memType;
-
- GLuint regTexFM;
- GLuint regTexWidthLog2[2];
- GLuint regTexHeightLog2[2];
- GLuint regTexBaseH[4];
- struct {
- GLuint baseL;
- GLuint pitchLog2;
- } regTexBaseAndPitch[12];
-
- GLint firstLevel, lastLevel; /* upload tObj->Image[first .. lastLevel] */
-};
-
-
-
-struct via_context {
- GLint refcount;
- GLcontext *glCtx;
- GLcontext *shareCtx;
-
- struct via_buffer front;
- struct via_buffer back;
- struct via_buffer depth;
- struct via_buffer breadcrumb;
-
- GLboolean hasBack;
- GLboolean hasDepth;
- GLboolean hasStencil;
- GLboolean hasAccum;
- GLuint depthBits;
- GLuint stencilBits;
-
- GLboolean have_hw_stencil;
- GLuint ClearDepth;
- GLuint depth_clear_mask;
- GLuint stencil_clear_mask;
- GLfloat depth_max;
- GLfloat polygon_offset_scale;
-
- GLubyte *dma;
- viaRegion tex;
-
- /* Bit flag to keep 0track of fallbacks.
- */
- GLuint Fallback;
-
- /* State for via_tris.c.
- */
- GLuint newState; /* _NEW_* flags */
- GLuint newEmitState; /* _NEW_* flags */
- GLuint newRenderState; /* _NEW_* flags */
-
- struct tnl_attr_map vertex_attrs[VERT_ATTRIB_MAX];
- GLuint vertex_attr_count;
-
- GLuint setupIndex;
- GLuint renderIndex;
- GLmatrix ViewportMatrix;
- GLenum renderPrimitive;
- GLenum hwPrimitive;
- GLenum hwShadeModel;
- unsigned char *verts;
-
- /* drmBufPtr dma_buffer;
- */
- GLuint dmaLow;
- GLuint dmaCliprectAddr;
- GLuint dmaLastPrim;
- GLboolean useAgp;
-
-
- /* Fallback rasterization functions
- */
- via_point_func drawPoint;
- via_line_func drawLine;
- via_tri_func drawTri;
-
- /* Hardware register
- */
- GLuint regCmdA_End;
- GLuint regCmdB;
-
- GLuint regEnable;
- GLuint regHFBBMSKL;
- GLuint regHROP;
-
- GLuint regHZWTMD;
- GLuint regHSTREF;
- GLuint regHSTMD;
-
- GLuint regHATMD;
- GLuint regHABLCsat;
- GLuint regHABLCop;
- GLuint regHABLAsat;
- GLuint regHABLAop;
- GLuint regHABLRCa;
- GLuint regHABLRFCa;
- GLuint regHABLRCbias;
- GLuint regHABLRCb;
- GLuint regHABLRFCb;
- GLuint regHABLRAa;
- GLuint regHABLRAb;
- GLuint regHFogLF;
- GLuint regHFogCL;
- GLuint regHFogCH;
-
- GLuint regHLP;
- GLuint regHLPRF;
-
- GLuint regHTXnCLOD[2];
- GLuint regHTXnTB[2];
- GLuint regHTXnMPMD[2];
- GLuint regHTXnTBLCsat[2];
- GLuint regHTXnTBLCop[2];
- GLuint regHTXnTBLMPfog[2];
- GLuint regHTXnTBLAsat[2];
- GLuint regHTXnTBLRCb[2];
- GLuint regHTXnTBLRAa[2];
- GLuint regHTXnTBLRFog[2];
- GLuint regHTXnTBLRCa[2];
- GLuint regHTXnTBLRCc[2];
- GLuint regHTXnTBLRCbias[2];
- GLuint regHTXnTBC[2];
- GLuint regHTXnTRAH[2];
-
- int vertexSize;
- int hwVertexSize;
- GLboolean ptexHack;
- int coloroffset;
- int specoffset;
-
- GLint lastStamp;
-
- GLuint ClearColor;
- GLuint ClearMask;
-
- /* DRI stuff
- */
- GLboolean doPageFlip;
-
- struct via_buffer *drawBuffer;
- struct via_buffer *readBuffer;
-
- int drawX; /* origin of drawable in draw buffer */
- int drawY;
- int drawW;
- int drawH;
-
- int drawXoff; /* drawX is 32byte aligned - this is
- * the delta to the real origin, in
- * pixel units.
- */
-
- GLuint numClipRects; /* cliprects for that buffer */
- drm_clip_rect_t *pClipRects;
-
- GLboolean scissor;
- drm_clip_rect_t drawRect;
- drm_clip_rect_t scissorRect;
-
- drm_context_t hHWContext;
- drm_hw_lock_t *driHwLock;
- int driFd;
- __DRInativeDisplay *display;
-
- __DRIdrawablePrivate *driDrawable;
- __DRIscreenPrivate *driScreen;
- viaScreenPrivate *viaScreen;
- drm_via_sarea_t *sarea;
- volatile GLuint* regMMIOBase;
- volatile GLuint* pnGEMode;
- volatile GLuint* regEngineStatus;
- volatile GLuint* regTranSet;
- volatile GLuint* regTranSpace;
- GLuint agpBase;
- GLuint drawType;
-
- GLuint nDoneFirstFlip;
- GLuint agpFullCount;
-
- GLboolean clearTexCache;
- GLboolean thrashing;
-
- /* Configuration cache
- */
- driOptionCache optionCache;
-
- GLuint vblank_flags;
- GLuint vbl_seq;
-
- int64_t swap_ust;
- int64_t swap_missed_ust;
-
- GLuint swap_count;
- GLuint swap_missed_count;
-
-
- GLuint pfCurrentOffset;
- GLboolean allowPageFlip;
-
- GLuint lastBreadcrumbRead;
- GLuint lastBreadcrumbWrite;
- GLuint lastSwap[2];
- GLuint lastDma;
-
- GLuint total_alloc[VIA_MEM_SYSTEM+1];
-
- struct via_tex_buffer tex_image_list[VIA_MEM_SYSTEM+1];
- struct via_tex_buffer freed_tex_buffers;
-
-};
-
-
-
-#define VIA_CONTEXT(ctx) ((struct via_context *)(ctx->DriverCtx))
-
-
-
-/* Lock the hardware and validate our state.
- */
-#define LOCK_HARDWARE(vmesa) \
- do { \
- char __ret = 0; \
- DRM_CAS(vmesa->driHwLock, vmesa->hHWContext, \
- (DRM_LOCK_HELD|vmesa->hHWContext), __ret); \
- if (__ret) \
- viaGetLock(vmesa, 0); \
- } while (0)
-
-
-/* Release the kernel lock.
- */
-#define UNLOCK_HARDWARE(vmesa) \
- DRM_UNLOCK(vmesa->driFd, vmesa->driHwLock, vmesa->hHWContext);
-
-
-
-extern GLuint VIA_DEBUG;
-
-#define DEBUG_TEXTURE 0x1
-#define DEBUG_STATE 0x2
-#define DEBUG_IOCTL 0x4
-#define DEBUG_PRIMS 0x8
-#define DEBUG_VERTS 0x10
-#define DEBUG_FALLBACKS 0x20
-#define DEBUG_VERBOSE 0x40
-#define DEBUG_DRI 0x80
-#define DEBUG_DMA 0x100
-#define DEBUG_SANITY 0x200
-#define DEBUG_SYNC 0x400
-#define DEBUG_SLEEP 0x800
-#define DEBUG_PIXEL 0x1000
-#define DEBUG_2D 0x2000
-
-
-extern void viaGetLock(struct via_context *vmesa, GLuint flags);
-extern void viaLock(struct via_context *vmesa, GLuint flags);
-extern void viaUnLock(struct via_context *vmesa, GLuint flags);
-extern void viaEmitHwStateLocked(struct via_context *vmesa);
-extern void viaEmitScissorValues(struct via_context *vmesa, int box_nr, int emit);
-extern void viaXMesaSetBackClipRects(struct via_context *vmesa);
-extern void viaXMesaSetFrontClipRects(struct via_context *vmesa);
-extern void viaReAllocateBuffers(GLcontext *ctx, GLframebuffer *drawbuffer, GLuint width, GLuint height);
-extern void viaXMesaWindowMoved(struct via_context *vmesa);
-
-extern GLboolean viaTexCombineState(struct via_context *vmesa,
- const struct gl_tex_env_combine_state * combine,
- unsigned unit );
-
-/* Via hw already adjusted for GL pixel centers:
- */
-#define SUBPIXEL_X 0
-#define SUBPIXEL_Y 0
-
-/* TODO XXX _SOLO temp defines to make code compilable */
-#ifndef GLX_PBUFFER_BIT
-#define GLX_PBUFFER_BIT 0x00000004
-#endif
-#ifndef GLX_WINDOW_BIT
-#define GLX_WINDOW_BIT 0x00000001
-#endif
-#ifndef VERT_BIT_CLIP
-#define VERT_BIT_CLIP 0x1000000
-#endif
-
-#endif