added DMA paths to cmd structs

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10669 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen 2005-01-11 21:13:48 +00:00
parent 4abeaa0554
commit b1e0087b8c

View File

@ -1,7 +1,7 @@
/* /*
definitions for used nVidia acceleration engine commands. definitions for used nVidia acceleration engine commands.
Written by Rudolf Cornelissen 12/2004 Written by Rudolf Cornelissen 12/2004-1/2005
*/ */
#ifndef NV_ACC_H #ifndef NV_ACC_H
@ -11,7 +11,10 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bb]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00ae];
uint32 SetRop5; /* b0-7 is ROP5 */ uint32 SetRop5; /* b0-7 is ROP5 */
} cmd_nv_rop5_solid; } cmd_nv_rop5_solid;
@ -19,7 +22,10 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bb]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00ae];
uint32 TopLeft; /* b0-15 is left, b16-31 is top */ uint32 TopLeft; /* b0-15 is left, b16-31 is top */
uint32 HeightWidth; /* b0-15 is width, b16-31 is height */ uint32 HeightWidth; /* b0-15 is width, b16-31 is height */
} cmd_nv_image_black_rectangle; } cmd_nv_image_black_rectangle;
@ -28,9 +34,12 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bd]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00b0];
uint32 SetShape; /* b0-1: %00 = 8X_8Y; %01 = 64X_1Y; %10 = 1X_64Y */ uint32 SetShape; /* b0-1: %00 = 8X_8Y; %01 = 64X_1Y; %10 = 1X_64Y */
uint32 reserved02[0x0001]; uint32 reserved03[0x0001];
uint32 SetColor0; /* b0-31 is color */ uint32 SetColor0; /* b0-31 is color */
uint32 SetColor1; /* b0-31 is color */ uint32 SetColor1; /* b0-31 is color */
uint32 SetPattern[0x0002]; /* b0-31 is bitmap */ uint32 SetPattern[0x0002]; /* b0-31 is bitmap */
@ -40,7 +49,10 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bb]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00ae];
uint32 SourceOrg; /* b0-15 is X, b16-31 is Y */ uint32 SourceOrg; /* b0-15 is X, b16-31 is Y */
uint32 DestOrg; /* b0-15 is X, b16-31 is Y */ uint32 DestOrg; /* b0-15 is X, b16-31 is Y */
uint32 HeightWidth; /* b0-15 is width, b16-31 is height */ uint32 HeightWidth; /* b0-15 is width, b16-31 is height */
@ -50,7 +62,10 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00fa]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00ed];
uint32 Color1A; /* b0-31 is color */ uint32 Color1A; /* b0-31 is color */
struct { struct {
uint32 LeftTop; /* b0-15 is top, b16-31 is left */ uint32 LeftTop; /* b0-15 is top, b16-31 is left */
@ -115,9 +130,12 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bc]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00af];
uint32 Color; /* b0-31 is color */ uint32 Color; /* b0-31 is color */
uint32 reserved02[0x003e]; uint32 reserved03[0x003e];
struct { struct {
uint32 Point0; /* b0-15 is X, b16-31 is Y: starting coordinate */ uint32 Point0; /* b0-15 is X, b16-31 is Y: starting coordinate */
uint32 Point1; /* b0-15 is X, b16-31 is Y: ending coordinate */ uint32 Point1; /* b0-15 is X, b16-31 is Y: ending coordinate */
@ -151,9 +169,12 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bc]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00af];
uint32 Color; /* b0-31 is color */ uint32 Color; /* b0-31 is color */
uint32 reserved02[0x003e]; uint32 reserved03[0x003e];
struct { struct {
uint32 TopLeft; /* b0-15 is left, b16-31 is top */ uint32 TopLeft; /* b0-15 is left, b16-31 is top */
uint32 HeightWidth; /* b0-15 is width, b16-31 is height */ uint32 HeightWidth; /* b0-15 is width, b16-31 is height */
@ -176,7 +197,10 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bb]; uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00ae];
uint32 Colorkey; /* texture colorkey */ uint32 Colorkey; /* texture colorkey */
uint32 Offset; /* texture offset */ uint32 Offset; /* texture offset */
uint32 Format; /* texture colorspace, size, and a lot more */ uint32 Format; /* texture colorspace, size, and a lot more */
@ -184,7 +208,7 @@ typedef struct {
uint32 Blend; /* triangle blend: shade, perspective, specular.. */ uint32 Blend; /* triangle blend: shade, perspective, specular.. */
uint32 Control; /* triangle control: Z-enable, culling, dither.. */ uint32 Control; /* triangle control: Z-enable, culling, dither.. */
uint32 FogColor; /* fog colorvalue */ uint32 FogColor; /* fog colorvalue */
uint32 reserved02[0x0039]; uint32 reserved03[0x0039];
struct { struct {
float ScreenX; /* X */ float ScreenX; /* X */
float ScreenY; /* Y */ float ScreenY; /* Y */
@ -210,7 +234,10 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bd]; /* fixme? there's more here that's not used apparantly */ uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00b0]; /* fixme? there's more here that's not used apparantly */
uint32 Pitch; /* b16-31 is Z-buffer, b0-15 is colorbuffer pitch */ uint32 Pitch; /* b16-31 is Z-buffer, b0-15 is colorbuffer pitch */
uint32 SetOffsetColor; /* b0-31 is colorbuffer (renderbuffer) offset */ uint32 SetOffsetColor; /* b0-31 is colorbuffer (renderbuffer) offset */
uint32 SetOffsetZeta; /* b0-31 is Z-buffer (zeta buffer) offset */ uint32 SetOffsetZeta; /* b0-31 is Z-buffer (zeta buffer) offset */
@ -222,7 +249,10 @@ typedef struct {
uint32 reserved00[0x0004]; uint32 reserved00[0x0004];
uint16 FifoFree; /* little endian (FIFO internal register) */ uint16 FifoFree; /* little endian (FIFO internal register) */
uint16 Nop; /* little endian (FIFO internal register) */ uint16 Nop; /* little endian (FIFO internal register) */
uint32 reserved01[0x00bd]; /* fixme? there's more here that's not used apparantly */ uint32 reserved01[0x000b];
uint32 DMAPut; /* b2-28 is DMA Put offset (FIFO internal register) */
uint32 DMAGet; /* b2-28 is DMA Get offset (FIFO internal register) */
uint32 reserved02[0x00b0]; /* fixme? there's more here that's not used apparantly */
uint32 Pitch; /* b0-15 is buffer pitch */ uint32 Pitch; /* b0-15 is buffer pitch */
uint32 SetOffset; /* b0-22 is buffer offset (so just 1st 8Mb adressable!) */ uint32 SetOffset; /* b0-22 is buffer offset (so just 1st 8Mb adressable!) */
} cmd_nv3_surface_x; /* x = 0, 1, 2 or 3: selects buffer to be setup; } cmd_nv3_surface_x; /* x = 0, 1, 2 or 3: selects buffer to be setup;