340 lines
24 KiB
C
340 lines
24 KiB
C
#pragma once
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#include "reg.h"
|
|
|
|
struct voodoo2_reg {
|
|
reg32 status; // (r ) Voodoo2 Graphics Status
|
|
reg32 intrCtrl; // (rw) Interrupt Status and Control
|
|
reg32 vertexAx; // ( w) Vertex A x-coordinate location (12.4 format)
|
|
reg32 vertexAy; // ( w) Vertex A y-coordinate location (12.4 format)
|
|
reg32 vertexBx; // ( w) Vertex B x-coordinate location (12.4 format)
|
|
reg32 vertexBy; // ( w) Vertex B y-coordinate location (12.4 format)
|
|
reg32 vertexCx; // ( w) Vertex C x-coordinate location (12.4 format)
|
|
reg32 vertexCy; // ( w) Vertex C y-coordinate location (12.4 format)
|
|
reg32 startR; // ( w) Starting Red parameter (12.12 format)
|
|
reg32 startG; // ( w) Starting Green parameter (12.12 format)
|
|
reg32 startB; // ( w) Starting Blue parameter (12.12 format)
|
|
reg32 startZ; // ( w) Starting Z parameter (20.12 format)
|
|
reg32 startA; // ( w) Starting Alpha parameter (12.12 format)
|
|
reg32 startS; // ( w) Starting S/W parameter (14.18 format)
|
|
reg32 startT; // ( w) Starting T/W parameter (14.18 format)
|
|
reg32 startW; // ( w) Starting 1/W parameter (2.30 format)
|
|
reg32 dRdX; // ( w) Change in Red with respect to X (12.12 format)
|
|
reg32 dGdX; // ( w) Change in Green with respect to X (12.12 format)
|
|
reg32 dBdX; // ( w) Change in Blue with respect to X (12.12 format)
|
|
reg32 dZdX; // ( w) Change in Z with respect to X (20.12 format)
|
|
reg32 dAdX; // ( w) Change in Alpha with respect to X (12.12 format)
|
|
reg32 dSdX; // ( w) Change in S/W with respect to X (14.18 format)
|
|
reg32 dTdX; // ( w) Change in T/W with respect to X (14.18 format)
|
|
reg32 dWdX; // ( w) Change in 1/W with respect to X (2.30 format)
|
|
reg32 dRdY; // ( w) Change in Red with respect to Y (12.12 format)
|
|
reg32 dGdY; // ( w) Change in Green with respect to Y (12.12 format)
|
|
reg32 dBdY; // ( w) Change in Blue with respect to Y (12.12 format)
|
|
reg32 dZdY; // ( w) Change in Z with respect to Y (20.12 format)
|
|
reg32 dAdY; // ( w) Change in Alpha with respect to Y (12.12 format)
|
|
reg32 dSdY; // ( w) Change in S/W with respect to Y (14.18 format)
|
|
reg32 dTdY; // ( w) Change in T/W with respect to Y (14.18 format)
|
|
reg32 dWdY; // ( w) Change in 1/W with respect to Y (2.30 format)
|
|
reg32 triangleCMD; // ( w) Execute TRIANGLE command (floating point)
|
|
reg32 _reserved0[1];
|
|
reg32f fvertexAx; // ( w) Vertex A x-coordinate location (floating point)
|
|
reg32f fvertexAy; // ( w) Vertex A y-coordinate location (floating point)
|
|
reg32f fvertexBx; // ( w) Vertex B x-coordinate location (floating point)
|
|
reg32f fvertexBy; // ( w) Vertex B y-coordinate location (floating point)
|
|
reg32f fvertexCx; // ( w) Vertex C x-coordinate location (floating point)
|
|
reg32f fvertexCy; // ( w) Vertex C y-coordinate location (floating point)
|
|
reg32f fstartR; // ( w) Starting Red parameter (floating point)
|
|
reg32f fstartG; // ( w) Starting Green parameter (floating point)
|
|
reg32f fstartB; // ( w) Starting Blue parameter (floating point)
|
|
reg32f fstartZ; // ( w) Starting Z parameter (floating point)
|
|
reg32f fstartA; // ( w) Starting Alpha parameter (floating point)
|
|
reg32f fstartS; // ( w) Starting S/W parameter (floating point)
|
|
reg32f fstartT; // ( w) Starting T/W parameter (floating point)
|
|
reg32f fstartW; // ( w) Starting 1/W parameter (floating point)
|
|
reg32f fdRdX; // ( w) Change in Red with respect to X (floating point)
|
|
reg32f fdGdX; // ( w) Change in Green with respect to X (floating point)
|
|
reg32f fdBdX; // ( w) Change in Blue with respect to X (floating point)
|
|
reg32f fdZdX; // ( w) Change in Z with respect to X (floating point)
|
|
reg32f fdAdX; // ( w) Change in Alpha with respect to X (floating point)
|
|
reg32f fdSdX; // ( w) Change in S/W with respect to X (floating point)
|
|
reg32f fdTdX; // ( w) Change in T/W with respect to X (floating point)
|
|
reg32f fdWdX; // ( w) Change in 1/W with respect to X (floating point)
|
|
reg32f fdRdY; // ( w) Change in Red with respect to Y (floating point)
|
|
reg32f fdGdY; // ( w) Change in Green with respect to Y (floating point)
|
|
reg32f fdBdY; // ( w) Change in Blue with respect to Y (floating point)
|
|
reg32f fdZdY; // ( w) Change in Z with respect to Y (floating point)
|
|
reg32f fdAdY; // ( w) Change in Alpha with respect to Y (floating point)
|
|
reg32f fdSdY; // ( w) Change in S/W with respect to Y (floating point)
|
|
reg32f fdTdY; // ( w) Change in T/W with respect to Y (floating point)
|
|
reg32f fdWdY; // ( w) Change in 1/W with respect to Y (floating point)
|
|
reg32 ftriangleCMD; // ( w) Execute TRIANGLE command (floating point)
|
|
reg32 fbzColorPath; // (rw) Chuck Color Path Control
|
|
reg32 fogMode; // (rw) Fog Mode Control
|
|
reg32 alphaMode; // (rw) Alpha Mode Control
|
|
reg32 fbzMode; // (rw) RGB Buffer and Depth-Buffer Control
|
|
reg32 lfbMode; // (rw) Linear Frame Buffer Mode Control
|
|
reg32 clipLeftRight; // (rw) Left and Right of Clipping Register
|
|
reg32 clipLowYHighY; // (rw) Top and Bottom of Clipping Register
|
|
reg32 nopCMD; // ( w) Execute NOP command
|
|
reg32 fastfillCMD; // ( w) Execute FASTFILL command
|
|
reg32 swapbufferCMD; // ( w) Execute SWAPBUFFER command
|
|
reg32 fogColor; // ( w) Fog Color Value
|
|
reg32 zaColor; // ( w) Constant Alpha/Depth Value
|
|
reg32 chromaKey; // ( w) Chroma Key Compare Value
|
|
reg32 chromaRange; // ( w) Chroma Range Compare Values,modes,enable
|
|
reg32 userIntrCMD; // ( w) Execute USERINTERRUPT command
|
|
reg32 stipple; // (rw) Rendering Stipple Value
|
|
reg32 color0; // (rw) Constant Color #0
|
|
reg32 color1; // (rw) Constant Color #1
|
|
reg32 fbiPixelsIn; // (r ) Pixel Counter (Number pixels processed)
|
|
reg32 fbiChromaFail; // (r ) Pixel Counter (Number pixels failed Chroma test)
|
|
reg32 fbiZfuncFail; // (r ) Pixel Counter (Number pixels failed Z test)
|
|
reg32 fbiAfuncFail; // (r ) Pixel Counter (Number pixels failed Alpha test)
|
|
reg32 fbiPixelsOut; // (r ) Pixel Counter (Number pixels drawn)
|
|
reg32 fogTable[32]; // ( w) Fog Table
|
|
reg32 cmdFifoBaseAddr; // (rw) CMDFIFO base address and size
|
|
reg32 cmdFifoBump; // (rw) CMDFIFO bump depth
|
|
reg32 cmdFifoRdPtr; // (rw) CMDFIFO current read pointer
|
|
reg32 cmdFifoAMin; // (rw) CMDFIFO current minimum address
|
|
reg32 cmdFifoAMax; // (rw) CMDFIFO current maximum address
|
|
reg32 cmdFifoDepth; // (rw) CMDFIFO current depth
|
|
reg32 cmdFifoHoles; // (rw) CMDFIFO number of holes
|
|
reg32 _reserved1[1];
|
|
reg32 fbiInit4; // (rw) Chuck Hardware Initialization (register 4)
|
|
reg32 vRetrace; // (r ) Vertical Retrace Counter
|
|
reg32 backPorch; // (rw) Video Backporch Timing Generator
|
|
reg32 videoDimensions; // (rw) Video Screen Dimensions
|
|
reg32 fbiInit0; // (rw) Chuck Hardware Initialization (register 0)
|
|
reg32 fbiInit1; // (rw) Chuck Hardware Initialization (register 1)
|
|
reg32 fbiInit2; // (rw) Chuck Hardware Initialization (register 2)
|
|
reg32 fbiInit3; // (rw) Chuck Hardware Initialization (register 3)
|
|
reg32 hSync; // ( w) Horizontal Sync Timing Generator
|
|
reg32 vSync; // ( w) Vertical Sync Timing Generator
|
|
reg32 clutData; // ( w) Video Color Lookup Table Initialization
|
|
reg32 dacData; // ( w) External DAC Initialization
|
|
reg32 maxRgbDelta; // ( w) Max. RGB difference for Video Filtering
|
|
reg32 hBorder; // ( w) Horizontal Border Color Control
|
|
reg32 vBorder; // ( w) Vertical Border Color Control
|
|
reg32 borderColor; // ( w) Video Border Color
|
|
reg32 hvRetrace; // (r ) Horizontal and Vertical Retrace Counters (synced)
|
|
reg32 fbiInit5; // (rw) Chuck Hardware Initialization (register 5)
|
|
reg32 fbiInit6; // (rw) Chuck Hardware Initialization (register 6)
|
|
reg32 fbiInit7; // (rw) Chuck Hardware Initialization (register 7)
|
|
reg32 _reserved2[2];
|
|
reg32 fbiSwapHistory; // (r ) Swap History Register
|
|
reg32 fbiTrianglesOut; // (r ) Triangle Counter (Number triangles drawn)
|
|
reg32 sSetupMode; // ( w) Triangle setup mode
|
|
reg32f sVx; // ( w) Triangle setup X (floating point)
|
|
reg32f sVy; // ( w) Triangle setup Y (floating point)
|
|
reg32 sARGB; // ( w) Triangle setup Alpha, Red, Green, Blue
|
|
reg32f sRed; // ( w) Triangle setup Red value (floating point)
|
|
reg32f sGreen; // ( w) Triangle setup Green value (floating point)
|
|
reg32f sBlue; // ( w) Triangle setup Blue value (floating point)
|
|
reg32f sAlpha; // ( w) Triangle setup Alpha value (floating point)
|
|
reg32f sVz; // ( w) Triangle setup Z (floating point)
|
|
reg32f sWb; // ( w) Triangle setup Global W (floating point)
|
|
reg32f sWtmu0; // ( w) Triangle setup Tmu0 & Tmu1 W (floating point)
|
|
reg32f sS_W0; // ( w) Triangle setup Tmu0 & Tmu1 S/W (floating point)
|
|
reg32f sT_W0; // ( w) Triangle setup Tmu0 & Tmu1 T/W (floating point)
|
|
reg32f sWtmu1; // ( w) Triangle setup Tmu1 only W (floating point)
|
|
reg32f sS_Wtmu1; // ( w) Triangle setup Tmu1 only S/W (floating point)
|
|
reg32f sT_Wtmu1; // ( w) Triangle setup Tmu1 only T/W (floating point)
|
|
reg32 sDrawTriCMD; // ( w) Triangle setup (Draw)
|
|
reg32 sBeginTriCMD; // ( w) Triangle setup Start New triangle
|
|
reg32 _reserved3[6];
|
|
reg32 bltSrcBaseAddr; // (rw) BitBLT Source base address
|
|
reg32 bltDstBaseAddr; // (rw) BitBLT Destination base address
|
|
reg32 bltXYStrides; // (rw) BitBLT Source and Destination strides
|
|
reg32 bltSrcChromaRange; // (rw) BiBLT Source Chroma key range
|
|
reg32 bltDstChromaRange; // (rw) BitBLT Destination Chroma key range
|
|
reg32 bltClipX; // (rw) BitBLT Min/Max X clip values
|
|
reg32 bltClipY; // (rw) BitBLT Min/Max Y clip values
|
|
reg32 _reserved4[1];
|
|
reg32 bltSrcXY; // (rw) BitBLT Source starting XY coordinates
|
|
reg32 bltDstXY; // (rw) BitBLT Destination starting XY coordinates
|
|
reg32 bltSize; // (rw) BitBLT width and height
|
|
reg32 bltRop; // (rw) BitBLT Raster operations
|
|
reg32 bltColor; // (rw) BitBLT and foreground background colors
|
|
reg32 _reserved5[1];
|
|
reg32 bltCommand; // (rw) BitBLT command mode
|
|
reg32 bltData; // ( w) BitBLT data for CPU-to-Screen BitBLTs
|
|
reg32 textureMode; // ( w) Texture Mode Control
|
|
reg32 tLOD; // ( w) Texture LOD Settings
|
|
reg32 tDetail; // ( w) Texture LOD Settings
|
|
reg32 texBaseAddr; // ( w) Texture Base Address
|
|
reg32 texBaseAddr_1; // ( w) Texture Base Address (supplemental LOD 1)
|
|
reg32 texBaseAddr_2; // ( w) Texture Base Address (supplemental LOD 2)
|
|
reg32 texBaseAddr_3_8; // ( w) Texture Base Address (supplemental LOD 3-8)
|
|
reg32 trexInit0; // ( w) Bruce Hardware Initialization (register 0)
|
|
reg32 trexInit1; // ( w) Bruce Hardware Initialization (register 1)
|
|
reg32 nccTable0[12]; // ( w) Narrow Channel Compression Table 0 (12 entries)
|
|
reg32 nccTable1[12]; // ( w) Narrow Channel Compression Table 1 (12 entries)
|
|
};
|
|
|
|
static_assert((offsetof (struct voodoo2_reg, status)) == 0x000);
|
|
static_assert((offsetof (struct voodoo2_reg, intrCtrl)) == 0x004);
|
|
static_assert((offsetof (struct voodoo2_reg, vertexAx)) == 0x008);
|
|
static_assert((offsetof (struct voodoo2_reg, vertexAy)) == 0x00c);
|
|
static_assert((offsetof (struct voodoo2_reg, vertexBx)) == 0x010);
|
|
static_assert((offsetof (struct voodoo2_reg, vertexBy)) == 0x014);
|
|
static_assert((offsetof (struct voodoo2_reg, vertexCx)) == 0x018);
|
|
static_assert((offsetof (struct voodoo2_reg, vertexCy)) == 0x01c);
|
|
static_assert((offsetof (struct voodoo2_reg, startR)) == 0x020);
|
|
static_assert((offsetof (struct voodoo2_reg, startG)) == 0x024);
|
|
static_assert((offsetof (struct voodoo2_reg, startB)) == 0x028);
|
|
static_assert((offsetof (struct voodoo2_reg, startZ)) == 0x02c);
|
|
static_assert((offsetof (struct voodoo2_reg, startA)) == 0x030);
|
|
static_assert((offsetof (struct voodoo2_reg, startS)) == 0x034);
|
|
static_assert((offsetof (struct voodoo2_reg, startT)) == 0x038);
|
|
static_assert((offsetof (struct voodoo2_reg, startW)) == 0x03c);
|
|
static_assert((offsetof (struct voodoo2_reg, dRdX)) == 0x040);
|
|
static_assert((offsetof (struct voodoo2_reg, dGdX)) == 0x044);
|
|
static_assert((offsetof (struct voodoo2_reg, dBdX)) == 0x048);
|
|
static_assert((offsetof (struct voodoo2_reg, dZdX)) == 0x04c);
|
|
static_assert((offsetof (struct voodoo2_reg, dAdX)) == 0x050);
|
|
static_assert((offsetof (struct voodoo2_reg, dSdX)) == 0x054);
|
|
static_assert((offsetof (struct voodoo2_reg, dTdX)) == 0x058);
|
|
static_assert((offsetof (struct voodoo2_reg, dWdX)) == 0x05c);
|
|
static_assert((offsetof (struct voodoo2_reg, dRdY)) == 0x060);
|
|
static_assert((offsetof (struct voodoo2_reg, dGdY)) == 0x064);
|
|
static_assert((offsetof (struct voodoo2_reg, dBdY)) == 0x068);
|
|
static_assert((offsetof (struct voodoo2_reg, dZdY)) == 0x06c);
|
|
static_assert((offsetof (struct voodoo2_reg, dAdY)) == 0x070);
|
|
static_assert((offsetof (struct voodoo2_reg, dSdY)) == 0x074);
|
|
static_assert((offsetof (struct voodoo2_reg, dTdY)) == 0x078);
|
|
static_assert((offsetof (struct voodoo2_reg, dWdY)) == 0x07c);
|
|
static_assert((offsetof (struct voodoo2_reg, triangleCMD)) == 0x080);
|
|
static_assert((offsetof (struct voodoo2_reg, fvertexAx)) == 0x088);
|
|
static_assert((offsetof (struct voodoo2_reg, fvertexAy)) == 0x08c);
|
|
static_assert((offsetof (struct voodoo2_reg, fvertexBx)) == 0x090);
|
|
static_assert((offsetof (struct voodoo2_reg, fvertexBy)) == 0x094);
|
|
static_assert((offsetof (struct voodoo2_reg, fvertexCx)) == 0x098);
|
|
static_assert((offsetof (struct voodoo2_reg, fvertexCy)) == 0x09c);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartR)) == 0x0a0);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartG)) == 0x0a4);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartB)) == 0x0a8);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartZ)) == 0x0ac);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartA)) == 0x0b0);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartS)) == 0x0b4);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartT)) == 0x0b8);
|
|
static_assert((offsetof (struct voodoo2_reg, fstartW)) == 0x0bc);
|
|
static_assert((offsetof (struct voodoo2_reg, fdRdX)) == 0x0c0);
|
|
static_assert((offsetof (struct voodoo2_reg, fdGdX)) == 0x0c4);
|
|
static_assert((offsetof (struct voodoo2_reg, fdBdX)) == 0x0c8);
|
|
static_assert((offsetof (struct voodoo2_reg, fdZdX)) == 0x0cc);
|
|
static_assert((offsetof (struct voodoo2_reg, fdAdX)) == 0x0d0);
|
|
static_assert((offsetof (struct voodoo2_reg, fdSdX)) == 0x0d4);
|
|
static_assert((offsetof (struct voodoo2_reg, fdTdX)) == 0x0d8);
|
|
static_assert((offsetof (struct voodoo2_reg, fdWdX)) == 0x0dc);
|
|
static_assert((offsetof (struct voodoo2_reg, fdRdY)) == 0x0e0);
|
|
static_assert((offsetof (struct voodoo2_reg, fdGdY)) == 0x0e4);
|
|
static_assert((offsetof (struct voodoo2_reg, fdBdY)) == 0x0e8);
|
|
static_assert((offsetof (struct voodoo2_reg, fdZdY)) == 0x0ec);
|
|
static_assert((offsetof (struct voodoo2_reg, fdAdY)) == 0x0f0);
|
|
static_assert((offsetof (struct voodoo2_reg, fdSdY)) == 0x0f4);
|
|
static_assert((offsetof (struct voodoo2_reg, fdTdY)) == 0x0f8);
|
|
static_assert((offsetof (struct voodoo2_reg, fdWdY)) == 0x0fc);
|
|
static_assert((offsetof (struct voodoo2_reg, ftriangleCMD)) == 0x100);
|
|
static_assert((offsetof (struct voodoo2_reg, fbzColorPath)) == 0x104);
|
|
static_assert((offsetof (struct voodoo2_reg, fogMode)) == 0x108);
|
|
static_assert((offsetof (struct voodoo2_reg, alphaMode)) == 0x10c);
|
|
static_assert((offsetof (struct voodoo2_reg, fbzMode)) == 0x110);
|
|
static_assert((offsetof (struct voodoo2_reg, lfbMode)) == 0x114);
|
|
static_assert((offsetof (struct voodoo2_reg, clipLeftRight)) == 0x118);
|
|
static_assert((offsetof (struct voodoo2_reg, clipLowYHighY)) == 0x11c);
|
|
static_assert((offsetof (struct voodoo2_reg, nopCMD)) == 0x120);
|
|
static_assert((offsetof (struct voodoo2_reg, fastfillCMD)) == 0x124);
|
|
static_assert((offsetof (struct voodoo2_reg, swapbufferCMD)) == 0x128);
|
|
static_assert((offsetof (struct voodoo2_reg, fogColor)) == 0x12c);
|
|
static_assert((offsetof (struct voodoo2_reg, zaColor)) == 0x130);
|
|
static_assert((offsetof (struct voodoo2_reg, chromaKey)) == 0x134);
|
|
static_assert((offsetof (struct voodoo2_reg, chromaRange)) == 0x138);
|
|
static_assert((offsetof (struct voodoo2_reg, userIntrCMD)) == 0x13c);
|
|
static_assert((offsetof (struct voodoo2_reg, stipple)) == 0x140);
|
|
static_assert((offsetof (struct voodoo2_reg, color0)) == 0x144);
|
|
static_assert((offsetof (struct voodoo2_reg, color1)) == 0x148);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiPixelsIn)) == 0x14c);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiChromaFail)) == 0x150);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiZfuncFail)) == 0x154);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiAfuncFail)) == 0x158);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiPixelsOut)) == 0x15c);
|
|
static_assert((offsetof (struct voodoo2_reg, fogTable[0])) == 0x160);
|
|
static_assert((offsetof (struct voodoo2_reg, cmdFifoBaseAddr)) == 0x1e0);
|
|
static_assert((offsetof (struct voodoo2_reg, cmdFifoBump)) == 0x1e4);
|
|
static_assert((offsetof (struct voodoo2_reg, cmdFifoRdPtr)) == 0x1e8);
|
|
static_assert((offsetof (struct voodoo2_reg, cmdFifoAMin)) == 0x1ec);
|
|
static_assert((offsetof (struct voodoo2_reg, cmdFifoAMax)) == 0x1f0);
|
|
static_assert((offsetof (struct voodoo2_reg, cmdFifoDepth)) == 0x1f4);
|
|
static_assert((offsetof (struct voodoo2_reg, cmdFifoHoles)) == 0x1f8);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit4)) == 0x200);
|
|
static_assert((offsetof (struct voodoo2_reg, vRetrace)) == 0x204);
|
|
static_assert((offsetof (struct voodoo2_reg, backPorch)) == 0x208);
|
|
static_assert((offsetof (struct voodoo2_reg, videoDimensions)) == 0x20c);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit0)) == 0x210);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit1)) == 0x214);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit2)) == 0x218);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit3)) == 0x21c);
|
|
static_assert((offsetof (struct voodoo2_reg, hSync)) == 0x220);
|
|
static_assert((offsetof (struct voodoo2_reg, vSync)) == 0x224);
|
|
static_assert((offsetof (struct voodoo2_reg, clutData)) == 0x228);
|
|
static_assert((offsetof (struct voodoo2_reg, dacData)) == 0x22c);
|
|
static_assert((offsetof (struct voodoo2_reg, maxRgbDelta)) == 0x230);
|
|
static_assert((offsetof (struct voodoo2_reg, hBorder)) == 0x234);
|
|
static_assert((offsetof (struct voodoo2_reg, vBorder)) == 0x238);
|
|
static_assert((offsetof (struct voodoo2_reg, borderColor)) == 0x23c);
|
|
static_assert((offsetof (struct voodoo2_reg, hvRetrace)) == 0x240);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit5)) == 0x244);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit6)) == 0x248);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiInit7)) == 0x24c);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiSwapHistory)) == 0x258);
|
|
static_assert((offsetof (struct voodoo2_reg, fbiTrianglesOut)) == 0x25c);
|
|
static_assert((offsetof (struct voodoo2_reg, sSetupMode)) == 0x260);
|
|
static_assert((offsetof (struct voodoo2_reg, sVx)) == 0x264);
|
|
static_assert((offsetof (struct voodoo2_reg, sVy)) == 0x268);
|
|
static_assert((offsetof (struct voodoo2_reg, sARGB)) == 0x26c);
|
|
static_assert((offsetof (struct voodoo2_reg, sRed)) == 0x270);
|
|
static_assert((offsetof (struct voodoo2_reg, sGreen)) == 0x274);
|
|
static_assert((offsetof (struct voodoo2_reg, sBlue)) == 0x278);
|
|
static_assert((offsetof (struct voodoo2_reg, sAlpha)) == 0x27c);
|
|
static_assert((offsetof (struct voodoo2_reg, sVz)) == 0x280);
|
|
static_assert((offsetof (struct voodoo2_reg, sWb)) == 0x284);
|
|
static_assert((offsetof (struct voodoo2_reg, sWtmu0)) == 0x288);
|
|
static_assert((offsetof (struct voodoo2_reg, sS_W0)) == 0x28c);
|
|
static_assert((offsetof (struct voodoo2_reg, sT_W0)) == 0x290);
|
|
static_assert((offsetof (struct voodoo2_reg, sWtmu1)) == 0x294);
|
|
static_assert((offsetof (struct voodoo2_reg, sS_Wtmu1)) == 0x298);
|
|
static_assert((offsetof (struct voodoo2_reg, sT_Wtmu1)) == 0x29c);
|
|
static_assert((offsetof (struct voodoo2_reg, sDrawTriCMD)) == 0x2a0);
|
|
static_assert((offsetof (struct voodoo2_reg, sBeginTriCMD)) == 0x2a4);
|
|
static_assert((offsetof (struct voodoo2_reg, bltSrcBaseAddr)) == 0x2c0);
|
|
static_assert((offsetof (struct voodoo2_reg, bltDstBaseAddr)) == 0x2c4);
|
|
static_assert((offsetof (struct voodoo2_reg, bltXYStrides)) == 0x2c8);
|
|
static_assert((offsetof (struct voodoo2_reg, bltSrcChromaRange)) == 0x2cc);
|
|
static_assert((offsetof (struct voodoo2_reg, bltDstChromaRange)) == 0x2d0);
|
|
static_assert((offsetof (struct voodoo2_reg, bltClipX)) == 0x2d4);
|
|
static_assert((offsetof (struct voodoo2_reg, bltClipY)) == 0x2d8);
|
|
static_assert((offsetof (struct voodoo2_reg, bltSrcXY)) == 0x2e0);
|
|
static_assert((offsetof (struct voodoo2_reg, bltDstXY)) == 0x2e4);
|
|
static_assert((offsetof (struct voodoo2_reg, bltSize)) == 0x2e8);
|
|
static_assert((offsetof (struct voodoo2_reg, bltRop)) == 0x2ec);
|
|
static_assert((offsetof (struct voodoo2_reg, bltColor)) == 0x2f0);
|
|
static_assert((offsetof (struct voodoo2_reg, bltCommand)) == 0x2f8);
|
|
static_assert((offsetof (struct voodoo2_reg, bltData)) == 0x2fc);
|
|
static_assert((offsetof (struct voodoo2_reg, textureMode)) == 0x300);
|
|
static_assert((offsetof (struct voodoo2_reg, tLOD)) == 0x304);
|
|
static_assert((offsetof (struct voodoo2_reg, tDetail)) == 0x308);
|
|
static_assert((offsetof (struct voodoo2_reg, texBaseAddr)) == 0x30c);
|
|
static_assert((offsetof (struct voodoo2_reg, texBaseAddr_1)) == 0x310);
|
|
static_assert((offsetof (struct voodoo2_reg, texBaseAddr_2)) == 0x314);
|
|
static_assert((offsetof (struct voodoo2_reg, texBaseAddr_3_8)) == 0x318);
|
|
static_assert((offsetof (struct voodoo2_reg, trexInit0)) == 0x31c);
|
|
static_assert((offsetof (struct voodoo2_reg, trexInit1)) == 0x320);
|
|
static_assert((offsetof (struct voodoo2_reg, nccTable0[0])) == 0x324);
|
|
static_assert((offsetof (struct voodoo2_reg, nccTable1[0])) == 0x354);
|
|
|
|
typedef struct voodoo2_reg voodoo2_reg;
|
|
|