Changeset 3598 for trunk/src/opengl/mesa/3dfx/fxglidew.c
- Timestamp:
- May 23, 2000, 10:41:28 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/opengl/mesa/3dfx/fxglidew.c
r2938 r3598 3 3 /* 4 4 * Mesa 3-D graphics library 5 * Version: 3. 15 * Version: 3.3 6 6 * 7 7 * Copyright (C) 1999 Brian Paul All Rights Reserved. … … 43 43 */ 44 44 45 45 46 46 #ifdef HAVE_CONFIG_H 47 47 #include "conf.h" … … 56 56 #include <string.h> 57 57 58 staticFxI32 FX_grGetInteger_NoLock(FxU32 pname)58 FxI32 FX_grGetInteger_NoLock(FxU32 pname) 59 59 { 60 60 #if !defined(FX_GLIDE3) 61 switch (pname) 61 switch (pname) 62 62 { 63 63 case FX_FOG_TABLE_ENTRIES: … … 68 68 return FXFALSE; 69 69 case FX_PENDING_BUFFERSWAPS: 70 return grBufferNumPending(); 70 return grBufferNumPending(); 71 case FX_TEXTURE_ALIGN: 72 /* This is a guess from reading the glide3 docs */ 73 return 8; 71 74 default: 72 75 if (MESA_VERBOSE&VERBOSE_DRIVER) { … … 78 81 FxU32 grname; 79 82 FxI32 result; 80 83 81 84 switch (pname) 82 85 { … … 85 88 case FX_LFB_PIXEL_PIPE: 86 89 case FX_PENDING_BUFFERSWAPS: 90 case FX_TEXTURE_ALIGN: 87 91 grname = pname; 88 92 break; … … 110 114 111 115 112 FxBool FX_grLfbLock(GrLock_t type, GrBuffer_t buffer, 113 GrLfbWriteMode_t writeMode, GrOriginLocation_t origin, 114 116 FxBool FX_grLfbLock(GrLock_t type, GrBuffer_t buffer, 117 GrLfbWriteMode_t writeMode, GrOriginLocation_t origin, 118 FxBool pixelPipeline, GrLfbInfo_t *info ) { 115 119 FxBool result; 116 120 … … 177 181 grGet(GR_FOG_TABLE_ENTRIES,sizeof(int),(void*)&result); 178 182 END_BOARD_LOCK(); 179 return result; 183 return result; 180 184 } 181 185 … … 188 192 189 193 return result; 190 194 191 195 } 192 196 … … 198 202 grGet(GR_VIEWPORT,sizeof(FxI32)*4,result); 199 203 END_BOARD_LOCK(); 200 204 201 205 return result[2]; 202 206 } … … 209 213 grGet(GR_VIEWPORT,sizeof(FxI32)*4,result); 210 214 END_BOARD_LOCK(); 211 215 212 216 return result[3]; 213 217 } … … 222 226 void FX_grSstPerfStats(GrSstPerfStats_t *st) 223 227 { 224 /* ToDo */225 st->pixelsIn = 0;226 st->chromaFail = 0;227 st->zFuncFail = 0;228 st->aFuncFail = 0;229 st->pixelsOut = 0;228 int n; 229 grGet(GR_STATS_PIXELS_IN, 4, &n); st->pixelsIn = n; 230 grGet(GR_STATS_PIXELS_CHROMA_FAIL, 4, &n); st->chromaFail = n; 231 grGet(GR_STATS_PIXELS_DEPTHFUNC_FAIL, 4, &n); st->zFuncFail = n; 232 grGet(GR_STATS_PIXELS_AFUNC_FAIL, 4, &n); st->aFuncFail = n; 233 grGet(GR_STATS_PIXELS_OUT, 4, &n); st->pixelsOut = n; 230 234 } 231 235 … … 245 249 } 246 250 251 void FX_grDrawPolygonVertexList(int n, GrVertex *verts) 252 { 253 BEGIN_CLIP_LOOP(); 254 grDrawVertexArrayContiguous(GR_POLYGON, n, verts, sizeof(GrVertex)); 255 END_CLIP_LOOP(); 256 } 257 247 258 #if FX_USE_PARGB 248 259 void FX_setupGrVertexLayout(void) … … 250 261 BEGIN_BOARD_LOCK(); 251 262 grReset(GR_VERTEX_PARAMETER); 252 263 253 264 grCoordinateSpace(GR_WINDOW_COORDS); 254 265 grVertexLayout(GR_PARAM_XY, GR_VERTEX_X_OFFSET << 2, GR_PARAM_ENABLE); … … 256 267 grVertexLayout(GR_PARAM_Q, GR_VERTEX_OOW_OFFSET << 2, GR_PARAM_ENABLE); 257 268 grVertexLayout(GR_PARAM_Z, GR_VERTEX_OOZ_OFFSET << 2, GR_PARAM_ENABLE); 258 grVertexLayout(GR_PARAM_ST0, GR_VERTEX_SOW_TMU0_OFFSET << 2, GR_PARAM_ENABLE); 259 grVertexLayout(GR_PARAM_Q0, GR_VERTEX_OOW_TMU0_OFFSET << 2, GR_PARAM_DISABLE); 260 grVertexLayout(GR_PARAM_ST1, GR_VERTEX_SOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 261 grVertexLayout(GR_PARAM_Q1, GR_VERTEX_OOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 269 grVertexLayout(GR_PARAM_ST0, GR_VERTEX_SOW_TMU0_OFFSET << 2, GR_PARAM_ENABLE); 270 grVertexLayout(GR_PARAM_Q0, GR_VERTEX_OOW_TMU0_OFFSET << 2, GR_PARAM_DISABLE); 271 grVertexLayout(GR_PARAM_ST1, GR_VERTEX_SOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 272 grVertexLayout(GR_PARAM_Q1, GR_VERTEX_OOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 262 273 END_BOARD_LOCK(); 263 274 } … … 267 278 BEGIN_BOARD_LOCK(); 268 279 grReset(GR_VERTEX_PARAMETER); 269 280 270 281 grCoordinateSpace(GR_WINDOW_COORDS); 271 282 grVertexLayout(GR_PARAM_XY, GR_VERTEX_X_OFFSET << 2, GR_PARAM_ENABLE); … … 273 284 grVertexLayout(GR_PARAM_A, GR_VERTEX_A_OFFSET << 2, GR_PARAM_ENABLE); 274 285 grVertexLayout(GR_PARAM_Q, GR_VERTEX_OOW_OFFSET << 2, GR_PARAM_ENABLE); 275 grVertexLayout(GR_PARAM_Z, GR_VERTEX_OOZ_OFFSET << 2, 276 grVertexLayout(GR_PARAM_ST0, GR_VERTEX_SOW_TMU0_OFFSET << 2, GR_PARAM_ENABLE); 286 grVertexLayout(GR_PARAM_Z, GR_VERTEX_OOZ_OFFSET << 2, GR_PARAM_ENABLE); 287 grVertexLayout(GR_PARAM_ST0, GR_VERTEX_SOW_TMU0_OFFSET << 2, GR_PARAM_ENABLE); 277 288 grVertexLayout(GR_PARAM_Q0, GR_VERTEX_OOW_TMU0_OFFSET << 2, GR_PARAM_DISABLE); 278 grVertexLayout(GR_PARAM_ST1, GR_VERTEX_SOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 289 grVertexLayout(GR_PARAM_ST1, GR_VERTEX_SOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 279 290 grVertexLayout(GR_PARAM_Q1, GR_VERTEX_OOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 280 291 END_BOARD_LOCK(); … … 288 299 { 289 300 if (hintMask & GR_STWHINT_W_DIFF_TMU0) 290 grVertexLayout(GR_PARAM_Q0, GR_VERTEX_OOW_TMU0_OFFSET << 2,GR_PARAM_ENABLE);301 grVertexLayout(GR_PARAM_Q0, GR_VERTEX_OOW_TMU0_OFFSET << 2, GR_PARAM_ENABLE); 291 302 else 292 grVertexLayout(GR_PARAM_Q0,GR_VERTEX_OOW_TMU0_OFFSET << 2,GR_PARAM_DISABLE);293 303 grVertexLayout(GR_PARAM_Q0,GR_VERTEX_OOW_TMU0_OFFSET << 2, GR_PARAM_DISABLE); 304 294 305 if (hintMask & GR_STWHINT_ST_DIFF_TMU1) 295 306 grVertexLayout(GR_PARAM_ST1,GR_VERTEX_SOW_TMU1_OFFSET << 2, GR_PARAM_ENABLE); 296 307 else 297 298 308 grVertexLayout(GR_PARAM_ST1,GR_VERTEX_SOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 309 299 310 if (hintMask & GR_STWHINT_W_DIFF_TMU1) 300 grVertexLayout(GR_PARAM_Q1,GR_VERTEX_OOW_TMU1_OFFSET << 2,GR_PARAM_ENABLE);311 grVertexLayout(GR_PARAM_Q1,GR_VERTEX_OOW_TMU1_OFFSET << 2, GR_PARAM_ENABLE); 301 312 else 302 grVertexLayout(GR_PARAM_Q1,GR_VERTEX_OOW_TMU1_OFFSET << 2,GR_PARAM_DISABLE);303 313 grVertexLayout(GR_PARAM_Q1,GR_VERTEX_OOW_TMU1_OFFSET << 2, GR_PARAM_DISABLE); 314 304 315 } 305 316 } … … 320 331 grGet(GR_NUM_BOARDS,4,(void*)&(config->num_sst)); 321 332 if (config->num_sst == 0) 322 333 return 0; 323 334 for (i = 0; i< config->num_sst; i++) 324 335 { … … 327 338 grGet(GR_MEMORY_FB,4,(void*)&(config->SSTs[i].sstBoard.VoodooConfig.fbRam)); 328 339 config->SSTs[i].sstBoard.VoodooConfig.fbRam/= 1024*1024; 329 340 330 341 grGet(GR_NUM_TMU,4,(void*)&(config->SSTs[i].sstBoard.VoodooConfig.nTexelfx)); 331 332 342 343 333 344 grGet(GR_NUM_FB,4,(void*)&numFB); 334 345 if (numFB > 1) … … 338 349 for (j = 0; j < config->SSTs[i].sstBoard.VoodooConfig.nTexelfx; j++) 339 350 { 340 341 351 grGet(GR_MEMORY_TMU,4,(void*)&(config->SSTs[i].sstBoard.VoodooConfig.tmuConfig[j].tmuRam)); 352 config->SSTs[i].sstBoard.VoodooConfig.tmuConfig[j].tmuRam /= 1024*1024; 342 353 } 343 354 } … … 366 377 } 367 378 368 int FX_grSstQueryHardware(GrHwConfiguration *c) 379 int FX_grSstQueryHardware(GrHwConfiguration *c) 369 380 { 370 381 int i; … … 373 384 END_BOARD_LOCK(); 374 385 return i; 375 } 386 } 376 387 377 388 FX_GrContext_t FX_grSstWinOpen( FxU32 hWnd, … … 392 403 nColBuffers, 393 404 nAuxBuffers ); 394 405 395 406 #if 0 396 fprintf(stderr, 407 fprintf(stderr, 397 408 "grSstWinOpen( win %d res %d ref %d fmt %d\n" 398 409 " org %d ncol %d naux %d )\n" … … 413 424 414 425 415 #endif 426 #endif 416 427 #else 417 428
Note:
See TracChangeset
for help on using the changeset viewer.