aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/Mesa/src/mesa/drivers/dri/i830/i830_debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/Mesa/src/mesa/drivers/dri/i830/i830_debug.c')
-rw-r--r--nx-X11/extras/Mesa/src/mesa/drivers/dri/i830/i830_debug.c415
1 files changed, 0 insertions, 415 deletions
diff --git a/nx-X11/extras/Mesa/src/mesa/drivers/dri/i830/i830_debug.c b/nx-X11/extras/Mesa/src/mesa/drivers/dri/i830/i830_debug.c
deleted file mode 100644
index eee48f1c1..000000000
--- a/nx-X11/extras/Mesa/src/mesa/drivers/dri/i830/i830_debug.c
+++ /dev/null
@@ -1,415 +0,0 @@
-/**************************************************************************
-
-Copyright 2001 2d3d Inc., Delray Beach, FL
-
-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, 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
-ATI, 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.
-
-**************************************************************************/
-
-/* $XFree86: xc/lib/GL/mesa/src/drv/i830/i830_debug.c,v 1.3 2002/12/10 01:26:53 dawes Exp $ */
-
-/*
- * Author:
- * Jeff Hartmann <jhartmann@2d3d.com>
- */
-
-#include "glheader.h"
-#include "context.h"
-#include "macros.h"
-#include "enums.h"
-#include "dd.h"
-
-#include "mm.h"
-
-#include "i830_screen.h"
-#include "i830_dri.h"
-
-#include "i830_context.h"
-#include "i830_state.h"
-#include "i830_tex.h"
-#include "i830_tris.h"
-#include "i830_ioctl.h"
-#include "i830_debug.h"
-
-#include "swrast/swrast.h"
-#include "array_cache/acache.h"
-#include "tnl/tnl.h"
-#include "swrast_setup/swrast_setup.h"
-
-#include "tnl/t_pipeline.h"
-
-
-#define TINY_VERTEX_FORMAT (STATE3D_VERTEX_FORMAT_CMD | \
- VRTX_TEX_COORD_COUNT(0) | \
- VRTX_HAS_DIFFUSE | \
- VRTX_HAS_XYZ)
-
-#define NOTEX_VERTEX_FORMAT (STATE3D_VERTEX_FORMAT_CMD | \
- VRTX_TEX_COORD_COUNT(0) | \
- VRTX_HAS_DIFFUSE | \
- VRTX_HAS_SPEC | \
- VRTX_HAS_XYZW)
-
-#define TEX0_VERTEX_FORMAT (STATE3D_VERTEX_FORMAT_CMD | \
- VRTX_TEX_COORD_COUNT(1) | \
- VRTX_HAS_DIFFUSE | \
- VRTX_HAS_SPEC | \
- VRTX_HAS_XYZW)
-
-#define TEX1_VERTEX_FORMAT (STATE3D_VERTEX_FORMAT_CMD | \
- VRTX_TEX_COORD_COUNT(2) | \
- VRTX_HAS_DIFFUSE | \
- VRTX_HAS_SPEC | \
- VRTX_HAS_XYZW)
-
-#define PROJ_VF2 (STATE3D_VERTEX_FORMAT_2_CMD | \
- VRTX_TEX_SET_0_FMT(TEXCOORDFMT_3D) | \
- VRTX_TEX_SET_1_FMT(TEXCOORDFMT_3D) | \
- VRTX_TEX_SET_2_FMT(TEXCOORDFMT_3D) | \
- VRTX_TEX_SET_3_FMT(TEXCOORDFMT_3D))
-
-#define NON_PROJ_VF2 (STATE3D_VERTEX_FORMAT_2_CMD | \
- VRTX_TEX_SET_0_FMT(TEXCOORDFMT_2D) | \
- VRTX_TEX_SET_1_FMT(TEXCOORDFMT_2D) | \
- VRTX_TEX_SET_2_FMT(TEXCOORDFMT_2D) | \
- VRTX_TEX_SET_3_FMT(TEXCOORDFMT_2D))
-
-void i830DumpContextState( i830ContextPtr imesa )
-{
- GLuint *Context = imesa->Setup;
-
- fprintf(stderr, "%s\n", __FUNCTION__);
- fprintf(stderr, "STATE1 : 0x%08x\n", Context[I830_CTXREG_STATE1]);
- fprintf(stderr, "STATE2 : 0x%08x\n", Context[I830_CTXREG_STATE2]);
- fprintf(stderr, "STATE3 : 0x%08x\n", Context[I830_CTXREG_STATE3]);
- fprintf(stderr, "STATE4 : 0x%08x\n", Context[I830_CTXREG_STATE4]);
- fprintf(stderr, "STATE5 : 0x%08x\n", Context[I830_CTXREG_STATE5]);
- fprintf(stderr, "IALPHAB : 0x%08x\n", Context[I830_CTXREG_IALPHAB]);
- fprintf(stderr, "STENCILTST : 0x%08x\n", Context[I830_CTXREG_STENCILTST]);
- fprintf(stderr, "ENABLES_1 : 0x%08x\n", Context[I830_CTXREG_ENABLES_1]);
- fprintf(stderr, "ENABLES_2 : 0x%08x\n", Context[I830_CTXREG_ENABLES_2]);
- fprintf(stderr, "AA : 0x%08x\n", Context[I830_CTXREG_AA]);
- fprintf(stderr, "FOGCOLOR : 0x%08x\n", Context[I830_CTXREG_FOGCOLOR]);
- fprintf(stderr, "BCOLOR0 : 0x%08x\n", Context[I830_CTXREG_BLENDCOLR0]);
- fprintf(stderr, "BCOLOR : 0x%08x\n", Context[I830_CTXREG_BLENDCOLR]);
- fprintf(stderr, "VF : 0x%08x\n", Context[I830_CTXREG_VF]);
- fprintf(stderr, "VF2 : 0x%08x\n", Context[I830_CTXREG_VF2]);
- fprintf(stderr, "MCSB0 : 0x%08x\n", Context[I830_CTXREG_MCSB0]);
- fprintf(stderr, "MCSB1 : 0x%08x\n", Context[I830_CTXREG_MCSB1]);
-}
-
-void i830DumpBufferState( i830ContextPtr imesa )
-{
- GLuint *Buffer = imesa->BufferSetup;
-
- fprintf(stderr, "%s\n", __FUNCTION__);
- fprintf(stderr, "CBUFADDR : 0x%08x\n", Buffer[I830_DESTREG_CBUFADDR]);
- fprintf(stderr, "DBUFADDR : 0x%08x\n", Buffer[I830_DESTREG_DBUFADDR]);
- fprintf(stderr, "DV0 : 0x%08x\n", Buffer[I830_DESTREG_DV0]);
- fprintf(stderr, "DV1 : 0x%08x\n", Buffer[I830_DESTREG_DV1]);
- fprintf(stderr, "SENABLE : 0x%08x\n", Buffer[I830_DESTREG_SENABLE]);
- fprintf(stderr, "SR0 : 0x%08x\n", Buffer[I830_DESTREG_SR0]);
- fprintf(stderr, "SR1 : 0x%08x\n", Buffer[I830_DESTREG_SR1]);
- fprintf(stderr, "SR2 : 0x%08x\n", Buffer[I830_DESTREG_SR2]);
- fprintf(stderr, "DR0 : 0x%08x\n", Buffer[I830_DESTREG_DR0]);
- fprintf(stderr, "DR1 : 0x%08x\n", Buffer[I830_DESTREG_DR1]);
- fprintf(stderr, "DR2 : 0x%08x\n", Buffer[I830_DESTREG_DR2]);
- fprintf(stderr, "DR3 : 0x%08x\n", Buffer[I830_DESTREG_DR3]);
- fprintf(stderr, "DR4 : 0x%08x\n", Buffer[I830_DESTREG_DR4]);
-}
-
-void i830DumpStippleState( i830ContextPtr imesa )
-{
- GLuint *Buffer = imesa->BufferSetup;
-
- fprintf(stderr, "%s\n", __FUNCTION__);
- fprintf(stderr, "ST1 : 0x%08x\n", Buffer[I830_STPREG_ST1]);
-}
-
-void i830DumpTextureState( i830ContextPtr imesa, int unit )
-{
- i830TextureObjectPtr t = imesa->CurrentTexObj[unit];
-
- if(t) {
- fprintf(stderr, "%s : unit %d\n", __FUNCTION__, unit);
- fprintf(stderr, "TM0LI : 0x%08x\n", t->Setup[I830_TEXREG_TM0LI]);
- fprintf(stderr, "TM0S0 : 0x%08x\n", t->Setup[I830_TEXREG_TM0S0]);
- fprintf(stderr, "TM0S1 : 0x%08x\n", t->Setup[I830_TEXREG_TM0S1]);
- fprintf(stderr, "TM0S2 : 0x%08x\n", t->Setup[I830_TEXREG_TM0S2]);
- fprintf(stderr, "TM0S3 : 0x%08x\n", t->Setup[I830_TEXREG_TM0S3]);
- fprintf(stderr, "TM0S4 : 0x%08x\n", t->Setup[I830_TEXREG_TM0S4]);
- fprintf(stderr, "NOP0 : 0x%08x\n", t->Setup[I830_TEXREG_NOP0]);
- fprintf(stderr, "NOP1 : 0x%08x\n", t->Setup[I830_TEXREG_NOP1]);
- fprintf(stderr, "NOP2 : 0x%08x\n", t->Setup[I830_TEXREG_NOP2]);
- fprintf(stderr, "MCS : 0x%08x\n", t->Setup[I830_TEXREG_MCS]);
- }
-}
-
-void i830DumpTextureBlendState( i830ContextPtr imesa, int unit )
-{
- GLuint *TexBlend = imesa->TexBlend[unit];
- GLuint length = imesa->TexBlendWordsUsed[unit];
- int i;
-
- fprintf(stderr, "%s : unit %d : length %d\n", __FUNCTION__, unit, length);
- for(i = 0; i < length; i++) {
- fprintf(stderr, "[%d] : 0x%08x\n", i, TexBlend[i]);
- }
-}
-
-void i830VertexSanity( i830ContextPtr imesa, drmI830Vertex vertex )
-{
- I830SAREAPtr sarea = imesa->sarea;
- char *prim_name;
- int size = 0;
- int vfmt_size = 0;
- int hw_nr_vertex = 0;
- int hw_start_vertex = 0;
-
- /* Do a bunch of sanity checks on the vertices sent to the hardware */
-
- size = vertex.used - 4;
- if(imesa->vertex_size && (size % imesa->vertex_size) != 0) {
- fprintf(stderr, "\n\nVertex size does not match imesa "
- "internal state\n");
- fprintf(stderr, "Buffer size : %d\n", size);
- fprintf(stderr, "Vertex size : %d\n", imesa->vertex_size);
- }
-
- /* Check to see if the vertex format is good, and get its size */
- if (sarea->ContextState[I830_CTXREG_VF] == TINY_VERTEX_FORMAT) {
- vfmt_size = 16; /* 4 dwords */
- } else if (sarea->ContextState[I830_CTXREG_VF] ==
- NOTEX_VERTEX_FORMAT) {
- vfmt_size = 24; /* 6 dwords */
- } else if (sarea->ContextState[I830_CTXREG_VF] ==
- TEX0_VERTEX_FORMAT) {
- vfmt_size = 32; /* 8 dwords */
- if (sarea->ContextState[I830_CTXREG_VF2] != NON_PROJ_VF2) {
- fprintf(stderr, "\n\nTex 0 vertex format, but proj "
- "texturing\n");
- }
- } else if(sarea->ContextState[I830_CTXREG_VF] ==
- TEX1_VERTEX_FORMAT) {
- if (sarea->ContextState[I830_CTXREG_VF2] == NON_PROJ_VF2)
- vfmt_size = 40; /* 10 dwords */
- else
- vfmt_size = 48; /* 12 dwords */
- } else {
- fprintf(stderr, "\n\nUnknown vertex format : vf : %08x "
- "vf2 : %08x\n",
- sarea->ContextState[I830_CTXREG_VF],
- sarea->ContextState[I830_CTXREG_VF2]);
- }
-
- if(vfmt_size && (size % vfmt_size) != 0) {
- fprintf(stderr, "\n\nVertex size does not match hardware "
- "internal state\n");
- fprintf(stderr, "Buffer size : %d\n", size);
- fprintf(stderr, "Vertex size : %d\n", vfmt_size);
- }
-
- switch(sarea->vertex_prim) {
- case PRIM3D_POINTLIST:
- hw_start_vertex = 0;
- hw_nr_vertex = 1;
- prim_name = "PointList";
- break;
-
- case PRIM3D_LINELIST:
- hw_start_vertex = 0;
- hw_nr_vertex = 2;
- prim_name = "LineList";
- break;
-
- case PRIM3D_LINESTRIP:
- hw_start_vertex = 2;
- hw_nr_vertex = 1;
- prim_name = "LineStrip";
- break;
-
- case PRIM3D_TRILIST:
- hw_start_vertex = 0;
- hw_nr_vertex = 3;
- prim_name = "TriList";
- break;
-
- case PRIM3D_TRISTRIP:
- hw_start_vertex = 3;
- hw_nr_vertex = 1;
- prim_name = "TriStrip";
- break;
-
- case PRIM3D_TRIFAN:
- hw_start_vertex = 3;
- hw_nr_vertex = 1;
- prim_name = "TriFan";
- break;
-
- case PRIM3D_POLY:
- hw_start_vertex = 3;
- hw_nr_vertex = 1;
- prim_name = "Polygons";
- break;
- default:
- prim_name = "Unknown";
- fprintf(stderr, "\n\nUnknown primitive type : %08x\n",
- sarea->vertex_prim);
- }
-
- if (hw_nr_vertex && vfmt_size) {
- int temp_size = size - (hw_start_vertex * vfmt_size);
- int remaining = (temp_size % (hw_nr_vertex * vfmt_size));
-
- if (remaining != 0) {
- fprintf(stderr, "\n\nThis buffer contains an improper"
- " multiple of vertices for this primitive : %s\n",
- prim_name);
- fprintf(stderr, "Number of vertices in buffer : %d\n",
- size / vfmt_size);
- fprintf(stderr, "temp_size : %d\n", temp_size);
- fprintf(stderr, "remaining vertices : %d",
- remaining / vfmt_size);
- }
- }
- if (vfmt_size) {
- fprintf(stderr, "\n\nPrim name (%s), vertices (%d)\n",
- prim_name,
- size / vfmt_size);
- }
-}
-
-void i830EmitHwStateLockedDebug( i830ContextPtr imesa )
-{
- int i;
-
- if ((imesa->dirty & I830_UPLOAD_TEX0_IMAGE) && imesa->CurrentTexObj[0]) {
- i830UploadTexImagesLocked(imesa, imesa->CurrentTexObj[0]);
- }
-
- if ((imesa->dirty & I830_UPLOAD_TEX1_IMAGE) && imesa->CurrentTexObj[1]) {
- i830UploadTexImagesLocked(imesa, imesa->CurrentTexObj[1]);
- }
-
- if (imesa->dirty & I830_UPLOAD_CTX) {
- memcpy( imesa->sarea->ContextState,
- imesa->Setup, sizeof(imesa->Setup) );
- i830DumpContextState(imesa);
- }
-
- for(i = 0; i < I830_TEXTURE_COUNT; i++) {
- if ((imesa->dirty & I830_UPLOAD_TEX_N(i)) && imesa->CurrentTexObj[i]) {
- unsigned * TexState;
-
- imesa->sarea->dirty |= I830_UPLOAD_TEX_N(i);
-
- switch( i ) {
- case 0:
- case 1:
- TexState = imesa->sarea->TexState[i];
- break;
-
- case 2:
- TexState = imesa->sarea->TexState2;
- break;
-
- case 3:
- TexState = imesa->sarea->TexState3;
- break;
- }
-
- memcpy(TexState, imesa->CurrentTexObj[i]->Setup,
- sizeof(imesa->sarea->TexState[i]));
- i830DumpTextureState(imesa, i);
- }
- }
- /* Need to figure out if texturing state, or enable changed. */
-
- for(i = 0; i < I830_TEXBLEND_COUNT; i++) {
- if (imesa->dirty & I830_UPLOAD_TEXBLEND_N(i)) {
- unsigned * TexBlendState;
- unsigned * words_used;
-
- imesa->sarea->dirty |= I830_UPLOAD_TEXBLEND_N(i);
-
- switch( i ) {
- case 0:
- case 1:
- TexBlendState = imesa->sarea->TexBlendState[i];
- words_used = & imesa->sarea->TexBlendStateWordsUsed[i];
- break;
-
- case 2:
- TexBlendState = imesa->sarea->TexBlendState2;
- words_used = & imesa->sarea->TexBlendStateWordsUsed2;
- break;
-
- case 3:
- TexBlendState = imesa->sarea->TexBlendState3;
- words_used = & imesa->sarea->TexBlendStateWordsUsed3;
- break;
- }
-
- memcpy(TexBlendState, imesa->TexBlend[i],
- imesa->TexBlendWordsUsed[i] * 4);
- *words_used = imesa->TexBlendWordsUsed[i];
-
- i830DumpTextureBlendState(imesa, i);
- }
- }
-
- if (imesa->dirty & I830_UPLOAD_BUFFERS) {
- memcpy( imesa->sarea->BufferState,imesa->BufferSetup,
- sizeof(imesa->BufferSetup) );
- i830DumpBufferState(imesa);
- }
-
- if (imesa->dirty & I830_UPLOAD_STIPPLE) {
- fprintf(stderr, "UPLOAD_STIPPLE\n");
- memcpy( imesa->sarea->StippleState,imesa->StippleSetup,
- sizeof(imesa->StippleSetup) );
- i830DumpStippleState(imesa);
- }
-
- if (imesa->dirty & I830_UPLOAD_TEX_PALETTE_SHARED) {
- memcpy( imesa->sarea->Palette[0],imesa->palette,
- sizeof(imesa->sarea->Palette[0]));
- } else {
- i830TextureObjectPtr p;
- if (imesa->dirty & I830_UPLOAD_TEX_PALETTE_N(0)) {
- p = imesa->CurrentTexObj[0];
- memcpy( imesa->sarea->Palette[0],p->palette,
- sizeof(imesa->sarea->Palette[0]));
- }
- if (imesa->dirty & I830_UPLOAD_TEX_PALETTE_N(1)) {
- p = imesa->CurrentTexObj[1];
- memcpy( imesa->sarea->Palette[1],
- p->palette,
- sizeof(imesa->sarea->Palette[1]));
- }
- }
- imesa->sarea->dirty |= (imesa->dirty & ~(I830_UPLOAD_TEX_MASK |
- I830_UPLOAD_TEXBLEND_MASK));
-
- imesa->upload_cliprects = GL_TRUE;
- imesa->dirty = 0;
-}