2020-09-30 17:17:25 +02:00

18568 lines
1.2 MiB

/***************************************************************************\
|* *|
|* Copyright 1993-1998 NVIDIA, Corporation. All rights reserved. *|
|* *|
|* NOTICE TO USER: The source code is copyrighted under U.S. and *|
|* international laws. Users and possessors of this source code are *|
|* hereby granted a nonexclusive, royalty-free copyright license to *|
|* use this code in individual and commercial software. *|
|* *|
|* Any use of this source code must include, in the user documenta- *|
|* tion and internal comments to the code, notices to the end user *|
|* as follows: *|
|* *|
|* Copyright 1993-1998 NVIDIA, Corporation. All rights reserved. *|
|* *|
|* NVIDIA, CORPORATION MAKES NO REPRESENTATION ABOUT THE SUITABILITY *|
|* OF THIS SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" *|
|* WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. NVIDIA, CORPOR- *|
|* ATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOURCE CODE, *|
|* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGE- *|
|* MENT, AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL *|
|* NVIDIA, CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT, INCI- *|
|* DENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RE- *|
|* SULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION *|
|* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *|
|* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. *|
|* *|
|* U.S. Government End Users. This source code is a "commercial *|
|* item," as that term is defined at 48 C.F.R. 2.101 (OCT 1995), *|
|* consisting of "commercial computer software" and "commercial *|
|* computer software documentation," as such terms are used in *|
|* 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Govern- *|
|* ment only as a commercial end item. Consistent with 48 C.F.R. *|
|* 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), *|
|* all U.S. Government End Users acquire the source code with only *|
|* those rights set forth herein. *|
|* *|
\***************************************************************************/
/***************************************************************************\
|* *|
|* NV Architecture Interface *|
|* *|
|* <nv32.h> defines a 32-bit wide naming convention for the functionality *|
|* of NVIDIA's Unified Media Architecture (TM). *|
|* *|
\***************************************************************************/
#ifndef NV32_INCLUDED
#define NV32_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
#include <nvtypes.h>
/***************************************************************************\
|* NV Classes *|
\***************************************************************************/
/*
* These structures indicate the offsets of hardware registers corresponding to
* the methods of each class. Since the first 256 bytes of each subchannel is
* the NvControlPio registers, the hexadecimal offsets in comments start at
* 0x100.
*/
/* class NV01_ROOT */
#define NV01_ROOT (0x00000000)
/* NvNotification[] fields and values */
#define NV000_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv000Typedef, Nv01Root;
#define NV000_TYPEDEF Nv01Root
/* obsolete stuff */
#define Nv1Root Nv01Root
#define nv1Root Nv01Root
#define nv01Root Nv01Root
/* class NV01_CLASS */
#define NV01_CLASS (0x00000001)
/* NvNotification[] fields and values */
#define NV001_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv001Typedef, Nv01Class;
#define NV001_TYPEDEF Nv01Class
/* obsolete stuff */
#define NV1_CLASS (0x00000001)
#define Nv1Class Nv01Class
#define nv1Class Nv01Class
#define nv01Class Nv01Class
/* class NV01_CONTEXT_DMA_FROM_MEMORY */
#define NV01_CONTEXT_DMA_FROM_MEMORY (0x00000002)
/* NvNotification[] fields and values */
#define NV002_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv002Typedef, Nv01ContextDmaFromMemory;
#define NV002_TYPEDEF Nv01ContextDmaFromMemory
/* obsolete stuff */
#define NV1_CONTEXT_DMA_FROM_MEMORY (0x00000002)
#define NV01_CONTEXT_DMA (0x00000002)
#define Nv1ContextDmaFromMemory Nv01ContextDmaFromMemory
#define nv1ContextDmaFromMemory Nv01ContextDmaFromMemory
#define nv01ContextDmaFromMemory Nv01ContextDmaFromMemory
/* class NV01_CONTEXT_DMA_TO_MEMORY */
#define NV01_CONTEXT_DMA_TO_MEMORY (0x00000003)
/* NvNotification[] fields and values */
#define NV003_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv003Typedef, Nv01ContextDmaToMemory;
#define NV003_TYPEDEF Nv01ContextDmaToMemory
/* obsolete stuff */
#define NV1_CONTEXT_DMA_TO_MEMORY (0x00000003)
#define Nv1ContextDmaToMemory Nv01ContextDmaToMemory
#define nv1ContextDmaToMemory Nv01ContextDmaToMemory
#define nv01ContextDmaToMemory Nv01ContextDmaToMemory
/* class NV01_TIMER */
#define NV01_TIMER (0x00000004)
/* NvNotification[] elements */
#define NV004_NOTIFIERS_NOTIFY (0)
#define NV004_NOTIFIERS_SET_ALARM_NOTIFY (1)
/* NvNotification[] fields and values */
#define NV004_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV004_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV004_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV004_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV004_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV004_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV004_NOTIFY_* 0104-0107*/
NvV32 StopTransfer; /* NV004_STOP_TRANSFER_VALUE 0108-010b*/
NvV32 Reserved00[0x01d];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
struct { /* start of method 0300- */
NvU32 nanoseconds[2]; /* nsec since 1970-01-01 0=immediate 0- 7*/
} SetAlarmTime; /* end of method -0307*/
struct { /* start of method 0308- */
NvU32 nanoseconds[2]; /* nsec relative to current time 8- f*/
} SetAlarmTimeRelative; /* end of method -030f*/
NvV32 Reserved02[0x004];
NvV32 SetAlarmNotify; /* NV004_SET_ALARM_NOTIFY_* 0320-0323*/
NvV32 Reserved03[0x737];
} Nv004Typedef, Nv01Timer;
#define NV004_TYPEDEF Nv01Timer
/* dma method offsets, fields, and values */
#define NV004_SET_OBJECT (0x00000000)
#define NV004_NO_OPERATION (0x00000100)
#define NV004_NOTIFY (0x00000104)
#define NV004_NOTIFY_WRITE_ONLY (0x00000000)
#define NV004_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV004_STOP_TRANSFER (0x00000108)
#define NV004_STOP_TRANSFER_VALUE (0x00000000)
#define NV004_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV004_SET_ALARM_TIME (0x00000300)
#define NV004_SET_ALARM_TIME_RELATIVE (0x00000308)
#define NV004_SET_ALARM_NOTIFY (0x00000320)
#define NV004_SET_ALARM_NOTIFY_WRITE_ONLY (0x00000000)
#define NV004_SET_ALARM_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define Nv1Timer Nv01Timer
#define nv1Timer Nv01Timer
#define nv01Timer Nv01Timer
/* class NV01_EVENT */
#define NV01_EVENT (0x00000005)
/* NvNotification[] fields and values */
#define NV003_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct _Nv005Typedef{
NvV32 Reserved00[0x7c0];
} Nv005Typedef, Nv01Event;
#define NV005_TYPEDEF Nv01Event
/* obsolete stuff */
#define NV1_TIMER (0x00000004)
#define Nv1Event Nv01Event
#define nv1Event Nv01Event
#define nv01Event Nv01Event
typedef NvV32 Nv006Typedef;
typedef NvV32 Nv007Typedef;
typedef NvV32 Nv008Typedef;
typedef NvV32 Nv009Typedef;
typedef NvV32 Nv00aTypedef;
typedef NvV32 Nv00bTypedef;
typedef NvV32 Nv00cTypedef;
typedef NvV32 Nv00dTypedef;
typedef NvV32 Nv00eTypedef;
typedef NvV32 Nv00fTypedef;
typedef NvV32 Nv010Typedef;
typedef NvV32 Nv011Typedef;
/* class NV01_CONTEXT_BETA */
#define NV01_CONTEXT_BETA (0x00000012)
/* NvNotification[] elements */
#define NV012_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV012_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV012_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV012_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV012_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV012_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV012_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV012_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetBeta1d31; /* S1d31 beta value 0300-0303*/
NvV32 Reserved02[0x73f];
} Nv012Typedef, Nv01ContextBeta;
#define NV012_TYPEDEF Nv01ContextBeta
/* dma method offsets, fields, and values */
#define NV012_SET_OBJECT (0x00000000)
#define NV012_NO_OPERATION (0x00000100)
#define NV012_NOTIFY (0x00000104)
#define NV012_NOTIFY_WRITE_ONLY (0x00000000)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV012_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV012_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV012_SET_BETA_1D31 (0x00000300)
/* obsolete stuff */
#define NV01_BETA_SOLID (0x00000012)
#define NV1_BETA_SOLID (0x00000012)
#define Nv01BetaSolid Nv01ContextBeta
#define nv01BetaSolid Nv01ContextBeta
#define Nv1BetaSolid Nv01ContextBeta
#define nv1BetaSolid Nv01ContextBeta
typedef NvV32 Nv013Typedef;
typedef NvV32 Nv014Typedef;
typedef NvV32 Nv015Typedef;
typedef NvV32 Nv016Typedef;
/* class NV01_CONTEXT_COLOR_KEY */
#define NV01_CONTEXT_COLOR_KEY (0x00000017)
/* NvNotification[] elements */
#define NV017_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV017_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV017_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV017_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV017_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV017_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV017_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV017_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetColorFormat; /* NV017_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetColor; /* color key value 0304-0307*/
NvV32 Reserved02[0x73e];
} Nv017Typedef, Nv01ContextColorKey;
#define NV017_TYPEDEF Nv01ContextColorKey
/* dma method offsets, fields, and values */
#define NV017_SET_OBJECT (0x00000000)
#define NV017_NO_OPERATION (0x00000100)
#define NV017_NOTIFY (0x00000104)
#define NV017_NOTIFY_WRITE_ONLY (0x00000000)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV017_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV017_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV017_SET_COLOR_FORMAT (0x00000300)
#define NV017_SET_COLOR_FORMAT_LE_X16A8Y8 (0x00000001)
#define NV017_SET_COLOR_FORMAT_LE_X16A1R5G5B5 (0x00000002)
#define NV017_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV017_SET_COLOR (0x00000304)
/* obsolete stuff */
#define NV01_IMAGE_SOLID (0x00000017)
#define NV1_IMAGE_SOLID (0x00000017)
#define Nv01ImageSolid Nv01ContextColorKey
#define nv01ImageSolid Nv01ContextColorKey
#define Nv1ImageSolid Nv01ContextColorKey
#define nv1ImageSolid Nv01ContextColorKey
#define nv01ContextColorKey Nv01ContextColorKey
/* class NV01_CONTEXT_PATTERN */
#define NV01_CONTEXT_PATTERN (0x00000018)
/* NvNotification[] elements */
#define NV018_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV018_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV018_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV018_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV018_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV018_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV018_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV018_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetColorFormat; /* NV018_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetMonochromeFormat; /* NV018_SET_MONOCHROME_FORMAT_* 0304-0307*/
NvV32 SetMonochromeShape; /* NV018_SET_MONOCHROME_SHAPE_* 0308-030b*/
NvV32 Reserved02[0x001];
NvV32 SetMonochromeColor0; /* color of 0 pixels 0310-0313*/
NvV32 SetMonochromeColor1; /* color of 1 pixels 0314-0317*/
NvV32 SetMonochromePattern0; /* first 32 bits of pattern data 0318-031b*/
NvV32 SetMonochromePattern1; /* second 32 bits of pattern data 031c-031f*/
NvV32 Reserved03[0x738];
} Nv018Typedef, Nv01ContextPattern;
#define NV018_TYPEDEF Nv01ContextPattern
/* dma method offsets, fields, and values */
#define NV018_SET_OBJECT (0x00000000)
#define NV018_NO_OPERATION (0x00000100)
#define NV018_NOTIFY (0x00000104)
#define NV018_NOTIFY_WRITE_ONLY (0x00000000)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV018_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV018_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV018_SET_COLOR_FORMAT (0x00000300)
#define NV018_SET_COLOR_FORMAT_LE_X16A8Y8 (0x00000001)
#define NV018_SET_COLOR_FORMAT_LE_X16A1R5G5B5 (0x00000002)
#define NV018_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV018_SET_MONOCHROME_FORMAT (0x00000304)
#define NV018_SET_MONOCHROME_FORMAT_CGA6_M1 (0x00000001)
#define NV018_SET_MONOCHROME_FORMAT_LE_M1 (0x00000002)
#define NV018_SET_MONOCHROME_SHAPE (0x00000308)
#define NV018_SET_MONOCHROME_SHAPE_8X_8Y (0x00000000)
#define NV018_SET_MONOCHROME_SHAPE_64X_1Y (0x00000001)
#define NV018_SET_MONOCHROME_SHAPE_1X_64Y (0x00000002)
#define NV018_SET_MONOCHORME_COLOR0 (0x00000310)
#define NV018_SET_MONOCHORME_COLOR1 (0x00000314)
#define NV018_SET_MONOCHORME_PATTERN0 (0x00000318)
#define NV018_SET_MONOCHORME_PATTERN1 (0x0000031C)
/* obsolete stuff */
#define NV01_IMAGE_PATTERN (0x00000018)
#define NV1_IMAGE_PATTERN (0x00000018)
#define Nv01ImagePattern Nv01ContextPattern
#define nv01ImagePattern Nv01ContextPattern
#define Nv1ImagePattern Nv01ContextPattern
#define nv1ImagePattern Nv01ContextPattern
#define nv01ContextPattern Nv01ContextPattern
/* class NV01_CONTEXT_CLIP_RECTANGLE */
#define NV01_CONTEXT_CLIP_RECTANGLE (0x00000019)
/* NvNotification[] elements */
#define NV019_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV019_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV019_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV019_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV019_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV019_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV019_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV019_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetPoint; /* y_x S16_S16 0300-0303*/
NvV32 SetSize; /* height_width U16_U16 0304-0307*/
NvV32 Reserved02[0x73e];
} Nv019Typedef, Nv01ContextClipRectangle;
#define NV019_TYPEDEF Nv01ContextClipRectangle
/* dma method offsets, fields, and values */
#define NV019_SET_OBJECT (0x00000000)
#define NV019_NO_OPERATION (0x00000100)
#define NV019_NOTIFY (0x00000104)
#define NV019_NOTIFY_WRITE_ONLY (0x00000000)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV019_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV019_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV019_SET_POINT (0x00000300)
#define NV019_SET_POINT_X 15:0
#define NV019_SET_POINT_Y 31:16
#define NV019_SET_SIZE (0x00000304)
#define NV019_SET_SIZE_WIDTH 15:0
#define NV019_SET_SIZE_HEIGHT 31:16
/* obsolete stuff */
#define NV01_IMAGE_BLACK_RECTANGLE (0x00000019)
#define NV1_IMAGE_BLACK_RECTANGLE (0x00000019)
#define Nv01ImageBlackRectangle Nv01ContextClipRectangle
#define nv01ImageBlackRectangle Nv01ContextClipRectangle
#define Nv1ImageBlackRectangle Nv01ContextClipRectangle
#define nv1ImageBlackRectangle Nv01ContextClipRectangle
#define nv01ContextClipRectangle Nv01ContextClipRectangle
typedef NvV32 Nv01aTypedef;
typedef NvV32 Nv01bTypedef;
/* class NV01_RENDER_SOLID_LIN */
#define NV01_RENDER_SOLID_LIN (0x0000001C)
/* NvNotification[] elements */
#define NV01C_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV01C_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV01C_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV01C_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV01C_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV01C_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV01C_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV01C_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0184-0187*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextSurface; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 0194-0197*/
NvV32 Reserved01[0x059];
NvV32 SetOperation; /* NV01C_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV01C_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Color; /* source color 0304-0307*/
NvV32 Reserved02[0x03e];
struct { /* start aliased methods in array 0400- */
NvV32 point0; /* y_x S16_S16 in pixels 0- 3*/
NvV32 point1; /* y_x S16_S16 in pixels 4- 7*/
} Lin[16]; /* end of aliased methods in array -047f*/
struct { /* start aliased methods in array 0480- */
NvS32 point0X; /* in pixels, 0 at left 0- 3*/
NvS32 point0Y; /* in pixels, 0 at top 4- 7*/
NvS32 point1X; /* in pixels, 0 at left 8- b*/
NvS32 point1Y; /* in pixels, 0 at top c- f*/
} Lin32[8]; /* end of aliased methods in array -04ff*/
NvV32 PolyLin[32]; /* y_x S16_S16 in pixels 0500-057f*/
struct { /* start aliased methods in array 0580- */
NvS32 x; /* in pixels, 0 at left 0- 3*/
NvS32 y; /* in pixels, 0 at top 4- 7*/
} PolyLin32[16]; /* end of aliased methods in array -05ff*/
struct { /* start aliased methods in array 0600- */
NvV32 color; /* source color 0- 3*/
NvV32 point; /* y_x S16_S16 in pixels 4- 7*/
} ColorPolyLin[16]; /* end of aliased methods in array -067f*/
NvV32 Reserved03[0x660];
} Nv01cTypedef, Nv01RenderSolidLin;
#define NV01C_TYPEDEF Nv01RenderSolidLin
/* dma method offsets, fields, and values */
#define NV01C_SET_OBJECT (0x00000000)
#define NV01C_NO_OPERATION (0x00000100)
#define NV01C_NOTIFY (0x00000104)
#define NV01C_NOTIFY_WRITE_ONLY (0x00000000)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV01C_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV01C_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV01C_SET_CONTEXT_CLIP_RECTANGLE (0x00000184)
#define NV01C_SET_CONTEXT_PATTERN (0x00000188)
#define NV01C_SET_CONTEXT_ROP (0x0000018C)
#define NV01C_SET_CONTEXT_BETA1 (0x00000190)
#define NV01C_SET_CONTEXT_SURFACE (0x00000194)
#define NV01C_SET_OPERATION (0x000002FC)
#define NV01C_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV01C_SET_OPERATION_ROP_AND (0x00000001)
#define NV01C_SET_OPERATION_BLEND_AND (0x00000002)
#define NV01C_SET_COLOR_FORMAT (0x00000300)
#define NV01C_SET_COLOR_FORMAT_LE_X24Y8 (0x00000001)
#define NV01C_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV01C_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV01C_SET_COLOR_FORMAT_LE_X16Y16 (0x00000004)
#define NV01C_COLOR (0x00000304)
#define NV01C_LIN(a) (0x00000400\
+(a)*0x0008)
#define NV01C_LIN_POINT0(a) (0x00000400\
+(a)*0x0008)
#define NV01C_LIN_POINT0_X 15:0
#define NV01C_LIN_POINT0_Y 31:16
#define NV01C_LIN_POINT1(a) (0x00000404\
+(a)*0x0008)
#define NV01C_LIN_POINT1_X 15:0
#define NV01C_LIN_POINT1_Y 31:16
#define NV01C_LIN32(a) (0x00000480\
+(a)*0x0010)
#define NV01C_LIN32_POINT0_X(a) (0x00000480\
+(a)*0x0010)
#define NV01C_LIN32_POINT0_Y(a) (0x00000484\
+(a)*0x0010)
#define NV01C_LIN32_POINT1_X(a) (0x00000488\
+(a)*0x0010)
#define NV01C_LIN32_POINT1_Y(a) (0x0000048C\
+(a)*0x0010)
#define NV01C_POLY_LIN(a) (0x00000500\
+(a)*0x0004)
#define NV01C_POLY_LIN_X 15:0
#define NV01C_POLY_LIN_Y 31:16
#define NV01C_POLY_LIN32(a) (0x00000580\
+(a)*0x0008)
#define NV01C_POLY_LIN32_X(a) (0x00000580\
+(a)*0x0008)
#define NV01C_POLY_LIN32_Y(a) (0x00000584\
+(a)*0x0008)
#define NV01C_COLOR_POLY_LIN(a) (0x00000600\
+(a)*0x0008)
#define NV01C_COLOR_POLY_LIN_COLOR(a) (0x00000600\
+(a)*0x0008)
#define NV01C_COLOR_POLY_LIN_POINT(a) (0x00000604\
+(a)*0x0008)
#define NV01C_COLOR_POLY_LIN_POINT_X 15:0
#define NV01C_COLOR_POLY_LIN_POINT_Y 31:16
/* obsolete stuff */
#define NV1_RENDER_SOLID_LIN (0x0000001C)
#define Nv1RenderSolidLin Nv01RenderSolidLin
#define nv1RenderSolidLin Nv01RenderSolidLin
#define nv01RenderSolidLin Nv01RenderSolidLin
/* class NV01_RENDER_SOLID_TRIANGLE */
#define NV01_RENDER_SOLID_TRIANGLE (0x0000001D)
/* NvNotification[] elements */
#define NV01D_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV01D_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV01D_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV01D_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV01D_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV01D_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV01D_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV01D_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0184-0187*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextSurface; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 0194-0197*/
NvV32 Reserved01[0x059];
NvV32 SetOperation; /* NV01D_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV01D_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Color; /* source color 0304-0307*/
NvV32 Reserved02[0x002];
NvV32 TrianglePoint0; /* y_x S16_S16 in pixels 0310-0313*/
NvV32 TrianglePoint1; /* y_x S16_S16 in pixels 0314-0317*/
NvV32 TrianglePoint2; /* y_x S16_S16 in pixels 0318-031b*/
NvV32 Reserved03[0x001];
NvS32 Triangle32Point0X; /* in pixels, 0 at left 0320-0323*/
NvS32 Triangle32Point0Y; /* in pixels, 0 at top 0324-0327*/
NvS32 Triangle32Point1X; /* in pixels, 0 at left 0328-032b*/
NvS32 Triangle32Point1Y; /* in pixels, 0 at top 032c-032f*/
NvS32 Triangle32Point2X; /* in pixels, 0 at left 0330-0333*/
NvS32 Triangle32Point2Y; /* in pixels, 0 at top 0334-0337*/
NvV32 Reserved04[0x032];
NvV32 Trimesh[32]; /* y_x S16_S16 in pixels 0400-047f*/
struct { /* start aliased methods in array 0480- */
NvS32 x; /* in pixels, 0 at left 0- 3*/
NvS32 y; /* in pixels, 0 at top 4- 7*/
} Trimesh32[16]; /* end of aliased methods in array -04ff*/
struct { /* start aliased methods in array 0500- */
NvV32 color; /* source color 0- 3*/
NvV32 point0; /* y_x S16_S16 in pixels 4- 7*/
NvV32 point1; /* y_x S16_S16 in pixels 8- b*/
NvV32 point2; /* y_x S16_S16 in pixels c- f*/
} ColorTriangle[8]; /* end of aliased methods in array -057f*/
struct { /* start aliased methods in array 0580- */
NvV32 color; /* source color 0- 3*/
NvV32 point; /* y_x S16_S16 in pixels 4- 7*/
} ColorTrimesh[16]; /* end of aliased methods in array -05ff*/
NvV32 Reserved05[0x680];
} Nv01dTypedef, Nv01RenderSolidTriangle;
#define NV01D_TYPEDEF Nv01RenderSolidTriangle
/* dma method offsets, fields, and values */
#define NV01D_SET_OBJECT (0x00000000)
#define NV01D_NO_OPERATION (0x00000100)
#define NV01D_NOTIFY (0x00000104)
#define NV01D_NOTIFY_WRITE_ONLY (0x00000000)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV01D_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV01D_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV01D_SET_CONTEXT_CLIP_RECTANGLE (0x00000184)
#define NV01D_SET_CONTEXT_PATTERN (0x00000188)
#define NV01D_SET_CONTEXT_ROP (0x0000018C)
#define NV01D_SET_CONTEXT_BETA1 (0x00000190)
#define NV01D_SET_CONTEXT_SURFACE (0x00000194)
#define NV01D_SET_OPERATION (0x000002FC)
#define NV01D_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV01D_SET_OPERATION_ROP_AND (0x00000001)
#define NV01D_SET_OPERATION_BLEND_AND (0x00000002)
#define NV01D_SET_COLOR_FORMAT (0x00000300)
#define NV01D_SET_COLOR_FORMAT_LE_X24Y8 (0x00000001)
#define NV01D_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV01D_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV01D_SET_COLOR_FORMAT_LE_X16Y16 (0x00000004)
#define NV01D_COLOR (0x00000304)
#define NV01D_TRIANGLE_POINT0 (0x00000310)
#define NV01D_TRIANGLE_POINT0_X 15:0
#define NV01D_TRIANGLE_POINT0_Y 31:16
#define NV01D_TRIANGLE_POINT1 (0x00000314)
#define NV01D_TRIANGLE_POINT1_X 15:0
#define NV01D_TRIANGLE_POINT1_Y 31:16
#define NV01D_TRIANGLE_POINT2 (0x00000318)
#define NV01D_TRIANGLE_POINT2_X 15:0
#define NV01D_TRIANGLE_POINT2_Y 31:16
#define NV01D_TRIANGLE32_POINT0_X (0x00000320)
#define NV01D_TRIANGLE32_POINT0_Y (0x00000324)
#define NV01D_TRIANGLE32_POINT1_X (0x00000328)
#define NV01D_TRIANGLE32_POINT1_Y (0x0000032C)
#define NV01D_TRIANGLE32_POINT2_X (0x00000330)
#define NV01D_TRIANGLE32_POINT2_Y (0x00000334)
#define NV01D_TRIMESH(a) (0x00000400\
+(a)*0x0004)
#define NV01D_TRIMESH_X 15:0
#define NV01D_TRIMESH_Y 31:16
#define NV01D_TRIMESH32(a) (0x00000480\
+(a)*0x0008)
#define NV01D_TRIMESH32_X(a) (0x00000480\
+(a)*0x0008)
#define NV01D_TRIMESH32_Y(a) (0x00000484\
+(a)*0x0008)
#define NV01D_COLOR_TRIANGLE(a) (0x00000500\
+(a)*0x0010)
#define NV01D_COLOR_TRIANGLE_COLOR(a) (0x00000500\
+(a)*0x0010)
#define NV01D_COLOR_TRIANGLE_POINT0(a) (0x00000504\
+(a)*0x0010)
#define NV01D_COLOR_TRIANGLE_POINT0_X 15:0
#define NV01D_COLOR_TRIANGLE_POINT0_Y 31:16
#define NV01D_COLOR_TRIANGLE_POINT1(a) (0x00000508\
+(a)*0x0010)
#define NV01D_COLOR_TRIANGLE_POINT1_X 15:0
#define NV01D_COLOR_TRIANGLE_POINT1_Y 31:16
#define NV01D_COLOR_TRIANGLE_POINT2(a) (0x0000050C\
+(a)*0x0010)
#define NV01D_COLOR_TRIANGLE_POINT2_X 15:0
#define NV01D_COLOR_TRIANGLE_POINT2_Y 31:16
#define NV01D_COLOR_TRIMESH(a) (0x00000580\
+(a)*0x0008)
#define NV01D_COLOR_TRIMESH_COLOR(a) (0x00000580\
+(a)*0x0008)
#define NV01D_COLOR_TRIMESH_POINT(a) (0x00000584\
+(a)*0x0008)
#define NV01D_COLOR_TRIMESH_POINT_X 15:0
#define NV01D_COLOR_TRIMESH_POINT_Y 31:16
/* obsolete stuff */
#define NV1_RENDER_SOLID_TRIANGLE (0x0000001D)
#define Nv1RenderSolidTriangle Nv01RenderSolidTriangle
#define nv1RenderSolidTriangle Nv01RenderSolidTriangle
#define nv01RenderSolidTriangle Nv01RenderSolidTriangle
/* class NV01_RENDER_SOLID_RECTANGLE */
#define NV01_RENDER_SOLID_RECTANGLE (0x0000001E)
/* NvNotification[] elements */
#define NV01E_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV01E_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV01E_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV01E_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV01E_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV01E_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV01E_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV01E_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0184-0187*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextSurface; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 0194-0197*/
NvV32 Reserved01[0x059];
NvV32 SetOperation; /* NV01E_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV01E_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Color; /* source color 0304-0307*/
NvV32 Reserved02[0x03e];
struct { /* start aliased methods in array 0400- */
NvV32 point; /* y_x S16_S16 0- 3*/
NvV32 size; /* height_width U16_U16 4- 7*/
} Rectangle[16]; /* end of method in array in array -047f*/
NvV32 Reserved03[0x6e0];
} Nv01eTypedef, Nv01RenderSolidRectangle;
#define NV01E_TYPEDEF Nv01RenderSolidRectangle
/* dma method offsets, fields, and values */
#define NV01E_SET_OBJECT (0x00000000)
#define NV01E_NO_OPERATION (0x00000100)
#define NV01E_NOTIFY (0x00000104)
#define NV01E_NOTIFY_WRITE_ONLY (0x00000000)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV01E_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV01E_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV01E_SET_CONTEXT_CLIP_RECTANGLE (0x00000184)
#define NV01E_SET_CONTEXT_PATTERN (0x00000188)
#define NV01E_SET_CONTEXT_ROP (0x0000018C)
#define NV01E_SET_CONTEXT_BETA1 (0x00000190)
#define NV01E_SET_CONTEXT_SURFACE (0x00000194)
#define NV01E_SET_OPERATION (0x000002FC)
#define NV01E_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV01E_SET_OPERATION_ROP_AND (0x00000001)
#define NV01E_SET_OPERATION_BLEND_AND (0x00000002)
#define NV01E_SET_COLOR_FORMAT (0x00000300)
#define NV01E_SET_COLOR_FORMAT_LE_X24Y8 (0x00000001)
#define NV01E_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV01E_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV01E_SET_COLOR_FORMAT_LE_X16Y16 (0x00000004)
#define NV01E_COLOR (0x00000304)
#define NV01E_RECTANGLE(a) (0x00000400\
+(a)*0x0008)
#define NV01E_RECTANGLE_POINT(a) (0x00000400\
+(a)*0x0008)
#define NV01E_RECTANGLE_POINT_X 15:0
#define NV01E_RECTANGLE_POINT_Y 31:16
#define NV01E_RECTANGLE_SIZE(a) (0x00000404\
+(a)*0x0008)
#define NV01E_RECTANGLE_SIZE_WIDTH 15:0
#define NV01E_RECTANGLE_SIZE_HEIGHT 31:16
/* obsolete stuff */
#define NV1_RENDER_SOLID_RECTANGLE (0x0000001E)
#define Nv1RenderSolidRectangle Nv01RenderSolidRectangle
#define nv1RenderSolidRectangle Nv01RenderSolidRectangle
#define nv01RenderSolidRectangle Nv01RenderSolidRectangle
/* class NV01_IMAGE_BLIT */
#define NV01_IMAGE_BLIT (0x0000001F)
/* NvNotification[] elements */
#define NV01F_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV01F_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV01F_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV01F_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV01F_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV01F_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV01F_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV01F_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV01_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurfaceSource; /* NV03_CONTEXT_SURFACE_2D_SOURCE 0198-019b*/
NvV32 SetContextSurfaceDestin; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 019c-019f*/
NvV32 Reserved01[0x057];
NvV32 SetOperation; /* NV01F_SET_OPERATION_* 02fc-02ff*/
NvV32 ControlPointIn; /* y_x U16_U16, pixels 0300-0303*/
NvV32 ControlPointOut; /* y_x S16_S16, pixels 0304-0307*/
NvV32 Size; /* height_width U16_U16 in pixels 0308-030b*/
NvV32 Reserved02[0x73d];
} Nv01fTypedef, Nv01ImageBlit;
#define NV01F_TYPEDEF Nv01ImageBlit
/* dma method offsets, fields, and values */
#define NV01F_SET_OBJECT (0x00000000)
#define NV01F_NO_OPERATION (0x00000100)
#define NV01F_NOTIFY (0x00000104)
#define NV01F_NOTIFY_WRITE_ONLY (0x00000000)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV01F_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV01F_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV01F_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV01F_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV01F_SET_CONTEXT_PATTERN (0x0000018C)
#define NV01F_SET_CONTEXT_ROP (0x00000190)
#define NV01F_SET_CONTEXT_BETA1 (0x00000194)
#define NV01F_SET_CONTEXT_SURFACE_SOURCE (0x00000198)
#define NV01F_SET_CONTEXT_SURFACE_DESTIN (0x0000019C)
#define NV01F_SET_OPERATION (0x000002FC)
#define NV01F_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV01F_SET_OPERATION_ROP_AND (0x00000001)
#define NV01F_SET_OPERATION_BLEND_AND (0x00000002)
#define NV01F_CONTROL_POINT_IN (0x00000300)
#define NV01F_CONTROL_POINT_IN_X 15:0
#define NV01F_CONTROL_POINT_IN_Y 31:16
#define NV01F_CONTROL_POINT_OUT (0x00000304)
#define NV01F_CONTROL_POINT_OUT_X 15:0
#define NV01F_CONTROL_POINT_OUT_Y 31:16
#define NV01F_SIZE (0x00000308)
#define NV01F_SIZE_WIDTH 15:0
#define NV01F_SIZE_HEIGHT 31:16
/* obsolete stuff */
#define NV1_IMAGE_BLIT (0x0000001F)
#define Nv1ImageBlit Nv01ImageBlit
#define nv1ImageBlit Nv01ImageBlit
#define nv01ImageBlit Nv01ImageBlit
typedef NvV32 Nv020Typedef;
/* class NV01_IMAGE_FROM_CPU */
#define NV01_IMAGE_FROM_CPU (0x00000021)
/* NvNotification[] elements */
#define NV021_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV021_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV021_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV021_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV021_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV021_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV021_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV021_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV01_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetOperation; /* NV021_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV021_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Point; /* y_x S16_S16 in pixels 0304-0307*/
NvV32 SizeOut; /* height_width U16_U16, in pixels 0308-030b*/
NvV32 SizeIn; /* height_width U16_U16, in pixels 030c-030f*/
NvV32 Reserved02[0x03c];
NvV32 Color[32]; /* packed pixel(s) to add to image 0400-047f*/
NvV32 Reserved03[0x6e0];
} Nv021Typedef, Nv01ImageFromCpu;
#define NV021_TYPEDEF Nv01ImageFromCpu
/* dma method offsets, fields, and values */
#define NV021_SET_OBJECT (0x00000000)
#define NV021_NO_OPERATION (0x00000100)
#define NV021_NOTIFY (0x00000104)
#define NV021_NOTIFY_WRITE_ONLY (0x00000000)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV021_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV021_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV021_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV021_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV021_SET_CONTEXT_PATTERN (0x0000018C)
#define NV021_SET_CONTEXT_ROP (0x00000190)
#define NV021_SET_CONTEXT_BETA1 (0x00000194)
#define NV021_SET_CONTEXT_SURFACE (0x00000198)
#define NV021_SET_OPERATION (0x000002FC)
#define NV021_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV021_SET_OPERATION_ROP_AND (0x00000001)
#define NV021_SET_OPERATION_BLEND_AND (0x00000002)
#define NV021_SET_COLOR_FORMAT (0x00000300)
#define NV021_SET_COLOR_FORMAT_LE_Y8 (0x00000001)
#define NV021_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV021_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV021_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV021_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV021_POINT (0x00000304)
#define NV021_POINT_X 15:0
#define NV021_POINT_Y 31:16
#define NV021_SIZE_OUT (0x00000308)
#define NV021_SIZE_OUT_WIDTH 15:0
#define NV021_SIZE_OUT_HEIGHT 31:16
#define NV021_SIZE_IN (0x0000030C)
#define NV021_SIZE_IN_WIDTH 15:0
#define NV021_SIZE_IN_HEIGHT 31:16
#define NV021_COLOR(a) (0x00000400\
+(a)*0x0004)
/* obsolete stuff */
#define NV1_IMAGE_FROM_CPU (0x00000021)
#define Nv1ImageFromCpu Nv01ImageFromCpu
#define nv1ImageFromCpu Nv01ImageFromCpu
#define nv01ImageFromCpu Nv01ImageFromCpu
typedef NvV32 Nv022Typedef;
typedef NvV32 Nv023Typedef;
typedef NvV32 Nv024Typedef;
typedef NvV32 Nv025Typedef;
typedef NvV32 Nv026Typedef;
typedef NvV32 Nv027Typedef;
typedef NvV32 Nv028Typedef;
typedef NvV32 Nv029Typedef;
typedef NvV32 Nv02aTypedef;
typedef NvV32 Nv02bTypedef;
typedef NvV32 Nv02cTypedef;
typedef NvV32 Nv02dTypedef;
typedef NvV32 Nv02eTypedef;
typedef NvV32 Nv02fTypedef;
/* class NV01_NULL */
#define NV01_NULL (0x00000030)
/* NvNotification[] fields and values */
#define NV030_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv030Typedef, Nv01Null;
#define NV030_TYPEDEF Nv01Null
/* obsolete stuff */
#define NV1_NULL (0x00000030)
#define Nv1Null Nv01Null
#define nv1Null Nv01Null
#define nv01Null Nv01Null
typedef NvV32 Nv031Typedef;
typedef NvV32 Nv032Typedef;
typedef NvV32 Nv033Typedef;
typedef NvV32 Nv034Typedef;
typedef NvV32 Nv035Typedef;
/* class NV03_STRETCHED_IMAGE_FROM_CPU */
#define NV03_STRETCHED_IMAGE_FROM_CPU (0x00000036)
/* NvNotification[] elements */
#define NV036_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV036_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV036_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV036_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV036_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV036_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV036_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV036_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV01_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextSurface; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 0194-0197*/
NvV32 Reserved01[0x059];
NvV32 SetOperation; /* NV036_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV036_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SizeIn; /* height_width U16_U16 in texels 0304-0307*/
NvV32 DeltaDxDu; /* S12d20 ratio dx/du 0308-030b*/
NvV32 DeltaDyDv; /* S12d20 ratio dy/dv 030c-030f*/
NvV32 ClipPoint; /* y_x S16_S16 0310-0313*/
NvV32 ClipSize; /* height_width U16_U16 0314-0317*/
NvV32 Point12d4; /* y_x S12d4_S12d4 in pixels 0318-031b*/
NvV32 Reserved02[0x039];
NvV32 Color[1792]; /* source colors (packed texels) 0400-1fff*/
} Nv036Typedef, Nv03StretchedImageFromCpu;
#define NV036_TYPEDEF Nv03StretchedImageFromCpu
/* dma method offsets, fields, and values */
#define NV036_SET_OBJECT (0x00000000)
#define NV036_NO_OPERATION (0x00000100)
#define NV036_NOTIFY (0x00000104)
#define NV036_NOTIFY_WRITE_ONLY (0x00000000)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV036_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV036_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV036_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV036_SET_CONTEXT_PATTERN (0x00000188)
#define NV036_SET_CONTEXT_ROP (0x0000018C)
#define NV036_SET_CONTEXT_BETA1 (0x00000190)
#define NV036_SET_CONTEXT_SURFACE (0x00000194)
#define NV036_SET_OPERATION (0x000002FC)
#define NV036_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV036_SET_OPERATION_ROP_AND (0x00000001)
#define NV036_SET_OPERATION_BLEND_AND (0x00000002)
#define NV036_SET_COLOR_FORMAT (0x00000300)
#define NV036_SET_COLOR_FORMAT_LE_Y8 (0x00000001)
#define NV036_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV036_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV036_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV036_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV036_SIZE_IN (0x00000304)
#define NV036_SIZE_IN_WIDTH 15:0
#define NV036_SIZE_IN_HEIGHT 31:16
#define NV036_DELTA_DX_DU (0x00000308)
#define NV036_DELTA_DY_DV (0x0000030C)
#define NV036_CLIP_POINT (0x00000310)
#define NV036_CLIP_POINT_X 15:0
#define NV036_CLIP_POINT_Y 31:16
#define NV036_CLIP_SIZE (0x00000314)
#define NV036_CLIP_SIZE_WIDTH 15:0
#define NV036_CLIP_SIZE_HEIGHT 31:16
#define NV036_POINT_12D4 (0x00000318)
#define NV036_POINT_12D4_X 15:0
#define NV036_POINT_12D4_Y 31:16
#define NV036_COLOR(a) (0x00000400\
+(a)*0x0004)
/* obsolete stuff */
#define NV3_STRETCHED_IMAGE_FROM_CPU (0x00000036)
#define Nv3StretchedImageFromCpu Nv03StretchedImageFromCpu
#define nv3StretchedImageFromCpu Nv03StretchedImageFromCpu
#define nv03StretchedImageFromCpu Nv03StretchedImageFromCpu
/* class NV03_SCALED_IMAGE_FROM_MEMORY */
#define NV03_SCALED_IMAGE_FROM_MEMORY (0x00000037)
/* NvNotification[] elements */
#define NV037_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV037_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV037_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV037_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV037_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV037_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV037_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV037_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextSurface; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 0194-0197*/
NvV32 Reserved01[0x05A];
NvV32 SetColorFormat; /* NV037_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetOperation; /* NV037_SET_OPERATION_* 0304-0307*/
NvV32 ClipPoint; /* y_x S16_S16 0308-030b*/
NvV32 ClipSize; /* height_width U16_U16 030c-030f*/
NvV32 ImageOutPoint; /* y_x S16_S16 0310-0313*/
NvV32 ImageOutSize; /* height_width U16_U16 0314-0317*/
NvV32 DeltaDuDx; /* S12d20 ratio du/dx 0318-031b*/
NvV32 DeltaDvDy; /* S12d20 ratio dv/dy 031c-031f*/
NvV32 Reserved02[0x038];
NvV32 ImageInSize; /* height_width U16_U16 0400-0403*/
NvU32 ImageInPitch; /* bytes, vertical pixel delta 0404-0407*/
NvU32 ImageInOffset; /* byte offset of top-left texel 0408-040b*/
NvV32 ImageInPoint; /* v_u U12d4_U12d4 040c-040f*/
NvV32 Reserved03[0x6fc];
} Nv037Typedef, Nv03ScaledImageFromMemory;
#define NV037_TYPEDEF Nv03ScaledImageFromMemory
/* dma method offsets, fields, and values */
#define NV037_SET_OBJECT (0x00000000)
#define NV037_NO_OPERATION (0x00000100)
#define NV037_NOTIFY (0x00000104)
#define NV037_NOTIFY_WRITE_ONLY (0x00000000)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV037_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV037_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV037_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV037_SET_CONTEXT_PATTERN (0x00000188)
#define NV037_SET_CONTEXT_ROP (0x0000018C)
#define NV037_SET_CONTEXT_BETA1 (0x00000190)
#define NV037_SET_CONTEXT_SURFACE (0x00000194)
#define NV037_SET_COLOR_FORMAT (0x00000300)
#define NV037_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000001)
#define NV037_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000002)
#define NV037_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV037_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000004)
#define NV037_SET_COLOR_FORMAT_LE_V8YB8U8YA8 (0x00000005)
#define NV037_SET_COLOR_FORMAT_LE_YB8V8YA8U8 (0x00000006)
#define NV037_SET_OPERATION (0x00000304)
#define NV037_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV037_SET_OPERATION_ROP_AND (0x00000001)
#define NV037_SET_OPERATION_BLEND_AND (0x00000002)
#define NV037_CLIP_POINT (0x00000308)
#define NV037_CLIP_POINT_X 15:0
#define NV037_CLIP_POINT_Y 31:16
#define NV037_CLIP_SIZE (0x0000030C)
#define NV037_CLIP_SIZE_WIDTH 15:0
#define NV037_CLIP_SIZE_HEIGHT 31:16
#define NV037_IMAGE_OUT_POINT (0x00000310)
#define NV037_IMAGE_OUT_POINT_X 15:0
#define NV037_IMAGE_OUT_POINT_Y 31:16
#define NV037_IMAGE_OUT_SIZE (0x00000314)
#define NV037_IMAGE_OUT_SIZE_WIDTH 15:0
#define NV037_IMAGE_OUT_SIZE_HEIGHT 31:16
#define NV037_DELTA_DU_DX (0x00000318)
#define NV037_DELTA_DV_DY (0x0000031C)
#define NV037_IMAGE_IN_SIZE (0x00000400)
#define NV037_IMAGE_IN_SIZE_WIDTH 15:0
#define NV037_IMAGE_IN_SIZE_HEIGHT 31:16
#define NV037_IMAGE_IN_PITCH (0x00000404)
#define NV037_IMAGE_IN_OFFSET (0x00000408)
#define NV037_IMAGE_IN_POINT (0x0000040C)
#define NV037_IMAGE_IN_POINT_U 15:0
#define NV037_IMAGE_IN_POINT_V 31:16
/* obsolete stuff */
#define NV3_SCALED_IMAGE_FROM_MEMORY (0x00000037)
#define Nv3ScaledImageFromMemory Nv03ScaledImageFromMemory
#define nv3ScaledImageFromMemory Nv03ScaledImageFromMemory
#define nv03ScaledImageFromMemory Nv03ScaledImageFromMemory
/* class NV04_DVD_SUBPICTURE */
#define NV04_DVD_SUBPICTURE (0x00000038)
/* NvNotification[] elements */
#define NV038_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV038_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV038_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV038_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV038_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV038_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV038_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV038_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaOverlay; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaImageIn; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 SetContextDmaImageOut; /* NV01_CONTEXT_DMA 018c-018f*/
NvV32 Reserved01[0x05c];
NvV32 ImageOutPoint; /* y_x S16_S16 0300-0303*/
NvV32 ImageOutSize; /* height_width U16_U16 0304-0307*/
NvU32 ImageOutFormat; /* color_pitch V16_U16 0308-030b*/
NvU32 ImageOutOffset; /* byte offset of top-left pixel 030c-030f*/
NvV32 ImageInDeltaDuDx; /* S12d20 ratio du/dx 0310-0313*/
NvV32 ImageInDeltaDvDy; /* S12d20 ratio dv/dy 0314-0317*/
NvV32 ImageInSize; /* height_width U16_U16 in texels 0318-031b*/
NvV32 ImageInFormat; /* color_pitch V16_U16 031c-031f*/
NvU32 ImageInOffset; /* byte offset of top-left texel 0320-0323*/
NvV32 ImageInPoint; /* v_u U12d4_U12d4 in texels 0324-0317*/
NvV32 OverlayDeltaDuDx; /* S12d20 ratio du/dx 0328-032b*/
NvV32 OverlayDeltaDvDy; /* S12d20 ratio dv/dy 032c-032f*/
NvV32 OverlaySize; /* height_width U16_U16 in texels 0330-0333*/
NvV32 OverlayFormat; /* color_pitch V16_U16 0334-0337*/
NvU32 OverlayOffset; /* byte offset of top-left texel 0338-033b*/
NvV32 OverlayPoint; /* v_u U12d4_U12d4 in texels 033c-033f*/
NvV32 Reserved02[0x730];
} Nv038Typedef, Nv04DvdSubpicture;
#define NV038_TYPEDEF Nv04DvdSubpicture
/* dma method offsets, fields, and values */
#define NV038_SET_OBJECT (0x00000000)
#define NV038_NO_OPERATION (0x00000100)
#define NV038_NOTIFY (0x00000104)
#define NV038_NOTIFY_WRITE_ONLY (0x00000000)
#define NV038_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV038_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV038_SET_CONTEXT_DMA_OVERLAY (0x00000184)
#define NV038_SET_CONTEXT_DMA_IMAGE_IN (0x00000188)
#define NV038_SET_CONTEXT_DMA_IMAGE_OUT (0x0000018C)
#define NV038_IMAGE_OUT_POINT (0x00000300)
#define NV038_IMAGE_OUT_POINT_X 15:0
#define NV038_IMAGE_OUT_POINT_Y 31:16
#define NV038_IMAGE_OUT_SIZE (0x00000304)
#define NV038_IMAGE_OUT_SIZE_WIDTH 15:0
#define NV038_IMAGE_OUT_SIZE_HEIGHT 31:16
#define NV038_IMAGE_OUT_FORMAT (0x00000308)
#define NV038_IMAGE_OUT_FORMAT_PITCH 15:0
#define NV038_IMAGE_OUT_FORMAT_COLOR 31:16
#define NV038_IMAGE_OUT_FORMAT_COLOR_LE_V8YB8U8YA8 (0x00000001)
#define NV038_IMAGE_OUT_FORMAT_COLOR_LE_YB8V8YA8U8 (0x00000002)
#define NV038_IMAGE_OUT_OFFSET (0x0000030C)
#define NV038_IMAGE_IN_DELTA_DU_DX (0x00000310)
#define NV038_IMAGE_IN_DELTA_DV_DY (0x00000314)
#define NV038_IMAGE_IN_SIZE (0x00000318)
#define NV038_IMAGE_IN_SIZE_WIDTH 15:0
#define NV038_IMAGE_IN_SIZE_HEIGHT 31:16
#define NV038_IMAGE_IN_FORMAT (0x0000031C)
#define NV038_IMAGE_IN_FORMAT_PITCH 15:0
#define NV038_IMAGE_IN_FORMAT_COLOR 31:16
#define NV038_IMAGE_IN_FORMAT_COLOR_LE_V8YB8U8YA8 (0x00000001)
#define NV038_IMAGE_IN_FORMAT_COLOR_LE_YB8V8YA8U8 (0x00000002)
#define NV038_IMAGE_IN_OFFSET (0x00000320)
#define NV038_IMAGE_IN_POINT (0x00000324)
#define NV038_IMAGE_IN_POINT_U 15:0
#define NV038_IMAGE_IN_POINT_V 31:16
#define NV038_OVERLAY_DELTA_DU_DX (0x00000328)
#define NV038_OVERLAY_DELTA_DV_DY (0x0000032C)
#define NV038_OVERLAY_SIZE (0x00000330)
#define NV038_OVERLAY_SIZE_WIDTH 15:0
#define NV038_OVERLAY_SIZE_HEIGHT 31:16
#define NV038_OVERLAY_FORMAT (0x00000334)
#define NV038_OVERLAY_FORMAT_PITCH 15:0
#define NV038_OVERLAY_FORMAT_COLOR 31:16
#define NV038_OVERLAY_FORMAT_COLOR_LE_A8V8U8Y8 (0x00000001)
#define NV038_OVERLAY_FORMAT_COLOR_LE_A4V6YB6A4U6YA6 (0x00000002)
#define NV038_OVERLAY_FORMAT_COLOR_LE_TRANSPARENT (0x00000003)
#define NV038_OVERLAY_OFFSET (0x00000338)
#define NV038_OVERLAY_POINT (0x0000033C)
#define NV038_OVERLAY_POINT_U 15:0
#define NV038_OVERLAY_POINT_V 31:16
/* obsolete stuff */
#define NV4_DVD_SUBPICTURE (0x00000038)
#define Nv4DvdSubpicture Nv04DvdSubpicture
#define nv4DvdSubpicture Nv04DvdSubpicture
#define nv04DvdSubpicture Nv04DvdSubpicture
/* class NV03_MEMORY_TO_MEMORY_FORMAT */
#define NV03_MEMORY_TO_MEMORY_FORMAT (0x00000039)
/* NvNotification[] elements */
#define NV039_NOTIFIERS_NOTIFY (0)
#define NV039_NOTIFIERS_BUFFER_NOTIFY (1)
/* NvNotification[] fields and values */
#define NV039_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV039_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV039_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV039_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV039_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV039_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV039_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaBufferIn; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaBufferOut; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 Reserved01[0x060];
NvU32 OffsetIn; /* src offset in bytes 030c-030f*/
NvU32 OffsetOut; /* dst offset in bytes 0310-0313*/
NvS32 PitchIn; /* delta in bytes, vert pixel delta 0314-0317*/
NvS32 PitchOut; /* delta in bytes, vert pixel delta 0318-031b*/
NvU32 LineLengthIn; /* in bytes 031c-031f*/
NvU32 LineCount; /* in lines 0320-0323*/
NvV32 Format; /* out_in U24_U8 0324-0327*/
NvV32 BufferNotify; /* NV039_BUFFER_NOTIFY_* 0328-032b*/
NvV32 Reserved02[0x735];
} Nv039Typedef, Nv03MemoryToMemoryFormat;
#define NV039_TYPEDEF Nv03MemoryToMemoryFormat
/* dma method offsets, fields, and values */
#define NV039_SET_OBJECT (0x00000000)
#define NV039_NO_OPERATION (0x00000100)
#define NV039_NOTIFY (0x00000104)
#define NV039_NOTIFY_WRITE_ONLY (0x00000000)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV039_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV039_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV039_SET_CONTEXT_DMA_BUFFER_IN (0x00000184)
#define NV039_SET_CONTEXT_DMA_BUFFER_OUT (0x00000188)
#define NV039_OFFSET_IN (0x0000030C)
#define NV039_OFFSET_OUT (0x00000310)
#define NV039_PITCH_IN (0x00000314)
#define NV039_PITCH_OUT (0x00000318)
#define NV039_LINE_LENGTH_IN (0x0000031C)
#define NV039_LINE_COUNT (0x00000320)
#define NV039_FORMAT (0x00000324)
#define NV039_FORMAT_IN 7:0
#define NV039_FORMAT_OUT 31:8
#define NV039_BUFFER_NOTIFY (0x00000328)
#define NV039_BUFFER_NOTIFY_WRITE_ONLY (0x00000000)
#define NV039_BUFFER_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define NV3_MEMORY_TO_MEMORY_FORMAT (0x00000039)
#define Nv3MemoryToMemoryFormat Nv03MemoryToMemoryFormat
#define nv3MemoryToMemoryFormat Nv03MemoryToMemoryFormat
#define nv03MemoryToMemoryFormat Nv03MemoryToMemoryFormat
typedef NvV32 Nv03aTypedef;
typedef NvV32 Nv03bTypedef;
typedef NvV32 Nv03cTypedef;
/* class NV01_CONTEXT_DMA_IN_MEMORY */
#define NV01_CONTEXT_DMA_IN_MEMORY (0x0000003D)
/* NvNotification[] fields and values */
#define NV03D_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv03dTypedef, Nv01ContextDmaInMemory;
#define NV03D_TYPEDEF Nv01ContextDmaInMemory
/* obsolete stuff */
#define NV1_CONTEXT_DMA_IN_MEMORY (0x0000003D)
#define Nv1ContextDmaInMemory Nv01ContextDmaInMemory
#define nv1ContextDmaInMemory Nv01ContextDmaInMemory
#define nv01ContextDmaInMemory Nv01ContextDmaInMemory
#define NV01_MEMORY_SYSTEM (0x0000003E)
/* obsolete stuff */
/* class NV01_CONTEXT_ERROR_TO_MEMORY */
#define NV01_CONTEXT_ERROR_TO_MEMORY (0x0000003E)
/* NvNotification[] fields and values */
#define NV03E_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv03eTypedef, Nv01ContextErrorToMemory;
#define NV03E_TYPEDEF Nv01ContextErrorToMemory
#define NV1_CONTEXT_ERROR_TO_MEMORY (0x0000003E)
#define Nv1ContextErrorToMemory Nv01ContextErrorToMemory
#define nv1ContextErrorToMemory Nv01ContextErrorToMemory
#define nv01ContextErrorToMemory Nv01ContextErrorToMemory
/* class NV01_MEMORY_LOCAL_PRIVILEGED */
#define NV01_MEMORY_LOCAL_PRIVILEGED (0x0000003F)
/* NvNotification[] fields and values */
#define NV03F_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv03fTypedef, Nv01MemoryLocalPrivileged;
#define NV03F_TYPEDEF Nv01MemoryLocalPrivileged
/* obsolete stuff */
#define NV01_MEMORY_PRIVILEGED (0x0000003F)
#define NV1_MEMORY_PRIVILEGED (0x0000003F)
#define Nv01MemoryPrivileged Nv01MemoryLocalPrivileged
#define nv01MemoryPrivileged Nv01MemoryLocalPrivileged
#define Nv1MemoryPrivileged Nv01MemoryLocalPrivileged
#define nv1MemoryPrivileged Nv01MemoryLocalPrivileged
#define nv01MemoryLocalPrivileged Nv01MemoryLocalPrivileged
/* class NV01_MEMORY_LOCAL_USER */
/* Class MEMORY_LOCAL_USER refers to framebuffer heap memory that is local to our device
and accessable to every client. This is in contrast to MEMORY_SYSTEM, that is
considered local to the system CPU, and MEMORY_LOCAL_PRIVILEGED, that refers to
local instance memory and the local priveledge register space. - Chuck Moidel*/
/* Please note that RmAllocMemory(NV01_MEMORY_LOCAL_USER) and RmAlloc(NV01_MEMORY_LOCAL USER)
do VERY different things. The older RmAllocMemory(NV01_MEMORY_LOCAL_USER) function does
not allocate ANY framebuffer memory. It only allocates and returns a dumb linear mapping
to the entire framebuffer. RmAlloc(NV01_MEMORY_LOCAL USER) on the other hand allocates blocks
from the framebuffer heap. - Chuck Moidel*/
#define NV01_MEMORY_LOCAL_USER (0x00000040)
/* NvNotification[] fields and values */
#define NV040_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv040Typedef, Nv01MemoryLocalUser;
#define NV040_TYPEDEF Nv01MemoryLocalUser
/* obsolete stuff */
#define NV01_MEMORY_USER (0x00000040)
#define NV1_MEMORY_USER (0x00000040)
#define Nv01MemoryUser Nv01MemoryLocalUser
#define nv01MemoryUser Nv01MemoryLocalUser
#define Nv1MemoryUser Nv01MemoryLocalUser
#define nv1MemoryUser Nv01MemoryLocalUser
#define nv01MemoryLocalUser Nv01MemoryLocalUser
/* class NV03_VIDEO_LUT_CURSOR_PAL */
#define NV03_VIDEO_LUT_CURSOR_PAL (0x00000041)
/* NvNotification[] elements */
#define NV041_NOTIFIERS_NOTIFY (0)
#define NV041_NOTIFIERS_SET_IMAGE(b) (1+(b))
#define NV041_NOTIFIERS_GET_IMAGE_OFFSET_NOTIFY(b) (3+(b))
#define NV041_NOTIFIERS_SET_LUT(b) (5+(b))
#define NV041_NOTIFIERS_SET_CURSOR_IMAGE(b) (7+(b))
#define NV041_NOTIFIERS_SET_CURSOR_POINT(b) (9+(b))
#define NV041_NOTIFIERS_SET_ENCODER(b) (11+(b))
/* NvNotification[] fields and values */
#define NV041_NOTIFICATION_INFO16_OFFSET_VALID (0x0001)
#define NV041_NOTIFICATION_INFO16_OFFSET_INVALID (0x0002)
#define NV041_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV041_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV041_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV041_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV041_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV041_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NV041_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV041_NOTIFY_* 0104-0107*/
NvV32 StopTransfer; /* NV041_STOP_TRANSFER_VALUE 0108-010b*/
NvV32 Reserved00[0x01D];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaLut; /* NV01_CONTEXT_DMA 018c-018f*/
NvV32 SetContextDmaCursor; /* NV01_CONTEXT_DMA 0190-0193*/
NvV32 Reserved01[0x05B];
struct { /* start of methods in array 0300- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvU32 size; /* height_width U16_U16 in pixels 4- 7*/
NvV32 format; /* pitch_color_field_notify 8- b*/
} SetImage[2]; /* end of methods in array -0317*/
NvV32 GetImageOffsetNotify[2]; /* NV041_GET_IMAGE_OFFSET_NOTIFY_* 0318-031f*/
NvV32 SetLut[2]; /* notify_offset V02_U30 0320-0327*/
NvV32 SetCursorImage[2]; /* notify_offset V02_U30 0328-032f*/
NvV32 SetCursorPoint[2]; /* notify_y_x V02_S14_S16 0330-0337*/
NvV32 SetEncoder[2]; /* see text 0338-033f*/
NvV32 Reserved02[0x730];
} Nv041Typedef, Nv03VideoLutCursorPal;
#define NV041_TYPEDEF Nv03VideoLutCursorPal
/* dma method offsets, fields, and values */
#define NV041_SET_OBJECT (0x00000000)
#define NV041_NO_OPERATION (0x00000100)
#define NV041_NOTIFY (0x00000104)
#define NV041_NOTIFY_WRITE_ONLY (0x00000000)
#define NV041_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV041_STOP_TRANSFER (0x00000108)
#define NV041_STOP_TRANSFER_VALUE (0x00000000)
#define NV041_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV041_SET_CONTEXT_DMA_IMAGE(b) (0x00000184\
+(b)*0x0004)
#define NV041_SET_CONTEXT_DMA_LUT (0x0000018C)
#define NV041_SET_CONTEXT_DMA_CURSOR (0x00000190)
#define NV041_SET_IMAGE(b) (0x00000300\
+(b)*0x000C)
#define NV041_SET_IMAGE_OFFSET(b) (0x00000300\
+(b)*0x000C)
#define NV041_SET_IMAGE_SIZE(b) (0x00000304\
+(b)*0x000C)
#define NV041_SET_IMAGE_SIZE_WIDTH 15:0
#define NV041_SET_IMAGE_SIZE_HEIGHT 31:16
#define NV041_SET_IMAGE_FORMAT(b) (0x00000308\
+(b)*0x000C)
#define NV041_SET_IMAGE_FORMAT_PITCH 15:0
#define NV041_SET_IMAGE_FORMAT_COLOR 23:16
#define NV041_SET_IMAGE_FORMAT_COLOR_LUT_LE_Y8 (0x00000000)
#define NV041_SET_IMAGE_FORMAT_COLOR_BYPASS_LE_R5G6B5 (0x00000001)
#define NV041_SET_IMAGE_FORMAT_COLOR_LE_BYPASS1R5G5B5 (0x00000002)
#define NV041_SET_IMAGE_FORMAT_COLOR_LE_BYPASS1X7R8G8B8 (0x00000003)
#define NV041_SET_IMAGE_FORMAT_FIELD 29:24
#define NV041_SET_IMAGE_FORMAT_FIELD_PROGRESSIVE (0x00000000)
#define NV041_SET_IMAGE_FORMAT_FIELD_EVEN_FIELD (0x00000001)
#define NV041_SET_IMAGE_FORMAT_FIELD_ODD_FIELD (0x00000002)
#define NV041_SET_IMAGE_FORMAT_NOTIFY 31:30
#define NV041_SET_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV041_SET_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV041_GET_IMAGE_OFFSET_NOTIFY(b) (0x00000318\
+(b)*0x0004)
#define NV041_GET_IMAGE_OFFSET_NOTIFY_WRITE_ONLY (0x00000000)
#define NV041_GET_IMAGE_OFFSET_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV041_SET_LUT(b) (0x00000320\
+(b)*0x0004)
#define NV041_SET_LUT_OFFSET 29:0
#define NV041_SET_LUT_NOTIFY 31:30
#define NV041_SET_LUT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV041_SET_LUT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV041_SET_CURSOR_IMAGE(b) (0x00000328\
+(b)*0x0004)
#define NV041_SET_CURSOR_IMAGE_OFFSET 29:0
#define NV041_SET_CURSOR_IMAGE_NOTIFY 31:30
#define NV041_SET_CURSOR_IMAGE_NOTIFY_WRITE_ONLY (0x00000000)
#define NV041_SET_CURSOR_IMAGE_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV041_SET_CURSOR_POINT(b) (0x00000330\
+(b)*0x0004)
#define NV041_SET_CURSOR_POINT_X 15:0
#define NV041_SET_CURSOR_POINT_Y 29:16
#define NV041_SET_CURSOR_POINT_NOTIFY 31:30
#define NV041_SET_CURSOR_POINT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV041_SET_CURSOR_POINT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV041_SET_ENCODER(b) (0x00000338\
+(b)*0x0004)
#define NV041_SET_ENCODER_UNDERSCAN_LEFT 4:0
#define NV041_SET_ENCODER_UNDERSCAN_RIGHT 9:5
#define NV041_SET_ENCODER_UNDERSCAN_TOP 14:10
#define NV041_SET_ENCODER_UNDERSCAN_BOTTOM 19:15
#define NV041_SET_ENCODER_FILTER_HORIZONTAL 21:20
#define NV041_SET_ENCODER_FILTER_HORIZONTAL_ZOH (0x00000000)
#define NV041_SET_ENCODER_FILTER_HORIZONTAL_FOH (0x00000001)
#define NV041_SET_ENCODER_FILTER_HORIZONTAL_SOH (0x00000002)
#define NV041_SET_ENCODER_FILTER_VERTICAL 23:22
#define NV041_SET_ENCODER_FILTER_VERTICAL_ZOH (0x00000000)
#define NV041_SET_ENCODER_FILTER_VERTICAL_FOH (0x00000001)
#define NV041_SET_ENCODER_FILTER_VERTICAL_SOH (0x00000002)
#define NV041_SET_ENCODER_VERTICAL_FRONT_PORCH_ADJUST 29:24
#define NV041_SET_ENCODER_REFRESH 30:30
#define NV041_SET_ENCODER_REFRESH_INTERLACED (0x00000000)
#define NV041_SET_ENCODER_REFRESH_NONINTERLACED (0x00000001)
#define NV041_SET_ENCODER_NOTIFY 31:31
#define NV041_SET_ENCODER_NOTIFY_WRITE_ONLY (0x00000000)
#define NV041_SET_ENCODER_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* class NV04_CONTEXT_SURFACES_2D */
#define NV04_CONTEXT_SURFACES_2D (0x00000042)
/* NvNotification[] elements */
#define NV042_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV042_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV042_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV042_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV042_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV042_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV042_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV042_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImageSource;/* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaImageDestin;/* NV01_CONTEXT_DMA 0188-018b*/
NvV32 Reserved01[0x05d];
NvV32 SetColorFormat; /* NV042_SET_COLOR_FORMAT_* 0300-0303*/
NvU32 SetPitch; /* destin_source U16_U16 0304-0307*/
NvU32 SetOffsetSource; /* byte offset of top-left pixel 0308-030b*/
NvU32 SetOffsetDestin; /* byte offset of top-left pixel 030c-030f*/
NvV32 Reserved02[0x73c];
} Nv042Typedef, Nv04ContextSurfaces2d;
#define NV042_TYPEDEF Nv04ContextSurfaces2d
/* dma method offsets, fields, and values */
#define NV042_SET_OBJECT (0x00000000)
#define NV042_NO_OPERATION (0x00000100)
#define NV042_NOTIFY (0x00000104)
#define NV042_NOTIFY_WRITE_ONLY (0x00000000)
#define NV042_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV042_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV042_SET_CONTEXT_DMA_IMAGE_SOURCE (0x00000184)
#define NV042_SET_CONTEXT_DMA_IMAGE_DESTIN (0x00000188)
#define NV042_SET_COLOR_FORMAT (0x00000300)
#define NV042_SET_COLOR_FORMAT_LE_Y8 (0x00000001)
#define NV042_SET_COLOR_FORMAT_LE_X1R5G5B5_Z1R5G5B5 (0x00000002)
#define NV042_SET_COLOR_FORMAT_LE_X1R5G5B5_O1R5G5B5 (0x00000003)
#define NV042_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000004)
#define NV042_SET_COLOR_FORMAT_LE_Y16 (0x00000005)
#define NV042_SET_COLOR_FORMAT_LE_X8R8G8B8_Z8R8G8B8 (0x00000006)
#define NV042_SET_COLOR_FORMAT_LE_X8R8G8B8_O8R8G8B8 (0x00000007)
#define NV042_SET_COLOR_FORMAT_LE_X1A7R8G8B8_Z1A7R8G8B8 (0x00000008)
#define NV042_SET_COLOR_FORMAT_LE_X1A7R8G8B8_O1A7R8G8B8 (0x00000009)
#define NV042_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x0000000A)
#define NV042_SET_COLOR_FORMAT_LE_Y32 (0x0000000B)
#define NV042_SET_PITCH (0x00000304)
#define NV042_SET_PITCH_SOURCE 15:0
#define NV042_SET_PITCH_DESTIN 31:16
#define NV042_SET_OFFSET_SOURCE (0x00000308)
#define NV042_SET_OFFSET_DESTIN (0x0000030C)
/* obsolete stuff */
#define NV4_CONTEXT_SURFACES_2D (0x00000042)
#define Nv4ContextSurfaces2d Nv04ContextSurfaces2d
#define nv4ContextSurfaces2d Nv04ContextSurfaces2d
#define nv4ContextSurfaces2D Nv04ContextSurfaces2d
#define nv04ContextSurfaces2d Nv04ContextSurfaces2d
/* class NV03_CONTEXT_ROP */
#define NV03_CONTEXT_ROP (0x00000043)
/* NvNotification[] elements */
#define NV043_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV043_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV043_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV043_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV043_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV043_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV043_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV043_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetRop5; /* 32-bit ROP5 0300-0303*/
NvV32 Reserved02[0x73f];
} Nv043Typedef, Nv03ContextRop;
#define NV043_TYPEDEF Nv03ContextRop
/* dma method offsets, fields, and values */
#define NV043_SET_OBJECT (0x00000000)
#define NV043_NO_OPERATION (0x00000100)
#define NV043_NOTIFY (0x00000104)
#define NV043_NOTIFY_WRITE_ONLY (0x00000000)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV043_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV043_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV043_SET_ROP5 (0x00000300)
/* obsolete stuff */
#define NV3_CONTEXT_ROP (0x00000043)
#define Nv3ContextRop Nv03ContextRop
#define nv3ContextRop Nv03ContextRop
#define nv03ContextRop Nv03ContextRop
/* class NV04_CONTEXT_PATTERN */
#define NV04_CONTEXT_PATTERN (0x00000044)
/* NvNotification[] elements */
#define NV044_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV044_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV044_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV044_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV044_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV044_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV044_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV044_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetColorFormat; /* NV044_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetMonochromeFormat; /* NV044_SET_MONOCHROME_FORMAT_* 0304-0307*/
NvV32 SetMonochromeShape; /* NV044_SET_MONOCHROME_SHAPE_* 0308-030b*/
NvV32 SetPatternSelect; /* NV044_SET_PATTERN_SELECT_* 030c-030f*/
NvV32 SetMonochromeColor0; /* color of 0 pixels 0310-0313*/
NvV32 SetMonochromeColor1; /* color of 1 pixels 0314-0317*/
NvV32 SetMonochromePattern0; /* first 32 bits of pattern data 0318-031b*/
NvV32 SetMonochromePattern1; /* second 32 bits of pattern data 031c-031f*/
NvV32 Reserved02[0x038];
NvV32 SetPatternY8[16]; /* y3_y2_y1_y0 U8_U8_U8_U8 0400-043f*/
NvV32 Reserved03[0x030];
NvV32 SetPatternR5G6B5[32]; /* see text 0500-057f*/
NvV32 Reserved04[0x020];
NvV32 SetPatternX1R5G5B5[32]; /* see text 0600-067f*/
NvV32 Reserved05[0x020];
NvV32 SetPatternX8R8G8B8[64]; /* ignore_red_green_blu U8_U8_U8_U8 0700-07ff*/
NvV32 Reserved06[0x600];
} Nv044Typedef, Nv04ContextPattern;
#define NV044_TYPEDEF Nv04ContextPattern
/* dma method offsets, fields, and values */
#define NV044_SET_OBJECT (0x00000000)
#define NV044_NO_OPERATION (0x00000100)
#define NV044_NOTIFY (0x00000104)
#define NV044_NOTIFY_WRITE_ONLY (0x00000000)
#define NV044_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV044_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV044_SET_COLOR_FORMAT (0x00000300)
#define NV044_SET_COLOR_FORMAT_LE_A16R5G6B5 (0x00000001)
#define NV044_SET_COLOR_FORMAT_LE_X16A1R5G5B5 (0x00000002)
#define NV044_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV044_SET_MONOCHROME_FORMAT (0x00000304)
#define NV044_SET_MONOCHROME_FORMAT_CGA6_M1 (0x00000001)
#define NV044_SET_MONOCHROME_FORMAT_LE_M1 (0x00000002)
#define NV044_SET_MONOCHROME_SHAPE (0x00000308)
#define NV044_SET_MONOCHROME_SHAPE_8X_8Y (0x00000000)
#define NV044_SET_MONOCHROME_SHAPE_64X_1Y (0x00000001)
#define NV044_SET_MONOCHROME_SHAPE_1X_64Y (0x00000002)
#define NV044_SET_PATTERN_SELECT (0x0000030C)
#define NV044_SET_PATTERN_SELECT_MONOCHROME (0x00000001)
#define NV044_SET_PATTERN_SELECT_COLOR (0x00000002)
#define NV044_SET_MONOCHORME_COLOR0 (0x00000310)
#define NV044_SET_MONOCHORME_COLOR1 (0x00000314)
#define NV044_SET_MONOCHORME_PATTERN0 (0x00000318)
#define NV044_SET_MONOCHORME_PATTERN1 (0x0000031C)
#define NV044_SET_MONOCHROME_COLOR0 (0x00000310)
#define NV044_SET_MONOCHROME_COLOR1 (0x00000314)
#define NV044_SET_MONOCHROME_PATTERN0 (0x00000318)
#define NV044_SET_MONOCHROME_PATTERN1 (0x0000031C)
#define NV044_SET_PATTERN_Y8(i) (0x00000400\
+(i)*0x0004)
#define NV044_SET_PATTERN_Y8_Y0 7:0
#define NV044_SET_PATTERN_Y8_Y1 15:8
#define NV044_SET_PATTERN_Y8_Y2 23:16
#define NV044_SET_PATTERN_Y8_Y3 31:24
#define NV044_SET_PATTERN_R5G6B5(i) (0x00000500\
+(i)*0x0004)
#define NV044_SET_PATTERN_R5G6B5_BLUE0 4:0
#define NV044_SET_PATTERN_R5G6B5_GREEN0 10:5
#define NV044_SET_PATTERN_R5G6B5_RED0 15:11
#define NV044_SET_PATTERN_R5G6B5_BLUE1 20:16
#define NV044_SET_PATTERN_R5G6B5_GREEN1 26:21
#define NV044_SET_PATTERN_R5G6B5_RED1 31:27
#define NV044_SET_PATTERN_X1R5G5B5(i) (0x00000600\
+(i)*0x0004)
#define NV044_SET_PATTERN_X1R5G5B5_BLUE0 4:0
#define NV044_SET_PATTERN_X1R5G5B5_GREEN0 9:5
#define NV044_SET_PATTERN_X1R5G5B5_RED0 14:10
#define NV044_SET_PATTERN_X1R5G5B5_IGNORE0 15:15
#define NV044_SET_PATTERN_X1R5G5B5_BLUE1 20:16
#define NV044_SET_PATTERN_X1R5G5B5_GREEN1 25:21
#define NV044_SET_PATTERN_X1R5G5B5_RED1 30:26
#define NV044_SET_PATTERN_X1R5G5B5_IGNORE1 31:31
#define NV044_SET_PATTERN_X8R8G8B8(i) (0x00000700\
+(i)*0x0004)
#define NV044_SET_PATTERN_X8R8G8B8_BLUE 7:0
#define NV044_SET_PATTERN_X8R8G8B8_GREEN 15:8
#define NV044_SET_PATTERN_X8R8G8B8_RED 23:16
#define NV044_SET_PATTERN_X8R8G8B8_IGNORE 31:24
/* obsolete stuff */
#define NV4_CONTEXT_PATTERN (0x00000044)
#define Nv04ImagePattern Nv04ContextPattern
#define Nv4ImagePattern Nv04ContextPattern
#define nv4ImagePattern Nv04ContextPattern
#define Nv4ContextPattern Nv04ContextPattern
#define nv4ContextPattern Nv04ContextPattern
#define nv04ContextPattern Nv04ContextPattern
/* class NV03_VIDEO_LUT_CURSOR_NTSC */
#define NV03_VIDEO_LUT_CURSOR_NTSC (0x00000045)
/* NvNotification[] elements */
#define NV045_NOTIFIERS_NOTIFY (0)
#define NV045_NOTIFIERS_SET_IMAGE(b) (1+(b))
#define NV045_NOTIFIERS_GET_IMAGE_OFFSET_NOTIFY(b) (3+(b))
#define NV045_NOTIFIERS_SET_LUT(b) (5+(b))
#define NV045_NOTIFIERS_SET_CURSOR_IMAGE(b) (7+(b))
#define NV045_NOTIFIERS_SET_CURSOR_POINT(b) (9+(b))
#define NV045_NOTIFIERS_SET_ENCODER(b) (11+(b))
/* NvNotification[] fields and values */
#define NV045_NOTIFICATION_INFO16_OFFSET_VALID (0x0001)
#define NV045_NOTIFICATION_INFO16_OFFSET_INVALID (0x0002)
#define NV045_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV045_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV045_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV045_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV045_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV045_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NV045_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV045_NOTIFY_* 0104-0107*/
NvV32 StopTransfer; /* NV045_STOP_TRANSFER_VALUE 0108-010b*/
NvV32 Reserved00[0x01D];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaLut; /* NV01_CONTEXT_DMA 018c-018f*/
NvV32 SetContextDmaCursor; /* NV01_CONTEXT_DMA 0190-0193*/
NvV32 Reserved01[0x05B];
struct { /* start of methods in array 0300- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvU32 size; /* height_width U16_U16 in pixels 4- 7*/
NvV32 format; /* pitch_color_field_notify 8- b*/
} SetImage[2]; /* end of methods in array -0317*/
NvV32 GetImageOffsetNotify[2]; /* NV045_GET_IMAGE_OFFSET_NOTIFY_* 0318-031f*/
NvV32 SetLut[2]; /* notify_offset V02_U30 0320-0327*/
NvV32 SetCursorImage[2]; /* notify_offset V02_U30 0328-032f*/
NvV32 SetCursorPoint[2]; /* notify_y_x V02_S14_S16 0330-0337*/
NvV32 SetEncoder[2]; /* see text 0338-033f*/
NvV32 Reserved02[0x730];
} Nv045Typedef, Nv03VideoLutCursorNtsc;
#define NV045_TYPEDEF Nv03VideoLutCursorNtsc
/* dma method offsets, fields, and values */
#define NV045_SET_OBJECT (0x00000000)
#define NV045_NO_OPERATION (0x00000100)
#define NV045_NOTIFY (0x00000104)
#define NV045_NOTIFY_WRITE_ONLY (0x00000000)
#define NV045_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV045_STOP_TRANSFER (0x00000108)
#define NV045_STOP_TRANSFER_VALUE (0x00000000)
#define NV045_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV045_SET_CONTEXT_DMA_IMAGE(b) (0x00000184\
+(b)*0x0004)
#define NV045_SET_CONTEXT_DMA_LUT (0x0000018C)
#define NV045_SET_CONTEXT_DMA_CURSOR (0x00000190)
#define NV045_SET_IMAGE(b) (0x00000300\
+(b)*0x000C)
#define NV045_SET_IMAGE_OFFSET(b) (0x00000300\
+(b)*0x000C)
#define NV045_SET_IMAGE_SIZE(b) (0x00000304\
+(b)*0x000C)
#define NV045_SET_IMAGE_SIZE_WIDTH 15:0
#define NV045_SET_IMAGE_SIZE_HEIGHT 31:16
#define NV045_SET_IMAGE_FORMAT(b) (0x00000308\
+(b)*0x000C)
#define NV045_SET_IMAGE_FORMAT_PITCH 15:0
#define NV045_SET_IMAGE_FORMAT_COLOR 23:16
#define NV045_SET_IMAGE_FORMAT_COLOR_LUT_LE_Y8 (0x00000000)
#define NV045_SET_IMAGE_FORMAT_COLOR_BYPASS_LE_R5G6B5 (0x00000001)
#define NV045_SET_IMAGE_FORMAT_COLOR_LE_BYPASS1R5G5B5 (0x00000002)
#define NV045_SET_IMAGE_FORMAT_COLOR_LE_BYPASS1X7R8G8B8 (0x00000003)
#define NV045_SET_IMAGE_FORMAT_FIELD 29:24
#define NV045_SET_IMAGE_FORMAT_FIELD_PROGRESSIVE (0x00000000)
#define NV045_SET_IMAGE_FORMAT_FIELD_EVEN_FIELD (0x00000001)
#define NV045_SET_IMAGE_FORMAT_FIELD_ODD_FIELD (0x00000002)
#define NV045_SET_IMAGE_FORMAT_NOTIFY 31:30
#define NV045_SET_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV045_SET_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV045_GET_IMAGE_OFFSET_NOTIFY(b) (0x00000318\
+(b)*0x0004)
#define NV045_GET_IMAGE_OFFSET_NOTIFY_WRITE_ONLY (0x00000000)
#define NV045_GET_IMAGE_OFFSET_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV045_SET_LUT(b) (0x00000320\
+(b)*0x0004)
#define NV045_SET_LUT_OFFSET 29:0
#define NV045_SET_LUT_NOTIFY 31:30
#define NV045_SET_LUT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV045_SET_LUT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV045_SET_CURSOR_IMAGE(b) (0x00000328\
+(b)*0x0004)
#define NV045_SET_CURSOR_IMAGE_OFFSET 29:0
#define NV045_SET_CURSOR_IMAGE_NOTIFY 31:30
#define NV045_SET_CURSOR_IMAGE_NOTIFY_WRITE_ONLY (0x00000000)
#define NV045_SET_CURSOR_IMAGE_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV045_SET_CURSOR_POINT(b) (0x00000330\
+(b)*0x0004)
#define NV045_SET_CURSOR_POINT_X 15:0
#define NV045_SET_CURSOR_POINT_Y 29:16
#define NV045_SET_CURSOR_POINT_NOTIFY 31:30
#define NV045_SET_CURSOR_POINT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV045_SET_CURSOR_POINT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV045_SET_ENCODER(b) (0x00000338\
+(b)*0x0004)
#define NV045_SET_ENCODER_UNDERSCAN_LEFT 4:0
#define NV045_SET_ENCODER_UNDERSCAN_RIGHT 9:5
#define NV045_SET_ENCODER_UNDERSCAN_TOP 14:10
#define NV045_SET_ENCODER_UNDERSCAN_BOTTOM 19:15
#define NV045_SET_ENCODER_FILTER_HORIZONTAL 21:20
#define NV045_SET_ENCODER_FILTER_HORIZONTAL_ZOH (0x00000000)
#define NV045_SET_ENCODER_FILTER_HORIZONTAL_FOH (0x00000001)
#define NV045_SET_ENCODER_FILTER_HORIZONTAL_SOH (0x00000002)
#define NV045_SET_ENCODER_FILTER_VERTICAL 23:22
#define NV045_SET_ENCODER_VERTICAL_FRONT_PORCH_ADJUST 29:24
#define NV045_SET_ENCODER_FILTER_VERTICAL_ZOH (0x00000000)
#define NV045_SET_ENCODER_FILTER_VERTICAL_FOH (0x00000001)
#define NV045_SET_ENCODER_FILTER_VERTICAL_SOH (0x00000002)
#define NV045_SET_ENCODER_REFRESH 30:30
#define NV045_SET_ENCODER_REFRESH_INTERLACED (0x00000000)
#define NV045_SET_ENCODER_REFRESH_NONINTERLACED (0x00000001)
#define NV045_SET_ENCODER_NOTIFY 31:31
#define NV045_SET_ENCODER_NOTIFY_WRITE_ONLY (0x00000000)
#define NV045_SET_ENCODER_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* class NV04_VIDEO_LUT_CURSOR_DAC */
#define NV04_VIDEO_LUT_CURSOR_DAC (0x00000046)
/* NvNotification[] elements */
#define NV046_NOTIFIERS_NOTIFY (0)
#define NV046_NOTIFIERS_SET_IMAGE(b) (1+(b))
#define NV046_NOTIFIERS_SET_LUT(b) (3+(b))
#define NV046_NOTIFIERS_SET_CURSOR_IMAGE(b) (5+(b))
#define NV046_NOTIFIERS_SET_DAC(b) (7+(b))
/* NvNotification[] fields and values */
#define NV046_NOTIFICATION_INFO16_NOT_STARTED (0x0000)
#define NV046_NOTIFICATION_INFO16_VALID_OFFSET (0x0001)
#define NV046_NOTIFICATION_INFO16_DONE (0x0002)
#define NV046_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV046_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV046_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV046_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV046_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV046_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV046_NOTIFY_* 0104-0107*/
NvV32 StopImage[2]; /* NV046_STOP_IMAGE_* 0108-010f*/
NvV32 StopLut[2]; /* NV046_STOP_LUT_* 0110-0117*/
NvV32 StopCursorImage[2]; /* NV046_STOP_CURSOR_IMAGE_* 0118-011f*/
NvV32 StopDac[2]; /* NV046_STOP_DAC_* 0120-0127*/
NvV32 Reserved00[0x016];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaLut[2]; /* NV01_CONTEXT_DMA 018c-0193*/
NvV32 SetContextDmaCursor[2]; /* NV01_CONTEXT_DMA 0194-019b*/
NvV32 Reserved01[0x057];
NvV32 SetPanOffset; /* byte offset for panning 0220-0223*/
NvV32 GetOffset; /* NV046_GET_OFFSET_* 02fc-02ff*/
struct { /* start of methods in array 0300- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* notify_pitch V1_U16_U16 4- 7*/
} SetImage[2]; /* end of methods in array -030f*/
struct { /* start of methods in array 0310- */
NvU32 offset; /* byte offset of first byte 0- 3*/
NvV32 format; /* notify 4- 7*/
} SetLut[2]; /* end of methods in array -031f*/
struct { /* start of methods in array 0320- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* notify 4- 7*/
} SetCursorImage[2]; /* end of methods in array -032f*/
NvV32 SetCursorPoint; /* y_x S16_S16 0330-0333*/
NvV32 Reserved03[0x003];
struct { /* start of methods in array 0340- */
NvV32 imageSize; /* height_width U16_U16 in pixels 0- 3*/
NvV32 horizontalBlank; /* width_start U16_U16 in pixels 4- 7*/
NvV32 horizontalSync; /* width_start U16_U16 in pixels 8- b*/
NvV32 verticalBlank; /* width_start U16_U16 in pixels c- f*/
NvV32 verticalSync; /* width_start U16_U16 in pixels 10- 13*/
NvV32 totalSize; /* height_width U16_U16 14- 17*/
NvV32 pixelClock; /* in Hertz 18- 1b*/
NvV32 format; /* see text 1c- 1f*/
} SetDac[2]; /* end of methods in array -037f*/
NvV32 Reserved04[0x720];
} Nv046Typedef, Nv04VideoLutCursorDac;
#define NV046_TYPEDEF Nv04VideoLutCursorDac
/* dma method offsets, fields, and values */
#define NV046_SET_OBJECT (0x00000000)
#define NV046_NO_OPERATION (0x00000100)
#define NV046_NOTIFY (0x00000104)
#define NV046_NOTIFY_WRITE_ONLY (0x00000000)
#define NV046_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV046_STOP_IMAGE(b) (0x00000108\
+(b)*0x0004)
#define NV046_STOP_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV046_STOP_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV046_STOP_LUT(b) (0x00000110\
+(b)*0x0004)
#define NV046_STOP_LUT_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV046_STOP_LUT_BETWEEN_BUFFERS (0x00000001)
#define NV046_STOP_CURSOR_IMAGE(b) (0x00000118\
+(b)*0x0004)
#define NV046_STOP_CURSOR_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV046_STOP_CURSOR_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV046_STOP_DAC(b) (0x00000120\
+(b)*0x0004)
#define NV046_STOP_DAC_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV046_STOP_DAC_BETWEEN_BUFFERS (0x00000001)
#define NV046_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV046_SET_CONTEXT_DMA_IMAGE(b) (0x00000184\
+(b)*0x0004)
#define NV046_SET_CONTEXT_DMA_LUT(b) (0x0000018C\
+(b)*0x0004)
#define NV046_SET_CONTEXT_DMA_CURSOR(b) (0x00000194\
+(b)*0x0004)
#define NV046_SET_PAN_OFFSET (0x00000220)
#define NV046_GET_OFFSET (0x000002FC)
#define NV046_GET_OFFSET_IMAGE_0 (0x00000000)
#define NV046_GET_OFFSET_IMAGE_1 (0x00000001)
#define NV046_SET_IMAGE(b) (0x00000300\
+(b)*0x0008)
#define NV046_SET_IMAGE_OFFSET(b) (0x00000300\
+(b)*0x0008)
#define NV046_SET_IMAGE_FORMAT(b) (0x00000304\
+(b)*0x0008)
#define NV046_SET_IMAGE_FORMAT_PITCH 15:0
#define NV046_SET_IMAGE_FORMAT_NOTIFY 31:31
#define NV046_SET_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV046_SET_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV046_SET_LUT(b) (0x00000310\
+(b)*0x0008)
#define NV046_SET_LUT_OFFSET(b) (0x00000310\
+(b)*0x0008)
#define NV046_SET_LUT_FORMAT(b) (0x00000314\
+(b)*0x0008)
#define NV046_SET_LUT_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV046_SET_LUT_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV046_SET_CURSOR_IMAGE(b) (0x00000320\
+(b)*0x0008)
#define NV046_SET_CURSOR_IMAGE_OFFSET(b) (0x00000320\
+(b)*0x0008)
#define NV046_SET_CURSOR_IMAGE_FORMAT(b) (0x00000324\
+(b)*0x0008)
#define NV046_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV046_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV046_SET_CURSOR_POINT (0x00000330)
#define NV046_SET_CURSOR_POINT_X 15:0
#define NV046_SET_CURSOR_POINT_Y 31:16
#define NV046_SET_DAC(b) (0x00000340\
+(b)*0x0020)
#define NV046_SET_DAC_IMAGE_SIZE(b) (0x00000340\
+(b)*0x0020)
#define NV046_SET_DAC_IMAGE_SIZE_WIDTH 15:0
#define NV046_SET_DAC_IMAGE_SIZE_HEIGHT 31:16
#define NV046_SET_DAC_HORIZONTAL_BLANK(b) (0x00000344\
+(b)*0x0020)
#define NV046_SET_DAC_HORIZONTAL_BLANK_START 15:0
#define NV046_SET_DAC_HORIZONTAL_BLANK_WIDTH 31:16
#define NV046_SET_DAC_HORIZONTAL_SYNC(b) (0x00000348\
+(b)*0x0020)
#define NV046_SET_DAC_HORIZONTAL_SYNC_START 15:0
#define NV046_SET_DAC_HORIZONTAL_SYNC_WIDTH 31:16
#define NV046_SET_DAC_VERTICAL_BLANK(b) (0x0000034c\
+(b)*0x0020)
#define NV046_SET_DAC_VERTICAL_BLANK_START 15:0
#define NV046_SET_DAC_VERTICAL_BLANK_WIDTH 31:16
#define NV046_SET_DAC_VERTICAL_SYNC(b) (0x00000350\
+(b)*0x0020)
#define NV046_SET_DAC_VERTICAL_SYNC_START 15:0
#define NV046_SET_DAC_VERTICAL_SYNC_WIDTH 31:16
#define NV046_SET_DAC_TOTAL_SIZE(b) (0x00000354\
+(b)*0x0020)
#define NV046_SET_DAC_TOTAL_SIZE_WIDTH 15:0
#define NV046_SET_DAC_TOTAL_SIZE_HEIGHT 31:16
#define NV046_SET_DAC_PIXEL_CLOCK(b) (0x00000358\
+(b)*0x0020)
#define NV046_SET_DAC_FORMAT(b) (0x0000035c\
+(b)*0x0020)
#define NV046_SET_DAC_FORMAT_DOUBLE_SCAN 0:0
#define NV046_SET_DAC_FORMAT_DOUBLE_SCAN_DISABLED (0x00000000)
#define NV046_SET_DAC_FORMAT_DOUBLE_SCAN_ENABLED (0x00000001)
#define NV046_SET_DAC_FORMAT_INTERLACE 1:1
#define NV046_SET_DAC_FORMAT_INTERLACE_DISABLED (0x00000000)
#define NV046_SET_DAC_FORMAT_INTERLACE_ENABLED (0x00000001)
#define NV046_SET_DAC_FORMAT_HORIZONTAL_SYNC 2:2
#define NV046_SET_DAC_FORMAT_HORIZONTAL_SYNC_POSITIVE (0x00000000)
#define NV046_SET_DAC_FORMAT_HORIZONTAL_SYNC_NEGATIVE (0x00000001)
#define NV046_SET_DAC_FORMAT_VERTICAL_SYNC 3:3
#define NV046_SET_DAC_FORMAT_VERTICAL_SYNC_POSITIVE (0x00000000)
#define NV046_SET_DAC_FORMAT_VERTICAL_SYNC_NEGATIVE (0x00000001)
#define NV046_SET_DAC_FORMAT_COLOR 19:16
#define NV046_SET_DAC_FORMAT_COLOR_LUT_LE_Y8 (0x00000000)
#define NV046_SET_DAC_FORMAT_COLOR_BYPASS_LE_R5G6B5 (0x00000001)
#define NV046_SET_DAC_FORMAT_COLOR_LE_BYPASS1R5G5B5 (0x00000002)
#define NV046_SET_DAC_FORMAT_COLOR_LE_BYPASS1X7R8G8B8 (0x00000003)
#define NV046_SET_DAC_FORMAT_DISPLAY_TYPE 21:20
#define NV046_SET_DAC_FORMAT_DISPLAY_TYPE_CRT (0x00000000)
#define NV046_SET_DAC_FORMAT_DISPLAY_TYPE_TV (0x00000001)
#define NV046_SET_DAC_FORMAT_DISPLAY_TYPE_DFP (0x00000003)
#define NV046_SET_DAC_FORMAT_TV_STANDARD 25:22
#define NV046_SET_DAC_FORMAT_TV_STANDARD_NTSC_M (0x00000000)
#define NV046_SET_DAC_FORMAT_TV_STANDARD_NTSC_J (0x00000001)
#define NV046_SET_DAC_FORMAT_TV_STANDARD_PAL_M (0x00000002)
#define NV046_SET_DAC_FORMAT_TV_STANDARD_PAL_A (0x00000003)
#define NV046_SET_DAC_FORMAT_TV_STANDARD_PAL_N (0x00000004)
#define NV046_SET_DAC_FORMAT_TV_STANDARD_PAL_NC (0x00000005)
#define NV046_SET_DAC_FORMAT_NOTIFY 31:31
#define NV046_SET_DAC_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV046_SET_DAC_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* class NV04_VIDEO_OVERLAY */
#define NV04_VIDEO_OVERLAY (0x00000047)
/* NvNotification[] elements */
#define NV047_NOTIFIERS_NOTIFY (0)
#define NV047_NOTIFIERS_SET_OVERLAY(b) (1+(b))
/* NvNotification[] fields and values */
#define NV047_NOTIFICATION_INFO16_NOT_STARTED (0x0000)
#define NV047_NOTIFICATION_INFO16_VALID_OFFSET (0x0001)
#define NV047_NOTIFICATION_INFO16_DONE (0x0002)
#define NV047_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV047_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV047_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV047_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV047_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV047_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV047_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x006];
NvV32 StopOverlay[2]; /* NV047_STOP_OVERLAY_* 0120-0127*/
NvV32 Reserved01[0x016];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved02[0x006];
NvV32 SetContextDmaOverlay[2]; /* NV01_CONTEXT_DMA 019c-01a3*/
NvV32 Reserved03[0x056];
NvV32 GetOffset; /* NV047_GET_OFFSET_* 02FC-02FF*/
NvV32 Reserved04[0x040];
struct { /* start of methods in array 0400- */
NvV32 reserved05[0x017]; /* see text 00- 5b*/
NvV32 colorKey; /* see text 5c- 5f*/
NvU32 offset; /* byte offset of top-left texel 60- 63*/
NvV32 sizeIn; /* height_width U16_U16 64- 67*/
NvV32 pointIn; /* t_s U12d4_U12d4 68- 6b*/
NvV32 dsDx; /* U12d20 ds/dx 6c- 6f*/
NvV32 dtDy; /* U12d20 dt/dy 70- 73*/
NvV32 pointOut; /* y_x U16_U16 74- 77*/
NvV32 sizeOut; /* height_width U16_U16 78- 7b*/
NvV32 format; /* format_display_color_pitch 7c- 7f*/
} SetOverlay[2]; /* end of methods in array -04ff*/
NvV32 SetOverlayPointOutA; /* y_x U16_U16 0500-0503*/
NvV32 Reserved06[0x6bf];
} Nv047Typedef, Nv04VideoOverlay;
#define NV047_TYPEDEF Nv04VideoOverlay
/* dma method offsets, fields, and values */
#define NV047_SET_OBJECT (0x00000000)
#define NV047_NO_OPERATION (0x00000100)
#define NV047_NOTIFY (0x00000104)
#define NV047_NOTIFY_WRITE_ONLY (0x00000000)
#define NV047_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV047_STOP_OVERLAY(b) (0x00000120\
+(b)*0x0004)
#define NV047_STOP_OVERLAY_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV047_STOP_OVERLAY_BETWEEN_BUFFERS (0x00000001)
#define NV047_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV047_SET_CONTEXT_DMA_OVERLAY(b) (0x0000019C\
+(b)*0x0004)
#define NV047_SET_OVERLAY(b) (0x00000400\
+(b)*0x0080)
#define NV047_SET_OVERLAY_COLORKEY(b) (0x0000045C\
+(b)*0x0080)
#define NV047_SET_OVERLAY_OFFSET(b) (0x00000460\
+(b)*0x0080)
#define NV047_SET_OVERLAY_SIZE_IN(b) (0x00000464\
+(b)*0x0080)
#define NV047_SET_OVERLAY_SIZE_IN_WIDTH 15:0
#define NV047_SET_OVERLAY_SIZE_IN_HEIGHT 31:16
#define NV047_SET_OVERLAY_POINT_IN(b) (0x00000468\
+(b)*0x0080)
#define NV047_SET_OVERLAY_POINT_IN_S 15:0
#define NV047_SET_OVERLAY_POINT_IN_T 31:16
#define NV047_SET_OVERLAY_DS_DX(b) (0x0000046C\
+(b)*0x0080)
#define NV047_SET_OVERLAY_DT_DY(b) (0x00000470\
+(b)*0x0080)
#define NV047_SET_OVERLAY_POINT_OUT(b) (0x00000474\
+(b)*0x0080)
#define NV047_SET_OVERLAY_POINT_OUT_X 15:0
#define NV047_SET_OVERLAY_POINT_OUT_Y 31:16
#define NV047_SET_OVERLAY_SIZE_OUT(b) (0x00000478\
+(b)*0x0080)
#define NV047_SET_OVERLAY_SIZE_OUT_WIDTH 15:0
#define NV047_SET_OVERLAY_SIZE_OUT_HEIGHT 31:16
#define NV047_SET_OVERLAY_FORMAT(b) (0x0000047C\
+(b)*0x0080)
#define NV047_SET_OVERLAY_FORMAT_PITCH 15:0
#define NV047_SET_OVERLAY_FORMAT_COLOR 19:16
#define NV047_SET_OVERLAY_FORMAT_COLOR_LE_YB8CR8YA8CB8 (0x00000000)
#define NV047_SET_OVERLAY_FORMAT_COLOR_LE_CR8YB8CB8YA8 (0x00000001)
#define NV047_SET_OVERLAY_FORMAT_DISPLAY 30:20
#define NV047_SET_OVERLAY_FORMAT_DISPLAY_ALWAYS (0x00000000)
#define NV047_SET_OVERLAY_FORMAT_DISPLAY_COLOR_KEY_EQUAL (0x00000001)
#define NV047_SET_OVERLAY_FORMAT_NOTIFY 31:31
#define NV047_SET_OVERLAY_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV047_SET_OVERLAY_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV047_SET_OVERLAY_POINT_OUT_A (0x00000500)
#define NV047_SET_OVERLAY_POINT_OUT_A_X 15:0
#define NV047_SET_OVERLAY_POINT_OUT_A_Y 31:16
/* class NV03_DX3_TEXTURED_TRIANGLE */
#define NV03_DX3_TEXTURED_TRIANGLE (0x00000048)
/* NvNotification[] elements */
#define NV048_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV048_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV048_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV048_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV048_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV048_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV048_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV048_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaTexture; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextSurfaceColor; /* NV03_CONTEXT_SURFACE_3D_COLOR 018c-018f*/
NvV32 SetContextSurfaceZeta; /* NV03_CONTEXT_SURFACE_3D_DEPTH 0190-0193*/
NvV32 Reserved01[0x05c];
NvU32 TextureOffset; /* offset in bytes 0304-0307*/
NvV32 TextureFormat; /* see text 0308-030b*/
NvV32 TextureFilter; /* ignre_sizeAdjust_spreadY_spreadX 030c-030f*/
NvV32 FogColor; /* X8R8G8B8 fog color 0310-0313*/
NvV32 Control0; /* see text 0314-0317*/
NvV32 Control1; /* alphafunc_alpharef V24_U8 0318-031b*/
NvV32 Reserved02[0x339];
struct { /* start of method in array 1000- */
NvV32 specular; /* fog_i5-i0 U0d8_U4_U4_U4_U4_U4_U4 00- 03*/
NvV32 color; /* X8R8G8B8 or A8R8G8B8 04- 07*/
NvF32 sx; /* screen x coordinate 08- 0b*/
NvF32 sy; /* screen y coordinate 0c- 0f*/
NvF32 sz; /* screen z coordinate 10- 13*/
NvF32 rhw; /* reciprocal homogeneous W (1/W) 14- 17*/
NvF32 tu; /* texture u coordinate 18- 1b*/
NvF32 tv; /* texture v coordinate 1c- 1f*/
} Tlvertex[128]; /* end of method in array -1fff*/
} Nv048Typedef, Nv03Dx3TexturedTriangle;
#define NV048_TYPEDEF Nv03Dx3TexturedTriangle
/* dma method offsets, fields, and values */
#define NV048_SET_OBJECT (0x00000000)
#define NV048_NO_OPERATION (0x00000100)
#define NV048_NOTIFY (0x00000104)
#define NV048_NOTIFY_WRITE_ONLY (0x00000000)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV048_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV048_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV048_SET_CONTEXT_DMA_TEXTURE (0x00000184)
#define NV048_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV048_SET_CONTEXT_SURFACE_COLOR (0x0000018C)
#define NV048_SET_CONTEXT_SURFACE_ZETA (0x00000190)
#define NV048_TEXTURE_OFFSET (0x00000304)
#define NV048_TEXTURE_FORMAT (0x00000308)
#define NV048_TEXTURE_FORMAT_VALUE 15:0
#define NV048_TEXTURE_FORMAT_KEY 19:16
#define NV048_TEXTURE_FORMAT_KEY_DISABLED (0x00000000)
#define NV048_TEXTURE_FORMAT_KEY_ENABLED (0x00000001)
#define NV048_TEXTURE_FORMAT_COLOR 23:20
#define NV048_TEXTURE_FORMAT_COLOR_LE_A1R5G5B5 (0x00000000)
#define NV048_TEXTURE_FORMAT_COLOR_LE_X1R5G5B5 (0x00000001)
#define NV048_TEXTURE_FORMAT_COLOR_LE_A4R4G4B4 (0x00000002)
#define NV048_TEXTURE_FORMAT_COLOR_LE_R5G6B5 (0x00000003)
#define NV048_TEXTURE_FORMAT_SIZE_MIN 27:24
#define NV048_TEXTURE_FORMAT_SIZE_MIN_4X4 (0x00000002)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_8X8 (0x00000003)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_16X16 (0x00000004)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_32X32 (0x00000005)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_64X64 (0x00000006)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_128X128 (0x00000007)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_256X256 (0x00000008)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_512X512 (0x00000009)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_1024X1024 (0x0000000A)
#define NV048_TEXTURE_FORMAT_SIZE_MIN_2048X2048 (0x0000000B)
#define NV048_TEXTURE_FORMAT_SIZE_MAX 31:28
#define NV048_TEXTURE_FORMAT_SIZE_MAX_4X4 (0x00000002)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_8X8 (0x00000003)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_16X16 (0x00000004)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_32X32 (0x00000005)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_64X64 (0x00000006)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_128X128 (0x00000007)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_256X256 (0x00000008)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_512X512 (0x00000009)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_1024X1024 (0x0000000A)
#define NV048_TEXTURE_FORMAT_SIZE_MAX_2048X2048 (0x0000000B)
#define NV048_TEXTURE_FILTER (0x0000030C)
#define NV048_TEXTURE_FILTER_SPREAD_X 4:0
#define NV048_TEXTURE_FILTER_IGNORE0 7:5
#define NV048_TEXTURE_FILTER_SPREAD_Y 12:8
#define NV048_TEXTURE_FILTER_IGNORE1 15:13
#define NV048_TEXTURE_FILTER_SIZE_ADJUST 23:16
#define NV048_TEXTURE_FILTER_IGNORE2 31:24
#define NV048_FOG_COLOR (0x00000310)
#define NV048_CONTROL0 (0x00000314)
#define NV048_CONTROL0_INTERPOLATOR 3:0
#define NV048_CONTROL0_INTERPOLATOR_ZOH_CORNER (0x00000000)
#define NV048_CONTROL0_INTERPOLATOR_ZOH_CENTER (0x00000001)
#define NV048_CONTROL0_INTERPOLATOR_FOH_CENTER (0x00000002)
#define NV048_CONTROL0_WRAP_U 5:4
#define NV048_CONTROL0_WRAP_U_CYLINDRICAL (0x00000000)
#define NV048_CONTROL0_WRAP_U_WRAP (0x00000001)
#define NV048_CONTROL0_WRAP_U_MIRROR (0x00000002)
#define NV048_CONTROL0_WRAP_U_CLAMP (0x00000003)
#define NV048_CONTROL0_WRAP_V 7:6
#define NV048_CONTROL0_WRAP_V_CYLINDRICAL (0x00000000)
#define NV048_CONTROL0_WRAP_V_WRAP (0x00000001)
#define NV048_CONTROL0_WRAP_V_MIRROR (0x00000002)
#define NV048_CONTROL0_WRAP_V_CLAMP (0x00000003)
#define NV048_CONTROL0_COLOR_FORMAT 9:8
#define NV048_CONTROL0_COLOR_FORMAT_LE_X8R8G8B8 (0x00000000)
#define NV048_CONTROL0_COLOR_FORMAT_LE_A8R8G8B8 (0x00000001)
#define NV048_CONTROL0_SOURCE_COLOR 11:10
#define NV048_CONTROL0_SOURCE_COLOR_NORMAL (0x00000000)
#define NV048_CONTROL0_SOURCE_COLOR_COLOR_INVERSE (0x00000001)
#define NV048_CONTROL0_SOURCE_COLOR_ALPHA_INVERSE (0x00000002)
#define NV048_CONTROL0_SOURCE_COLOR_ALPHA_ONE (0x00000003)
#define NV048_CONTROL0_CULLING 14:12
#define NV048_CONTROL0_CULLING_NONE (0x00000001)
#define NV048_CONTROL0_CULLING_COUNTERCLOCKWISE (0x00000002)
#define NV048_CONTROL0_CULLING_CLOCKWISE (0x00000003)
#define NV048_CONTROL0_Z_PERSPECTIVE_ENABLE 15:15
#define NV048_CONTROL0_Z_PERSPECTIVE_ENABLE_FALSE (0x00000000)
#define NV048_CONTROL0_Z_PERSPECTIVE_ENABLE_TRUE (0x00000001)
#define NV048_CONTROL0_ZFUNC 19:16
#define NV048_CONTROL0_ZFUNC_NEVER (0x00000001)
#define NV048_CONTROL0_ZFUNC_LESS (0x00000002)
#define NV048_CONTROL0_ZFUNC_EQUAL (0x00000003)
#define NV048_CONTROL0_ZFUNC_LESSEQUAL (0x00000004)
#define NV048_CONTROL0_ZFUNC_GREATER (0x00000005)
#define NV048_CONTROL0_ZFUNC_NOTEQUAL (0x00000006)
#define NV048_CONTROL0_ZFUNC_GREATEREQUAL (0x00000007)
#define NV048_CONTROL0_ZFUNC_ALWAYS (0x00000008)
#define NV048_CONTROL0_ZETA_WRITE 23:20
#define NV048_CONTROL0_ZETA_WRITE_NEVER (0x00000000)
#define NV048_CONTROL0_ZETA_WRITE_ALPHA (0x00000001)
#define NV048_CONTROL0_ZETA_WRITE_ALPHA_ZETA (0x00000002)
#define NV048_CONTROL0_ZETA_WRITE_ZETA (0x00000003)
#define NV048_CONTROL0_ZETA_WRITE_ALWAYS (0x00000004)
#define NV048_CONTROL0_COLOR_WRITE 27:24
#define NV048_CONTROL0_COLOR_WRITE_NEVER (0x00000000)
#define NV048_CONTROL0_COLOR_WRITE_ALPHA (0x00000001)
#define NV048_CONTROL0_COLOR_WRITE_ALPHA_ZETA (0x00000002)
#define NV048_CONTROL0_COLOR_WRITE_ZETA (0x00000003)
#define NV048_CONTROL0_COLOR_WRITE_ALWAYS (0x00000004)
#define NV048_CONTROL0_ROP 28:28
#define NV048_CONTROL0_ROP_BLEND_AND (0x00000000)
#define NV048_CONTROL0_ROP_ADD_WITH_SATURATION (0x00000001)
#define NV048_CONTROL0_BLEND_BETA 29:29
#define NV048_CONTROL0_BLEND_BETA_SRCALPHA (0x00000000)
#define NV048_CONTROL0_BLEND_BETA_DESTCOLOR (0x00000001)
#define NV048_CONTROL0_BLEND_INPUT0 30:30
#define NV048_CONTROL0_BLEND_INPUT0_DESTCOLOR (0x00000000)
#define NV048_CONTROL0_BLEND_INPUT0_ZERO (0x00000001)
#define NV048_CONTROL0_BLEND_INPUT1 31:31
#define NV048_CONTROL0_BLEND_INPUT1_SRCCOLOR (0x00000000)
#define NV048_CONTROL0_BLEND_INPUT1_ZERO (0x00000001)
#define NV048_CONTROL1 (0x00000318)
#define NV048_CONTROL1_ALPHAREF 7:0
#define NV048_CONTROL1_ALPHAFUNC 31:8
#define NV048_CONTROL1_ALPHAFUNC_NEVER (0x00000001)
#define NV048_CONTROL1_ALPHAFUNC_LESS (0x00000002)
#define NV048_CONTROL1_ALPHAFUNC_EQUAL (0x00000003)
#define NV048_CONTROL1_ALPHAFUNC_LESSEQUAL (0x00000004)
#define NV048_CONTROL1_ALPHAFUNC_GREATER (0x00000005)
#define NV048_CONTROL1_ALPHAFUNC_NOTEQUAL (0x00000006)
#define NV048_CONTROL1_ALPHAFUNC_GREATEREQUAL (0x00000007)
#define NV048_CONTROL1_ALPHAFUNC_ALWAYS (0x00000008)
#define NV048_TLVERTEX(a) (0x00001000\
+(a)*0x0020)
#define NV048_TLVERTEX_SPECULAR(a) (0x00001000\
+(a)*0x0020)
#define NV048_TLVERTEX_SPECULAR_I0 3:0
#define NV048_TLVERTEX_SPECULAR_I1 7:4
#define NV048_TLVERTEX_SPECULAR_I2 11:8
#define NV048_TLVERTEX_SPECULAR_I3 15:12
#define NV048_TLVERTEX_SPECULAR_I4 19:16
#define NV048_TLVERTEX_SPECULAR_I5 23:20
#define NV048_TLVERTEX_SPECULAR_FOG 31:24
#define NV048_TLVERTEX_COLOR(a) (0x00001004\
+(a)*0x0020)
#define NV048_TLVERTEX_SX(a) (0x00001008\
+(a)*0x0020)
#define NV048_TLVERTEX_SY(a) (0x0000100C\
+(a)*0x0020)
#define NV048_TLVERTEX_SZ(a) (0x00001010\
+(a)*0x0020)
#define NV048_TLVERTEX_RHW(a) (0x00001014\
+(a)*0x0020)
#define NV048_TLVERTEX_TU(a) (0x00001018\
+(a)*0x0020)
#define NV048_TLVERTEX_TV(a) (0x0000101C\
+(a)*0x0020)
/* obsolete stuff */
#define NV3_DX3_TEXTURED_TRIANGLE (0x00000048)
#define Nv3Dx3TexturedTriangle Nv03Dx3TexturedTriangle
#define nv3Dx3TexturedTriangle Nv03Dx3TexturedTriangle
#define nv03Dx3TexturedTriangle Nv03Dx3TexturedTriangle
/* class NV05_VIDEO_LUT_CURSOR_DAC */
#define NV05_VIDEO_LUT_CURSOR_DAC (0x00000049)
#define NV049_NOTIFIERS_NOTIFY (0)
#define NV049_NOTIFIERS_SET_IMAGE(b) (1+(b))
#define NV049_NOTIFIERS_SET_LUT(b) (3+(b))
#define NV049_NOTIFIERS_SET_CURSOR_IMAGE(b) (5+(b))
#define NV049_NOTIFIERS_SET_DAC(b) (7+(b))
#define NV049_NOTIFICATION_INFO16_NOT_STARTED (0x0000)
#define NV049_NOTIFICATION_INFO16_VALID_OFFSET (0x0001)
#define NV049_NOTIFICATION_INFO16_DONE (0x0002)
#define NV049_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV049_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV049_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV049_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV049_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV049_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV049_NOTIFY_* 0104-0107*/
NvV32 StopImage[2]; /* NV049_STOP_IMAGE_* 0108-010f*/
NvV32 StopLut[2]; /* NV049_STOP_LUT_* 0110-0117*/
NvV32 StopCursorImage[2]; /* NV049_STOP_CURSOR_IMAGE_* 0118-011f*/
NvV32 StopDac[2]; /* NV049_STOP_DAC_* 0120-0127*/
NvV32 Reserved00[0x016];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaLut[2]; /* NV01_CONTEXT_DMA 018c-0193*/
NvV32 SetContextDmaCursor[2]; /* NV01_CONTEXT_DMA 0194-019b*/
NvV32 Reserved01[0x057];
NvV32 SetPanOffset; /* byte offset for panning 0220-0223*/
NvV32 GetOffset; /* NV049_GET_OFFSET_* 02fc-02ff*/
struct { /* start of methods in array 0300- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* see text 4- 7*/
} SetImage[2]; /* end of methods in array -030f*/
struct { /* start of methods in array 0310- */
NvU32 offset; /* byte offset of first byte 0- 3*/
NvV32 format; /* notify 4- 7*/
} SetLut[2]; /* end of methods in array -031f*/
struct { /* start of methods in array 0320- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* notify 4- 7*/
} SetCursorImage[2]; /* end of methods in array -032f*/
NvV32 SetCursorPoint; /* y_x S16_S16 0330-0333*/
NvV32 Reserved03[0x003];
struct { /* start of methods in array 0340- */
NvV32 imageSize; /* height_width U16_U16 in pixels 0- 3*/
NvV32 horizontalSync; /* width_start U16_U16 in pixels 4- 7*/
NvV32 verticalSync; /* width_start U16_U16 in pixels 8- b*/
NvV32 totalSize; /* height_width U16_U16 c- f*/
NvV32 pixelClock; /* in Hertz 10- 13*/
NvV32 format; /* see text 14- 17*/
} SetDac[2]; /* end of methods in array -037f*/
NvV32 Reserved04[0x724];
} Nv049Typedef, NV05VideoLutCursorDac;
#define NV049_TYPEDEF NV05VideoLutCursorDac
/* dma method offsets, fields, and values */
#define NV049_SET_OBJECT (0x00000000)
#define NV049_NO_OPERATION (0x00000100)
#define NV049_NOTIFY (0x00000104)
#define NV049_NOTIFY_WRITE_ONLY (0x00000000)
#define NV049_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV049_STOP_IMAGE(b) (0x00000108\
+(b)*0x0004)
#define NV049_STOP_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV049_STOP_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV049_STOP_LUT(b) (0x00000110\
+(b)*0x0004)
#define NV049_STOP_LUT_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV049_STOP_LUT_BETWEEN_BUFFERS (0x00000001)
#define NV049_STOP_CURSOR_IMAGE(b) (0x00000118\
+(b)*0x0004)
#define NV049_STOP_CURSOR_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV049_STOP_CURSOR_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV049_STOP_DAC(b) (0x00000120\
+(b)*0x0004)
#define NV049_STOP_DAC_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV049_STOP_DAC_BETWEEN_BUFFERS (0x00000001)
#define NV049_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV049_SET_CONTEXT_DMA_IMAGE(b) (0x00000184\
+(b)*0x0004)
#define NV049_SET_CONTEXT_DMA_LUT(b) (0x0000018C\
+(b)*0x0004)
#define NV049_SET_CONTEXT_DMA_CURSOR(b) (0x00000194\
+(b)*0x0004)
#define NV049_SET_PAN_OFFSET (0x00000220)
#define NV049_GET_OFFSET (0x000002FC)
#define NV049_GET_OFFSET_IMAGE_0 (0x00000000)
#define NV049_GET_OFFSET_IMAGE_1 (0x00000001)
#define NV049_SET_IMAGE(b) (0x00000300\
+(b)*0x0008)
#define NV049_SET_IMAGE_OFFSET(b) (0x00000300\
+(b)*0x0008)
#define NV049_SET_IMAGE_FORMAT(b) (0x00000304\
+(b)*0x0008)
#define NV049_SET_IMAGE_FORMAT_PITCH 15:0
#define NV049_SET_IMAGE_FORMAT_WHEN 30:20
#define NV049_SET_IMAGE_FORMAT_WHEN_NOT_WITHIN_BUFFER (0x00000000)
#define NV049_SET_IMAGE_FORMAT_WHEN_IMMEDIATELY (0x00000001)
#define NV049_SET_IMAGE_FORMAT_NOTIFY 31:31
#define NV049_SET_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV049_SET_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV049_SET_LUT(b) (0x00000310\
+(b)*0x0008)
#define NV049_SET_LUT_OFFSET(b) (0x00000310\
+(b)*0x0008)
#define NV049_SET_LUT_FORMAT(b) (0x00000314\
+(b)*0x0008)
#define NV049_SET_LUT_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV049_SET_LUT_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV049_SET_CURSOR_IMAGE(b) (0x00000320\
+(b)*0x0008)
#define NV049_SET_CURSOR_IMAGE_OFFSET(b) (0x00000320\
+(b)*0x0008)
#define NV049_SET_CURSOR_IMAGE_FORMAT(b) (0x00000324\
+(b)*0x0008)
#define NV049_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV049_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV049_SET_CURSOR_POINT (0x00000330)
#define NV049_SET_CURSOR_POINT_X 15:0
#define NV049_SET_CURSOR_POINT_Y 31:16
#define NV049_SET_DAC(b) (0x00000340\
+(b)*0x0018)
#define NV049_SET_DAC_IMAGE_SIZE(b) (0x00000340\
+(b)*0x0018)
#define NV049_SET_DAC_IMAGE_SIZE_WIDTH 15:0
#define NV049_SET_DAC_IMAGE_SIZE_HEIGHT 31:16
#define NV049_SET_DAC_HORIZONTAL_SYNC(b) (0x00000344\
+(b)*0x0018)
#define NV049_SET_DAC_HORIZONTAL_SYNC_START 15:0
#define NV049_SET_DAC_HORIZONTAL_SYNC_WIDTH 31:16
#define NV049_SET_DAC_VERTICAL_SYNC(b) (0x00000348\
+(b)*0x0018)
#define NV049_SET_DAC_VERTICAL_SYNC_START 15:0
#define NV049_SET_DAC_VERTICAL_SYNC_WIDTH 31:16
#define NV049_SET_DAC_TOTAL_SIZE(b) (0x0000034C\
+(b)*0x0018)
#define NV049_SET_DAC_TOTAL_SIZE_WIDTH 15:0
#define NV049_SET_DAC_TOTAL_SIZE_HEIGHT 31:16
#define NV049_SET_DAC_PIXEL_CLOCK(b) (0x00000350\
+(b)*0x0018)
#define NV049_SET_DAC_FORMAT(b) (0x00000354\
+(b)*0x0018)
#define NV049_SET_DAC_FORMAT_DOUBLE_SCAN 0:0
#define NV049_SET_DAC_FORMAT_DOUBLE_SCAN_DISABLED (0x00000000)
#define NV049_SET_DAC_FORMAT_DOUBLE_SCAN_ENABLED (0x00000001)
#define NV049_SET_DAC_FORMAT_INTERLACE 1:1
#define NV049_SET_DAC_FORMAT_INTERLACE_DISABLED (0x00000000)
#define NV049_SET_DAC_FORMAT_INTERLACE_ENABLED (0x00000001)
#define NV049_SET_DAC_FORMAT_HORIZONTAL_SYNC 2:2
#define NV049_SET_DAC_FORMAT_HORIZONTAL_SYNC_POSITIVE (0x00000000)
#define NV049_SET_DAC_FORMAT_HORIZONTAL_SYNC_NEGATIVE (0x00000001)
#define NV049_SET_DAC_FORMAT_VERTICAL_SYNC 3:3
#define NV049_SET_DAC_FORMAT_VERTICAL_SYNC_POSITIVE (0x00000000)
#define NV049_SET_DAC_FORMAT_VERTICAL_SYNC_NEGATIVE (0x00000001)
#define NV049_SET_DAC_FORMAT_COLOR 19:16
#define NV049_SET_DAC_FORMAT_COLOR_LUT_LE_Y8 (0x00000000)
#define NV049_SET_DAC_FORMAT_COLOR_BYPASS_LE_R5G6B5 (0x00000001)
#define NV049_SET_DAC_FORMAT_COLOR_LE_BYPASS1R5G5B5 (0x00000002)
#define NV049_SET_DAC_FORMAT_COLOR_LE_BYPASS1X7R8G8B8 (0x00000003)
#define NV049_SET_DAC_FORMAT_DISPLAY_TYPE 21:20
#define NV049_SET_DAC_FORMAT_DISPLAY_TYPE_CRT (0x00000000)
#define NV049_SET_DAC_FORMAT_DISPLAY_TYPE_TV (0x00000001)
#define NV049_SET_DAC_FORMAT_DISPLAY_TYPE_DFP (0x00000003)
#define NV049_SET_DAC_FORMAT_TV_STANDARD 25:22
#define NV049_SET_DAC_FORMAT_TV_STANDARD_NTSC_M (0x00000000)
#define NV049_SET_DAC_FORMAT_TV_STANDARD_NTSC_J (0x00000001)
#define NV049_SET_DAC_FORMAT_TV_STANDARD_PAL_M (0x00000002)
#define NV049_SET_DAC_FORMAT_TV_STANDARD_PAL_A (0x00000003)
#define NV049_SET_DAC_FORMAT_TV_STANDARD_PAL_N (0x00000004)
#define NV049_SET_DAC_FORMAT_TV_STANDARD_PAL_NC (0x00000005)
#define NV049_SET_DAC_FORMAT_NOTIFY 31:31
#define NV049_SET_DAC_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV049_SET_DAC_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* class NV04_GDI_RECTANGLE_TEXT */
#define NV04_GDI_RECTANGLE_TEXT (0x0000004A)
/* NvNotification[] elements */
#define NV04A_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV04A_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV04A_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV04A_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV04A_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV04A_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV04A_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* memory data structures */
typedef struct { /* start of data structure 0000- */
NvV32 size; /* height_width U16_U16 in pixels 0- 3*/
NvV32 monochrome[1]; /* 32 monochrome pixels per write 4- 7*/
} Nv04aCharacter8[]; /* end of data structure -0007*/
typedef struct { /* start of data structure 0000- */
NvV32 size; /* height_width U16_U16 in pixels 0- 3*/
NvV32 monochrome[3]; /* 32 monochrome pixels per write 4- f*/
} Nv04aCharacter16[]; /* end of data structure -000f*/
typedef struct { /* start of data structure 0000- */
NvV32 size; /* height_width U16_U16 in pixels 00- 03*/
NvV32 monochrome[7]; /* 32 monochrome pixels per write 04- 1f*/
} Nv04aCharacter32[]; /* end of data structure -001f*/
typedef struct { /* start of data structure 0000- */
NvV32 size; /* height_width U16_U16 in pixels 00- 03*/
NvV32 monochrome[15]; /* 32 monochrome pixels per write 04- 3f*/
} Nv04aCharacter64[]; /* end of data structure -003f*/
typedef struct { /* start of data structure 0000- */
NvV32 size; /* height_width U16_U16 in pixels 00- 03*/
NvV32 monochrome[31]; /* 32 monochrome pixels per write 04- 7f*/
} Nv04aCharacter128[]; /* end of data structure -007f*/
typedef struct { /* start of data structure 0000- */
NvV32 size; /* height_width U16_U16 in pixels 00- 03*/
NvV32 monochrome[63]; /* 32 monochrome pixels per write 04- ff*/
} Nv04aCharacter256[]; /* end of data structure -00ff*/
typedef struct { /* start of data structure 0000- */
NvV32 size; /* height_width U16_U16 in pixels 000- 003*/
NvV32 monochrome[127]; /* 32 monochrome pixels per write 004- 1ff*/
} Nv04aCharacter512[]; /* end of data structure -01ff*/
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV04A_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaFonts; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetOperation; /* NV04A_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV04A_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetMonochromeFormat; /* NV04A_SET_MONOCHROME_FORMAT_* 0304-0307*/
NvV32 Reserved02[0x03D];
NvV32 Color1A; /* rectangle color 03fc-03ff*/
struct { /* start aliased methods in array 0400- */
NvV32 point; /* x_y S16_S16 in pixels 0- 3*/
NvV32 size; /* width_height U16_U16 in pixels 4- 7*/
} UnclippedRectangle[32]; /* end of aliased methods in array -04ff*/
NvV32 Reserved03[0x03D];
NvV32 ClipPoint0B; /* top_left S16_S16 in pixels 05f4-05f7*/
NvV32 ClipPoint1B; /* bottom_right S16_S16 in pixels 05f8-05fb*/
NvV32 Color1B; /* rectangle color 05fc-05ff*/
struct { /* start aliased methods in array 0600- */
NvV32 point0; /* top_left S16_S16 in pixels 0- 3*/
NvV32 point1; /* bottom_right S16_S16 in pixels 4- 7*/
} ClippedRectangle[32]; /* end of aliased methods in array -06ff*/
NvV32 Reserved04[0x03B];
NvV32 ClipPoint0C; /* top_left S16_S16 in pixels 07ec-07ef*/
NvV32 ClipPoint1C; /* bottom_right S16_S16 in pixe 07f0-07f3*/
NvV32 Color1C; /* color of 1 pixels 07f4-07f7*/
NvV32 SizeC; /* height_width U16_U16 in pixels 07f8-07fb*/
NvV32 PointC; /* y_x S16_S16 in pixels 07fc-07ff*/
NvV32 MonochromeColor1C[128]; /* 32 monochrome pixels per write 0800-09ff*/
NvV32 Reserved05[0x079];
NvV32 ClipPoint0E; /* top_left S16_S16 in pixels 0be4-0be7*/
NvV32 ClipPoint1E; /* bottom_right S16_S16 in pixels 0be8-0beb*/
NvV32 Color0E; /* color of 0 pixels 0bec-0bef*/
NvV32 Color1E; /* color of 1 pixels 0bf0-0bf3*/
NvV32 SizeInE; /* height_width U16_U16 in pixels 0bf4-0bf7*/
NvV32 SizeOutE; /* height_width U16_U16 in pixels 0bf8-0bfb*/
NvV32 PointE; /* y_x S16_S16 in pixels 0bfc-0bff*/
NvV32 MonochromeColor01E[128]; /* 32 monochrome pixels per write 0c00-0dff*/
NvV32 Reserved06[0x07C];
NvV32 FontF; /* pitch_offset V4_U28 0ff0-0ff3*/
NvV32 ClipPoint0F; /* top_left S16_S16 in pixels 0ff4-0ff7*/
NvV32 ClipPoint1F; /* bottom_right S16_S16 in pixels 0ff8-0ffb*/
NvV32 Color1F; /* color of 1 pixels 0ffc-0fff*/
NvV32 CharacterColor1F[256]; /* y_x_index S12_S12_U8 1000-13ff*/
NvV32 Reserved07[0x0FC];
NvV32 FontG; /* pitch_offset V4_U28 17f0-17f3*/
NvV32 ClipPoint0G; /* top_left S16_S16 in pixels 17f4-17f7*/
NvV32 ClipPoint1G; /* bottom_right S16_S16 in pixels 17f8-17fb*/
NvV32 Color1G; /* color of 1 pixels 17fc-17ff*/
struct { /* start aliased methods in array 1800- */
NvV32 point; /* y_x S16_S16 in pixels 0- 3*/
NvU32 index; /* 0<=index<=65525 4- 7*/
} CharacterColor1G[256]; /* end of aliased methods in array -1fff*/
} Nv04aTypedef, Nv04GdiRectangleText;
#define NV04A_TYPEDEF Nv04GdiRectangleText
/* dma method offsets, fields, and values */
#define NV04A_SET_OBJECT (0x00000000)
#define NV04A_NO_OPERATION (0x00000100)
#define NV04A_NOTIFY (0x00000104)
#define NV04A_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04A_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04A_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV04A_SET_CONTEXT_DMA_FONTS (0x00000184)
#define NV04A_SET_CONTEXT_PATTERN (0x00000188)
#define NV04A_SET_CONTEXT_ROP (0x0000018C)
#define NV04A_SET_CONTEXT_BETA1 (0x00000190)
#define NV04A_SET_CONTEXT_BETA4 (0x00000194)
#define NV04A_SET_CONTEXT_SURFACE (0x00000198)
#define NV04A_SET_OPERATION (0x000002FC)
#define NV04A_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV04A_SET_OPERATION_ROP_AND (0x00000001)
#define NV04A_SET_OPERATION_BLEND_AND (0x00000002)
#define NV04A_SET_OPERATION_SRCCOPY (0x00000003)
#define NV04A_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV04A_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV04A_SET_COLOR_FORMAT (0x00000300)
#define NV04A_SET_COLOR_FORMAT_LE_X16R5G6B5 (0x00000001)
#define NV04A_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV04A_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV04A_SET_MONOCHROME_FORMAT (0x00000304)
#define NV04A_SET_MONOCHROME_FORMAT_CGA6_M1 (0x00000001)
#define NV04A_SET_MONOCHROME_FORMAT_LE_M1 (0x00000002)
#define NV04A_COLOR1_A (0x000003FC)
#define NV04A_UNCLIPPED_RECTANGLE(a) (0x00000400\
+(a)*0x0008)
#define NV04A_UNCLIPPED_RECTANGLE_POINT(a) (0x00000400\
+(a)*0x0008)
#define NV04A_UNCLIPPED_RECTANGLE_POINT_Y 15:0
#define NV04A_UNCLIPPED_RECTANGLE_POINT_X 31:16
#define NV04A_UNCLIPPED_RECTANGLE_SIZE(a) (0x00000404\
+(a)*0x0008)
#define NV04A_UNCLIPPED_RECTANGLE_SIZE_HEIGHT 15:0
#define NV04A_UNCLIPPED_RECTANGLE_SIZE_WIDTH 31:16
#define NV04A_CLIP_POINT0_B (0x000005F4)
#define NV04A_CLIP_POINT0_B_LEFT 15:0
#define NV04A_CLIP_POINT0_B_TOP 31:16
#define NV04A_CLIP_POINT1_B (0x000005F8)
#define NV04A_CLIP_POINT1_B_RIGHT 15:0
#define NV04A_CLIP_POINT1_B_BOTTOM 31:16
#define NV04A_COLOR1_B (0x000005FC)
#define NV04A_CLIPPED_RECTANGLE(a) (0x00000600\
+(a)*0x0008)
#define NV04A_CLIPPED_RECTANGLE_POINT_0(a) (0x00000600\
+(a)*0x0008)
#define NV04A_CLIPPED_RECTANGLE_POINT_0_LEFT 15:0
#define NV04A_CLIPPED_RECTANGLE_POINT_0_TOP 31:16
#define NV04A_CLIPPED_RECTANGLE_POINT_1(a) (0x00000604\
+(a)*0x0008)
#define NV04A_CLIPPED_RECTANGLE_POINT_1_RIGHT 15:0
#define NV04A_CLIPPED_RECTANGLE_POINT_1_BOTTOM 31:16
#define NV04A_CLIP_POINT0_C (0x000007EC)
#define NV04A_CLIP_POINT0_C_LEFT 15:0
#define NV04A_CLIP_POINT0_C_TOP 31:16
#define NV04A_CLIP_POINT1_C (0x000007F0)
#define NV04A_CLIP_POINT1_C_RIGHT 15:0
#define NV04A_CLIP_POINT1_C_BOTTOM 31:16
#define NV04A_COLOR1_C (0x000007F4)
#define NV04A_SIZE_C (0x000007F8)
#define NV04A_SIZE_C_WIDTH 15:0
#define NV04A_SIZE_C_HEIGHT 31:16
#define NV04A_POINT_C (0x000007FC)
#define NV04A_POINT_C_X 15:0
#define NV04A_POINT_C_Y 31:16
#define NV04A_MONOCHROME_COLOR1_C(a) (0x00000800\
+(a)*0x0004)
#define NV04A_CLIP_POINT0_E (0x00000BE4)
#define NV04A_CLIP_POINT0_E_LEFT 15:0
#define NV04A_CLIP_POINT0_E_TOP 31:16
#define NV04A_CLIP_POINT1_E (0x00000BE8)
#define NV04A_CLIP_POINT1_E_RIGHT 15:0
#define NV04A_CLIP_POINT1_E_BOTTOM 31:16
#define NV04A_COLOR0_E (0x00000BEC)
#define NV04A_COLOR1_E (0x00000BF0)
#define NV04A_SIZE_IN_E (0x00000BF4)
#define NV04A_SIZE_IN_E_WIDTH 15:0
#define NV04A_SIZE_IN_E_HEIGHT 31:16
#define NV04A_SIZE_OUT_E (0x00000BF8)
#define NV04A_SIZE_OUT_E_WIDTH 15:0
#define NV04A_SIZE_OUT_E_HEIGHT 31:16
#define NV04A_POINT_E (0x00000BFC)
#define NV04A_POINT_E_X 15:0
#define NV04A_POINT_E_Y 31:16
#define NV04A_MONOCHROME_COLOR01_E(a) (0x00000C00\
+(a)*0x0004)
#define NV04A_FONT_F (0x00000FF0)
#define NV04A_FONT_F_OFFSET 27:0
#define NV04A_FONT_F_PITCH 31:28
#define NV04A_FONT_F_PITCH_8 (0x00000003)
#define NV04A_FONT_F_PITCH_16 (0x00000004)
#define NV04A_FONT_F_PITCH_32 (0x00000005)
#define NV04A_FONT_F_PITCH_64 (0x00000006)
#define NV04A_FONT_F_PITCH_128 (0x00000007)
#define NV04A_FONT_F_PITCH_256 (0x00000008)
#define NV04A_FONT_F_PITCH_512 (0x00000009)
#define NV04A_CLIP_POINT0_F (0x00000FF4)
#define NV04A_CLIP_POINT0_F_LEFT 15:0
#define NV04A_CLIP_POINT0_F_TOP 31:16
#define NV04A_CLIP_POINT1_F (0x00000FF8)
#define NV04A_CLIP_POINT1_F_RIGHT 15:0
#define NV04A_CLIP_POINT1_F_BOTTOM 31:16
#define NV04A_COLOR1_F (0x00000FFC)
#define NV04A_CHARACTER_COLOR1_F(a) (0x00001000\
+(a)*0x0004)
#define NV04A_CHARACTER_COLOR1_F_INDEX 7:0
#define NV04A_CHARACTER_COLOR1_F_X 19:8
#define NV04A_CHARACTER_COLOR1_F_Y 31:20
#define NV04A_FONT_G (0x000017F0)
#define NV04A_FONT_G_OFFSET 27:0
#define NV04A_FONT_G_PITCH 31:28
#define NV04A_FONT_G_PITCH_8 (0x00000003)
#define NV04A_FONT_G_PITCH_16 (0x00000004)
#define NV04A_FONT_G_PITCH_32 (0x00000005)
#define NV04A_FONT_G_PITCH_64 (0x00000006)
#define NV04A_FONT_G_PITCH_128 (0x00000007)
#define NV04A_FONT_G_PITCH_256 (0x00000008)
#define NV04A_FONT_G_PITCH_512 (0x00000009)
#define NV04A_CLIP_POINT0_G (0x000017F4)
#define NV04A_CLIP_POINT0_G_LEFT 15:0
#define NV04A_CLIP_POINT0_G_TOP 31:16
#define NV04A_CLIP_POINT1_G (0x000017F8)
#define NV04A_CLIP_POINT1_G_RIGHT 15:0
#define NV04A_CLIP_POINT1_G_BOTTOM 31:16
#define NV04A_COLOR1_G (0x000017FC)
#define NV04A_CHARACTER_COLOR1_G(a) (0x00001800\
+(a)*0x0008)
#define NV04A_CHARACTER_COLOR1_G_POINT(a) (0x00001800\
+(a)*0x0008)
#define NV04A_CHARACTER_COLOR1_G_POINT_X 15:0
#define NV04A_CHARACTER_COLOR1_G_POINT_Y 31:16
#define NV04A_CHARACTER_COLOR1_G_INDEX(a) (0x00001804\
+(a)*0x0008)
/* obsolete stuff */
#define NV4_GDI_RECTANGLE_TEXT (0x0000004A)
#define Nv4GdiRectangleText Nv04GdiRectangleText
#define nv4GdiRectangleText Nv04GdiRectangleText
#define nv04GdiRectangleText Nv04GdiRectangleText
/* class NV03_GDI_RECTANGLE_TEXT */
#define NV03_GDI_RECTANGLE_TEXT (0x0000004B)
/* NvNotification[] elements */
#define NV04B_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV04B_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV04B_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV04B_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV04B_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV04B_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV04B_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV04B_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextPattern; /* NV01_CONTEXT_PATTERN 0184-0187*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0188-018b*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 018c-018f*/
NvV32 SetContextSurface; /* NV03_CONTEXT_SURFACE_2D_DESTINAT 0190-0193*/
NvV32 Reserved01[0x05a];
NvV32 SetOperation; /* NV04B_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV04B_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetMonochromeFormat; /* NV04B_SET_MONOCHROME_FORMAT_* 0304-0307*/
NvV32 Reserved02[0x03d];
NvV32 Color1A; /* rectangle color 03fc-03ff*/
struct { /* start aliased methods in array 0400- */
NvV32 point; /* x_y S16_S16 in pixels 0- 3*/
NvV32 size; /* width_height U16_U16 in pixels 4- 7*/
} UnclippedRectangle[64]; /* end of aliased methods in array -05ff*/
NvV32 Reserved03[0x07D];
NvV32 ClipPoint0B; /* top_left S16_S16 in pixels 07f4-07f7*/
NvV32 ClipPoint1B; /* bottom_right S16_S16 in pixels 07f8-07fb*/
NvV32 Color1B; /* rectangle color 07fc-07ff*/
struct { /* start aliased methods in array 0800- */
NvV32 point0; /* top_left S16_S16 in pixels 0- 3*/
NvV32 point1; /* bottom_right S16_S16 in pixels 4- 7*/
} ClippedRectangle[64]; /* end of aliased methods in array -09ff*/
NvV32 Reserved04[0x07B];
NvV32 ClipPoint0C; /* top_left S16_S16 in pixels 0bec-0bef*/
NvV32 ClipPoint1C; /* bottom_right S16_S16 in pixels 0bf0-0bf3*/
NvV32 Color1C; /* color of 1 pixels 0bf4-0bf7*/
NvV32 SizeC; /* height_width U16_U16 in pixels 0bf8-0bfb*/
NvV32 PointC; /* y_x S16_S16 in pixels 0bfc-0bff*/
NvV32 MonochromeColor1C[128]; /* 32 monochrome pixels per write 0c00-0dff*/
NvV32 Reserved05[0x07A];
NvV32 ClipPoint0D; /* top_left S16_S16 in pixels 0fe8-0feb*/
NvV32 ClipPoint1D; /* bottom_right S16_S16 in pixels 0fec-0fef*/
NvV32 Color1D; /* color of 1 pixels 0ff0-0ff3*/
NvV32 SizeInD; /* height_width U16_U16 in pixels 0ff4-0ff7*/
NvV32 SizeOutD; /* height_width U16_U16 in pixels 0ff8-0ffb*/
NvV32 PointD; /* y_x S16_S16 in pixels 0ffc-0fff*/
NvV32 MonochromeColor1D[128]; /* 32 monochrome pixels per write 1000-11ff*/
NvV32 Reserved06[0x079];
NvV32 ClipPoint0E; /* top_left S16_S16 in pixels 13e4-13e7*/
NvV32 ClipPoint1E; /* bottom_right S16_S16 in pixels 13e8-13eb*/
NvV32 Color0E; /* color of 0 pixels 13ec-13ef*/
NvV32 Color1E; /* color of 1 pixels 13f0-13f3*/
NvV32 SizeInE; /* height_width U16_U16 in pixels 13f4-13f7*/
NvV32 SizeOutE; /* height_width U16_U16 in pixels 13f8-13fb*/
NvV32 PointE; /* y_x S16_S16 in pixels 13fc-13ff*/
NvV32 MonochromeColor01E[128]; /* 32 monochrome pixels per write 1400-15ff*/
NvV32 Reserved07[0x280];
} Nv04bTypedef, Nv03GdiRectangleText;
#define NV04B_TYPEDEF Nv03GdiRectangleText
/* dma method offsets, fields, and values */
#define NV04B_SET_OBJECT (0x00000000)
#define NV04B_NO_OPERATION (0x00000100)
#define NV04B_NOTIFY (0x00000104)
#define NV04B_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV04B_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV04B_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV04B_SET_CONTEXT_PATTERN (0x00000184)
#define NV04B_SET_CONTEXT_ROP (0x00000188)
#define NV04B_SET_CONTEXT_BETA1 (0x0000018C)
#define NV04B_SET_CONTEXT_SURFACE (0x00000190)
#define NV04B_SET_OPERATION (0x000002FC)
#define NV04B_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV04B_SET_OPERATION_ROP_AND (0x00000001)
#define NV04B_SET_OPERATION_BLEND_AND (0x00000002)
#define NV04B_SET_COLOR_FORMAT (0x00000300)
#define NV04B_SET_COLOR_FORMAT_LE_X24Y8 (0x00000001)
#define NV04B_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV04B_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV04B_SET_MONOCHROME_FORMAT (0x00000304)
#define NV04B_SET_MONOCHROME_FORMAT_CGA6_M1 (0x00000001)
#define NV04B_SET_MONOCHROME_FORMAT_LE_M1 (0x00000002)
#define NV04B_COLOR1_A (0x000003FC)
#define NV04B_UNCLIPPED_RECTANGLE(a) (0x00000400\
+(a)*0x0008)
#define NV04B_UNCLIPPED_RECTANGLE_POINT(a) (0x00000400\
+(a)*0x0008)
#define NV04B_UNCLIPPED_RECTANGLE_POINT_X 15:0
#define NV04B_UNCLIPPED_RECTANGLE_POINT_Y 31:16
#define NV04B_UNCLIPPED_RECTANGLE_SIZE(a) (0x00000404\
+(a)*0x0008)
#define NV04B_UNCLIPPED_RECTANGLE_SIZE_WIDTH 15:0
#define NV04B_UNCLIPPED_RECTANGLE_SIZE_HEIGHT 31:16
#define NV04B_CLIP_POINT0_B (0x000007F4)
#define NV04B_CLIP_POINT0_B_LEFT 15:0
#define NV04B_CLIP_POINT0_B_TOP 31:16
#define NV04B_CLIP_POINT1_B (0x000007F8)
#define NV04B_CLIP_POINT1_B_RIGHT 15:0
#define NV04B_CLIP_POINT1_B_BOTTOM 31:16
#define NV04B_COLOR1_B (0x000007FC)
#define NV04B_CLIPPED_RECTANGLE(a) (0x00000800\
+(a)*0x0008)
#define NV04B_CLIPPED_RECTANGLE_POINT0(a) (0x00000800\
+(a)*0x0008)
#define NV04B_CLIPPED_RECTANGLE_POINT0_LEFT 15:0
#define NV04B_CLIPPED_RECTANGLE_POINT0_TOP 31:16
#define NV04B_CLIPPED_RECTANGLE_POINT1(a) (0x00000804\
+(a)*0x0008)
#define NV04B_CLIPPED_RECTANGLE_POINT1_RIGHT 15:0
#define NV04B_CLIPPED_RECTANGLE_POINT1_BOTTOM 31:16
#define NV04B_CLIP_POINT0_C (0x00000BEC)
#define NV04B_CLIP_POINT0_C_LEFT 15:0
#define NV04B_CLIP_POINT0_C_TOP 31:16
#define NV04B_CLIP_POINT1_C (0x00000BF0)
#define NV04B_CLIP_POINT1_C_RIGHT 15:0
#define NV04B_CLIP_POINT1_C_BOTTOM 31:16
#define NV04B_COLOR1_C (0x00000BF4)
#define NV04B_SIZE_C (0x00000BF8)
#define NV04B_SIZE_C_WIDTH 15:0
#define NV04B_SIZE_C_HEIGHT 31:16
#define NV04B_POINT_C (0x00000BFC)
#define NV04B_POINT_C_X 15:0
#define NV04B_POINT_C_Y 31:16
#define NV04B_MONOCHROME_COLOR1_C(a) (0x00000C00\
+(a)*0x0004)
#define NV04B_CLIP_POINT0_D (0x00000FE8)
#define NV04B_CLIP_POINT0_D_LEFT 15:0
#define NV04B_CLIP_POINT0_D_TOP 31:16
#define NV04B_CLIP_POINT1_D (0x00000FEC)
#define NV04B_CLIP_POINT1_D_RIGHT 15:0
#define NV04B_CLIP_POINT1_D_BOTTOM 31:16
#define NV04B_COLOR1_D (0x00000FF0)
#define NV04B_SIZE_IN_D (0x00000FF4)
#define NV04B_SIZE_IN_D_WIDTH 15:0
#define NV04B_SIZE_IN_D_HEIGHT 31:16
#define NV04B_SIZE_OUT_D (0x00000FF8)
#define NV04B_SIZE_OUT_D_WIDTH 15:0
#define NV04B_SIZE_OUT_D_HEIGHT 31:16
#define NV04B_POINT_D (0x00000FFC)
#define NV04B_POINT_D_X 15:0
#define NV04B_POINT_D_Y 31:16
#define NV04B_MONOCHROME_COLOR1_D(a) (0x00001000\
+(a)*0x0004)
#define NV04B_CLIP_POINT0_E (0x000013E4)
#define NV04B_CLIP_POINT0_E_LEFT 15:0
#define NV04B_CLIP_POINT0_E_TOP 31:16
#define NV04B_CLIP_POINT1_E (0x000013E8)
#define NV04B_CLIP_POINT1_E_RIGHT 15:0
#define NV04B_CLIP_POINT1_E_BOTTOM 31:16
#define NV04B_COLOR0_E (0x000013EC)
#define NV04B_COLOR1_E (0x000013F0)
#define NV04B_SIZE_IN_E (0x000013F4)
#define NV04B_SIZE_IN_E_WIDTH 15:0
#define NV04B_SIZE_IN_E_HEIGHT 31:16
#define NV04B_SIZE_OUT_E (0x000013F8)
#define NV04B_SIZE_OUT_E_WIDTH 15:0
#define NV04B_SIZE_OUT_E_HEIGHT 31:16
#define NV04B_POINT_E (0x000013FC)
#define NV04B_POINT_E_X 15:0
#define NV04B_POINT_E_Y 31:16
#define NV04B_MONOCHROME_COLOR01_E(a) (0x00001400\
+(a)*0x0004)
/* obsolete stuff */
#define NV3_GDI_RECTANGLE_TEXT (0x0000004B)
#define Nv3GdiRectangleText Nv03GdiRectangleText
#define nv3GdiRectangleText Nv03GdiRectangleText
#define nv03GdiRectangleText Nv03GdiRectangleText
typedef NvV32 Nv04cTypedef;
/* class NV03_EXTERNAL_VIDEO_DECODER */
#define NV03_EXTERNAL_VIDEO_DECODER (0x0000004D)
/* NvNotification[] elements */
#define NV04D_NOTIFIERS_NOTIFY (0)
#define NV04D_NOTIFIERS_SET_VBI_FORMAT_NOTIFY(b) (1+(b))
#define NV04D_NOTIFIERS_GET_VBI_OFFSET_NOTIFY(b) (3+(b))
#define NV04D_NOTIFIERS_SET_IMAGE_FORMAT_NOTIFY(b) (5+(b))
#define NV04D_NOTIFIERS_GET_IMAGE_OFFSET_NOTIFY(b) (7+(b))
/* NvNotification[] fields and values */
#define NV04D_NOTIFICATION_INFO16_FIELD_NOT_STARTED (0x0000)
#define NV04D_NOTIFICATION_INFO16_FIELD_VALID_OFFSET (0x0001)
#define NV04D_NOTIFICATION_INFO16_FIELD_DONE (0x0002)
#define NV04D_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV04D_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV04D_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV04D_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV04D_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV04D_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NV04D_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV04D_NOTIFY_* 0104-0107*/
NvV32 StopTransferVbi; /* NV04D_STOP_TRANSFER_VBI_VALUE 0108-010b*/
NvV32 StopTransferImage; /* NV04D_STOP_TRANSFER_IMAGE_VALUE 010c-010f*/
NvV32 Reserved00[0x01c];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaVbi[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 018c-0193*/
NvV32 Reserved01[0x059];
NvU32 SetImageConfig; /* data width, task bit, null data 02f8-02fb*/
NvU32 SetImageStartLine; /* lines 02fc-02ff*/
struct { /* start of methods in array 0300- */
NvV32 size; /* height_firstLine U16_U16 0- 3*/
NvU32 offset; /* byte offset of top-left pixel 4- 7*/
NvV32 format; /* notify_field_pitch V8_V8_U16 8- b*/
} SetVbi[2]; /* end of methods in array -0317*/
NvV32 GetVbiOffsetNotify[2]; /* NV04D_GET_VBI_OFFSET_NOTIFY_* 0318-031f*/
struct { /* start of methods in array 0320- */
NvV32 sizeIn; /* height_width U16_U16 in pixels 0- 3*/
NvV32 sizeOut; /* height_width U16_U16 in pixels 4- 7*/
NvU32 offset; /* byte offset of top-left pixel 8- b*/
NvV32 format; /* notify_field_pitch V8_V8_U16 c- f*/
} SetImage[2]; /* end of methods in array -033f*/
NvV32 GetImageOffsetNotify[2]; /* NV04D_GET_IMAGE_OFFSET_NOTIFY_* 0340-0347*/
NvV32 Reserved02[0x72e];
} Nv04dTypedef, Nv03ExternalVideoDecoder;
#define NV04D_TYPEDEF Nv03ExternalVideoDecoder
/* dma method offsets, fields, and values */
#define NV04D_SET_OBJECT (0x00000000)
#define NV04D_NO_OPERATION (0x00000100)
#define NV04D_NOTIFY (0x00000104)
#define NV04D_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04D_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04D_STOP_TRANSFER_VBI (0x00000108)
#define NV04D_STOP_TRANSFER_VBI_VALUE (0x00000000)
#define NV04D_STOP_TRANSFER_IMAGE (0x0000010C)
#define NV04D_STOP_TRANSFER_IMAGE_VALUE (0x00000000)
#define NV04D_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV04D_SET_CONTEXT_DMA_VBI(b) (0x00000184\
+(b)*0x0004)
#define NV04D_SET_CONTEXT_DMA_IMAGE(b) (0x0000018C\
+(b)*0x0004)
#define NV04D_SET_IMAGE_CONFIG (0x000002f8)
#define NV04D_SET_IMAGE_CONFIG_DATA_WIDTH 7:0
#define NV04D_SET_IMAGE_CONFIG_TASK 8:8
#define NV04D_SET_IMAGE_CONFIG_TASK_A (0x00000000)
#define NV04D_SET_IMAGE_CONFIG_TASK_B (0x00000001)
#define NV04D_SET_IMAGE_CONFIG_NULL_DATA 13:12
#define NV04D_SET_IMAGE_CONFIG_NULL_DATA_DISABLED (0x00000000)
#define NV04D_SET_IMAGE_CONFIG_NULL_DATA_BYTE_ENABLED (0x00000001)
#define NV04D_SET_IMAGE_CONFIG_NULL_DATA_LINE_ENABLED (0x00000002)
#define NV04D_SET_IMAGE_CONFIG_NULL_VALUE 31:16
#define NV04D_SET_IMAGE_START_LINE (0x000002FC)
#define NV04D_SET_VBI(b) (0x00000300\
+(b)*0x000C)
#define NV04D_SET_VBI_SIZE(b) (0x00000300\
+(b)*0x000C)
#define NV04D_SET_VBI_SIZE_FIRST_LINE 15:0
#define NV04D_SET_VBI_SIZE_HEIGHT 31:16
#define NV04D_SET_VBI_OFFSET(b) (0x00000304\
+(b)*0x000C)
#define NV04D_SET_VBI_FORMAT(b) (0x00000308\
+(b)*0x000C)
#define NV04D_SET_VBI_FORMAT_PITCH 15:0
#define NV04D_SET_VBI_FORMAT_FIELD 23:16
#define NV04D_SET_VBI_FORMAT_FIELD_PROGRESSIVE (0x00000000)
#define NV04D_SET_VBI_FORMAT_FIELD_EVEN_FIELD (0x00000001)
#define NV04D_SET_VBI_FORMAT_FIELD_ODD_FIELD (0x00000002)
#define NV04D_SET_VBI_FORMAT_NOTIFY 31:24
#define NV04D_SET_VBI_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04D_SET_VBI_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04D_GET_VBI_OFFSET_NOTIFY(b) (0x00000318\
+(b)*0x0004)
#define NV04D_GET_VBI_OFFSET_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04D_GET_VBI_OFFSET_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04D_SET_IMAGE(b) (0x00000320\
+(b)*0x0010)
#define NV04D_SET_IMAGE_SIZE_IN(b) (0x00000320\
+(b)*0x0010)
#define NV04D_SET_IMAGE_SIZE_IN_WIDTH 15:0
#define NV04D_SET_IMAGE_SIZE_IN_HEIGHT 31:16
#define NV04D_SET_IMAGE_SIZE_OUT(b) (0x00000324\
+(b)*0x0010)
#define NV04D_SET_IMAGE_SIZE_OUT_WIDTH 15:0
#define NV04D_SET_IMAGE_SIZE_OUT_HEIGHT 31:16
#define NV04D_SET_IMAGE_OFFSET(b) (0x00000328\
+(b)*0x0010)
#define NV04D_SET_IMAGE_FORMAT(b) (0x0000032C\
+(b)*0x0010)
#define NV04D_SET_IMAGE_FORMAT_PITCH 15:0
#define NV04D_SET_IMAGE_FORMAT_FIELD 23:16
#define NV04D_SET_IMAGE_FORMAT_FIELD_PROGRESSIVE (0x00000000)
#define NV04D_SET_IMAGE_FORMAT_FIELD_EVEN_FIELD (0x00000001)
#define NV04D_SET_IMAGE_FORMAT_FIELD_ODD_FIELD (0x00000002)
#define NV04D_SET_IMAGE_FORMAT_NOTIFY 31:24
#define NV04D_SET_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04D_SET_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04D_GET_IMAGE_OFFSET_NOTIFY(b) (0x00000340\
+(b)*0x0004)
#define NV04D_GET_IMAGE_OFFSET_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04D_GET_IMAGE_OFFSET_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define NV3_EXTERNAL_VIDEO_DECOMPRESSOR (0x0000004E)
#define Nv3ExternalVideoDecoder Nv03ExternalVideoDecoder
#define nv3ExternalVideoDecoder Nv03ExternalVideoDecoder
#define nv03ExternalVideoDecoder Nv03ExternalVideoDecoder
/* class NV03_EXTERNAL_VIDEO_DECOMPRESSOR */
#define NV03_EXTERNAL_VIDEO_DECOMPRESSOR (0x0000004E)
/* NvNotification[] elements */
#define NV04E_NOTIFIERS_NOTIFY (0)
#define NV04E_NOTIFIERS_SET_DATA_NOTIFY(b) (1+(b))
#define NV04E_NOTIFIERS_SET_IMAGE_NOTIFY(b) (3+(b))
/* NvNotification[] fields and values */
#define NV04E_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV04E_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV04E_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV04E_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV04E_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV04E_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NV04E_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV04E_NOTIFY_* 0104-0107*/
NvV32 StopTransfer; /* NV04E_STOP_TRANSFER_VALUE 0108-010b*/
NvV32 Reserved00[0x01d];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaData[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 018c-0193*/
NvV32 Reserved01[0x05b];
struct { /* start of methods in array 0300- */
NvU32 offset; /* in bytes 0- 3*/
NvU32 length; /* in bytes 4- 7*/
NvV32 notify; /* NV04E_SET_DATA_NOTIFY_* 8- b*/
} SetData[2]; /* end of methods in array -0317*/
struct { /* start of methods in array 0318- */
NvV32 formatIn; /* zero_field V16_V16 00- 03*/
NvV32 size; /* height_width U16_U16 in pixels 04- 07*/
NvU32 offsetOut; /* byte offset of top-left pixel 08- 0b*/
NvV32 formatOut; /* ignore_pitch V16_U16 0c- 0f*/
NvV32 notify; /* NV04E_SET_IMAGE_NOTIFY_* 10- 13*/
} SetImage[2]; /* end of methods in array -033f*/
NvV32 Reserved02[0x730];
} Nv04eTypedef, Nv03ExternalVideoDecompressor;
#define NV04E_TYPEDEF Nv03ExternalVideoDecompressor
/* dma method offsets, fields, and values */
#define NV04E_SET_OBJECT (0x00000000)
#define NV04E_NO_OPERATION (0x00000100)
#define NV04E_NOTIFY (0x00000104)
#define NV04E_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04E_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04E_STOP_TRANSFER (0x00000108)
#define NV04E_STOP_TRANSFER_VALUE (0x00000000)
#define NV04E_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV04E_SET_CONTEXT_DMA_DATA(b) (0x00000184\
+(b)*0x0004)
#define NV04E_SET_CONTEXT_DMA_IMAGE(b) (0x0000018C\
+(b)*0x0004)
#define NV04E_SET_DATA(b) (0x00000300\
+(b)*0x000C)
#define NV04E_SET_DATA_OFFSET(b) (0x00000300\
+(b)*0x000C)
#define NV04E_SET_DATA_LENGTH(b) (0x00000304\
+(b)*0x000C)
#define NV04E_SET_DATA_NOTIFY(b) (0x00000308\
+(b)*0x000C)
#define NV04E_SET_DATA_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04E_SET_DATA_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04E_SET_IMAGE(b) (0x00000318\
+(b)*0x0014)
#define NV04E_SET_IMAGE_FORMAT_IN(b) (0x00000318\
+(b)*0x0014)
#define NV04E_SET_IMAGE_FORMAT_IN_FIELD 15:0
#define NV04E_SET_IMAGE_FORMAT_IN_FIELD_PROGRESSIVE (0x00000001)
#define NV04E_SET_IMAGE_FORMAT_IN_FIELD_EVEN_FIELD (0x00000002)
#define NV04E_SET_IMAGE_FORMAT_IN_FIELD_ODD_FIELD (0x00000003)
#define NV04E_SET_IMAGE_FORMAT_IN_ZERO 31:16
#define NV04E_SET_IMAGE_SIZE(b) (0x0000031C\
+(b)*0x0014)
#define NV04E_SET_IMAGE_SIZE_WIDTH 15:0
#define NV04E_SET_IMAGE_SIZE_HEIGHT 31:16
#define NV04E_SET_IMAGE_OFFSET_OUT(b) (0x00000320\
+(b)*0x0014)
#define NV04E_SET_IMAGE_FORMAT_OUT(b) (0x00000324\
+(b)*0x0014)
#define NV04E_SET_IMAGE_FORMAT_OUT_PITCH 15:0
#define NV04E_SET_IMAGE_FORMAT_OUT_IGNORE 31:16
#define NV04E_SET_IMAGE_NOTIFY(b) (0x00000328\
+(b)*0x0014)
#define NV04E_SET_IMAGE_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04E_SET_IMAGE_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define NV3_EXTERNAL_VIDEO_DECOMPRESSOR (0x0000004E)
#define Nv3ExternalVideoDecompressor Nv03ExternalVideoDecompressor
#define nv3ExternalVideoDecompressor Nv03ExternalVideoDecompressor
#define nv03ExternalVideoDecompressor Nv03ExternalVideoDecompressor
/* class NV01_EXTERNAL_PARALLEL_BUS */
#define NV01_EXTERNAL_PARALLEL_BUS (0x0000004F)
/* NvNotification[] elements */
#define NV04F_NOTIFIERS_NOTIFY (0)
#define NV04F_NOTIFICATION_READ_GET_DATA_NOTIFY (1)
#define NV04F_NOTIFICATION_SET_INTERRUPT_NOTIFY (2)
/* NvNotification[] fields and values */
#define NV04F_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV04F_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV04F_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV04F_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV04F_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV04F_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NV04F_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV04F_NOTIFY_* 0104-0107*/
NvV32 StopTransfer; /* NV04F_STOP_TRANSFER_VALUE 0108-010b*/
NvV32 Reserved00[0x01d];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 WriteSize; /* address_data U16_U16 0300-0303*/
NvU32 WriteAddress; /* in bytes 0304-0307*/
NvV32 WriteData; /* data 0308-030b*/
NvV32 ReadSize; /* address_data U16_U16 030c-030f*/
NvU32 ReadAddress; /* in bytes 0310-0313*/
NvV32 ReadGetDataNotify; /* NV04F_READ_GET_DATA_NOTIFY_* 0314-0317*/
NvV32 SetInterruptNotify; /* NV04F_SET_INTERRUPT_NOTIFY_* 0318-031b*/
NvV32 Reserved02[0x739];
} Nv04fTypedef, Nv01ExternalParallelBus;
#define NV04F_TYPEDEF Nv01ExternalParallelBus
/* dma method offsets, fields, and values */
#define NV04F_SET_OBJECT (0x00000000)
#define NV04F_NO_OPERATION (0x00000100)
#define NV04F_NOTIFY (0x00000104)
#define NV04F_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04F_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04F_STOP_TRANSFER (0x00000108)
#define NV04F_STOP_TRANSFER_VALUE (0x00000000)
#define NV04F_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV04F_WRITE (0x00000300)
#define NV04F_WRITE_SIZE (0x00000300)
#define NV04F_WRITE_SIZE_DATA 15:0
#define NV04F_WRITE_SIZE_ADDRESS 31:16
#define NV04F_WRITE_ADDRESS (0x00000304)
#define NV04F_WRITE_DATA (0x00000308)
#define NV04F_READ (0x0000030C)
#define NV04F_READ_SIZE (0x0000030C)
#define NV04F_READ_SIZE_DATA 15:0
#define NV04F_READ_SIZE_ADDRESS 31:16
#define NV04F_READ_ADDRESS (0x00000310)
#define NV04F_READ_GET_DATA_NOTIFY (0x00000314)
#define NV04F_READ_GET_DATA_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04F_READ_GET_DATA_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV04F_SET_INTERRUPT_NOTIFY (0x00000318)
#define NV04F_SET_INTERRUPT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV04F_SET_INTERRUPT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define NV1_EXTERNAL_PARALLEL_BUS (0x0000004F)
#define Nv1ExternalParallelBus Nv01ExternalParallelBus
#define nv1ExternalParallelBus Nv01ExternalParallelBus
#define nv01ExternalParallelBus Nv01ExternalParallelBus
/* class NV03_EXTERNAL_MONITOR_BUS */
#define NV03_EXTERNAL_MONITOR_BUS (0x00000050)
/* NvNotification[] elements */
#define NV050_NOTIFIERS_NOTIFY (0)
#define NV050_NOTIFICATION_READ_GET_DATA_NOTIFY (1)
#define NV050_NOTIFICATION_SET_INTERRUPT_NOTIFY (2)
/* NvNotification[] fields and values */
#define NV050_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV050_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV050_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV050_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV050_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV050_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NV050_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV050_NOTIFY_* 0104-0107*/
NvV32 StopTransfer; /* NV050_STOP_TRANSFER_VALUE 0108-010b*/
NvV32 Reserved00[0x01d];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 WriteSize; /* address_data U16_U16 0300-0303*/
NvU32 WriteAddress; /* in bytes 0304-0307*/
NvV32 WriteData; /* data 0308-030b*/
NvV32 ReadSize; /* address_data U16_U16 030c-030f*/
NvU32 ReadAddress; /* in bytes 0310-0313*/
NvV32 ReadGetDataNotify; /* NV050_READ_GET_DATA_NOTIFY_* 0314-0317*/
NvV32 SetInterruptNotify; /* NV050_SET_INTERRUPT_NOTIFY_* 0318-031b*/
NvV32 Reserved02[0x739];
} Nv050Typedef, Nv03ExternalMonitorBus;
#define NV050_TYPEDEF Nv03ExternalMonitorBus
/* dma method offsets, fields, and values */
#define NV050_SET_OBJECT (0x00000000)
#define NV050_NO_OPERATION (0x00000100)
#define NV050_NOTIFY (0x00000104)
#define NV050_NOTIFY_WRITE_ONLY (0x00000000)
#define NV050_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV050_STOP_TRANSFER (0x00000108)
#define NV050_STOP_TRANSFER_VALUE (0x00000000)
#define NV050_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV050_WRITE (0x00000300)
#define NV050_WRITE_SIZE (0x00000300)
#define NV050_WRITE_SIZE_DATA 15:0
#define NV050_WRITE_SIZE_ADDRESS 31:16
#define NV050_WRITE_ADDRESS (0x00000304)
#define NV050_WRITE_DATA (0x00000308)
#define NV050_READ (0x0000030C)
#define NV050_READ_SIZE (0x0000030C)
#define NV050_READ_SIZE_DATA 15:0
#define NV050_READ_SIZE_ADDRESS 31:16
#define NV050_READ_ADDRESS (0x00000310)
#define NV050_READ_GET_DATA_NOTIFY (0x00000314)
#define NV050_READ_GET_DATA_NOTIFY_WRITE_ONLY (0x00000000)
#define NV050_READ_GET_DATA_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV050_SET_INTERRUPT_NOTIFY (0x00000318)
#define NV050_SET_INTERRUPT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV050_SET_INTERRUPT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define NV3_EXTERNAL_MONITOR_BUS (0x00000050)
#define Nv3ExternalMonitorBus Nv03ExternalMonitorBus
#define nv3ExternalMonitorBus Nv03ExternalMonitorBus
#define nv03ExternalMonitorBus Nv03ExternalMonitorBus
/* class NV04_EXTERNAL_SERIAL_BUS */
#define NV04_EXTERNAL_SERIAL_BUS (0x00000051)
/* NvNotification[] elements */
#define NV051_NOTIFIERS_NOTIFY (0)
#define NV051_NOTIFICATION_READ_GET_DATA_NOTIFY (1)
#define NV051_NOTIFICATION_SET_INTERRUPT_NOTIFY (2)
/* NvNotification[] fields and values */
#define NV051_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV051_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV051_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV051_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV051_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV051_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NV051_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV051_NOTIFY_* 0104-0107*/
NvV32 StopTransfer; /* NV051_STOP_TRANSFER_VALUE 0108-010b*/
NvV32 Reserved00[0x01d];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 WriteSize; /* address_data U16_U16 0300-0303*/
NvU32 WriteAddress; /* in bytes 0304-0307*/
NvV32 WriteData; /* data 0308-030b*/
NvV32 ReadSize; /* address_data U16_U16 030c-030f*/
NvU32 ReadAddress; /* in bytes 0310-0313*/
NvV32 ReadGetDataNotify; /* NV051_READ_GET_DATA_NOTIFY_* 0314-0317*/
NvV32 SetInterruptNotify; /* NV051_SET_INTERRUPT_NOTIFY_* 0318-031b*/
NvV32 Reserved02[0x739];
} Nv051Typedef, Nv04ExternalSerialBus;
#define NV051_TYPEDEF Nv04ExternalSerialBus
/* dma method offsets, fields, and values */
#define NV051_SET_OBJECT (0x00000000)
#define NV051_NO_OPERATION (0x00000100)
#define NV051_NOTIFY (0x00000104)
#define NV051_NOTIFY_WRITE_ONLY (0x00000000)
#define NV051_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV051_STOP_TRANSFER (0x00000108)
#define NV051_STOP_TRANSFER_VALUE (0x00000000)
#define NV051_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV051_WRITE (0x00000300)
#define NV051_WRITE_SIZE (0x00000300)
#define NV051_WRITE_SIZE_DATA 15:0
#define NV051_WRITE_SIZE_ADDRESS 31:16
#define NV051_WRITE_ADDRESS (0x00000304)
#define NV051_WRITE_DATA (0x00000308)
#define NV051_READ (0x0000030C)
#define NV051_READ_SIZE (0x0000030C)
#define NV051_READ_SIZE_DATA 15:0
#define NV051_READ_SIZE_ADDRESS 31:16
#define NV051_READ_ADDRESS (0x00000310)
#define NV051_READ_GET_DATA_NOTIFY (0x00000314)
#define NV051_READ_GET_DATA_NOTIFY_WRITE_ONLY (0x00000000)
#define NV051_READ_GET_DATA_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV051_SET_INTERRUPT_NOTIFY (0x00000318)
#define NV051_SET_INTERRUPT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV051_SET_INTERRUPT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define NV03_EXTERNAL_SERIAL_BUS (0x00000051)
#define NV3_EXTERNAL_SERIAL_BUS (0x00000051)
#define Nv03ExternalSerialBus Nv04ExternalSerialBus
#define nv03ExternalSerialBus Nv04ExternalSerialBus
#define Nv3ExternalSerialBus Nv04ExternalSerialBus
#define nv3ExternalSerialBus Nv04ExternalSerialBus
#define nv04ExternalSerialBus Nv04ExternalSerialBus
/* class NV04_CONTEXT_SURFACE_SWIZZLED */
#define NV04_CONTEXT_SURFACE_SWIZZLED (0x00000052)
/* NvNotification[] elements */
#define NV052_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV052_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV052_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV052_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV052_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV052_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV052_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV052_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 Reserved01[0x05e];
NvV32 SetFormat; /* height_width_color V8_V8_V16 0300-0303*/
NvU32 SetOffset; /* byte offset of top-left pixel 0304-0307*/
NvV32 Reserved02[0x73e];
} Nv052Typedef, Nv04ContextSurfaceSwizzled;
#define NV052_TYPEDEF Nv04ContextSurfaceSwizzled
/* dma method offsets, fields, and values */
#define NV052_SET_OBJECT (0x00000000)
#define NV052_NO_OPERATION (0x00000100)
#define NV052_NOTIFY (0x00000104)
#define NV052_NOTIFY_WRITE_ONLY (0x00000000)
#define NV052_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV052_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV052_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV052_SET_FORMAT (0x00000300)
#define NV052_SET_FORMAT_COLOR 15:0
#define NV052_SET_FORMAT_COLOR_LE_Y8 (0x00000001)
#define NV052_SET_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 (0x00000002)
#define NV052_SET_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 (0x00000003)
#define NV052_SET_FORMAT_COLOR_LE_R5G6B5 (0x00000004)
#define NV052_SET_FORMAT_COLOR_LE_Y16 (0x00000005)
#define NV052_SET_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 (0x00000006)
#define NV052_SET_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 (0x00000007)
#define NV052_SET_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 (0x00000008)
#define NV052_SET_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 (0x00000009)
#define NV052_SET_FORMAT_COLOR_LE_A8R8G8B8 (0x0000000A)
#define NV052_SET_FORMAT_COLOR_LE_Y32 (0x0000000B)
#define NV052_SET_FORMAT_WIDTH 23:16
#define NV052_SET_FORMAT_WIDTH_1 (0x00000000)
#define NV052_SET_FORMAT_WIDTH_2 (0x00000001)
#define NV052_SET_FORMAT_WIDTH_4 (0x00000002)
#define NV052_SET_FORMAT_WIDTH_8 (0x00000003)
#define NV052_SET_FORMAT_WIDTH_16 (0x00000004)
#define NV052_SET_FORMAT_WIDTH_32 (0x00000005)
#define NV052_SET_FORMAT_WIDTH_64 (0x00000006)
#define NV052_SET_FORMAT_WIDTH_128 (0x00000007)
#define NV052_SET_FORMAT_WIDTH_256 (0x00000008)
#define NV052_SET_FORMAT_WIDTH_512 (0x00000009)
#define NV052_SET_FORMAT_WIDTH_1024 (0x0000000A)
#define NV052_SET_FORMAT_WIDTH_2048 (0x0000000B)
#define NV052_SET_FORMAT_HEIGHT 31:24
#define NV052_SET_FORMAT_HEIGHT_1 (0x00000000)
#define NV052_SET_FORMAT_HEIGHT_2 (0x00000001)
#define NV052_SET_FORMAT_HEIGHT_4 (0x00000002)
#define NV052_SET_FORMAT_HEIGHT_8 (0x00000003)
#define NV052_SET_FORMAT_HEIGHT_16 (0x00000004)
#define NV052_SET_FORMAT_HEIGHT_32 (0x00000005)
#define NV052_SET_FORMAT_HEIGHT_64 (0x00000006)
#define NV052_SET_FORMAT_HEIGHT_128 (0x00000007)
#define NV052_SET_FORMAT_HEIGHT_256 (0x00000008)
#define NV052_SET_FORMAT_HEIGHT_512 (0x00000009)
#define NV052_SET_FORMAT_HEIGHT_1024 (0x0000000A)
#define NV052_SET_FORMAT_HEIGHT_2048 (0x0000000B)
#define NV052_SET_OFFSET (0x00000304)
/* obsolete stuff */
#define NV4_CONTEXT_SURFACE_SWIZZLED (0x00000052)
#define Nv4ContextSurfaceSwizzled Nv04ContextSurfaceSwizzled
#define nv4ContextSurfaceSwizzled Nv04ContextSurfaceSwizzled
#define nv04ContextSurfaceSwizzled Nv04ContextSurfaceSwizzled
/* class NV04_CONTEXT_SURFACES_3D */
#define NV04_CONTEXT_SURFACES_3D (0x00000053)
/* NvNotification[] elements */
#define NV053_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV053_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV053_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV053_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV053_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV053_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV053_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV053_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaColor; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaZeta; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 Reserved01[0x05b];
NvV32 SetClipHorizontal; /* width_x U16_U16 02F8-02FB*/
NvV32 SetClipVertical; /* height_y U16_U16 02FC-02FF*/
NvV32 SetFormat; /* height_width_type_color all V8 0300-0303*/
NvV32 SetClipSize; /* height_width U16_U16 0304-0307*/
NvU32 SetPitch; /* zeta_color U16_U16 0308-030b*/
NvU32 SetOffsetColor; /* byte offset of top-left pixel 030c-030f*/
NvU32 SetOffsetZeta; /* byte offset of top-left pixel 0310-0313*/
NvV32 Reserved02[0x73b];
} Nv053Typedef, Nv04ContextSurfaces3d;
#define NV053_TYPEDEF Nv04ContextSurfaces3d
/* dma method offsets, fields, and values */
#define NV053_SET_OBJECT (0x00000000)
#define NV053_NO_OPERATION (0x00000100)
#define NV053_NOTIFY (0x00000104)
#define NV053_NOTIFY_WRITE_ONLY (0x00000000)
#define NV053_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV053_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV053_SET_CONTEXT_DMA_COLOR (0x00000184)
#define NV053_SET_CONTEXT_DMA_ZETA (0x00000188)
#define NV053_SET_FORMAT (0x00000300)
#define NV053_SET_FORMAT_COLOR 7:0
#define NV053_SET_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 (0x00000001)
#define NV053_SET_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 (0x00000002)
#define NV053_SET_FORMAT_COLOR_LE_R5G6B5 (0x00000003)
#define NV053_SET_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 (0x00000004)
#define NV053_SET_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 (0x00000005)
#define NV053_SET_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 (0x00000006)
#define NV053_SET_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 (0x00000007)
#define NV053_SET_FORMAT_COLOR_LE_A8R8G8B8 (0x00000008)
#define NV053_SET_FORMAT_TYPE 15:8
#define NV053_SET_FORMAT_TYPE_PITCH (0x00000001)
#define NV053_SET_FORMAT_TYPE_SWIZZLE (0x00000002)
#define NV053_SET_FORMAT_WIDTH 23:16
#define NV053_SET_FORMAT_HEIGHT 31:24
#define NV053_SET_CLIP_HORIZONTAL (0x000002F8)
#define NV053_SET_CLIP_HORIZONTAL_X 15:0
#define NV053_SET_CLIP_HORIZONTAL_WIDTH 31:16
#define NV053_SET_CLIP_VERTICAL (0x000002FC)
#define NV053_SET_CLIP_VERTICAL_Y 15:0
#define NV053_SET_CLIP_VERTICAL_HEIGHT 31:16
#define NV053_SET_CLIP_SIZE (0x00000304)
#define NV053_SET_CLIP_SIZE_WIDTH 15:0
#define NV053_SET_CLIP_SIZE_HEIGHT 31:16
#define NV053_SET_PITCH (0x00000308)
#define NV053_SET_PITCH_COLOR 15:0
#define NV053_SET_PITCH_ZETA 31:16
#define NV053_SET_OFFSET_COLOR (0x0000030C)
#define NV053_SET_OFFSET_ZETA (0x00000310)
/* obsolete stuff */
#define NV04_CONTEXT_SURFACES_ARGB_ZS (0x00000053)
#define NV4_CONTEXT_SURFACES_ARGB_ZS (0x00000053)
#define Nv04ContextSurfacesArgbZs Nv04ContextSurfaces3d
#define nv04ContextSurfacesArgbZs Nv04ContextSurfaces3d
#define Nv4ContextSurfacesArgbZs Nv04ContextSurfaces3d
#define nv4ContextSurfacesArgbZs Nv04ContextSurfaces3d
#define nv04ContextSurfaces3d Nv04ContextSurfaces3d
/* class NV04_DX5_TEXTURED_TRIANGLE */
#define NV04_DX5_TEXTURED_TRIANGLE (0x00000054)
/* NvNotification[] elements */
#define NV054_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV054_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV054_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV054_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV054_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV054_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV054_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV054_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaA; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaB; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 SetContextSurfaces; /* NV04_CONTEXT_SURFACES_3D 018c-018f*/
NvV32 Reserved01[0x05c];
NvV32 ColorKey; /* texture color key value 0300-0303*/
NvU32 Offset; /* texture offset in bytes 0304-0307*/
NvV32 Format; /* see text 0308-030b*/
NvV32 Filter; /* see text 030c-030f*/
NvV32 Blend; /* see text 0310-0313*/
NvV32 Control; /* see text 0314-0317*/
NvV32 FogColor; /* X8R8G8B8 fog color 0318-031b*/
NvV32 Reserved02[0x039];
struct { /* start of methods in array 0400- */
NvF32 sx; /* screen x coordinate 00- 03*/
NvF32 sy; /* screen y coordinate 04- 07*/
NvF32 sz; /* screen z coordinate 08- 0b*/
NvF32 rhw; /* reciprocal homogeneous W (1/W) 0c- 0f*/
NvV32 color; /* A8R8G8B8 10- 13*/
NvV32 specular; /* F8R8G8B8 14- 17*/
NvF32 tu; /* texture u coordinate 18- 1b*/
NvF32 tv; /* texture v coordinate 1c- 1f*/
} Tlvertex[16]; /* end of methods in array -05ff*/
NvV32 DrawPrimitive[64]; /* see text 0600-06ff*/
NvV32 Reserved03[0x640];
} Nv054Typedef, Nv04Dx5TexturedTriangle;
#define NV054_TYPEDEF Nv04Dx5TexturedTriangle
/* dma method offsets, fields, and values */
#define NV054_SET_OBJECT (0x00000000)
#define NV054_NO_OPERATION (0x00000100)
#define NV054_NOTIFY (0x00000104)
#define NV054_NOTIFY_WRITE_ONLY (0x00000000)
#define NV054_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV054_STALL_PIPE (0x00000108)
#define NV054_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV054_SET_CONTEXT_DMA_A (0x00000184)
#define NV054_SET_CONTEXT_DMA_B (0x00000188)
#define NV054_SET_CONTEXT_SURFACES (0x0000018C)
#define NV054_COLOR_KEY (0x00000300)
#define NV054_OFFSET (0x00000304)
#define NV054_FORMAT (0x00000308)
#define NV054_FORMAT_CONTEXT_DMA 1:0
#define NV054_FORMAT_CONTEXT_DMA_A (0x00000001)
#define NV054_FORMAT_CONTEXT_DMA_B (0x00000002)
#define NV054_FORMAT_COLORKEYENABLE 3:2
#define NV054_FORMAT_COLORKEYENABLE_FALSE (0x00000000)
#define NV054_FORMAT_COLORKEYENABLE_TRUE (0x00000001)
#define NV054_FORMAT_ORIGIN_ZOH 5:4
#define NV054_FORMAT_ORIGIN_ZOH_CENTER (0x00000001)
#define NV054_FORMAT_ORIGIN_ZOH_CORNER (0x00000002)
#define NV054_FORMAT_ORIGIN_FOH 7:6
#define NV054_FORMAT_ORIGIN_FOH_CENTER (0x00000001)
#define NV054_FORMAT_ORIGIN_FOH_CORNER (0x00000002)
#define NV054_FORMAT_COLOR 11:8
#define NV054_FORMAT_COLOR_LE_Y8 (0x00000001)
#define NV054_FORMAT_COLOR_LE_A1R5G5B5 (0x00000002)
#define NV054_FORMAT_COLOR_LE_X1R5G5B5 (0x00000003)
#define NV054_FORMAT_COLOR_LE_A4R4G4B4 (0x00000004)
#define NV054_FORMAT_COLOR_LE_R5G6B5 (0x00000005)
#define NV054_FORMAT_COLOR_LE_A8R8G8B8 (0x00000006)
#define NV054_FORMAT_COLOR_LE_X8R8G8B8 (0x00000007)
#define NV054_FORMAT_MIPMAP_LEVELS 15:12
#define NV054_FORMAT_BASE_SIZE_U 19:16
#define NV054_FORMAT_BASE_SIZE_U_1 (0x00000000)
#define NV054_FORMAT_BASE_SIZE_U_2 (0x00000001)
#define NV054_FORMAT_BASE_SIZE_U_4 (0x00000002)
#define NV054_FORMAT_BASE_SIZE_U_8 (0x00000003)
#define NV054_FORMAT_BASE_SIZE_U_16 (0x00000004)
#define NV054_FORMAT_BASE_SIZE_U_32 (0x00000005)
#define NV054_FORMAT_BASE_SIZE_U_64 (0x00000006)
#define NV054_FORMAT_BASE_SIZE_U_128 (0x00000007)
#define NV054_FORMAT_BASE_SIZE_U_256 (0x00000008)
#define NV054_FORMAT_BASE_SIZE_U_512 (0x00000009)
#define NV054_FORMAT_BASE_SIZE_U_1024 (0x0000000A)
#define NV054_FORMAT_BASE_SIZE_U_2048 (0x0000000B)
#define NV054_FORMAT_BASE_SIZE_V 23:20
#define NV054_FORMAT_BASE_SIZE_V_1 (0x00000000)
#define NV054_FORMAT_BASE_SIZE_V_2 (0x00000001)
#define NV054_FORMAT_BASE_SIZE_V_4 (0x00000002)
#define NV054_FORMAT_BASE_SIZE_V_8 (0x00000003)
#define NV054_FORMAT_BASE_SIZE_V_16 (0x00000004)
#define NV054_FORMAT_BASE_SIZE_V_32 (0x00000005)
#define NV054_FORMAT_BASE_SIZE_V_64 (0x00000006)
#define NV054_FORMAT_BASE_SIZE_V_128 (0x00000007)
#define NV054_FORMAT_BASE_SIZE_V_256 (0x00000008)
#define NV054_FORMAT_BASE_SIZE_V_512 (0x00000009)
#define NV054_FORMAT_BASE_SIZE_V_1024 (0x0000000A)
#define NV054_FORMAT_BASE_SIZE_V_2048 (0x0000000B)
#define NV054_FORMAT_TEXTUREADDRESSU 26:24
#define NV054_FORMAT_TEXTUREADDRESSU_WRAP (0x00000001)
#define NV054_FORMAT_TEXTUREADDRESSU_MIRROR (0x00000002)
#define NV054_FORMAT_TEXTUREADDRESSU_CLAMP (0x00000003)
#define NV054_FORMAT_TEXTUREADDRESSU_BORDER (0x00000004)
#define NV054_FORMAT_WRAPU 27:27
#define NV054_FORMAT_WRAPU_FALSE (0x00000000)
#define NV054_FORMAT_WRAPU_TRUE (0x00000001)
#define NV054_FORMAT_TEXTUREADDRESSV 30:28
#define NV054_FORMAT_TEXTUREADDRESSV_WRAP (0x00000001)
#define NV054_FORMAT_TEXTUREADDRESSV_MIRROR (0x00000002)
#define NV054_FORMAT_TEXTUREADDRESSV_CLAMP (0x00000003)
#define NV054_FORMAT_TEXTUREADDRESSV_BORDER (0x00000004)
#define NV054_FORMAT_WRAPV 31:31
#define NV054_FORMAT_WRAPV_FALSE (0x00000000)
#define NV054_FORMAT_WRAPV_TRUE (0x00000001)
#define NV054_FILTER (0x0000030C)
#define NV054_FILTER_KERNEL_SIZE_X 7:0
#define NV054_FILTER_KERNEL_SIZE_Y 14:8
#define NV054_FILTER_MIPMAP_DITHER_ENABLE 15:15
#define NV054_FILTER_MIPMAP_DITHER_ENABLE_FALSE (0x00000000)
#define NV054_FILTER_MIPMAP_DITHER_ENABLE_TRUE (0x00000001)
#define NV054_FILTER_MIPMAPLODBIAS 23:16
#define NV054_FILTER_TEXTUREMIN 26:24
#define NV054_FILTER_TEXTUREMIN_NEAREST (0x00000001)
#define NV054_FILTER_TEXTUREMIN_LINEAR (0x00000002)
#define NV054_FILTER_TEXTUREMIN_MIPNEAREST (0x00000003)
#define NV054_FILTER_TEXTUREMIN_MIPLINEAR (0x00000004)
#define NV054_FILTER_TEXTUREMIN_LINEARMIPNEAREST (0x00000005)
#define NV054_FILTER_TEXTUREMIN_LINEARMIPLINEAR (0x00000006)
#define NV054_FILTER_ANISOTROPIC_MINIFY_ENABLE 27:27
#define NV054_FILTER_ANISOTROPIC_MINIFY_ENABLE_FALSE (0x00000000)
#define NV054_FILTER_ANISOTROPIC_MINIFY_ENABLE_TRUE (0x00000001)
#define NV054_FILTER_TEXTUREMAG 30:28
#define NV054_FILTER_TEXTUREMAG_NEAREST (0x00000001)
#define NV054_FILTER_TEXTUREMAG_LINEAR (0x00000002)
#define NV054_FILTER_TEXTUREMAG_MIPNEAREST (0x00000003)
#define NV054_FILTER_TEXTUREMAG_MIPLINEAR (0x00000004)
#define NV054_FILTER_TEXTUREMAG_LINEARMIPNEAREST (0x00000005)
#define NV054_FILTER_TEXTUREMAG_LINEARMIPLINEAR (0x00000006)
#define NV054_FILTER_ANISOTROPIC_MAGNIFY_ENABLE 31:31
#define NV054_FILTER_ANISOTROPIC_MAGNIFY_ENABLE_FALSE (0x00000000)
#define NV054_FILTER_ANISOTROPIC_MAGNIFY_ENABLE_TRUE (0x00000001)
#define NV054_BLEND (0x00000310)
#define NV054_BLEND_TEXTUREMAPBLEND 3:0
#define NV054_BLEND_TEXTUREMAPBLEND_DECAL (0x00000001)
#define NV054_BLEND_TEXTUREMAPBLEND_MODULATE (0x00000002)
#define NV054_BLEND_TEXTUREMAPBLEND_DECALALPHA (0x00000003)
#define NV054_BLEND_TEXTUREMAPBLEND_MODULATEALPHA (0x00000004)
#define NV054_BLEND_TEXTUREMAPBLEND_DECALMASK (0x00000005)
#define NV054_BLEND_TEXTUREMAPBLEND_MODULATEMASK (0x00000006)
#define NV054_BLEND_TEXTUREMAPBLEND_COPY (0x00000007)
#define NV054_BLEND_TEXTUREMAPBLEND_ADD (0x00000008)
#define NV054_BLEND_MASK_BIT 5:4
#define NV054_BLEND_MASK_BIT_LSB (0x00000001)
#define NV054_BLEND_MASK_BIT_MSB (0x00000002)
#define NV054_BLEND_SHADEMODE 7:6
#define NV054_BLEND_SHADEMODE_FLAT (0x00000001)
#define NV054_BLEND_SHADEMODE_GOURAUD (0x00000002)
#define NV054_BLEND_SHADEMODE_PHONG (0x00000003)
#define NV054_BLEND_TEXTUREPERSPECTIVE 11:8
#define NV054_BLEND_TEXTUREPERSPECTIVE_FALSE (0x00000000)
#define NV054_BLEND_TEXTUREPERSPECTIVE_TRUE (0x00000001)
#define NV054_BLEND_SPECULARENABLE 15:12
#define NV054_BLEND_SPECULARENABLE_FALSE (0x00000000)
#define NV054_BLEND_SPECULARENABLE_TRUE (0x00000001)
#define NV054_BLEND_FOGENABLE 19:16
#define NV054_BLEND_FOGENABLE_FALSE (0x00000000)
#define NV054_BLEND_FOGENABLE_TRUE (0x00000001)
#define NV054_BLEND_ALPHABLENDENABLE 23:20
#define NV054_BLEND_ALPHABLENDENABLE_FALSE (0x00000000)
#define NV054_BLEND_ALPHABLENDENABLE_TRUE (0x00000001)
#define NV054_BLEND_SRCBLEND 27:24
#define NV054_BLEND_SRCBLEND_ZERO (0x00000001)
#define NV054_BLEND_SRCBLEND_ONE (0x00000002)
#define NV054_BLEND_SRCBLEND_SRCCOLOR (0x00000003)
#define NV054_BLEND_SRCBLEND_INVSRCCOLOR (0x00000004)
#define NV054_BLEND_SRCBLEND_SRCALPHA (0x00000005)
#define NV054_BLEND_SRCBLEND_INVSRCALPHA (0x00000006)
#define NV054_BLEND_SRCBLEND_DESTALPHA (0x00000007)
#define NV054_BLEND_SRCBLEND_INVDESTALPHA (0x00000008)
#define NV054_BLEND_SRCBLEND_DESTCOLOR (0x00000009)
#define NV054_BLEND_SRCBLEND_INVDESTCOLOR (0x0000000A)
#define NV054_BLEND_SRCBLEND_SRCALPHASAT (0x0000000B)
#define NV054_BLEND_DESTBLEND 31:28
#define NV054_BLEND_DESTBLEND_ZERO (0x00000001)
#define NV054_BLEND_DESTBLEND_ONE (0x00000002)
#define NV054_BLEND_DESTBLEND_SRCCOLOR (0x00000003)
#define NV054_BLEND_DESTBLEND_INVSRCCOLOR (0x00000004)
#define NV054_BLEND_DESTBLEND_SRCALPHA (0x00000005)
#define NV054_BLEND_DESTBLEND_INVSRCALPHA (0x00000006)
#define NV054_BLEND_DESTBLEND_DESTALPHA (0x00000007)
#define NV054_BLEND_DESTBLEND_INVDESTALPHA (0x00000008)
#define NV054_BLEND_DESTBLEND_DESTCOLOR (0x00000009)
#define NV054_BLEND_DESTBLEND_INVDESTCOLOR (0x0000000A)
#define NV054_BLEND_DESTBLEND_SRCALPHASAT (0x0000000B)
#define NV054_CONTROL (0x00000314)
#define NV054_CONTROL_ALPHAREF 7:0
#define NV054_CONTROL_ALPHAFUNC 11:8
#define NV054_CONTROL_ALPHAFUNC_NEVER (0x00000001)
#define NV054_CONTROL_ALPHAFUNC_LESS (0x00000002)
#define NV054_CONTROL_ALPHAFUNC_EQUAL (0x00000003)
#define NV054_CONTROL_ALPHAFUNC_LESSEQUAL (0x00000004)
#define NV054_CONTROL_ALPHAFUNC_GREATER (0x00000005)
#define NV054_CONTROL_ALPHAFUNC_NOTEQUAL (0x00000006)
#define NV054_CONTROL_ALPHAFUNC_GREATEREQUAL (0x00000007)
#define NV054_CONTROL_ALPHAFUNC_ALWAYS (0x00000008)
#define NV054_CONTROL_ALPHATESTENABLE 12:12
#define NV054_CONTROL_ALPHATESTENABLE_FALSE (0x00000000)
#define NV054_CONTROL_ALPHATESTENABLE_TRUE (0x00000001)
#define NV054_CONTROL_ORIGIN 13:13
#define NV054_CONTROL_ORIGIN_CENTER (0x00000000)
#define NV054_CONTROL_ORIGIN_CORNER (0x00000001)
#define NV054_CONTROL_ZENABLE 15:14
#define NV054_CONTROL_ZENABLE_FALSE (0x00000000)
#define NV054_CONTROL_ZENABLE_TRUE (0x00000001)
#define NV054_CONTROL_ZFUNC 19:16
#define NV054_CONTROL_ZFUNC_NEVER (0x00000001)
#define NV054_CONTROL_ZFUNC_LESS (0x00000002)
#define NV054_CONTROL_ZFUNC_EQUAL (0x00000003)
#define NV054_CONTROL_ZFUNC_LESSEQUAL (0x00000004)
#define NV054_CONTROL_ZFUNC_GREATER (0x00000005)
#define NV054_CONTROL_ZFUNC_NOTEQUAL (0x00000006)
#define NV054_CONTROL_ZFUNC_GREATEREQUAL (0x00000007)
#define NV054_CONTROL_ZFUNC_ALWAYS (0x00000008)
#define NV054_CONTROL_CULLMODE 21:20
#define NV054_CONTROL_CULLMODE_NONE (0x00000001)
#define NV054_CONTROL_CULLMODE_CW (0x00000002)
#define NV054_CONTROL_CULLMODE_CCW (0x00000003)
#define NV054_CONTROL_DITHERENABLE 22:22
#define NV054_CONTROL_DITHERENABLE_FALSE (0x00000000)
#define NV054_CONTROL_DITHERENABLE_TRUE (0x00000001)
#define NV054_CONTROL_Z_PERSPECTIVE_ENABLE 23:23
#define NV054_CONTROL_Z_PERSPECTIVE_ENABLE_FALSE (0x00000000)
#define NV054_CONTROL_Z_PERSPECTIVE_ENABLE_TRUE (0x00000001)
#define NV054_CONTROL_ZWRITEENABLE 29:24
#define NV054_CONTROL_ZWRITEENABLE_FALSE (0x00000000)
#define NV054_CONTROL_ZWRITEENABLE_TRUE (0x00000001)
#define NV054_CONTROL_Z_FORMAT 31:30
#define NV054_CONTROL_Z_FORMAT_FIXED (0x00000001)
#define NV054_CONTROL_Z_FORMAT_FLOAT (0x00000002)
#define NV054_FOG_COLOR (0x00000318)
#define NV054_TLVERTEX(i) (0x00000400\
+(i)*0x0020)
#define NV054_TLVERTEX_SX(i) (0x00000400\
+(i)*0x0020)
#define NV054_TLVERTEX_SY(i) (0x00000404\
+(i)*0x0020)
#define NV054_TLVERTEX_SZ(i) (0x00000408\
+(i)*0x0020)
#define NV054_TLVERTEX_RHW(i) (0x0000040C\
+(i)*0x0020)
#define NV054_TLVERTEX_COLOR(i) (0x00000410\
+(i)*0x0020)
#define NV054_TLVERTEX_COLOR_BLUE 7:0
#define NV054_TLVERTEX_COLOR_GREEN 15:8
#define NV054_TLVERTEX_COLOR_RED 23:16
#define NV054_TLVERTEX_COLOR_ALPHA 31:24
#define NV054_TLVERTEX_SPECULAR(i) (0x00000414\
+(i)*0x0020)
#define NV054_TLVERTEX_SPECULAR_BLUE 7:0
#define NV054_TLVERTEX_SPECULAR_GREEN 15:8
#define NV054_TLVERTEX_SPECULAR_RED 23:16
#define NV054_TLVERTEX_SPECULAR_FOG 31:24
#define NV054_TLVERTEX_TU(i) (0x00000418\
+(i)*0x0020)
#define NV054_TLVERTEX_TV(i) (0x0000041C\
+(i)*0x0020)
#define NV054_DRAW_PRIMITIVE(a) (0x00000600\
+(a)*0x0004)
#define NV054_DRAW_PRIMITIVE_I0 3:0
#define NV054_DRAW_PRIMITIVE_I1 7:4
#define NV054_DRAW_PRIMITIVE_I2 11:8
#define NV054_DRAW_PRIMITIVE_I3 15:12
#define NV054_DRAW_PRIMITIVE_I4 19:16
#define NV054_DRAW_PRIMITIVE_I5 31:20
/* obsolete stuff */
#define NV4_DX5_TEXTURED_TRIANGLE (0x00000054)
#define Nv4Dx5TexturedTriangle Nv04Dx5TexturedTriangle
#define nv4Dx5TexturedTriangle Nv04Dx5TexturedTriangle
#define nv04Dx5TexturedTriangle Nv04Dx5TexturedTriangle
/* class NV04_DX6_MULTI_TEXTURE_TRIANGLE */
#define NV04_DX6_MULTI_TEXTURE_TRIANGLE (0x00000055)
/* NvNotification[] elements */
#define NV055_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV055_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV055_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV055_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV055_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV055_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV055_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV055_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaA; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaB; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 SetContextSurfaces; /* NV04_CONTEXT_SURFACES_3D 018c-018f*/
NvV32 Reserved01[0x05e];
NvU32 Offset[2]; /* offset in bytes 0308-030f*/
NvV32 Format[2]; /* see text 0310-0317*/
NvV32 Filter[2]; /* see text 0318-031f*/
NvV32 Combine0Alpha; /* see text 0320-0323*/
NvV32 Combine0Color; /* see text 0324-0327*/
NvV32 Reserved02[0x001];
NvV32 Combine1Alpha; /* see text 032c-032f*/
NvV32 Combine1Color; /* see text 0330-0333*/
NvV32 CombineFactor; /* A8R8G8B8 0334-0337*/
NvV32 Blend; /* see text 0338-033b*/
NvV32 Control0; /* see text 033c-033f*/
NvV32 Control1; /* see text 0340-0343*/
NvV32 Control2; /* see text 0344-0347*/
NvV32 FogColor; /* X8R8G8B8 fog color 0348-034b*/
NvV32 Reserved03[0x02D];
struct { /* start of methods in array 0400- */
NvF32 sx; /* screen x coordinate 00- 03*/
NvF32 sy; /* screen y coordinate 04- 07*/
NvF32 sz; /* screen z coordinate 08- 0b*/
NvF32 rhw; /* reciprocal homogeneous W (1/W) 0c- 0f*/
NvV32 color; /* A8R8G8B8 10- 13*/
NvV32 specular; /* F8R8G8B8 14- 17*/
NvF32 tu0; /* texture 0 u coordinate 18- 1b*/
NvF32 tv0; /* texture 0 v coordinate 1c- 1f*/
NvF32 tu1; /* texture 1 u coordinate 20- 23*/
NvF32 tv1; /* texture 1 v coordinate 24- 27*/
} Tlmtvertex[8]; /* end of methods in array -053f*/
NvV32 DrawPrimitive[48]; /* see text 0540-05ff*/
NvV32 Reserved04[0x680];
} Nv055Typedef, Nv04Dx6MultiTextureTriangle;
#define NV055_TYPEDEF Nv04Dx6MultiTextureTriangle
/* dma method offsets, fields, and values */
#define NV055_SET_OBJECT (0x00000000)
#define NV055_NO_OPERATION (0x00000100)
#define NV055_NOTIFY (0x00000104)
#define NV055_NOTIFY_WRITE_ONLY (0x00000000)
#define NV055_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV055_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV055_SET_CONTEXT_DMA_A (0x00000184)
#define NV055_SET_CONTEXT_DMA_B (0x00000188)
#define NV055_SET_CONTEXT_SURFACES (0x0000018C)
#define NV055_OFFSET(b) (0x00000308\
+(b)*0x0004)
#define NV055_FORMAT(b) (0x00000310\
+(b)*0x0004)
#define NV055_FORMAT_CONTEXT_DMA 3:0
#define NV055_FORMAT_CONTEXT_DMA_A (0x00000001)
#define NV055_FORMAT_CONTEXT_DMA_B (0x00000002)
#define NV055_FORMAT_ORIGIN_ZOH 5:4
#define NV055_FORMAT_ORIGIN_ZOH_CENTER (0x00000001)
#define NV055_FORMAT_ORIGIN_ZOH_CORNER (0x00000002)
#define NV055_FORMAT_ORIGIN_FOH 7:6
#define NV055_FORMAT_ORIGIN_FOH_CENTER (0x00000001)
#define NV055_FORMAT_ORIGIN_FOH_CORNER (0x00000002)
#define NV055_FORMAT_COLOR 11:8
#define NV055_FORMAT_COLOR_LE_AY8 (0x00000001)
#define NV055_FORMAT_COLOR_LE_A1R5G5B5 (0x00000002)
#define NV055_FORMAT_COLOR_LE_X1R5G5B5 (0x00000003)
#define NV055_FORMAT_COLOR_LE_A4R4G4B4 (0x00000004)
#define NV055_FORMAT_COLOR_LE_R5G6B5 (0x00000005)
#define NV055_FORMAT_COLOR_LE_A8R8G8B8 (0x00000006)
#define NV055_FORMAT_COLOR_LE_X8R8G8B8 (0x00000007)
#define NV055_FORMAT_MIPMAP_LEVELS 15:12
#define NV055_FORMAT_BASE_SIZE_U 19:16
#define NV055_FORMAT_BASE_SIZE_U_1 (0x00000000)
#define NV055_FORMAT_BASE_SIZE_U_2 (0x00000001)
#define NV055_FORMAT_BASE_SIZE_U_4 (0x00000002)
#define NV055_FORMAT_BASE_SIZE_U_8 (0x00000003)
#define NV055_FORMAT_BASE_SIZE_U_16 (0x00000004)
#define NV055_FORMAT_BASE_SIZE_U_32 (0x00000005)
#define NV055_FORMAT_BASE_SIZE_U_64 (0x00000006)
#define NV055_FORMAT_BASE_SIZE_U_128 (0x00000007)
#define NV055_FORMAT_BASE_SIZE_U_256 (0x00000008)
#define NV055_FORMAT_BASE_SIZE_U_512 (0x00000009)
#define NV055_FORMAT_BASE_SIZE_U_1024 (0x0000000A)
#define NV055_FORMAT_BASE_SIZE_U_2048 (0x0000000B)
#define NV055_FORMAT_BASE_SIZE_V 23:20
#define NV055_FORMAT_BASE_SIZE_V_1 (0x00000000)
#define NV055_FORMAT_BASE_SIZE_V_2 (0x00000001)
#define NV055_FORMAT_BASE_SIZE_V_4 (0x00000002)
#define NV055_FORMAT_BASE_SIZE_V_8 (0x00000003)
#define NV055_FORMAT_BASE_SIZE_V_16 (0x00000004)
#define NV055_FORMAT_BASE_SIZE_V_32 (0x00000005)
#define NV055_FORMAT_BASE_SIZE_V_64 (0x00000006)
#define NV055_FORMAT_BASE_SIZE_V_128 (0x00000007)
#define NV055_FORMAT_BASE_SIZE_V_256 (0x00000008)
#define NV055_FORMAT_BASE_SIZE_V_512 (0x00000009)
#define NV055_FORMAT_BASE_SIZE_V_1024 (0x0000000A)
#define NV055_FORMAT_BASE_SIZE_V_2048 (0x0000000B)
#define NV055_FORMAT_TEXTUREADDRESSU 26:24
#define NV055_FORMAT_TEXTUREADDRESSU_WRAP (0x00000001)
#define NV055_FORMAT_TEXTUREADDRESSU_MIRROR (0x00000002)
#define NV055_FORMAT_TEXTUREADDRESSU_CLAMP (0x00000003)
#define NV055_FORMAT_TEXTUREADDRESSU_BORDER (0x00000004)
#define NV055_FORMAT_WRAPU 27:27
#define NV055_FORMAT_WRAPU_FALSE (0x00000000)
#define NV055_FORMAT_WRAPU_TRUE (0x00000001)
#define NV055_FORMAT_TEXTUREADDRESSV 30:28
#define NV055_FORMAT_TEXTUREADDRESSV_WRAP (0x00000001)
#define NV055_FORMAT_TEXTUREADDRESSV_MIRROR (0x00000002)
#define NV055_FORMAT_TEXTUREADDRESSV_CLAMP (0x00000003)
#define NV055_FORMAT_TEXTUREADDRESSV_BORDER (0x00000004)
#define NV055_FORMAT_WRAPV 31:31
#define NV055_FORMAT_WRAPV_FALSE (0x00000000)
#define NV055_FORMAT_WRAPV_TRUE (0x00000001)
#define NV055_FILTER(b) (0x00000318\
+(b)*0x0004)
#define NV055_FILTER_KERNEL_SIZE_X 7:0
#define NV055_FILTER_KERNEL_SIZE_Y 14:8
#define NV055_FILTER_MIPMAP_DITHER_ENABLE 15:15
#define NV055_FILTER_MIPMAP_DITHER_ENABLE_FALSE (0x00000000)
#define NV055_FILTER_MIPMAP_DITHER_ENABLE_TRUE (0x00000001)
#define NV055_FILTER_MIPMAPLODBIAS 23:16
#define NV055_FILTER_TEXTUREMIN 26:24
#define NV055_FILTER_TEXTUREMIN_NEAREST (0x00000001)
#define NV055_FILTER_TEXTUREMIN_LINEAR (0x00000002)
#define NV055_FILTER_TEXTUREMIN_MIPNEAREST (0x00000003)
#define NV055_FILTER_TEXTUREMIN_MIPLINEAR (0x00000004)
#define NV055_FILTER_TEXTUREMIN_LINEARMIPNEAREST (0x00000005)
#define NV055_FILTER_TEXTUREMIN_LINEARMIPLINEAR (0x00000006)
#define NV055_FILTER_ANISOTROPIC_MINIFY_ENABLE 27:27
#define NV055_FILTER_ANISOTROPIC_MINIFY_ENABLE_FALSE (0x00000000)
#define NV055_FILTER_ANISOTROPIC_MINIFY_ENABLE_TRUE (0x00000001)
#define NV055_FILTER_TEXTUREMAG 30:28
#define NV055_FILTER_TEXTUREMAG_NEAREST (0x00000001)
#define NV055_FILTER_TEXTUREMAG_LINEAR (0x00000002)
#define NV055_FILTER_TEXTUREMAG_MIPNEAREST (0x00000003)
#define NV055_FILTER_TEXTUREMAG_MIPLINEAR (0x00000004)
#define NV055_FILTER_TEXTUREMAG_LINEARMIPNEAREST (0x00000005)
#define NV055_FILTER_TEXTUREMAG_LINEARMIPLINEAR (0x00000006)
#define NV055_FILTER_ANISOTROPIC_MAGNIFY_ENABLE 31:31
#define NV055_FILTER_ANISOTROPIC_MAGNIFY_ENABLE_FALSE (0x00000000)
#define NV055_FILTER_ANISOTROPIC_MAGNIFY_ENABLE_TRUE (0x00000001)
#define NV055_COMBINE_0_ALPHA (0x00000320)
#define NV055_COMBINE_0_ALPHA_INVERSE_0 0:0
#define NV055_COMBINE_0_ALPHA_INVERSE_0_NORMAL (0x00000000)
#define NV055_COMBINE_0_ALPHA_INVERSE_0_INVERSE (0x00000001)
#define NV055_COMBINE_0_ALPHA_ALPHA_0 1:1
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0 7:2
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0_ZERO (0x00000001)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0_FACTOR (0x00000002)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0_INPUT (0x00000004)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_ALPHA_INVERSE_1 8:8
#define NV055_COMBINE_0_ALPHA_INVERSE_1_NORMAL (0x00000000)
#define NV055_COMBINE_0_ALPHA_INVERSE_1_INVERSE (0x00000001)
#define NV055_COMBINE_0_ALPHA_ALPHA_1 9:9
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1 15:10
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1_ZERO (0x00000001)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1_FACTOR (0x00000002)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1_INPUT (0x00000004)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_ALPHA_INVERSE_2 16:16
#define NV055_COMBINE_0_ALPHA_INVERSE_2_NORMAL (0x00000000)
#define NV055_COMBINE_0_ALPHA_INVERSE_2_INVERSE (0x00000001)
#define NV055_COMBINE_0_ALPHA_ALPHA_2 17:17
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2 23:18
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2_ZERO (0x00000001)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2_FACTOR (0x00000002)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2_INPUT (0x00000004)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_ALPHA_INVERSE_3 24:24
#define NV055_COMBINE_0_ALPHA_INVERSE_3_NORMAL (0x00000000)
#define NV055_COMBINE_0_ALPHA_INVERSE_3_INVERSE (0x00000001)
#define NV055_COMBINE_0_ALPHA_ALPHA_3 25:25
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3 28:26
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3_ZERO (0x00000001)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3_FACTOR (0x00000002)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3_INPUT (0x00000004)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_ALPHA_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_ALPHA_OPERATION 31:29
#define NV055_COMBINE_0_ALPHA_OPERATION_ADD (0x00000001)
#define NV055_COMBINE_0_ALPHA_OPERATION_ADD2 (0x00000002)
#define NV055_COMBINE_0_ALPHA_OPERATION_ADD4 (0x00000003)
#define NV055_COMBINE_0_ALPHA_OPERATION_ADDSIGNED (0x00000004)
#define NV055_COMBINE_0_ALPHA_OPERATION_MUX (0x00000005)
#define NV055_COMBINE_0_ALPHA_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV055_COMBINE_0_ALPHA_OPERATION_ADDSIGNED2 (0x00000007)
#define NV055_COMBINE_0_COLOR (0x00000324)
#define NV055_COMBINE_0_COLOR_INVERSE_0 0:0
#define NV055_COMBINE_0_COLOR_INVERSE_0_NORMAL (0x00000000)
#define NV055_COMBINE_0_COLOR_INVERSE_0_INVERSE (0x00000001)
#define NV055_COMBINE_0_COLOR_ALPHA_0 1:1
#define NV055_COMBINE_0_COLOR_ALPHA_0_COLOR (0x00000000)
#define NV055_COMBINE_0_COLOR_ALPHA_0_ALPHA (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_0 7:2
#define NV055_COMBINE_0_COLOR_ARGUMENT_0_ZERO (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_0_FACTOR (0x00000002)
#define NV055_COMBINE_0_COLOR_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_COLOR_ARGUMENT_0_INPUT (0x00000004)
#define NV055_COMBINE_0_COLOR_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_COLOR_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_COLOR_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_COLOR_INVERSE_1 8:8
#define NV055_COMBINE_0_COLOR_INVERSE_1_NORMAL (0x00000000)
#define NV055_COMBINE_0_COLOR_INVERSE_1_INVERSE (0x00000001)
#define NV055_COMBINE_0_COLOR_ALPHA_1 9:9
#define NV055_COMBINE_0_COLOR_ALPHA_1_COLOR (0x00000000)
#define NV055_COMBINE_0_COLOR_ALPHA_1_ALPHA (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_1 15:10
#define NV055_COMBINE_0_COLOR_ARGUMENT_1_ZERO (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_1_FACTOR (0x00000002)
#define NV055_COMBINE_0_COLOR_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_COLOR_ARGUMENT_1_INPUT (0x00000004)
#define NV055_COMBINE_0_COLOR_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_COLOR_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_COLOR_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_COLOR_INVERSE_2 16:16
#define NV055_COMBINE_0_COLOR_INVERSE_2_NORMAL (0x00000000)
#define NV055_COMBINE_0_COLOR_INVERSE_2_INVERSE (0x00000001)
#define NV055_COMBINE_0_COLOR_ALPHA_2 17:17
#define NV055_COMBINE_0_COLOR_ALPHA_2_COLOR (0x00000000)
#define NV055_COMBINE_0_COLOR_ALPHA_2_ALPHA (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_2 23:18
#define NV055_COMBINE_0_COLOR_ARGUMENT_2_ZERO (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_2_FACTOR (0x00000002)
#define NV055_COMBINE_0_COLOR_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_COLOR_ARGUMENT_2_INPUT (0x00000004)
#define NV055_COMBINE_0_COLOR_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_COLOR_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_COLOR_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_COLOR_INVERSE_3 24:24
#define NV055_COMBINE_0_COLOR_INVERSE_3_NORMAL (0x00000000)
#define NV055_COMBINE_0_COLOR_INVERSE_3_INVERSE (0x00000001)
#define NV055_COMBINE_0_COLOR_ALPHA_3 25:25
#define NV055_COMBINE_0_COLOR_ALPHA_3_COLOR (0x00000000)
#define NV055_COMBINE_0_COLOR_ALPHA_3_ALPHA (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_3 28:26
#define NV055_COMBINE_0_COLOR_ARGUMENT_3_ZERO (0x00000001)
#define NV055_COMBINE_0_COLOR_ARGUMENT_3_FACTOR (0x00000002)
#define NV055_COMBINE_0_COLOR_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV055_COMBINE_0_COLOR_ARGUMENT_3_INPUT (0x00000004)
#define NV055_COMBINE_0_COLOR_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV055_COMBINE_0_COLOR_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV055_COMBINE_0_COLOR_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV055_COMBINE_0_COLOR_OPERATION 31:29
#define NV055_COMBINE_0_COLOR_OPERATION_ADD (0x00000001)
#define NV055_COMBINE_0_COLOR_OPERATION_ADD2 (0x00000002)
#define NV055_COMBINE_0_COLOR_OPERATION_ADD4 (0x00000003)
#define NV055_COMBINE_0_COLOR_OPERATION_ADDSIGNED (0x00000004)
#define NV055_COMBINE_0_COLOR_OPERATION_MUX (0x00000005)
#define NV055_COMBINE_0_COLOR_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV055_COMBINE_0_COLOR_OPERATION_ADDSIGNED2 (0x00000007)
#define NV055_COMBINE_1_ALPHA (0x0000032C)
#define NV055_COMBINE_1_ALPHA_INVERSE_0 0:0
#define NV055_COMBINE_1_ALPHA_INVERSE_0_NORMAL (0x00000000)
#define NV055_COMBINE_1_ALPHA_INVERSE_0_INVERSE (0x00000001)
#define NV055_COMBINE_1_ALPHA_ALPHA_0 1:1
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0 7:2
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0_ZERO (0x00000001)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0_FACTOR (0x00000002)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0_INPUT (0x00000004)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_ALPHA_INVERSE_1 8:8
#define NV055_COMBINE_1_ALPHA_INVERSE_1_NORMAL (0x00000000)
#define NV055_COMBINE_1_ALPHA_INVERSE_1_INVERSE (0x00000001)
#define NV055_COMBINE_1_ALPHA_ALPHA_1 9:9
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1 15:10
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1_ZERO (0x00000001)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1_FACTOR (0x00000002)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1_INPUT (0x00000004)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_ALPHA_INVERSE_2 16:16
#define NV055_COMBINE_1_ALPHA_INVERSE_2_NORMAL (0x00000000)
#define NV055_COMBINE_1_ALPHA_INVERSE_2_INVERSE (0x00000001)
#define NV055_COMBINE_1_ALPHA_ALPHA_2 17:17
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2 23:18
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2_ZERO (0x00000001)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2_FACTOR (0x00000002)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2_INPUT (0x00000004)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_ALPHA_INVERSE_3 24:24
#define NV055_COMBINE_1_ALPHA_INVERSE_3_NORMAL (0x00000000)
#define NV055_COMBINE_1_ALPHA_INVERSE_3_INVERSE (0x00000001)
#define NV055_COMBINE_1_ALPHA_ALPHA_3 25:25
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3 28:26
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3_ZERO (0x00000001)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3_FACTOR (0x00000002)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3_INPUT (0x00000004)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_ALPHA_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_ALPHA_OPERATION 31:29
#define NV055_COMBINE_1_ALPHA_OPERATION_ADD (0x00000001)
#define NV055_COMBINE_1_ALPHA_OPERATION_ADD2 (0x00000002)
#define NV055_COMBINE_1_ALPHA_OPERATION_ADD4 (0x00000003)
#define NV055_COMBINE_1_ALPHA_OPERATION_ADDSIGNED (0x00000004)
#define NV055_COMBINE_1_ALPHA_OPERATION_MUX (0x00000005)
#define NV055_COMBINE_1_ALPHA_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV055_COMBINE_1_ALPHA_OPERATION_ADDSIGNED2 (0x00000007)
#define NV055_COMBINE_1_COLOR (0x00000330)
#define NV055_COMBINE_1_COLOR_INVERSE_0 0:0
#define NV055_COMBINE_1_COLOR_INVERSE_0_NORMAL (0x00000000)
#define NV055_COMBINE_1_COLOR_INVERSE_0_INVERSE (0x00000001)
#define NV055_COMBINE_1_COLOR_ALPHA_0 1:1
#define NV055_COMBINE_1_COLOR_ALPHA_0_COLOR (0x00000000)
#define NV055_COMBINE_1_COLOR_ALPHA_0_ALPHA (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_0 7:2
#define NV055_COMBINE_1_COLOR_ARGUMENT_0_ZERO (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_0_FACTOR (0x00000002)
#define NV055_COMBINE_1_COLOR_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_COLOR_ARGUMENT_0_INPUT (0x00000004)
#define NV055_COMBINE_1_COLOR_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_COLOR_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_COLOR_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_COLOR_INVERSE_1 8:8
#define NV055_COMBINE_1_COLOR_INVERSE_1_NORMAL (0x00000000)
#define NV055_COMBINE_1_COLOR_INVERSE_1_INVERSE (0x00000001)
#define NV055_COMBINE_1_COLOR_ALPHA_1 9:9
#define NV055_COMBINE_1_COLOR_ALPHA_1_COLOR (0x00000000)
#define NV055_COMBINE_1_COLOR_ALPHA_1_ALPHA (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_1 15:10
#define NV055_COMBINE_1_COLOR_ARGUMENT_1_ZERO (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_1_FACTOR (0x00000002)
#define NV055_COMBINE_1_COLOR_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_COLOR_ARGUMENT_1_INPUT (0x00000004)
#define NV055_COMBINE_1_COLOR_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_COLOR_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_COLOR_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_COLOR_INVERSE_2 16:16
#define NV055_COMBINE_1_COLOR_INVERSE_2_NORMAL (0x00000000)
#define NV055_COMBINE_1_COLOR_INVERSE_2_INVERSE (0x00000001)
#define NV055_COMBINE_1_COLOR_ALPHA_2 17:17
#define NV055_COMBINE_1_COLOR_ALPHA_2_COLOR (0x00000000)
#define NV055_COMBINE_1_COLOR_ALPHA_2_ALPHA (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_2 23:18
#define NV055_COMBINE_1_COLOR_ARGUMENT_2_ZERO (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_2_FACTOR (0x00000002)
#define NV055_COMBINE_1_COLOR_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_COLOR_ARGUMENT_2_INPUT (0x00000004)
#define NV055_COMBINE_1_COLOR_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_COLOR_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_COLOR_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_COLOR_INVERSE_3 24:24
#define NV055_COMBINE_1_COLOR_INVERSE_3_NORMAL (0x00000000)
#define NV055_COMBINE_1_COLOR_INVERSE_3_INVERSE (0x00000001)
#define NV055_COMBINE_1_COLOR_ALPHA_3 25:25
#define NV055_COMBINE_1_COLOR_ALPHA_3_COLOR (0x00000000)
#define NV055_COMBINE_1_COLOR_ALPHA_3_ALPHA (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_3 28:26
#define NV055_COMBINE_1_COLOR_ARGUMENT_3_ZERO (0x00000001)
#define NV055_COMBINE_1_COLOR_ARGUMENT_3_FACTOR (0x00000002)
#define NV055_COMBINE_1_COLOR_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV055_COMBINE_1_COLOR_ARGUMENT_3_INPUT (0x00000004)
#define NV055_COMBINE_1_COLOR_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV055_COMBINE_1_COLOR_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV055_COMBINE_1_COLOR_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV055_COMBINE_1_COLOR_OPERATION 31:29
#define NV055_COMBINE_1_COLOR_OPERATION_ADD (0x00000001)
#define NV055_COMBINE_1_COLOR_OPERATION_ADD2 (0x00000002)
#define NV055_COMBINE_1_COLOR_OPERATION_ADD4 (0x00000003)
#define NV055_COMBINE_1_COLOR_OPERATION_ADDSIGNED (0x00000004)
#define NV055_COMBINE_1_COLOR_OPERATION_MUX (0x00000005)
#define NV055_COMBINE_1_COLOR_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV055_COMBINE_1_COLOR_OPERATION_ADDSIGNED2 (0x00000007)
/* The following NV055_COMBINE_*** defines can be used without regard to the combiner number */
#define NV055_COMBINE_ALPHA_INVERSE_0 0:0
#define NV055_COMBINE_ALPHA_INVERSE_0_NORMAL (0x00000000)
#define NV055_COMBINE_ALPHA_INVERSE_0_INVERSE (0x00000001)
#define NV055_COMBINE_ALPHA_ALPHA_0 1:1
#define NV055_COMBINE_ALPHA_ARGUMENT_0 7:2
#define NV055_COMBINE_ALPHA_ARGUMENT_0_ZERO (0x00000001)
#define NV055_COMBINE_ALPHA_ARGUMENT_0_FACTOR (0x00000002)
#define NV055_COMBINE_ALPHA_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV055_COMBINE_ALPHA_ARGUMENT_0_INPUT (0x00000004)
#define NV055_COMBINE_ALPHA_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV055_COMBINE_ALPHA_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV055_COMBINE_ALPHA_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV055_COMBINE_ALPHA_INVERSE_1 8:8
#define NV055_COMBINE_ALPHA_INVERSE_1_NORMAL (0x00000000)
#define NV055_COMBINE_ALPHA_INVERSE_1_INVERSE (0x00000001)
#define NV055_COMBINE_ALPHA_ALPHA_1 9:9
#define NV055_COMBINE_ALPHA_ARGUMENT_1 15:10
#define NV055_COMBINE_ALPHA_ARGUMENT_1_ZERO (0x00000001)
#define NV055_COMBINE_ALPHA_ARGUMENT_1_FACTOR (0x00000002)
#define NV055_COMBINE_ALPHA_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV055_COMBINE_ALPHA_ARGUMENT_1_INPUT (0x00000004)
#define NV055_COMBINE_ALPHA_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV055_COMBINE_ALPHA_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV055_COMBINE_ALPHA_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV055_COMBINE_ALPHA_INVERSE_2 16:16
#define NV055_COMBINE_ALPHA_INVERSE_2_NORMAL (0x00000000)
#define NV055_COMBINE_ALPHA_INVERSE_2_INVERSE (0x00000001)
#define NV055_COMBINE_ALPHA_ALPHA_2 17:17
#define NV055_COMBINE_ALPHA_ARGUMENT_2 23:18
#define NV055_COMBINE_ALPHA_ARGUMENT_2_ZERO (0x00000001)
#define NV055_COMBINE_ALPHA_ARGUMENT_2_FACTOR (0x00000002)
#define NV055_COMBINE_ALPHA_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV055_COMBINE_ALPHA_ARGUMENT_2_INPUT (0x00000004)
#define NV055_COMBINE_ALPHA_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV055_COMBINE_ALPHA_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV055_COMBINE_ALPHA_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV055_COMBINE_ALPHA_INVERSE_3 24:24
#define NV055_COMBINE_ALPHA_INVERSE_3_NORMAL (0x00000000)
#define NV055_COMBINE_ALPHA_INVERSE_3_INVERSE (0x00000001)
#define NV055_COMBINE_ALPHA_ALPHA_3 25:25
#define NV055_COMBINE_ALPHA_ARGUMENT_3 28:26
#define NV055_COMBINE_ALPHA_ARGUMENT_3_ZERO (0x00000001)
#define NV055_COMBINE_ALPHA_ARGUMENT_3_FACTOR (0x00000002)
#define NV055_COMBINE_ALPHA_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV055_COMBINE_ALPHA_ARGUMENT_3_INPUT (0x00000004)
#define NV055_COMBINE_ALPHA_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV055_COMBINE_ALPHA_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV055_COMBINE_ALPHA_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV055_COMBINE_ALPHA_OPERATION 31:29
#define NV055_COMBINE_ALPHA_OPERATION_ADD (0x00000001)
#define NV055_COMBINE_ALPHA_OPERATION_ADD2 (0x00000002)
#define NV055_COMBINE_ALPHA_OPERATION_ADD4 (0x00000003)
#define NV055_COMBINE_ALPHA_OPERATION_ADDSIGNED (0x00000004)
#define NV055_COMBINE_ALPHA_OPERATION_MUX (0x00000005)
#define NV055_COMBINE_ALPHA_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV055_COMBINE_ALPHA_OPERATION_ADDSIGNED2 (0x00000007)
#define NV055_COMBINE_COLOR_INVERSE_0 0:0
#define NV055_COMBINE_COLOR_INVERSE_0_NORMAL (0x00000000)
#define NV055_COMBINE_COLOR_INVERSE_0_INVERSE (0x00000001)
#define NV055_COMBINE_COLOR_ALPHA_0 1:1
#define NV055_COMBINE_COLOR_ALPHA_0_COLOR (0x00000000)
#define NV055_COMBINE_COLOR_ALPHA_0_ALPHA (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_0 7:2
#define NV055_COMBINE_COLOR_ARGUMENT_0_ZERO (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_0_FACTOR (0x00000002)
#define NV055_COMBINE_COLOR_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV055_COMBINE_COLOR_ARGUMENT_0_INPUT (0x00000004)
#define NV055_COMBINE_COLOR_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV055_COMBINE_COLOR_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV055_COMBINE_COLOR_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV055_COMBINE_COLOR_INVERSE_1 8:8
#define NV055_COMBINE_COLOR_INVERSE_1_NORMAL (0x00000000)
#define NV055_COMBINE_COLOR_INVERSE_1_INVERSE (0x00000001)
#define NV055_COMBINE_COLOR_ALPHA_1 9:9
#define NV055_COMBINE_COLOR_ALPHA_1_COLOR (0x00000000)
#define NV055_COMBINE_COLOR_ALPHA_1_ALPHA (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_1 15:10
#define NV055_COMBINE_COLOR_ARGUMENT_1_ZERO (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_1_FACTOR (0x00000002)
#define NV055_COMBINE_COLOR_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV055_COMBINE_COLOR_ARGUMENT_1_INPUT (0x00000004)
#define NV055_COMBINE_COLOR_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV055_COMBINE_COLOR_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV055_COMBINE_COLOR_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV055_COMBINE_COLOR_INVERSE_2 16:16
#define NV055_COMBINE_COLOR_INVERSE_2_NORMAL (0x00000000)
#define NV055_COMBINE_COLOR_INVERSE_2_INVERSE (0x00000001)
#define NV055_COMBINE_COLOR_ALPHA_2 17:17
#define NV055_COMBINE_COLOR_ALPHA_2_COLOR (0x00000000)
#define NV055_COMBINE_COLOR_ALPHA_2_ALPHA (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_2 23:18
#define NV055_COMBINE_COLOR_ARGUMENT_2_ZERO (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_2_FACTOR (0x00000002)
#define NV055_COMBINE_COLOR_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV055_COMBINE_COLOR_ARGUMENT_2_INPUT (0x00000004)
#define NV055_COMBINE_COLOR_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV055_COMBINE_COLOR_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV055_COMBINE_COLOR_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV055_COMBINE_COLOR_INVERSE_3 24:24
#define NV055_COMBINE_COLOR_INVERSE_3_NORMAL (0x00000000)
#define NV055_COMBINE_COLOR_INVERSE_3_INVERSE (0x00000001)
#define NV055_COMBINE_COLOR_ALPHA_3 25:25
#define NV055_COMBINE_COLOR_ALPHA_3_COLOR (0x00000000)
#define NV055_COMBINE_COLOR_ALPHA_3_ALPHA (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_3 28:26
#define NV055_COMBINE_COLOR_ARGUMENT_3_ZERO (0x00000001)
#define NV055_COMBINE_COLOR_ARGUMENT_3_FACTOR (0x00000002)
#define NV055_COMBINE_COLOR_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV055_COMBINE_COLOR_ARGUMENT_3_INPUT (0x00000004)
#define NV055_COMBINE_COLOR_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV055_COMBINE_COLOR_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV055_COMBINE_COLOR_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV055_COMBINE_COLOR_OPERATION 31:29
#define NV055_COMBINE_COLOR_OPERATION_ADD (0x00000001)
#define NV055_COMBINE_COLOR_OPERATION_ADD2 (0x00000002)
#define NV055_COMBINE_COLOR_OPERATION_ADD4 (0x00000003)
#define NV055_COMBINE_COLOR_OPERATION_ADDSIGNED (0x00000004)
#define NV055_COMBINE_COLOR_OPERATION_MUX (0x00000005)
#define NV055_COMBINE_COLOR_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV055_COMBINE_COLOR_OPERATION_ADDSIGNED2 (0x00000007)
#define NV055_COMBINE_FACTOR (0x00000334)
#define NV055_COMBINE_FACTOR_BLUE 7:0
#define NV055_COMBINE_FACTOR_GREEN 15:8
#define NV055_COMBINE_FACTOR_RED 23:16
#define NV055_COMBINE_FACTOR_ALPHA 31:24
#define NV055_BLEND (0x00000338)
#define NV055_BLEND_MASK_BIT 5:0
#define NV055_BLEND_MASK_BIT_LSB (0x00000010)
#define NV055_BLEND_MASK_BIT_MSB (0x00000020)
#define NV055_BLEND_SHADEMODE 7:6
#define NV055_BLEND_SHADEMODE_FLAT (0x00000001)
#define NV055_BLEND_SHADEMODE_GOURAUD (0x00000002)
#define NV055_BLEND_SHADEMODE_PHONG (0x00000003)
#define NV055_BLEND_TEXTUREPERSPECTIVE 11:8
#define NV055_BLEND_TEXTUREPERSPECTIVE_FALSE (0x00000000)
#define NV055_BLEND_TEXTUREPERSPECTIVE_TRUE (0x00000001)
#define NV055_BLEND_SPECULARENABLE 15:12
#define NV055_BLEND_SPECULARENABLE_FALSE (0x00000000)
#define NV055_BLEND_SPECULARENABLE_TRUE (0x00000001)
#define NV055_BLEND_FOGENABLE 19:16
#define NV055_BLEND_FOGENABLE_FALSE (0x00000000)
#define NV055_BLEND_FOGENABLE_TRUE (0x00000001)
#define NV055_BLEND_ALPHABLENDENABLE 23:20
#define NV055_BLEND_ALPHABLENDENABLE_FALSE (0x00000000)
#define NV055_BLEND_ALPHABLENDENABLE_TRUE (0x00000001)
#define NV055_BLEND_SRCBLEND 27:24
#define NV055_BLEND_SRCBLEND_ZERO (0x00000001)
#define NV055_BLEND_SRCBLEND_ONE (0x00000002)
#define NV055_BLEND_SRCBLEND_SRCCOLOR (0x00000003)
#define NV055_BLEND_SRCBLEND_INVSRCCOLOR (0x00000004)
#define NV055_BLEND_SRCBLEND_SRCALPHA (0x00000005)
#define NV055_BLEND_SRCBLEND_INVSRCALPHA (0x00000006)
#define NV055_BLEND_SRCBLEND_DESTALPHA (0x00000007)
#define NV055_BLEND_SRCBLEND_INVDESTALPHA (0x00000008)
#define NV055_BLEND_SRCBLEND_DESTCOLOR (0x00000009)
#define NV055_BLEND_SRCBLEND_INVDESTCOLOR (0x0000000A)
#define NV055_BLEND_SRCBLEND_SRCALPHASAT (0x0000000B)
#define NV055_BLEND_DESTBLEND 31:28
#define NV055_BLEND_DESTBLEND_ZERO (0x00000001)
#define NV055_BLEND_DESTBLEND_ONE (0x00000002)
#define NV055_BLEND_DESTBLEND_SRCCOLOR (0x00000003)
#define NV055_BLEND_DESTBLEND_INVSRCCOLOR (0x00000004)
#define NV055_BLEND_DESTBLEND_SRCALPHA (0x00000005)
#define NV055_BLEND_DESTBLEND_INVSRCALPHA (0x00000006)
#define NV055_BLEND_DESTBLEND_DESTALPHA (0x00000007)
#define NV055_BLEND_DESTBLEND_INVDESTALPHA (0x00000008)
#define NV055_BLEND_DESTBLEND_DESTCOLOR (0x00000009)
#define NV055_BLEND_DESTBLEND_INVDESTCOLOR (0x0000000A)
#define NV055_BLEND_DESTBLEND_SRCALPHASAT (0x0000000B)
#define NV055_CONTROL0 (0x0000033C)
#define NV055_CONTROL0_ALPHAREF 7:0
#define NV055_CONTROL0_ALPHAFUNC 11:8
#define NV055_CONTROL0_ALPHAFUNC_NEVER (0x00000001)
#define NV055_CONTROL0_ALPHAFUNC_LESS (0x00000002)
#define NV055_CONTROL0_ALPHAFUNC_EQUAL (0x00000003)
#define NV055_CONTROL0_ALPHAFUNC_LESSEQUAL (0x00000004)
#define NV055_CONTROL0_ALPHAFUNC_GREATER (0x00000005)
#define NV055_CONTROL0_ALPHAFUNC_NOTEQUAL (0x00000006)
#define NV055_CONTROL0_ALPHAFUNC_GREATEREQUAL (0x00000007)
#define NV055_CONTROL0_ALPHAFUNC_ALWAYS (0x00000008)
#define NV055_CONTROL0_ALPHATESTENABLE 12:12
#define NV055_CONTROL0_ALPHATESTENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_ALPHATESTENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_ORIGIN 13:13
#define NV055_CONTROL0_ORIGIN_CENTER (0x00000000)
#define NV055_CONTROL0_ORIGIN_CORNER (0x00000001)
#define NV055_CONTROL0_ZENABLE 15:14
#define NV055_CONTROL0_ZENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_ZENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_ZFUNC 19:16
#define NV055_CONTROL0_ZFUNC_NEVER (0x00000001)
#define NV055_CONTROL0_ZFUNC_LESS (0x00000002)
#define NV055_CONTROL0_ZFUNC_EQUAL (0x00000003)
#define NV055_CONTROL0_ZFUNC_LESSEQUAL (0x00000004)
#define NV055_CONTROL0_ZFUNC_GREATER (0x00000005)
#define NV055_CONTROL0_ZFUNC_NOTEQUAL (0x00000006)
#define NV055_CONTROL0_ZFUNC_GREATEREQUAL (0x00000007)
#define NV055_CONTROL0_ZFUNC_ALWAYS (0x00000008)
#define NV055_CONTROL0_CULLMODE 21:20
#define NV055_CONTROL0_CULLMODE_NONE (0x00000001)
#define NV055_CONTROL0_CULLMODE_CW (0x00000002)
#define NV055_CONTROL0_CULLMODE_CCW (0x00000003)
#define NV055_CONTROL0_DITHERENABLE 22:22
#define NV055_CONTROL0_DITHERENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_DITHERENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_Z_PERSPECTIVE_ENABLE 23:23
#define NV055_CONTROL0_Z_PERSPECTIVE_ENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_Z_PERSPECTIVE_ENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_ZWRITEENABLE 24:24
#define NV055_CONTROL0_ZWRITEENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_ZWRITEENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_STENCIL_WRITE_ENABLE 25:25
#define NV055_CONTROL0_STENCIL_WRITE_ENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_STENCIL_WRITE_ENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_ALPHA_WRITE_ENABLE 26:26
#define NV055_CONTROL0_ALPHA_WRITE_ENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_ALPHA_WRITE_ENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_RED_WRITE_ENABLE 27:27
#define NV055_CONTROL0_RED_WRITE_ENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_RED_WRITE_ENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_GREEN_WRITE_ENABLE 28:28
#define NV055_CONTROL0_GREEN_WRITE_ENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_GREEN_WRITE_ENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_BLUE_WRITE_ENABLE 29:29
#define NV055_CONTROL0_BLUE_WRITE_ENABLE_FALSE (0x00000000)
#define NV055_CONTROL0_BLUE_WRITE_ENABLE_TRUE (0x00000001)
#define NV055_CONTROL0_Z_FORMAT 31:30
#define NV055_CONTROL0_Z_FORMAT_FIXED (0x00000001)
#define NV055_CONTROL0_Z_FORMAT_FLOAT (0x00000002)
#define NV055_CONTROL1 (0x00000340)
#define NV055_CONTROL1_STENCIL_TEST_ENABLE 3:0
#define NV055_CONTROL1_STENCIL_TEST_ENABLE_FALSE (0x00000000)
#define NV055_CONTROL1_STENCIL_TEST_ENABLE_TRUE (0x00000001)
#define NV055_CONTROL1_STENCIL_FUNC 7:4
#define NV055_CONTROL1_STENCIL_FUNC_NEVER (0x00000001)
#define NV055_CONTROL1_STENCIL_FUNC_LESS (0x00000002)
#define NV055_CONTROL1_STENCIL_FUNC_EQUAL (0x00000003)
#define NV055_CONTROL1_STENCIL_FUNC_LESSEQUAL (0x00000004)
#define NV055_CONTROL1_STENCIL_FUNC_GREATER (0x00000005)
#define NV055_CONTROL1_STENCIL_FUNC_NOTEQUAL (0x00000006)
#define NV055_CONTROL1_STENCIL_FUNC_GREATEREQUAL (0x00000007)
#define NV055_CONTROL1_STENCIL_FUNC_ALWAYS (0x00000008)
#define NV055_CONTROL1_STENCIL_REF 15:8
#define NV055_CONTROL1_STENCIL_MASK_READ 23:16
#define NV055_CONTROL1_STENCIL_MASK_WRITE 31:24
#define NV055_CONTROL2 (0x00000344)
#define NV055_CONTROL2_STENCIL_OP_FAIL 3:0
#define NV055_CONTROL2_STENCIL_OP_FAIL_KEEP (0x00000001)
#define NV055_CONTROL2_STENCIL_OP_FAIL_ZERO (0x00000002)
#define NV055_CONTROL2_STENCIL_OP_FAIL_REPLACE (0x00000003)
#define NV055_CONTROL2_STENCIL_OP_FAIL_INCRSAT (0x00000004)
#define NV055_CONTROL2_STENCIL_OP_FAIL_DECRSAT (0x00000005)
#define NV055_CONTROL2_STENCIL_OP_FAIL_INVERT (0x00000006)
#define NV055_CONTROL2_STENCIL_OP_FAIL_INCR (0x00000007)
#define NV055_CONTROL2_STENCIL_OP_FAIL_DECR (0x00000008)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL 7:4
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_KEEP (0x00000001)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_ZERO (0x00000002)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_REPLACE (0x00000003)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_INCRSAT (0x00000004)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_DECRSAT (0x00000005)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_INVERT (0x00000006)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_INCR (0x00000007)
#define NV055_CONTROL2_STENCIL_OP_ZFAIL_DECR (0x00000008)
#define NV055_CONTROL2_STENCIL_OP_ZPASS 31:8
#define NV055_CONTROL2_STENCIL_OP_ZPASS_KEEP (0x00000001)
#define NV055_CONTROL2_STENCIL_OP_ZPASS_ZERO (0x00000002)
#define NV055_CONTROL2_STENCIL_OP_ZPASS_REPLACE (0x00000003)
#define NV055_CONTROL2_STENCIL_OP_ZPASS_INCRSAT (0x00000004)
#define NV055_CONTROL2_STENCIL_OP_ZPASS_DECRSAT (0x00000005)
#define NV055_CONTROL2_STENCIL_OP_ZPASS_INVERT (0x00000006)
#define NV055_CONTROL2_STENCIL_OP_ZPASS_INCR (0x00000007)
#define NV055_CONTROL2_STENCIL_OP_ZPASS_DECR (0x00000008)
#define NV055_FOG_COLOR (0x00000348)
#define NV055_TLMTVERTEX(i) (0x00000400\
+(i)*0x0028)
#define NV055_TLMTVERTEX_SX(i) (0x00000400\
+(i)*0x0028)
#define NV055_TLMTVERTEX_SY(i) (0x00000404\
+(i)*0x0028)
#define NV055_TLMTVERTEX_SZ(i) (0x00000408\
+(i)*0x0028)
#define NV055_TLMTVERTEX_RHW(i) (0x0000040C\
+(i)*0x0028)
#define NV055_TLMTVERTEX_COLOR(i) (0x00000410\
+(i)*0x0028)
#define NV055_TLMTVERTEX_COLOR_BLUE 7:0
#define NV055_TLMTVERTEX_COLOR_GREEN 15:8
#define NV055_TLMTVERTEX_COLOR_RED 23:16
#define NV055_TLMTVERTEX_COLOR_ALPHA 31:24
#define NV055_TLMTVERTEX_SPECULAR(i) (0x00000414\
+(i)*0x0028)
#define NV055_TLMTVERTEX_SPECULAR_BLUE 7:0
#define NV055_TLMTVERTEX_SPECULAR_GREEN 15:8
#define NV055_TLMTVERTEX_SPECULAR_RED 23:16
#define NV055_TLMTVERTEX_SPECULAR_FOG 31:24
#define NV055_TLMTVERTEX_TU0(i) (0x00000418\
+(i)*0x0028)
#define NV055_TLMTVERTEX_TV0(i) (0x0000041C\
+(i)*0x0028)
#define NV055_TLMTVERTEX_TU1(i) (0x00000420\
+(i)*0x0028)
#define NV055_TLMTVERTEX_TV1(i) (0x00000424\
+(i)*0x0028)
#define NV055_DRAW_PRIMITIVE(a) (0x00000540\
+(a)*0x0004)
#define NV055_DRAW_PRIMITIVE_I0 3:0
#define NV055_DRAW_PRIMITIVE_I1 7:4
#define NV055_DRAW_PRIMITIVE_I2 11:8
#define NV055_DRAW_PRIMITIVE_I3 15:12
#define NV055_DRAW_PRIMITIVE_I4 19:16
#define NV055_DRAW_PRIMITIVE_I5 31:20
/* obsolete stuff */
#define NV4_DX6_MULTI_TEXTURE_TRIANGLE (0x00000055)
#define Nv4Dx6MultiTextureTriangle Nv04Dx6MultiTextureTriangle
#define nv4Dx6MultiTextureTriangle Nv04Dx6MultiTextureTriangle
#define nv04Dx6MultiTextureTriangle Nv04Dx6MultiTextureTriangle
// This typedef really should be the same as Nv10CelsiusPrimitive, but this
// causes the NV03/NV04_CHANNEL_PIO union to become too large for the 16bit
// compiler. Since we don't expect to use a PIO channel with Celsius, we'll
// just use the old DWORD size typedef.
typedef NvV32 Nv056Typedef;
/* class NV10_CELSIUS_PRIMITIVE */
#define NV10_CELSIUS_PRIMITIVE (0x00000056)
/* NvNotification[] elements */
#define NV056_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV056_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV056_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV056_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV056_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV056_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV056_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
typedef volatile struct {
// system method
NvV32 ctx_Switch;
NvV32 Reserved00[0xfc/4];
NvV32 NoOperation;
NvV32 Notify;
NvV32 SetWarningEnable;
NvV32 GetState;
NvV32 WaitForIdle;
NvV32 Reserved01[0x2c/4];
NvV32 PmTrigger;
NvV32 Reserved02[0x3c/4];
NvV32 SetContextDmaNotifies;
NvV32 SetContextDmaA;
NvV32 SetContextDmaB;
NvV32 SetContextDmaVertex;
NvV32 SetContextDmaState;
NvV32 SetContextDmaColor;
NvV32 SetContextDmaZeta;
NvV32 Reserved03[0x64/4];
NvV32 SetSurfaceClipHorizontal;
NvV32 SetSurfaceClipVertical;
NvV32 SetSurfaceFormat;
NvV32 SetSurfacePitch;
NvU32 SetSurfaceColorOffset;
NvU32 SetSurfaceZetaOffset;
NvU32 SetTextureOffset[2];
NvV32 SetTextureFormat[2];
NvV32 SetTextureControl0[2];
NvV32 SetTextureControl1[2];
NvV32 SetTextureControl2[2];
NvV32 SetTextureImageRect[2];
NvV32 SetTextureFilter[2];
NvV32 SetTexturePalette[2];
NvV32 Reserved04[0x8/4];
NvV32 SetCombinerAlphaICW[2];
NvV32 SetCombinerColorICW[2];
NvV32 SetCombineFactor[2];
NvV32 SetCombinerAlphaOCW[2];
NvV32 SetCombiner0ColorOCW;
NvV32 SetCombiner1ColorOCW;
NvV32 SetCombinerSpecularFogCW0;
NvV32 SetCombinerSpecularFogCW1;
NvV32 SetControl0;
NvV32 SetLightControl;
NvV32 SetColorMaterial;
NvV32 SetFogMode;
NvV32 SetFogGenMode;
NvV32 SetFogEnable;
NvV32 SetFogColor;
NvV32 SetColorKeyColor[2];
NvV32 SetWindowClipType;
NvV32 Reserved05[0x8/4];
NvV32 SetWindowClipHorizontal[8];
NvV32 SetWindowClipVertical[8];
NvV32 SetAlphaTestEnable;
NvV32 SetBlendEnable;
NvV32 SetCullFaceEnable;
NvV32 SetDepthTestEnable;
NvV32 SetDitherEnable;
NvV32 SetLightingEnable;
NvV32 SetPointParamsEnable;
NvV32 SetPointSmoothEnable;
NvV32 SetLineSmoothEnable;
NvV32 SetPolySmoothEnable;
NvV32 SetSkinEnable;
NvV32 SetStencilTestEnable;
NvV32 SetPolyOffsetPointEnable;
NvV32 SetPolyOffsetLineEnable;
NvV32 SetPolyOffsetFillEnable;
NvV32 SetAlphaFunc;
NvV32 SetAlphaRef;
NvV32 SetBlendFuncSfactor;
NvV32 SetBlendFuncDfactor;
NvV32 SetBlendColor;
NvV32 SetBlendEquation;
NvV32 SetDepthFunc;
NvV32 SetColorMask;
NvV32 SetDepthMask;
NvV32 SetStencilMask;
NvV32 SetStencilFunc;
NvV32 SetStencilFuncRef;
NvV32 SetStencilFuncMask;
NvV32 SetStencilOpFail;
NvV32 SetStencilOpZfail;
NvV32 SetStencilOpZpass;
NvV32 SetShadeMode;
NvV32 SetLineWidth;
NvF32 SetPolygonOffsetScaleFactor;
NvF32 SetPolygonOffsetBias;
NvV32 SetFrontPolygonMode;
NvV32 SetBackPolygonMode;
NvF32 SetClipMin;
NvF32 SetClipMax;
NvV32 SetCullFace;
NvV32 SetFrontFace;
NvV32 SetNormalizationEnable;
NvV32 SetMaterialEmission[3];
NvV32 SetMaterialAlpha;
NvV32 SetSpecularEnable;
NvV32 SetLightEnableMask;
struct {
NvV32 S;
NvV32 T;
NvV32 R;
NvV32 Q;
} SetTexgen[2];
NvV32 SetTextureMatrix0Enable;
NvV32 SetTextureMatrix1Enable;
NvV32 SetTLMode;
NvV32 SetPointSize;
NvV32 SetSwathWidth;
NvV32 SetFlatShadeOp;
NvV32 Reserved06[0x8/4];
NvF32 SetModelViewMatrix0[16];
NvF32 SetModelViewMatrix1[16];
NvF32 SetInverseModelViewMatrix0[16];
NvF32 SetInverseModelViewMatrix1[16];
NvF32 SetCompositeMatrix[16];
NvF32 SetTextureMatrix0[16];
NvF32 SetTextureMatrix1[16];
NvV32 Reserved07[0x40/4];
NvF32 SetTexgenSPlane0[4];
NvF32 SetTexgenTPlane0[4];
NvF32 SetTexgenRPlane0[4];
NvF32 SetTexgenQPlane0[4];
NvF32 SetTexgenSPlane1[4];
NvF32 SetTexgenTPlane1[4];
NvF32 SetTexgenRPlane1[4];
NvF32 SetTexgenQPlane1[4];
NvF32 SetFogParams[3];
NvF32 SetFogPlane[4];
NvV32 Reserved08[0x4/4];
NvF32 SetSpecularParams[6];
NvV32 Reserved09[0xc/4];
NvF32 SetSceneAmbientColor[3];
NvV32 Reserved0a[0x18/4];
NvF32 SetViewportOffset[4];
NvF32 SetPointParams[8];
NvF32 SetEyePosition[4];
NvV32 Flush;
NvF32 SetEyeDirectionSW[3];
NvV32 Reserved0b[0xc8/4];
struct {
NvF32 AmbientColor[3];
NvF32 DiffuseColor[3];
NvF32 SpecularColor[3];
NvF32 LocalRange;
NvF32 InfiniteHalfVector[3];
NvF32 InfiniteDirection[3];
NvF32 SpotFalloff[3];
NvF32 SpotDirection[4];
NvF32 LocalPosition[3];
NvF32 LocalAttenuation[3];
NvV32 Reserved0c[0xc/4];
} SetLight[8];
NvF32 SetVertex3f[3];
NvV32 Reserved0d[0xc/4];
NvF32 SetVertex4f[4];
NvS16 SetVertex4s[4];
NvF32 SetNormal3f[3];
NvV32 Reserved0e[0x4/4];
NvS16 SetNormal3s[3];
NvV16 Reserved0f[0xa/2];
NvF32 SetDiffuseColor4f[4];
NvF32 SetDiffuseColor3f[3];
NvV32 SetDiffuseColor4ub;
NvF32 SetSpecularColor4f[4];
NvF32 SetSpecularColor3f[3];
NvV32 SetSpecularColor4ub;
NvF32 SetTexcoord0_2f[2];
NvS16 SetTexcoord0_2s[2];
NvV32 Reserved10[0x4/4];
NvF32 SetTexcoord0_4f[4];
NvS16 SetTexcoord0_4s[4];
NvF32 SetTexcoord1_2f[2];
NvS16 SetTexcoord1_2s[2];
NvV32 Reserved11[0x4/4];
NvF32 SetTexcoord1_4f[4];
NvS16 SetTexcoord1_4s[4];
NvF32 SetFog1f;
NvF32 SetWeight1f;
NvV32 Reserved12[0x4/4];
NvV32 SetEdgeFlag;
NvV32 InvalidateVertexCacheFile;
NvV32 InvalidateVertexFile;
NvV32 TlNop;
NvV32 TlSync;
NvU32 SetVertexArrayOffset;
NvV32 SetVertexArrayFormat;
NvU32 SetDiffuseArrayOffset;
NvV32 SetDiffuseArrayFormat;
NvU32 SetSpecularArrayOffset;
NvV32 SetSpecularArrayFormat;
NvU32 SetTexCoord0ArrayOffset;
NvV32 SetTexCoord0ArrayFormat;
NvU32 SetTexCoord1ArrayOffset;
NvV32 SetTexCoord1ArrayFormat;
NvU32 SetNormalArrayOffset;
NvV32 SetNormalArrayFormat;
NvU32 SetWeightArrayOffset;
NvV32 SetWeightArrayFormat;
NvU32 SetFogArrayOffset;
NvV32 SetFogArrayFormat;
NvV32 Reserved13[0xbc/4];
NvV32 SetBeginEnd;
NvV16 ArrayElement16[256];
NvV32 Reserved14[0xfc/4];
NvV32 SetBeginEnd2;
NvV32 ArrayElement32[64];
NvV32 Reserved15[0x1fc/4];
NvV32 SetBeginEnd3;
NvV32 DrawArrays[128];
NvV32 DebugInit[10];
NvV32 SetMaterialEmissionSW[3];
NvV32 Reserved16[0x1c8/4];
NvV32 SetBeginEnd4;
NvV32 InlineArray[512];
} Nv10CelsiusPrimitive;
#define NV056_TYPEDEF Nv10CelsiusPrimitive
#define NV056_SET_OBJECT (0x00000000)
#define NV056_DEBUG_INIT(i) (0x00001600+(i)*4)
#define NV056_FLUSH 0x00000728
#define NV056_NO_OPERATION 0x00000100
#define NV056_NOTIFY 0x00000104
#define NV056_NOTIFY_TYPE 23:0
#define NV056_NOTIFY_TYPE_WRITE_ONLY 0x00000000
#define NV056_NOTIFY_TYPE_WRITE_THEN_AWAKEN 0x00000001
#define NV056_SET_WARNING_ENABLE 0x00000108
#define NV056_SET_WARNING_ENABLE_V 23:0
#define NV056_SET_WARNING_ENABLE_V_FALSE 0x00000000
#define NV056_SET_WARNING_ENABLE_V_TRUE 0x00000001
#define NV056_GET_STATE 0x0000010c
#define NV056_GET_STATE_GETSTATE 31:0
#define NV056_GET_STATE_GETSTATE_ALL_STATE 0x00000001
#define NV056_GET_STATE_PUTSTATE_ALL_STATE 0x00000002
#define NV056_GET_STATE_GETSTATE_TRANSFORMLIGHTING_STATE 0x00000003
#define NV056_GET_STATE_GETSTATE_RENDERING_STATE 0x00000004
#define NV056_GET_STATE_GETSTATE_GEOMETRY_STATE 0x00000005
#define NV056_GET_STATE_GETSTATE_SNAPSHOT_PRIM_ASSM 0x00000006
#define NV056_GET_STATE_GETSTATE_RELOAD_PRIM_ASSM 0x00000007
#define NV056_WAIT_FOR_IDLE 0x00000110
#define NV056_PM_TRIGGER 0x00000140
#define NV056_SET_CONTEXT_DMA_NOTIFIES 0x00000180
#define NV056_SET_CONTEXT_DMA_A 0x00000184
#define NV056_SET_CONTEXT_DMA_B 0x00000188
#define NV056_SET_CONTEXT_DMA_VERTEX 0x0000018c
#define NV056_SET_CONTEXT_DMA_STATE 0x00000190
#define NV056_SET_CONTEXT_DMA_COLOR 0x00000194
#define NV056_SET_CONTEXT_DMA_ZETA 0x00000198
#define NV056_SET_SURFACE_CLIP_HORIZONTAL 0x00000200
#define NV056_SET_SURFACE_CLIP_HORIZONTAL_X 15:0
#define NV056_SET_SURFACE_CLIP_HORIZONTAL_WIDTH 31:16
#define NV056_SET_SURFACE_CLIP_VERTICAL 0x00000204
#define NV056_SET_SURFACE_CLIP_VERTICAL_Y 15:0
#define NV056_SET_SURFACE_CLIP_VERTICAL_HEIGHT 31:16
#define NV056_SET_SURFACE_FORMAT 0x00000208
#define NV056_SET_SURFACE_FORMAT_COLOR 7:0
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 0x00000001
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 0x00000002
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_R5G6B5 0x00000003
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 0x00000004
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 0x00000005
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 0x00000006
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 0x00000007
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_A8R8G8B8 0x00000008
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_B8 0x00000009
#define NV056_SET_SURFACE_FORMAT_COLOR_LE_G8B8 0x0000000A
#define NV056_SET_SURFACE_FORMAT_TYPE 15:8
#define NV056_SET_SURFACE_FORMAT_TYPE_PITCH 0x00000001
#define NV056_SET_SURFACE_FORMAT_TYPE_SWIZZLE 0x00000002
#define NV056_SET_SURFACE_FORMAT_WIDTH 23:16
#define NV056_SET_SURFACE_FORMAT_WIDTH_1 0x00000000
#define NV056_SET_SURFACE_FORMAT_WIDTH_2 0x00000001
#define NV056_SET_SURFACE_FORMAT_WIDTH_4 0x00000002
#define NV056_SET_SURFACE_FORMAT_WIDTH_8 0x00000003
#define NV056_SET_SURFACE_FORMAT_WIDTH_16 0x00000004
#define NV056_SET_SURFACE_FORMAT_WIDTH_32 0x00000005
#define NV056_SET_SURFACE_FORMAT_WIDTH_64 0x00000006
#define NV056_SET_SURFACE_FORMAT_WIDTH_128 0x00000007
#define NV056_SET_SURFACE_FORMAT_WIDTH_256 0x00000008
#define NV056_SET_SURFACE_FORMAT_WIDTH_512 0x00000009
#define NV056_SET_SURFACE_FORMAT_WIDTH_1024 0x0000000A
#define NV056_SET_SURFACE_FORMAT_WIDTH_2048 0x0000000B
#define NV056_SET_SURFACE_FORMAT_HEIGHT 31:24
#define NV056_SET_SURFACE_FORMAT_HEIGHT_1 0x00000000
#define NV056_SET_SURFACE_FORMAT_HEIGHT_2 0x00000001
#define NV056_SET_SURFACE_FORMAT_HEIGHT_4 0x00000002
#define NV056_SET_SURFACE_FORMAT_HEIGHT_8 0x00000003
#define NV056_SET_SURFACE_FORMAT_HEIGHT_16 0x00000004
#define NV056_SET_SURFACE_FORMAT_HEIGHT_32 0x00000005
#define NV056_SET_SURFACE_FORMAT_HEIGHT_64 0x00000006
#define NV056_SET_SURFACE_FORMAT_HEIGHT_128 0x00000007
#define NV056_SET_SURFACE_FORMAT_HEIGHT_256 0x00000008
#define NV056_SET_SURFACE_FORMAT_HEIGHT_512 0x00000009
#define NV056_SET_SURFACE_FORMAT_HEIGHT_1024 0x0000000A
#define NV056_SET_SURFACE_FORMAT_HEIGHT_2048 0x0000000B
#define NV056_SET_SURFACE_PITCH 0x0000020c
#define NV056_SET_SURFACE_PITCH_COLOR 15:0
#define NV056_SET_SURFACE_PITCH_ZETA 31:16
#define NV056_SET_SURFACE_COLOR_OFFSET 0x00000210
#define NV056_SET_SURFACE_COLOR_OFFSET_V 31:0
#define NV056_SET_SURFACE_ZETA_OFFSET 0x00000214
#define NV056_SET_SURFACE_ZETA_OFFSET_V 31:0
#define NV056_SET_TEXTURE_OFFSET(i) (0x00000218+(i)*4)
#define NV056_SET_TEXTURE_OFFSET_V 31:0
#define NV056_SET_TEXTURE_FORMAT(i) (0x00000220+(i)*4)
#define NV056_SET_TEXTURE_FORMAT_CONTEXT_DMA 1:0
#define NV056_SET_TEXTURE_FORMAT_CONTEXT_DMA_A 0x00000001
#define NV056_SET_TEXTURE_FORMAT_CONTEXT_DMA_B 0x00000002
#define NV056_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE 2:2
#define NV056_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_FALSE 0x00000000
#define NV056_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_TRUE 0x00000001
#define NV056_SET_TEXTURE_FORMAT_ORIGIN_ZOH 4:3
#define NV056_SET_TEXTURE_FORMAT_ORIGIN_ZOH_CENTER 0x00000001
#define NV056_SET_TEXTURE_FORMAT_ORIGIN_ZOH_CORNER 0x00000002
#define NV056_SET_TEXTURE_FORMAT_ORIGIN_FOH 6:5
#define NV056_SET_TEXTURE_FORMAT_ORIGIN_FOH_CENTER 0x00000001
#define NV056_SET_TEXTURE_FORMAT_ORIGIN_FOH_CORNER 0x00000002
#define NV056_SET_TEXTURE_FORMAT_COLOR 11:7
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_Y8 0x00000000
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_AY8 0x00000001
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_A1R5G5B5 0x00000002
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_X1R5G5B5 0x00000003
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_A4R4G4B4 0x00000004
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_R5G6B5 0x00000005
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_A8R8G8B8 0x00000006
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_X8R8G8B8 0x00000007
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_I8_A1R5G5B5 0x00000008
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_I8_R5G6B5 0x00000009
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_I8_A4R4G4B4 0x0000000A
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_I8_A8R8G8B8 0x0000000B
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_DXT1_A1R5G5B5 0x0000000C
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_DXT23_A8R8G8B8 0x0000000E
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_DXT45_A8R8G8B8 0x0000000F
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_A1R5G5B5 0x00000010
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_R5G6B5 0x00000011
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_A8R8G8B8 0x00000012
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_Y8 0x00000013
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_SY8 0x00000014
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_X7SY9 0x00000015
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_R8B8 0x00000016
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_G8B8 0x00000017
#define NV056_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_SG8SB8 0x00000018
#define NV056_SET_TEXTURE_FORMAT_MIPMAP_LEVELS 15:12
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U 19:16
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_1 0x00000000
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_2 0x00000001
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_4 0x00000002
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_8 0x00000003
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_16 0x00000004
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_32 0x00000005
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_64 0x00000006
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_128 0x00000007
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_256 0x00000008
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_512 0x00000009
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_1024 0x0000000A
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_U_2048 0x0000000B
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V 23:20
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_1 0x00000000
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_2 0x00000001
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_4 0x00000002
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_8 0x00000003
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_16 0x00000004
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_32 0x00000005
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_64 0x00000006
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_128 0x00000007
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_256 0x00000008
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_512 0x00000009
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_1024 0x0000000A
#define NV056_SET_TEXTURE_FORMAT_BASE_SIZE_V_2048 0x0000000B
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSU 26:24
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_WRAP 0x00000001
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_MIRROR 0x00000002
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_CLAMP 0x00000003
#define NV056_SET_TEXTURE_FORMAT_WRAPU 27:27
#define NV056_SET_TEXTURE_FORMAT_WRAPU_FALSE 0x00000000
#define NV056_SET_TEXTURE_FORMAT_WRAPU_TRUE 0x00000001
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSV 30:28
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_WRAP 0x00000001
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_MIRROR 0x00000002
#define NV056_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_CLAMP 0x00000003
#define NV056_SET_TEXTURE_FORMAT_WRAPV 31:31
#define NV056_SET_TEXTURE_FORMAT_WRAPV_FALSE 0x00000000
#define NV056_SET_TEXTURE_FORMAT_WRAPV_TRUE 0x00000001
#define NV056_SET_TEXTURE_CONTROL0(i) (0x00000228+(i)*4)
#define NV056_SET_TEXTURE_CONTROL0_ENABLE 30:30
#define NV056_SET_TEXTURE_CONTROL0_ENABLE_FALSE 0x00000000
#define NV056_SET_TEXTURE_CONTROL0_ENABLE_TRUE 0x00000001
#define NV056_SET_TEXTURE_CONTROL0_MIN_LOD_CLAMP 29:18
#define NV056_SET_TEXTURE_CONTROL0_MAX_LOD_CLAMP 17:6
#define NV056_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO 5:4
#define NV056_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_0 0x00000000
#define NV056_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_1 0x00000001
#define NV056_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE 3:3
#define NV056_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_FALSE 0x00000000
#define NV056_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_TRUE 0x00000001
#define NV056_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE 2:2
#define NV056_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_FALSE 0x00000000
#define NV056_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_TRUE 0x00000001
#define NV056_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION 1:0
#define NV056_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_FALSE 0x00000000
#define NV056_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_ALPHA 0x00000001
#define NV056_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_RGBA 0x00000002
#define NV056_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_KILL 0x00000003
#define NV056_SET_TEXTURE_CONTROL1(i) (0x00000230+(i)*4)
#define NV056_SET_TEXTURE_CONTROL1_IMAGE_PITCH 31:16
#define NV056_SET_TEXTURE_CONTROL1_ZERO 15:0
#define NV056_SET_TEXTURE_CONTROL2(i) (0x00000238+(i)*4)
#define NV056_SET_TEXTURE_CONTROL2_PERTURB_DU 11:0
#define NV056_SET_TEXTURE_CONTROL2_PERTURB_DV 23:12
#define NV056_SET_TEXTURE_CONTROL2_IMAGE_LODF 31:24
#define NV056_SET_TEXTURE_IMAGE_RECT(i) (0x00000240+(i)*4)
#define NV056_SET_TEXTURE_IMAGE_RECT_WIDTH 31:16
#define NV056_SET_TEXTURE_IMAGE_RECT_HEIGHT 15:0
#define NV056_SET_TEXTURE_FILTER(i) (0x00000248+(i)*4)
#define NV056_SET_TEXTURE_FILTER_MIPMAPLODBIAS 23:0
#define NV056_SET_TEXTURE_FILTER_TEXTUREMIN 27:24
#define NV056_SET_TEXTURE_FILTER_TEXTUREMIN_NEAREST 0x00000001
#define NV056_SET_TEXTURE_FILTER_TEXTUREMIN_LINEAR 0x00000002
#define NV056_SET_TEXTURE_FILTER_TEXTUREMIN_MIPNEAREST 0x00000003
#define NV056_SET_TEXTURE_FILTER_TEXTUREMIN_MIPLINEAR 0x00000004
#define NV056_SET_TEXTURE_FILTER_TEXTUREMIN_LINEARMIPNEAREST 0x00000005
#define NV056_SET_TEXTURE_FILTER_TEXTUREMIN_LINEARMIPLINEAR 0x00000006
#define NV056_SET_TEXTURE_FILTER_TEXTUREMAG 31:28
#define NV056_SET_TEXTURE_FILTER_TEXTUREMAG_NEAREST 0x00000001
#define NV056_SET_TEXTURE_FILTER_TEXTUREMAG_LINEAR 0x00000002
#define NV056_SET_TEXTURE_PALETTE(i) (0x00000250+(i)*4)
#define NV056_SET_TEXTURE_PALETTE_CONTEXT_DMA 5:0
#define NV056_SET_TEXTURE_PALETTE_CONTEXT_DMA_A 0x00000000
#define NV056_SET_TEXTURE_PALETTE_CONTEXT_DMA_B 0x00000001
#define NV056_SET_TEXTURE_PALETTE_PALETTE_OFFSET 31:6
#define NV056_SET_COMBINER_ALPHA_ICW(i) (0x00000260+(i)*4)
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP 31:29
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_ALPHA_ICW_A_ALPHA 28:28
#define NV056_SET_COMBINER_ALPHA_ICW_A_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_A_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE 27:24
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP 23:21
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_ALPHA_ICW_B_ALPHA 20:20
#define NV056_SET_COMBINER_ALPHA_ICW_B_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_B_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE 19:16
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP 15:13
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_ALPHA_ICW_C_ALPHA 12:12
#define NV056_SET_COMBINER_ALPHA_ICW_C_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_C_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE 11:8
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP 7:5
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_ALPHA_ICW_D_ALPHA 4:4
#define NV056_SET_COMBINER_ALPHA_ICW_D_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_D_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE 3:0
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_COLOR_ICW(i) (0x00000268+(i)*4)
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP 31:29
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_COLOR_ICW_A_ALPHA 28:28
#define NV056_SET_COMBINER_COLOR_ICW_A_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_A_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE 27:24
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP 23:21
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_COLOR_ICW_B_ALPHA 20:20
#define NV056_SET_COMBINER_COLOR_ICW_B_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_B_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE 19:16
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP 15:13
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_COLOR_ICW_C_ALPHA 12:12
#define NV056_SET_COMBINER_COLOR_ICW_C_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_C_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE 11:8
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP 7:5
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV056_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV056_SET_COMBINER_COLOR_ICW_D_ALPHA 4:4
#define NV056_SET_COMBINER_COLOR_ICW_D_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_D_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE 3:0
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINE_FACTOR(i) (0x00000270+(i)*4)
#define NV056_SET_COMBINE_FACTOR_BLUE 7:0
#define NV056_SET_COMBINE_FACTOR_GREEN 15:8
#define NV056_SET_COMBINE_FACTOR_RED 23:16
#define NV056_SET_COMBINE_FACTOR_ALPHA 31:24
#define NV056_SET_COMBINER_ALPHA_OCW(i) (0x00000278+(i)*4)
#define NV056_SET_COMBINER_ALPHA_OCW_OPERATION 31:15
#define NV056_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT 0x00000000
#define NV056_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV056_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV056_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV056_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV056_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV056_SET_COMBINER_ALPHA_OCW_MUX_ENABLE 14:14
#define NV056_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV056_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST 11:8
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_0 0x00000000
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_4 0x00000004
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_5 0x00000005
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_8 0x00000008
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_9 0x00000009
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST 7:4
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST_REG_0 0x00000000
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST_REG_4 0x00000004
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST_REG_5 0x00000005
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST_REG_8 0x00000008
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST_REG_9 0x00000009
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER_ALPHA_OCW_AB_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST 3:0
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST_REG_0 0x00000000
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST_REG_4 0x00000004
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST_REG_5 0x00000005
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST_REG_8 0x00000008
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST_REG_9 0x00000009
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER_ALPHA_OCW_CD_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER0_COLOR_OCW 0x00000280
#define NV056_SET_COMBINER0_COLOR_OCW_ZERO 31:27
#define NV056_SET_COMBINER0_COLOR_OCW_OPERATION 26:15
#define NV056_SET_COMBINER0_COLOR_OCW_OPERATION_NOSHIFT 0x00000000
#define NV056_SET_COMBINER0_COLOR_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV056_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV056_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV056_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV056_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV056_SET_COMBINER0_COLOR_OCW_MUX_ENABLE 14:14
#define NV056_SET_COMBINER0_COLOR_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV056_SET_COMBINER0_COLOR_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE 13:13
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE_FALSE 0x00000000
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE_TRUE 0x00000001
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE 12:12
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE_FALSE 0x00000000
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE_TRUE 0x00000001
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST 11:8
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_0 0x00000000
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_4 0x00000004
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_5 0x00000005
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_8 0x00000008
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_9 0x00000009
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST 7:4
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST_REG_0 0x00000000
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST_REG_4 0x00000004
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST_REG_5 0x00000005
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST_REG_8 0x00000008
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST_REG_9 0x00000009
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER0_COLOR_OCW_AB_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST 3:0
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST_REG_0 0x00000000
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST_REG_4 0x00000004
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST_REG_5 0x00000005
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST_REG_8 0x00000008
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST_REG_9 0x00000009
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER0_COLOR_OCW_CD_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER1_COLOR_OCW 0x00000284
#define NV056_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT 31:28
#define NV056_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT_ONE 0x00000001
#define NV056_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT_TWO 0x00000002
#define NV056_SET_COMBINER1_COLOR_OCW_MUX_SELECT 27:27
#define NV056_SET_COMBINER1_COLOR_OCW_MUX_SELECT_LSB 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_MUX_SELECT_MSB 0x00000001
#define NV056_SET_COMBINER1_COLOR_OCW_OPERATION 26:15
#define NV056_SET_COMBINER1_COLOR_OCW_OPERATION_NOSHIFT 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV056_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV056_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV056_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV056_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV056_SET_COMBINER1_COLOR_OCW_MUX_ENABLE 14:14
#define NV056_SET_COMBINER1_COLOR_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE 13:13
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE_FALSE 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE_TRUE 0x00000001
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE 12:12
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE_FALSE 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE_TRUE 0x00000001
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST 11:8
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_0 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_4 0x00000004
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_5 0x00000005
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_8 0x00000008
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_9 0x00000009
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST 7:4
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST_REG_0 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST_REG_4 0x00000004
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST_REG_5 0x00000005
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST_REG_8 0x00000008
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST_REG_9 0x00000009
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER1_COLOR_OCW_AB_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST 3:0
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST_REG_0 0x00000000
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST_REG_4 0x00000004
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST_REG_5 0x00000005
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST_REG_8 0x00000008
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST_REG_9 0x00000009
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST_REG_C 0x0000000C
#define NV056_SET_COMBINER1_COLOR_OCW_CD_DST_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0 0x00000288
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE 31:29
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA 28:28
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE 27:24
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_SPECLIT 0x0000000E
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_EF_PROD 0x0000000F
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE 23:21
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA 20:20
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE 19:16
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_SPECLIT 0x0000000E
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_EF_PROD 0x0000000F
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE 15:13
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA 12:12
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE 11:8
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_SPECLIT 0x0000000E
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_EF_PROD 0x0000000F
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE 7:5
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA 4:4
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE 3:0
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_SPECLIT 0x0000000E
#define NV056_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_EF_PROD 0x0000000F
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1 0x0000028c
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE 31:29
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA 28:28
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE 27:24
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE 23:21
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA 20:20
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE 19:16
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE 15:13
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA 12:12
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE 11:8
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_0 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_1 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_2 0x00000002
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_3 0x00000003
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_4 0x00000004
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_5 0x00000005
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_8 0x00000008
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_9 0x00000009
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_C 0x0000000C
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_D 0x0000000D
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP 7:7
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5 6:6
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_TRUE 0x00000001
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12 5:0
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_FALSE 0x00000000
#define NV056_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_TRUE 0x00000020
#define NV056_SET_CONTROL0 0x00000290
#define NV056_SET_CONTROL0_PREMULTIPLIEDALPHA 31:24
#define NV056_SET_CONTROL0_PREMULTIPLIEDALPHA_FALSE 0x00000000
#define NV056_SET_CONTROL0_PREMULTIPLIEDALPHA_TRUE 0x00000001
#define NV056_SET_CONTROL0_TEXTUREPERSPECTIVE 23:20
#define NV056_SET_CONTROL0_TEXTUREPERSPECTIVE_FALSE 0x00000000
#define NV056_SET_CONTROL0_TEXTUREPERSPECTIVE_TRUE 0x00000001
#define NV056_SET_CONTROL0_Z_PERSPECTIVE_ENABLE 19:16
#define NV056_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_FALSE 0x00000000
#define NV056_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_TRUE 0x00000001
#define NV056_SET_CONTROL0_Z_FORMAT 15:12
#define NV056_SET_CONTROL0_Z_FORMAT_FIXED 0x00000000
#define NV056_SET_CONTROL0_Z_FORMAT_FLOAT 0x00000001
#define NV056_SET_CONTROL0_WBUFFER_SELECT 11:8
#define NV056_SET_CONTROL0_WBUFFER_SELECT_0 0x00000000
#define NV056_SET_CONTROL0_WBUFFER_SELECT_1 0x00000001
#define NV056_SET_CONTROL0_STENCIL_WRITE_ENABLE 7:0
#define NV056_SET_CONTROL0_STENCIL_WRITE_ENABLE_FALSE 0x00000000
#define NV056_SET_CONTROL0_STENCIL_WRITE_ENABLE_TRUE 0x00000001
#define NV056_SET_LIGHT_CONTROL 0x00000294
#define NV056_SET_LIGHT_CONTROL_LOCALEYE 31:16
#define NV056_SET_LIGHT_CONTROL_LOCALEYE_FALSE 0x00000000
#define NV056_SET_LIGHT_CONTROL_LOCALEYE_TRUE 0x00000001
#define NV056_SET_LIGHT_CONTROL_ATTENUATION_MODE 15:2
#define NV056_SET_LIGHT_CONTROL_ATTENUATION_MODE_INVERT 0x00000000
#define NV056_SET_LIGHT_CONTROL_ATTENUATION_MODE_NOT_INVERT 0x00000001
#define NV056_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN 1:1
#define NV056_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_FALSE 0x00000000
#define NV056_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_TRUE 0x00000001
#define NV056_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN 0:0
#define NV056_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN_FALSE 0x00000000
#define NV056_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN_TRUE 0x00000001
#define NV056_SET_COLOR_MATERIAL 0x00000298
#define NV056_SET_COLOR_MATERIAL_V 31:0
#define NV056_SET_COLOR_MATERIAL_V_DISABLED 0x00000000
#define NV056_SET_COLOR_MATERIAL_V_EMISSION 0x00000001
#define NV056_SET_COLOR_MATERIAL_V_AMBIENT 0x00000002
#define NV056_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT 0x00000003
#define NV056_SET_COLOR_MATERIAL_V_DIFFUSE 0x00000004
#define NV056_SET_COLOR_MATERIAL_V_EMISSION_DIFFUSE 0x00000005
#define NV056_SET_COLOR_MATERIAL_V_AMBIENT_DIFFUSE 0x00000006
#define NV056_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_DIFFUSE 0x00000007
#define NV056_SET_COLOR_MATERIAL_V_SPECULAR 0x00000008
#define NV056_SET_COLOR_MATERIAL_V_EMISSION_SPECULAR 0x00000009
#define NV056_SET_COLOR_MATERIAL_V_AMBIENT_SPECULAR 0x0000000A
#define NV056_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_SPECULAR 0x0000000B
#define NV056_SET_COLOR_MATERIAL_V_DIFFUSE_SPECULAR 0x0000000C
#define NV056_SET_COLOR_MATERIAL_V_EMISSION_DIFFUSE_SPECULAR 0x0000000D
#define NV056_SET_COLOR_MATERIAL_V_AMBIENT_DIFFUSE_SPECULAR 0x0000000E
#define NV056_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_DIFFUSE_SPECULAR 0x0000000F
#define NV056_SET_FOG_MODE 0x0000029c
#define NV056_SET_FOG_MODE_FOG_MODE 31:0
#define NV056_SET_FOG_MODE_FOG_MODE_LINEAR 0x00002601
#define NV056_SET_FOG_MODE_FOG_MODE_EXP 0x00000800
#define NV056_SET_FOG_MODE_FOG_MODE_EXP2 0x00000801
#define NV056_SET_FOG_MODE_FOG_MODE_EXP_ABS 0x00000802
#define NV056_SET_FOG_MODE_FOG_MODE_EXP2_ABS 0x00000803
#define NV056_SET_FOG_GEN_MODE 0x000002a0
#define NV056_SET_FOG_GEN_MODE_FOG_GEN_MODE 31:0
#define NV056_SET_FOG_GEN_MODE_FOG_GEN_MODE_USE_INPUT 0x00000000
#define NV056_SET_FOG_GEN_MODE_FOG_GEN_MODE_RADIAL 0x00000001
#define NV056_SET_FOG_GEN_MODE_FOG_GEN_MODE_PLANAR 0x00000002
#define NV056_SET_FOG_GEN_MODE_FOG_GEN_MODE_ABS_PLANAR 0x00000003
#define NV056_SET_FOG_ENABLE 0x000002a4
#define NV056_SET_FOG_ENABLE_V 31:0
#define NV056_SET_FOG_ENABLE_V_FALSE 0x00000000
#define NV056_SET_FOG_ENABLE_V_TRUE 0x00000001
#define NV056_SET_FOG_COLOR 0x000002a8
#define NV056_SET_FOG_COLOR_FOG_COLOR_RED 7:0
#define NV056_SET_FOG_COLOR_FOG_COLOR_GREEN 15:8
#define NV056_SET_FOG_COLOR_FOG_COLOR_BLUE 23:16
#define NV056_SET_FOG_COLOR_FOG_COLOR_ALPHA 31:24
#define NV056_SET_COLOR_KEY_COLOR(i) (0x000002ac+(i)*4)
#define NV056_SET_COLOR_KEY_COLOR_V 31:0
#define NV056_SET_WINDOW_CLIP_TYPE 0x000002b4
#define NV056_SET_WINDOW_CLIP_TYPE_V 31:0
#define NV056_SET_WINDOW_CLIP_TYPE_V_INCLUSIVE 0x00000000
#define NV056_SET_WINDOW_CLIP_TYPE_V_EXCLUSIVE 0x00000001
#define NV056_SET_WINDOW_CLIP_HORIZONTAL(i) (0x000002c0+(i)*4)
#define NV056_SET_WINDOW_CLIP_HORIZONTAL_XMIN 15:0
#define NV056_SET_WINDOW_CLIP_HORIZONTAL_XMAX 31:16
#define NV056_SET_WINDOW_CLIP_VERTICAL(i) (0x000002e0+(i)*4)
#define NV056_SET_WINDOW_CLIP_VERTICAL_YMIN 15:0
#define NV056_SET_WINDOW_CLIP_VERTICAL_YMAX 31:16
#define NV056_SET_ALPHA_TEST_ENABLE 0x00000300
#define NV056_SET_ALPHA_TEST_ENABLE_V 31:0
#define NV056_SET_ALPHA_TEST_ENABLE_V_FALSE 0x00000000
#define NV056_SET_ALPHA_TEST_ENABLE_V_TRUE 0x00000001
#define NV056_SET_BLEND_ENABLE 0x00000304
#define NV056_SET_BLEND_ENABLE_V 31:0
#define NV056_SET_BLEND_ENABLE_V_FALSE 0x00000000
#define NV056_SET_BLEND_ENABLE_V_TRUE 0x00000001
#define NV056_SET_CULL_FACE_ENABLE 0x00000308
#define NV056_SET_CULL_FACE_ENABLE_V 31:0
#define NV056_SET_CULL_FACE_ENABLE_V_FALSE 0x00000000
#define NV056_SET_CULL_FACE_ENABLE_V_TRUE 0x00000001
#define NV056_SET_DEPTH_TEST_ENABLE 0x0000030c
#define NV056_SET_DEPTH_TEST_ENABLE_V 31:0
#define NV056_SET_DEPTH_TEST_ENABLE_V_FALSE 0x00000000
#define NV056_SET_DEPTH_TEST_ENABLE_V_TRUE 0x00000001
#define NV056_SET_DITHER_ENABLE 0x00000310
#define NV056_SET_DITHER_ENABLE_V 31:0
#define NV056_SET_DITHER_ENABLE_V_FALSE 0x00000000
#define NV056_SET_DITHER_ENABLE_V_TRUE 0x00000001
#define NV056_SET_LIGHTING_ENABLE 0x00000314
#define NV056_SET_LIGHTING_ENABLE_V 31:0
#define NV056_SET_LIGHTING_ENABLE_V_FALSE 0x00000000
#define NV056_SET_LIGHTING_ENABLE_V_TRUE 0x00000001
#define NV056_SET_POINT_PARAMS_ENABLE 0x00000318
#define NV056_SET_POINT_PARAMS_ENABLE_V 31:0
#define NV056_SET_POINT_PARAMS_ENABLE_V_FALSE 0x00000000
#define NV056_SET_POINT_PARAMS_ENABLE_V_TRUE 0x00000001
#define NV056_SET_POINT_SMOOTH_ENABLE 0x0000031c
#define NV056_SET_POINT_SMOOTH_ENABLE_V 31:0
#define NV056_SET_POINT_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV056_SET_POINT_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV056_SET_LINE_SMOOTH_ENABLE 0x00000320
#define NV056_SET_LINE_SMOOTH_ENABLE_V 31:0
#define NV056_SET_LINE_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV056_SET_LINE_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV056_SET_POLY_SMOOTH_ENABLE 0x00000324
#define NV056_SET_POLY_SMOOTH_ENABLE_V 31:0
#define NV056_SET_POLY_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV056_SET_POLY_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV056_SET_SKIN_ENABLE 0x00000328
#define NV056_SET_SKIN_ENABLE_V 31:0
#define NV056_SET_SKIN_ENABLE_V_FALSE 0x00000000
#define NV056_SET_SKIN_ENABLE_V_TRUE 0x00000001
#define NV056_SET_STENCIL_TEST_ENABLE 0x0000032c
#define NV056_SET_STENCIL_TEST_ENABLE_V 31:0
#define NV056_SET_STENCIL_TEST_ENABLE_V_FALSE 0x00000000
#define NV056_SET_STENCIL_TEST_ENABLE_V_TRUE 0x00000001
#define NV056_SET_POLY_OFFSET_POINT_ENABLE 0x00000330
#define NV056_SET_POLY_OFFSET_POINT_ENABLE_V 31:0
#define NV056_SET_POLY_OFFSET_POINT_ENABLE_V_FALSE 0x00000000
#define NV056_SET_POLY_OFFSET_POINT_ENABLE_V_TRUE 0x00000001
#define NV056_SET_POLY_OFFSET_LINE_ENABLE 0x00000334
#define NV056_SET_POLY_OFFSET_LINE_ENABLE_V 31:0
#define NV056_SET_POLY_OFFSET_LINE_ENABLE_V_FALSE 0x00000000
#define NV056_SET_POLY_OFFSET_LINE_ENABLE_V_TRUE 0x00000001
#define NV056_SET_POLY_OFFSET_FILL_ENABLE 0x00000338
#define NV056_SET_POLY_OFFSET_FILL_ENABLE_V 31:0
#define NV056_SET_POLY_OFFSET_FILL_ENABLE_V_FALSE 0x00000000
#define NV056_SET_POLY_OFFSET_FILL_ENABLE_V_TRUE 0x00000001
#define NV056_SET_ALPHA_FUNC 0x0000033c
#define NV056_SET_ALPHA_FUNC_V 31:0
#define NV056_SET_ALPHA_FUNC_V_NEVER 0x00000200
#define NV056_SET_ALPHA_FUNC_V_LESS 0x00000201
#define NV056_SET_ALPHA_FUNC_V_EQUAL 0x00000202
#define NV056_SET_ALPHA_FUNC_V_LEQUAL 0x00000203
#define NV056_SET_ALPHA_FUNC_V_GREATER 0x00000204
#define NV056_SET_ALPHA_FUNC_V_NOTEQUAL 0x00000205
#define NV056_SET_ALPHA_FUNC_V_GEQUAL 0x00000206
#define NV056_SET_ALPHA_FUNC_V_ALWAYS 0x00000207
#define NV056_SET_ALPHA_REF 0x00000340
#define NV056_SET_BLEND_FUNC_SFACTOR 0x00000344
#define NV056_SET_BLEND_FUNC_SFACTOR_V 31:0
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ZERO 0x00000000
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ONE 0x00000001
#define NV056_SET_BLEND_FUNC_SFACTOR_V_SRC_COLOR 0x00000300
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV056_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA 0x00000302
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV056_SET_BLEND_FUNC_SFACTOR_V_DST_ALPHA 0x00000304
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV056_SET_BLEND_FUNC_SFACTOR_V_DST_COLOR 0x00000306
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV056_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA_SATURATE 0x00000308
#define NV056_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV056_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV056_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV056_SET_BLEND_FUNC_DFACTOR 0x00000348
#define NV056_SET_BLEND_FUNC_DFACTOR_V 31:0
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ZERO 0x00000000
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ONE 0x00000001
#define NV056_SET_BLEND_FUNC_DFACTOR_V_SRC_COLOR 0x00000300
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV056_SET_BLEND_FUNC_DFACTOR_V_SRC_ALPHA 0x00000302
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV056_SET_BLEND_FUNC_DFACTOR_V_DST_ALPHA 0x00000304
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV056_SET_BLEND_FUNC_DFACTOR_V_DST_COLOR 0x00000306
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV056_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV056_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV056_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV056_SET_BLEND_COLOR 0x0000034c
#define NV056_SET_BLEND_COLOR_V 31:0
#define NV056_SET_BLEND_EQUATION 0x00000350
#define NV056_SET_BLEND_EQUATION_V 31:0
#define NV056_SET_BLEND_EQUATION_V_FUNC_SUBTRACT 0x0000800A
#define NV056_SET_BLEND_EQUATION_V_FUNC_REVERSE_SUBTRACT 0x0000800B
#define NV056_SET_BLEND_EQUATION_V_FUNC_ADD 0x00008006
#define NV056_SET_BLEND_EQUATION_V_MIN 0x00008007
#define NV056_SET_BLEND_EQUATION_V_MAX 0x00008008
#define NV056_SET_DEPTH_FUNC 0x00000354
#define NV056_SET_DEPTH_FUNC_V 31:0
#define NV056_SET_DEPTH_FUNC_V_NEVER 0x00000200
#define NV056_SET_DEPTH_FUNC_V_LESS 0x00000201
#define NV056_SET_DEPTH_FUNC_V_EQUAL 0x00000202
#define NV056_SET_DEPTH_FUNC_V_LEQUAL 0x00000203
#define NV056_SET_DEPTH_FUNC_V_GREATER 0x00000204
#define NV056_SET_DEPTH_FUNC_V_NOTEQUAL 0x00000205
#define NV056_SET_DEPTH_FUNC_V_GEQUAL 0x00000206
#define NV056_SET_DEPTH_FUNC_V_ALWAYS 0x00000207
#define NV056_SET_COLOR_MASK 0x00000358
#define NV056_SET_COLOR_MASK_ALPHA_WRITE_ENABLE 31:24
#define NV056_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_FALSE 0x00000000
#define NV056_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_TRUE 0x00000001
#define NV056_SET_COLOR_MASK_RED_WRITE_ENABLE 23:16
#define NV056_SET_COLOR_MASK_RED_WRITE_ENABLE_FALSE 0x00000000
#define NV056_SET_COLOR_MASK_RED_WRITE_ENABLE_TRUE 0x00000001
#define NV056_SET_COLOR_MASK_GREEN_WRITE_ENABLE 15:8
#define NV056_SET_COLOR_MASK_GREEN_WRITE_ENABLE_FALSE 0x00000000
#define NV056_SET_COLOR_MASK_GREEN_WRITE_ENABLE_TRUE 0x00000001
#define NV056_SET_COLOR_MASK_BLUE_WRITE_ENABLE 7:0
#define NV056_SET_COLOR_MASK_BLUE_WRITE_ENABLE_FALSE 0x00000000
#define NV056_SET_COLOR_MASK_BLUE_WRITE_ENABLE_TRUE 0x00000001
#define NV056_SET_DEPTH_MASK 0x0000035c
#define NV056_SET_DEPTH_MASK_V 31:0
#define NV056_SET_DEPTH_MASK_V_FALSE 0x00000000
#define NV056_SET_DEPTH_MASK_V_TRUE 0x00000001
#define NV056_SET_STENCIL_MASK 0x00000360
#define NV056_SET_STENCIL_MASK_V 31:0
#define NV056_SET_STENCIL_FUNC 0x00000364
#define NV056_SET_STENCIL_FUNC_V 31:0
#define NV056_SET_STENCIL_FUNC_V_NEVER 0x00000200
#define NV056_SET_STENCIL_FUNC_V_LESS 0x00000201
#define NV056_SET_STENCIL_FUNC_V_EQUAL 0x00000202
#define NV056_SET_STENCIL_FUNC_V_LEQUAL 0x00000203
#define NV056_SET_STENCIL_FUNC_V_GREATER 0x00000204
#define NV056_SET_STENCIL_FUNC_V_NOTEQUAL 0x00000205
#define NV056_SET_STENCIL_FUNC_V_GEQUAL 0x00000206
#define NV056_SET_STENCIL_FUNC_V_ALWAYS 0x00000207
#define NV056_SET_STENCIL_FUNC_REF 0x00000368
#define NV056_SET_STENCIL_FUNC_REF_V 31:0
#define NV056_SET_STENCIL_FUNC_MASK 0x0000036c
#define NV056_SET_STENCIL_FUNC_MASK_V 31:0
#define NV056_SET_STENCIL_OP_FAIL 0x00000370
#define NV056_SET_STENCIL_OP_FAIL_V 31:0
#define NV056_SET_STENCIL_OP_FAIL_V_KEEP 0x00001E00
#define NV056_SET_STENCIL_OP_FAIL_V_ZERO 0x00000000
#define NV056_SET_STENCIL_OP_FAIL_V_REPLACE 0x00001E01
#define NV056_SET_STENCIL_OP_FAIL_V_INCRSAT 0x00001E02
#define NV056_SET_STENCIL_OP_FAIL_V_DECRSAT 0x00001E03
#define NV056_SET_STENCIL_OP_FAIL_V_INVERT 0x0000150A
#define NV056_SET_STENCIL_OP_FAIL_V_INCR 0x00008507
#define NV056_SET_STENCIL_OP_FAIL_V_DECR 0x00008508
#define NV056_SET_STENCIL_OP_ZFAIL 0x00000374
#define NV056_SET_STENCIL_OP_ZFAIL_V 31:0
#define NV056_SET_STENCIL_OP_ZFAIL_V_KEEP 0x00001E00
#define NV056_SET_STENCIL_OP_ZFAIL_V_ZERO 0x00000000
#define NV056_SET_STENCIL_OP_ZFAIL_V_REPLACE 0x00001E01
#define NV056_SET_STENCIL_OP_ZFAIL_V_INCRSAT 0x00001E02
#define NV056_SET_STENCIL_OP_ZFAIL_V_DECRSAT 0x00001E03
#define NV056_SET_STENCIL_OP_ZFAIL_V_INVERT 0x0000150A
#define NV056_SET_STENCIL_OP_ZFAIL_V_INCR 0x00008507
#define NV056_SET_STENCIL_OP_ZFAIL_V_DECR 0x00008508
#define NV056_SET_STENCIL_OP_ZPASS 0x00000378
#define NV056_SET_STENCIL_OP_ZPASS_V 31:0
#define NV056_SET_STENCIL_OP_ZPASS_V_KEEP 0x00001E00
#define NV056_SET_STENCIL_OP_ZPASS_V_ZERO 0x00000000
#define NV056_SET_STENCIL_OP_ZPASS_V_REPLACE 0x00001E01
#define NV056_SET_STENCIL_OP_ZPASS_V_INCRSAT 0x00001E02
#define NV056_SET_STENCIL_OP_ZPASS_V_DECRSAT 0x00001E03
#define NV056_SET_STENCIL_OP_ZPASS_V_INVERT 0x0000150A
#define NV056_SET_STENCIL_OP_ZPASS_V_INCR 0x00008507
#define NV056_SET_STENCIL_OP_ZPASS_V_DECR 0x00008508
#define NV056_SET_SHADE_MODE 0x0000037c
#define NV056_SET_SHADE_MODE_V 31:0
#define NV056_SET_SHADE_MODE_V_FLAT 0x00001D00
#define NV056_SET_SHADE_MODE_V_SMOOTH 0x00001D01
#define NV056_SET_LINE_WIDTH 0x00000380
#define NV056_SET_LINE_WIDTH_V 31:0
#define NV056_SET_POLYGON_OFFSET_SCALE_FACTOR 0x00000384
#define NV056_SET_POLYGON_OFFSET_SCALE_FACTOR_V 31:0
#define NV056_SET_POLYGON_OFFSET_BIAS 0x00000388
#define NV056_SET_POLYGON_OFFSET_BIAS_V 31:0
#define NV056_SET_FRONT_POLYGON_MODE 0x0000038c
#define NV056_SET_FRONT_POLYGON_MODE_V 31:0
#define NV056_SET_FRONT_POLYGON_MODE_V_POINT 0x00001B00
#define NV056_SET_FRONT_POLYGON_MODE_V_LINE 0x00001B01
#define NV056_SET_FRONT_POLYGON_MODE_V_FILL 0x00001B02
#define NV056_SET_BACK_POLYGON_MODE 0x00000390
#define NV056_SET_BACK_POLYGON_MODE_V 31:0
#define NV056_SET_BACK_POLYGON_MODE_V_POINT 0x00001B00
#define NV056_SET_BACK_POLYGON_MODE_V_LINE 0x00001B01
#define NV056_SET_BACK_POLYGON_MODE_V_FILL 0x00001B02
#define NV056_SET_CLIP_MIN 0x00000394
#define NV056_SET_CLIP_MIN_V 31:0
#define NV056_SET_CLIP_MAX 0x00000398
#define NV056_SET_CLIP_MAX_V 31:0
#define NV056_SET_CULL_FACE 0x0000039c
#define NV056_SET_CULL_FACE_V 31:0
#define NV056_SET_CULL_FACE_V_FRONT 0x00000404
#define NV056_SET_CULL_FACE_V_BACK 0x00000405
#define NV056_SET_CULL_FACE_V_FRONT_AND_BACK 0x00000408
#define NV056_SET_FRONT_FACE 0x000003a0
#define NV056_SET_FRONT_FACE_V 31:0
#define NV056_SET_FRONT_FACE_V_CW 0x00000900
#define NV056_SET_FRONT_FACE_V_CCW 0x00000901
#define NV056_SET_NORMALIZATION_ENABLE 0x000003a4
#define NV056_SET_NORMALIZATION_ENABLE_V 31:0
#define NV056_SET_NORMALIZATION_ENABLE_V_FALSE 0x00000000
#define NV056_SET_NORMALIZATION_ENABLE_V_TRUE 0x00000001
#define NV056_SET_MATERIAL_EMISSION(i) (0x000003a8+(i)*4)
#define NV056_SET_MATERIAL_ALPHA 0x000003b4
#define NV056_SET_SPECULAR_ENABLE 0x000003b8
#define NV056_SET_SPECULAR_ENABLE_V 31:0
#define NV056_SET_SPECULAR_ENABLE_V_FALSE 0x00000000
#define NV056_SET_SPECULAR_ENABLE_V_TRUE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK 0x000003bc
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT0 1:0
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT0_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT0_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT0_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT0_SPOT 0x00000003
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT1 3:2
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT1_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT1_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT1_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT1_SPOT 0x00000003
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT2 5:4
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT2_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT2_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT2_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT2_SPOT 0x00000003
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT3 7:6
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT3_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT3_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT3_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT3_SPOT 0x00000003
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT4 9:8
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT4_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT4_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT4_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT4_SPOT 0x00000003
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT5 11:10
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT5_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT5_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT5_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT5_SPOT 0x00000003
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT6 13:12
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT6_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT6_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT6_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT6_SPOT 0x00000003
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT7 15:14
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT7_OFF 0x00000000
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT7_INFINITE 0x00000001
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT7_LOCAL 0x00000002
#define NV056_SET_LIGHT_ENABLE_MASK_LIGHT7_SPOT 0x00000003
#define NV056_SET_TEXGEN_S(i) (0x000003c0+(i)*16)
#define NV056_SET_TEXGEN_S_V 31:0
#define NV056_SET_TEXGEN_S_V_DISABLE 0x00000000
#define NV056_SET_TEXGEN_S_V_NORMAL_MAP 0x00008511
#define NV056_SET_TEXGEN_S_V_REFLECTION_MAP 0x00008512
#define NV056_SET_TEXGEN_S_V_EYE_LINEAR 0x00002400
#define NV056_SET_TEXGEN_S_V_OBJECT_LINEAR 0x00002401
#define NV056_SET_TEXGEN_S_V_SPHERE_MAP 0x00002402
#define NV056_SET_TEXGEN_S_V_EMBOSS 0x0000855F
#define NV056_SET_TEXGEN_T(i) (0x000003c4+(i)*16)
#define NV056_SET_TEXGEN_T_V 31:0
#define NV056_SET_TEXGEN_T_V_DISABLE 0x00000000
#define NV056_SET_TEXGEN_T_V_NORMAL_MAP 0x00008511
#define NV056_SET_TEXGEN_T_V_REFLECTION_MAP 0x00008512
#define NV056_SET_TEXGEN_T_V_EYE_LINEAR 0x00002400
#define NV056_SET_TEXGEN_T_V_OBJECT_LINEAR 0x00002401
#define NV056_SET_TEXGEN_T_V_SPHERE_MAP 0x00002402
#define NV056_SET_TEXGEN_T_V_EMBOSS 0x0000855F
#define NV056_SET_TEXGEN_R(i) (0x000003c8+(i)*16)
#define NV056_SET_TEXGEN_R_V 31:0
#define NV056_SET_TEXGEN_R_V_DISABLE 0x00000000
#define NV056_SET_TEXGEN_R_V_NORMAL_MAP 0x00008511
#define NV056_SET_TEXGEN_R_V_REFLECTION_MAP 0x00008512
#define NV056_SET_TEXGEN_R_V_EYE_LINEAR 0x00002400
#define NV056_SET_TEXGEN_R_V_OBJECT_LINEAR 0x00002401
#define NV056_SET_TEXGEN_R_V_EMBOSS 0x0000855F
#define NV056_SET_TEXGEN_Q(i) (0x000003cc+(i)*16)
#define NV056_SET_TEXGEN_Q_V 31:0
#define NV056_SET_TEXGEN_Q_V_DISABLE 0x00000000
#define NV056_SET_TEXGEN_Q_V_EYE_LINEAR 0x00002400
#define NV056_SET_TEXGEN_Q_V_OBJECT_LINEAR 0x00002401
#define NV056_SET_TEXTURE_MATRIX0_ENABLE 0x000003e0
#define NV056_SET_TEXTURE_MATRIX0_ENABLE_V 31:0
#define NV056_SET_TEXTURE_MATRIX0_ENABLE_V_FALSE 0x00000000
#define NV056_SET_TEXTURE_MATRIX0_ENABLE_V_TRUE 0x00000001
#define NV056_SET_TEXTURE_MATRIX1_ENABLE 0x000003e4
#define NV056_SET_TEXTURE_MATRIX1_ENABLE_V 31:0
#define NV056_SET_TEXTURE_MATRIX1_ENABLE_V_FALSE 0x00000000
#define NV056_SET_TEXTURE_MATRIX1_ENABLE_V_TRUE 0x00000001
#define NV056_SET_TLMODE 0x000003e8
#define NV056_SET_TLMODE_PASSTHROUGH 0:0
#define NV056_SET_TLMODE_PASSTHROUGH_TRUE 0x00000001
#define NV056_SET_TLMODE_PASSTHROUGH_FALSE 0x00000000
#define NV056_SET_TLMODE_W_DIVIDE_0 1:1
#define NV056_SET_TLMODE_W_DIVIDE_0_DISABLE 0x00000000
#define NV056_SET_TLMODE_W_DIVIDE_0_ENABLE 0x00000001
#define NV056_SET_TLMODE_W_DIVIDE_1 2:2
#define NV056_SET_TLMODE_W_DIVIDE_1_DISABLE 0x00000000
#define NV056_SET_TLMODE_W_DIVIDE_1_ENABLE 0x00000001
#define NV056_SET_POINT_SIZE 0x000003ec
#define NV056_SET_POINT_SIZE_V 31:0
#define NV056_SET_SWATH_WIDTH 0x000003f0
#define NV056_SET_SWATH_WIDTH_V 31:0
#define NV056_SET_SWATH_WIDTH_V_8 0x00000000
#define NV056_SET_SWATH_WIDTH_V_16 0x00000001
#define NV056_SET_SWATH_WIDTH_V_32 0x00000002
#define NV056_SET_SWATH_WIDTH_V_64 0x00000003
#define NV056_SET_FLAT_SHADE_OP 0x000003f4
#define NV056_SET_FLAT_SHADE_OP_V 31:0
#define NV056_SET_FLAT_SHADE_OP_V_LAST_VTX 0x00000000
#define NV056_SET_FLAT_SHADE_OP_V_FIRST_VTX 0x00000001
#define NV056_SET_MODEL_VIEW_MATRIX0(i) (0x00000400+(i)*4)
#define NV056_SET_MODEL_VIEW_MATRIX1(i) (0x00000440+(i)*4)
#define NV056_SET_INVERSE_MODEL_VIEW_MATRIX0(i) (0x00000480+(i)*4)
#define NV056_SET_INVERSE_MODEL_VIEW_MATRIX1(i) (0x000004c0+(i)*4)
#define NV056_SET_COMPOSITE_MATRIX(i) (0x00000500+(i)*4)
#define NV056_SET_TEXTURE_MATRIX0(i) (0x00000540+(i)*4)
#define NV056_SET_TEXTURE_MATRIX1(i) (0x00000580+(i)*4)
#define NV056_SET_TEXGEN_SPLANE0(i) (0x00000600+(i)*4)
#define NV056_SET_TEXGEN_TPLANE0(i) (0x00000610+(i)*4)
#define NV056_SET_TEXGEN_RPLANE0(i) (0x00000620+(i)*4)
#define NV056_SET_TEXGEN_QPLANE0(i) (0x00000630+(i)*4)
#define NV056_SET_TEXGEN_SPLANE1(i) (0x00000640+(i)*4)
#define NV056_SET_TEXGEN_TPLANE1(i) (0x00000650+(i)*4)
#define NV056_SET_TEXGEN_RPLANE1(i) (0x00000660+(i)*4)
#define NV056_SET_TEXGEN_QPLANE1(i) (0x00000670+(i)*4)
#define NV056_SET_FOG_PARAMS(i) (0x00000680+(i)*4)
#define NV056_SET_FOG_PLANE(i) (0x0000068c+(i)*4)
#define NV056_SET_SPECULAR_PARAMS(i) (0x000006a0+(i)*4)
#define NV056_SET_SCENE_AMBIENT_COLOR(i) (0x000006c4+(i)*4)
#define NV056_SET_VIEWPORT_OFFSET(i) (0x000006e8+(i)*4)
#define NV056_SET_POINT_PARAMS(i) (0x000006f8+(i)*4)
#define NV056_SET_EYE_POSITION(i) (0x00000718+(i)*4)
#define NV056_SET_EYE_DIRECTION_SW(i) (0x0000072c+(i)*4)
#define NV056_SET_LIGHT_AMBIENT_COLOR(i,j) (0x00000800+(i)*128+(j)*4)
#define NV056_SET_LIGHT_DIFFUSE_COLOR(i,j) (0x0000080c+(i)*128+(j)*4)
#define NV056_SET_LIGHT_SPECULAR_COLOR(i,j) (0x00000818+(i)*128+(j)*4)
#define NV056_SET_LIGHT_LOCAL_RANGE(i) (0x00000824+(i)*128)
#define NV056_SET_LIGHT_INFINITE_HALF_VECTOR(i,j) (0x00000828+(i)*128+(j)*4)
#define NV056_SET_LIGHT_INFINITE_DIRECTION(i,j) (0x00000834+(i)*128+(j)*4)
#define NV056_SET_LIGHT_SPOT_FALLOFF(i,j) (0x00000840+(i)*128+(j)*4)
#define NV056_SET_LIGHT_SPOT_DIRECTION(i,j) (0x0000084c+(i)*128+(j)*4)
#define NV056_SET_LIGHT_LOCAL_POSITION(i,j) (0x0000085c+(i)*128+(j)*4)
#define NV056_SET_LIGHT_LOCAL_ATTENUATION(i,j) (0x00000868+(i)*128+(j)*4)
#define NV056_SET_VERTEX3F(i) (0x00000c00+(i)*4)
#define NV056_SET_VERTEX4F(i) (0x00000c18+(i)*4)
#define NV056_SET_VERTEX4S(i) (0x00000c28+(i)*4)
#define NV056_SET_NORMAL3F(i) (0x00000c30+(i)*4)
#define NV056_SET_NORMAL3S(i) (0x00000c40+(i)*2)
#define NV056_SET_DIFFUSE_COLOR4F(i) (0x00000c50+(i)*4)
#define NV056_SET_DIFFUSE_COLOR3F(i) (0x00000c60+(i)*4)
#define NV056_SET_DIFFUSE_COLOR4UB 0x00000c6c
#define NV056_SET_SPECULAR_COLOR4F(i) (0x00000c70+(i)*4)
#define NV056_SET_SPECULAR_COLOR3F(i) (0x00000c80+(i)*4)
#define NV056_SET_SPECULAR_COLOR4UB 0x00000c8c
#define NV056_SET_TEXCOORD0_2F(i) (0x00000c90+(i)*4)
#define NV056_SET_TEXCOORD0_2S(i) (0x00000c98+(i)*2)
#define NV056_SET_TEXCOORD0_4F(i) (0x00000ca0+(i)*4)
#define NV056_SET_TEXCOORD0_4S(i) (0x00000cb0+(i)*2)
#define NV056_SET_TEXCOORD1_2F(i) (0x00000cb8+(i)*4)
#define NV056_SET_TEXCOORD1_2S(i) (0x00000cc0+(i)*2)
#define NV056_SET_TEXCOORD1_4F(i) (0x00000cc8+(i)*4)
#define NV056_SET_TEXCOORD1_4S(i) (0x00000cd8+(i)*2)
#define NV056_SET_FOG1F 0x00000ce0
#define NV056_SET_WEIGHT1F 0x00000ce4
#define NV056_SET_EDGE_FLAG 0x00000cec
#define NV056_INVALIDATE_VERTEX_CACHE_FILE 0x00000cf0
#define NV056_INVALIDATE_VERTEX_FILE 0x00000cf4
#define NV056_TL_NOP 0x00000cf8
#define NV056_TL_SYNC 0x00000cfc
#define NV056_SET_VERTEX_ARRAY_OFFSET 0x00000d00
#define NV056_SET_VERTEX_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_VERTEX_ARRAY_FORMAT 0x00000d04
#define NV056_SET_VERTEX_ARRAY_FORMAT_W 31:24
#define NV056_SET_VERTEX_ARRAY_FORMAT_W_NONE 0x00000000
#define NV056_SET_VERTEX_ARRAY_FORMAT_W_PRESENT 0x00000001
#define NV056_SET_VERTEX_ARRAY_FORMAT_STRIDE 23:8
#define NV056_SET_VERTEX_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_VERTEX_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV056_SET_VERTEX_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV056_SET_VERTEX_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV056_SET_VERTEX_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_VERTEX_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV056_SET_VERTEX_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_DIFFUSE_ARRAY_OFFSET 0x00000d08
#define NV056_SET_DIFFUSE_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_DIFFUSE_ARRAY_FORMAT 0x00000d0c
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_STRIDE 31:8
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_BGRA 0x00000000
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_DIFFUSE_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_RGBA 0x00000004
#define NV056_SET_SPECULAR_ARRAY_OFFSET 0x00000d10
#define NV056_SET_SPECULAR_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_SPECULAR_ARRAY_FORMAT 0x00000d14
#define NV056_SET_SPECULAR_ARRAY_FORMAT_STRIDE 31:8
#define NV056_SET_SPECULAR_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_SPECULAR_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV056_SET_SPECULAR_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV056_SET_SPECULAR_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV056_SET_SPECULAR_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_SPECULAR_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_BGRA 0x00000000
#define NV056_SET_SPECULAR_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_SPECULAR_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_RGBA 0x00000004
#define NV056_SET_TEX_COORD0_ARRAY_OFFSET 0x00000d18
#define NV056_SET_TEX_COORD0_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT 0x00000d1c
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_STRIDE 31:8
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV056_SET_TEX_COORD0_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_TEX_COORD1_ARRAY_OFFSET 0x00000d20
#define NV056_SET_TEX_COORD1_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT 0x00000d24
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_STRIDE 31:8
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV056_SET_TEX_COORD1_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_NORMAL_ARRAY_OFFSET 0x00000d28
#define NV056_SET_NORMAL_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_NORMAL_ARRAY_FORMAT 0x00000d2c
#define NV056_SET_NORMAL_ARRAY_FORMAT_STRIDE 31:8
#define NV056_SET_NORMAL_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_NORMAL_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV056_SET_NORMAL_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV056_SET_NORMAL_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_NORMAL_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV056_SET_NORMAL_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_WEIGHT_ARRAY_OFFSET 0x00000d30
#define NV056_SET_WEIGHT_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_WEIGHT_ARRAY_FORMAT 0x00000d34
#define NV056_SET_WEIGHT_ARRAY_FORMAT_STRIDE 31:8
#define NV056_SET_WEIGHT_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_WEIGHT_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV056_SET_WEIGHT_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV056_SET_WEIGHT_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_WEIGHT_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV056_SET_WEIGHT_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_FOG_ARRAY_OFFSET 0x00000d38
#define NV056_SET_FOG_ARRAY_OFFSET_OFFSET 27:0
#define NV056_SET_FOG_ARRAY_FORMAT 0x00000d3c
#define NV056_SET_FOG_ARRAY_FORMAT_STRIDE 31:8
#define NV056_SET_FOG_ARRAY_FORMAT_SIZE 7:4
#define NV056_SET_FOG_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV056_SET_FOG_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV056_SET_FOG_ARRAY_FORMAT_TYPE 3:0
#define NV056_SET_FOG_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV056_SET_FOG_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV056_SET_BEGIN_END 0x00000dfc
#define NV056_SET_BEGIN_END_OP 31:0
#define NV056_SET_BEGIN_END_OP_END 0x00000000
#define NV056_SET_BEGIN_END_OP_POINTS 0x00000001
#define NV056_SET_BEGIN_END_OP_LINES 0x00000002
#define NV056_SET_BEGIN_END_OP_LINE_LOOP 0x00000003
#define NV056_SET_BEGIN_END_OP_LINE_STRIP 0x00000004
#define NV056_SET_BEGIN_END_OP_TRIANGLES 0x00000005
#define NV056_SET_BEGIN_END_OP_TRIANGLE_STRIP 0x00000006
#define NV056_SET_BEGIN_END_OP_TRIANGLE_FAN 0x00000007
#define NV056_SET_BEGIN_END_OP_QUADS 0x00000008
#define NV056_SET_BEGIN_END_OP_QUAD_STRIP 0x00000009
#define NV056_SET_BEGIN_END_OP_POLYGON 0x0000000A
#define NV056_ARRAY_ELEMENT16(i) (0x00000e00+(i)*2)
#define NV056_SET_BEGIN_END2 0x000010fc
#define NV056_SET_BEGIN_END2_OP 31:0
#define NV056_SET_BEGIN_END2_OP_END 0x00000000
#define NV056_SET_BEGIN_END2_OP_POINTS 0x00000001
#define NV056_SET_BEGIN_END2_OP_LINES 0x00000002
#define NV056_SET_BEGIN_END2_OP_LINE_LOOP 0x00000003
#define NV056_SET_BEGIN_END2_OP_LINE_STRIP 0x00000004
#define NV056_SET_BEGIN_END2_OP_TRIANGLES 0x00000005
#define NV056_SET_BEGIN_END2_OP_TRIANGLE_STRIP 0x00000006
#define NV056_SET_BEGIN_END2_OP_TRIANGLE_FAN 0x00000007
#define NV056_SET_BEGIN_END2_OP_QUADS 0x00000008
#define NV056_SET_BEGIN_END2_OP_QUAD_STRIP 0x00000009
#define NV056_SET_BEGIN_END2_OP_POLYGON 0x0000000A
#define NV056_ARRAY_ELEMENT32(i) (0x00001100+(i)*4)
#define NV056_SET_BEGIN_END3 0x000013fc
#define NV056_SET_BEGIN_END3_OP 31:0
#define NV056_SET_BEGIN_END3_OP_END 0x00000000
#define NV056_SET_BEGIN_END3_OP_POINTS 0x00000001
#define NV056_SET_BEGIN_END3_OP_LINES 0x00000002
#define NV056_SET_BEGIN_END3_OP_LINE_LOOP 0x00000003
#define NV056_SET_BEGIN_END3_OP_LINE_STRIP 0x00000004
#define NV056_SET_BEGIN_END3_OP_TRIANGLES 0x00000005
#define NV056_SET_BEGIN_END3_OP_TRIANGLE_STRIP 0x00000006
#define NV056_SET_BEGIN_END3_OP_TRIANGLE_FAN 0x00000007
#define NV056_SET_BEGIN_END3_OP_QUADS 0x00000008
#define NV056_SET_BEGIN_END3_OP_QUAD_STRIP 0x00000009
#define NV056_SET_BEGIN_END3_OP_POLYGON 0x0000000A
#define NV056_DRAW_ARRAYS(i) (0x00001400+(i)*4)
#define NV056_DRAW_ARRAYS_COUNT 31:24
#define NV056_DRAW_ARRAYS_START_INDEX 23:0
#define NV056_SET_MATERIAL_EMISSION_SW(i) (0x00001628+(i)*4)
#define NV056_SET_BEGIN_END4 0x000017fc
#define NV056_SET_BEGIN_END4_OP 31:0
#define NV056_SET_BEGIN_END4_OP_END 0x00000000
#define NV056_SET_BEGIN_END4_OP_POINTS 0x00000001
#define NV056_SET_BEGIN_END4_OP_LINES 0x00000002
#define NV056_SET_BEGIN_END4_OP_LINE_LOOP 0x00000003
#define NV056_SET_BEGIN_END4_OP_LINE_STRIP 0x00000004
#define NV056_SET_BEGIN_END4_OP_TRIANGLES 0x00000005
#define NV056_SET_BEGIN_END4_OP_TRIANGLE_STRIP 0x00000006
#define NV056_SET_BEGIN_END4_OP_TRIANGLE_FAN 0x00000007
#define NV056_SET_BEGIN_END4_OP_QUADS 0x00000008
#define NV056_SET_BEGIN_END4_OP_QUAD_STRIP 0x00000009
#define NV056_SET_BEGIN_END4_OP_POLYGON 0x0000000A
#define NV056_INLINE_ARRAY(i) (0x00001800+(i)*4)
/* class NV04_CONTEXT_COLOR_KEY */
#define NV04_CONTEXT_COLOR_KEY (0x00000057)
/* NvNotification[] elements */
#define NV057_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV057_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV057_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV057_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV057_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV057_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV057_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV057_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetColorFormat; /* NV057_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetColor; /* color key value 0304-0307*/
NvV32 Reserved02[0x73e];
} Nv057Typedef, Nv04ContextColorKey;
#define NV057_TYPEDEF Nv04ContextColorKey
/* dma method offsets, fields, and values */
#define NV057_SET_OBJECT (0x00000000)
#define NV057_NO_OPERATION (0x00000100)
#define NV057_NOTIFY (0x00000104)
#define NV057_NOTIFY_WRITE_ONLY (0x00000000)
#define NV057_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV057_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV057_SET_COLOR_FORMAT (0x00000300)
#define NV057_SET_COLOR_FORMAT_LE_A16R5G6B5 (0x00000001)
#define NV057_SET_COLOR_FORMAT_LE_X16A1R5G5B5 (0x00000002)
#define NV057_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV057_SET_COLOR (0x00000304)
/* obsolete stuff */
#define NV4_CONTEXT_COLOR_KEY (0x00000057)
#define Nv4ContextColorKey Nv04ContextColorKey
#define nv4ContextColorKey Nv04ContextColorKey
#define nv04ContextColorKey Nv04ContextColorKey
/* class NV03_CONTEXT_SURFACE_2D_DESTINATION */
#define NV03_CONTEXT_SURFACE_2D_DESTINATION (0x00000058)
/* NvNotification[] elements */
#define NV058_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV058_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV058_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV058_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV058_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV058_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV058_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV058_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 Reserved01[0x05e];
NvV32 SetColorFormat; /* NV058_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Reserved02[0x001];
NvU32 SetImagePitch; /* bytes, vertical pixel delta 0308-030b*/
NvU32 SetImageOffset; /* byte offset of top-left pixel 030c-030f*/
NvV32 Reserved03[0x73c];
} Nv058Typedef, Nv03ContextSurface2dDestination;
#define NV058_TYPEDEF Nv03ContextSurface2dDestination
/* dma method offsets, fields, and values */
#define NV058_SET_OBJECT (0x00000000)
#define NV058_NO_OPERATION (0x00000100)
#define NV058_NOTIFY (0x00000104)
#define NV058_NOTIFY_WRITE_ONLY (0x00000000)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV058_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV058_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV058_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV058_SET_COLOR_FORMAT (0x00000300)
#define NV058_SET_COLOR_FORMAT_LE_Y8 (0x01010000)
#define NV058_SET_COLOR_FORMAT_LE_Y16 (0x01010001)
#define NV058_SET_COLOR_FORMAT_LE_X1R5G5B5_Z1R5G5B5 (0x01000000)
#define NV058_SET_COLOR_FORMAT_LE_X8R8G8B8_Z8R8G8B8 (0x00000001)
#define NV058_SET_IMAGE_PITCH (0x00000308)
#define NV058_SET_IMAGE_OFFSET (0x0000030C)
/* obsolete stuff */
#define NV03_CONTEXT_SURFACE_0 (0x00000058)
#define NV3_CONTEXT_SURFACE_0 (0x00000058)
#define Nv03ContextSurface0 Nv03ContextSurface2dDestination
#define nv03ContextSurface0 Nv03ContextSurface2dDestination
#define Nv3ContextSurface0 Nv03ContextSurface2dDestination
#define nv3ContextSurface0 Nv03ContextSurface2dDestination
#define nv03ContextSurface2dDestination Nv03ContextSurface2dDestination
/* class NV03_CONTEXT_SURFACE_2D_SOURCE */
#define NV03_CONTEXT_SURFACE_2D_SOURCE (0x00000059)
/* NvNotification[] elements */
#define NV059_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV059_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV059_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV059_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV059_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV059_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV059_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV059_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 Reserved01[0x05e];
NvV32 SetColorFormat; /* NV059_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Reserved02[0x001];
NvU32 SetImagePitch; /* bytes, vertical pixel delta 0308-030b*/
NvU32 SetImageOffset; /* byte offset of top-left pixel 030c-030f*/
NvV32 Reserved03[0x73c];
} Nv059Typedef, Nv03ContextSurface2dSource;
#define NV059_TYPEDEF Nv03ContextSurface2dSource
/* dma method offsets, fields, and values */
#define NV059_SET_OBJECT (0x00000000)
#define NV059_NO_OPERATION (0x00000100)
#define NV059_NOTIFY (0x00000104)
#define NV059_NOTIFY_WRITE_ONLY (0x00000000)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV059_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV059_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV059_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV059_SET_COLOR_FORMAT (0x00000300)
#define NV059_SET_COLOR_FORMAT_LE_Y8 (0x01010000)
#define NV059_SET_COLOR_FORMAT_LE_Y16 (0x01010001)
#define NV059_SET_COLOR_FORMAT_LE_X1R5G5B5_Z1R5G5B5 (0x01000000)
#define NV059_SET_COLOR_FORMAT_LE_X8R8G8B8_Z8R8G8B8 (0x00000001)
#define NV059_SET_IMAGE_PITCH (0x00000308)
#define NV059_SET_IMAGE_OFFSET (0x0000030C)
/* obsolete stuff */
#define NV03_CONTEXT_SURFACE_1 (0x00000059)
#define NV3_CONTEXT_SURFACE_1 (0x00000059)
#define Nv03ContextSurface1 Nv03ContextSurface2dSource
#define nv03ContextSurface1 Nv03ContextSurface2dSource
#define Nv3ContextSurface1 Nv03ContextSurface2dSource
#define nv3ContextSurface1 Nv03ContextSurface2dSource
#define nv03ContextSurface2dSource Nv03ContextSurface2dSource
/* class NV03_CONTEXT_SURFACE_3D_COLOR */
#define NV03_CONTEXT_SURFACE_3D_COLOR (0x0000005A)
/* NvNotification[] elements */
#define NV05A_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV05A_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV05A_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV05A_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV05A_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV05A_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV05A_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV05A_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 Reserved01[0x05e];
NvV32 SetColorFormat; /* NV05A_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Reserved02[0x001];
NvU32 SetImagePitch; /* bytes, vertical pixel delta 0308-030b*/
NvU32 SetImageOffset; /* byte offset of top-left pixel 030c-030f*/
NvV32 Reserved03[0x73c];
} Nv05aTypedef, Nv03ContextSurface3dColor;
#define NV05A_TYPEDEF Nv03ContextSurface3dColor
/* dma method offsets, fields, and values */
#define NV05A_SET_OBJECT (0x00000000)
#define NV05A_NO_OPERATION (0x00000100)
#define NV05A_NOTIFY (0x00000104)
#define NV05A_NOTIFY_WRITE_ONLY (0x00000000)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV05A_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV05A_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV05A_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV05A_SET_COLOR_FORMAT (0x00000300)
#define NV05A_SET_COLOR_FORMAT_DUMMY_0 (0x01010000)
#define NV05A_SET_COLOR_FORMAT_LE_X1R5G5B5_Z1R5G5B5_1 (0x01010001)
#define NV05A_SET_COLOR_FORMAT_LE_X1R5G5B5_Z1R5G5B5_2 (0x01000000)
#define NV05A_SET_COLOR_FORMAT_DUMMY_3 (0x00000001)
#define NV05A_SET_IMAGE_PITCH (0x00000308)
#define NV05A_SET_IMAGE_OFFSET (0x0000030C)
/* obsolete stuff */
#define NV03_CONTEXT_SURFACE_2 (0x0000005A)
#define NV3_CONTEXT_SURFACE_2 (0x0000005A)
#define Nv03ContextSurface2 Nv03ContextSurface3dColor
#define nv03ContextSurface2 Nv03ContextSurface3dColor
#define Nv3ContextSurface2 Nv03ContextSurface3dColor
#define nv3ContextSurface2 Nv03ContextSurface3dColor
#define nv03ContextSurface3dColor Nv03ContextSurface3dColor
/* class NV03_CONTEXT_SURFACE_3D_DEPTH */
#define NV03_CONTEXT_SURFACE_3D_DEPTH (0x0000005B)
/* NvNotification[] elements */
#define NV05B_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV05B_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV05B_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV05B_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV05B_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV05B_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV05B_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV05B_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 Reserved01[0x05e];
NvV32 SetColorFormat; /* NV05B_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Reserved02[0x001];
NvU32 NvDummy; /* ignored 0308-030b*/
NvU32 SetImageOffset; /* byte offset of top-left pixel 030c-030f*/
NvV32 Reserved03[0x73c];
} Nv05bTypedef, Nv03ContextSurface3dDepth;
#define NV05B_TYPEDEF Nv03ContextSurface3dDepth
/* dma method offsets, fields, and values */
#define NV05B_SET_OBJECT (0x00000000)
#define NV05B_NO_OPERATION (0x00000100)
#define NV05B_NOTIFY (0x00000104)
#define NV05B_NOTIFY_WRITE_ONLY (0x00000000)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_1 (0x00000001)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_2 (0x00000002)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_3 (0x00000003)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_4 (0x00000004)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_5 (0x00000005)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_6 (0x00000006)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_7 (0x00000007)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_8 (0x00000008)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_9 (0x00000009)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_A (0x0000000A)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_B (0x0000000B)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_C (0x0000000C)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_D (0x0000000D)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_E (0x0000000E)
#define NV05B_NOTIFY_WRITE_THEN_AWAKEN_F (0x0000000F)
#define NV05B_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV05B_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV05B_SET_COLOR_FORMAT (0x00000300)
#define NV05B_SET_COLOR_FORMAT_LE_W16_0 (0x01010000)
#define NV05B_SET_COLOR_FORMAT_LE_W16_1 (0x01010001)
#define NV05B_SET_COLOR_FORMAT_LE_W16_2 (0x01000000)
#define NV05B_SET_COLOR_FORMAT_LE_W16_3 (0x00000001)
#define NV05B_DUMMY (0x00000308)
#define NV05B_SET_IMAGE_OFFSET (0x0000030C)
/* obsolete stuff */
#define NV03_CONTEXT_SURFACE_3 (0x0000005B)
#define NV3_CONTEXT_SURFACE_3 (0x0000005B)
#define Nv03ContextSurface3 Nv03ContextSurface3dDepth
#define nv03ContextSurface3 Nv03ContextSurface3dDepth
#define Nv3ContextSurface3 Nv03ContextSurface3dDepth
#define nv3ContextSurface3 Nv03ContextSurface3dDepth
#define nv03ContextSurface3dDepth Nv03ContextSurface3dDepth
/* class NV04_RENDER_SOLID_LIN */
#define NV04_RENDER_SOLID_LIN (0x0000005C)
/* NvNotification[] elements */
#define NV05C_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV05C_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV05C_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV05C_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV05C_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV05C_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV05C_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV05C_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetOperation; /* NV05C_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV05C_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Color; /* source color 0304-0307*/
NvV32 Reserved02[0x03e];
struct { /* start aliased methods in array 0400- */
NvV32 point0; /* y_x S16_S16 in pixels 0400-0403*/
NvV32 point1; /* y_x S16_S16 in pixels 0404-0407*/
} Lin[16]; /* end of aliased methods in array -047f*/
struct { /* start aliased methods in array 0480- */
NvS32 point0X; /* in pixels, 0 at left 0- 3*/
NvS32 point0Y; /* in pixels, 0 at top 4- 7*/
NvS32 point1X; /* in pixels, 0 at left 8- b*/
NvS32 point1Y; /* in pixels, 0 at top c- f*/
} Lin32[8]; /* end of aliased methods in array -04ff*/
NvV32 PolyLin[32]; /* y_x S16_S16 in pixels 0500-057f*/
struct { /* start aliased methods in array 0580- */
NvS32 x; /* in pixels, 0 at left 0- 3*/
NvS32 y; /* in pixels, 0 at top 4- 7*/
} PolyLin32[16]; /* end of aliased methods in array -05ff*/
struct { /* start aliased methods in array 0600- */
NvV32 color; /* source color 0- 3*/
NvV32 point; /* y_x S16_S16 in pixels 4- 7*/
} ColorPolyLin[16]; /* end of aliased methods in array -067f*/
NvV32 Reserved03[0x660];
} Nv05cTypedef, Nv04RenderSolidLin;
#define NV05C_TYPEDEF Nv04RenderSolidLin
/* dma method offsets, fields, and values */
#define NV05C_SET_OBJECT (0x00000000)
#define NV05C_NO_OPERATION (0x00000100)
#define NV05C_NOTIFY (0x00000104)
#define NV05C_NOTIFY_WRITE_ONLY (0x00000000)
#define NV05C_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV05C_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV05C_SET_CONTEXT_CLIP_RECTANGLE (0x00000184)
#define NV05C_SET_CONTEXT_PATTERN (0x00000188)
#define NV05C_SET_CONTEXT_ROP (0x0000018C)
#define NV05C_SET_CONTEXT_BETA1 (0x00000190)
#define NV05C_SET_CONTEXT_BETA4 (0x00000194)
#define NV05C_SET_CONTEXT_SURFACE (0x00000198)
#define NV05C_SET_OPERATION (0x000002FC)
#define NV05C_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV05C_SET_OPERATION_ROP_AND (0x00000001)
#define NV05C_SET_OPERATION_BLEND_AND (0x00000002)
#define NV05C_SET_OPERATION_SRCCOPY (0x00000003)
#define NV05C_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV05C_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV05C_SET_COLOR_FORMAT (0x00000300)
#define NV05C_SET_COLOR_FORMAT_LE_X16R5G6B5 (0x00000001)
#define NV05C_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV05C_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV05C_COLOR (0x00000304)
#define NV05C_LIN(a) (0x00000400\
+(a)*0x0008)
#define NV05C_LIN_POINT0(a) (0x00000400\
+(a)*0x0008)
#define NV05C_LIN_POINT0_X 15:0
#define NV05C_LIN_POINT0_Y 31:16
#define NV05C_LIN_POINT1(a) (0x00000404\
+(a)*0x0008)
#define NV05C_LIN_POINT1_X 15:0
#define NV05C_LIN_POINT1_Y 31:16
#define NV05C_LIN32(a) (0x00000480\
+(a)*0x0010)
#define NV05C_LIN32_POINT0_X(a) (0x00000480\
+(a)*0x0010)
#define NV05C_LIN32_POINT0_Y(a) (0x00000484\
+(a)*0x0010)
#define NV05C_LIN32_POINT1_X(a) (0x00000488\
+(a)*0x0010)
#define NV05C_LIN32_POINT1_Y(a) (0x0000048C\
+(a)*0x0010)
#define NV05C_POLY_LIN(a) (0x00000500\
+(a)*0x0004)
#define NV05C_POLY_LIN_X 15:0
#define NV05C_POLY_LIN_Y 31:16
#define NV05C_POLY_LIN32(a) (0x00000580\
+(a)*0x0008)
#define NV05C_POLY_LIN32_X(a) (0x00000580\
+(a)*0x0008)
#define NV05C_POLY_LIN32_Y(a) (0x00000584\
+(a)*0x0008)
#define NV05C_COLOR_POLY_LIN(a) (0x00000600\
+(a)*0x0008)
#define NV05C_COLOR_POLY_LIN_COLOR(a) (0x00000600\
+(a)*0x0008)
#define NV05C_COLOR_POLY_LIN_POINT(a) (0x00000604\
+(a)*0x0008)
#define NV05C_COLOR_POLY_LIN_POINT_X 15:0
#define NV05C_COLOR_POLY_LIN_POINT_Y 31:16
/* obsolete stuff */
#define NV4_RENDER_SOLID_LIN (0x0000005C)
#define Nv4RenderSolidLin Nv04RenderSolidLin
#define nv4RenderSolidLin Nv04RenderSolidLin
#define nv04RenderSolidLin Nv04RenderSolidLin
/* class NV04_RENDER_SOLID_TRIANGLE */
#define NV04_RENDER_SOLID_TRIANGLE (0x0000005D)
/* NvNotification[] elements */
#define NV05D_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV05D_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV05D_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV05D_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV05D_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV05D_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV05D_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV05D_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetOperation; /* NV05D_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV05D_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Color; /* source color 0304-0307*/
NvV32 Reserved02[0x002];
NvV32 TrianglePoint0; /* y_x S16_S16 in pixels 0310-0313*/
NvV32 TrianglePoint1; /* y_x S16_S16 in pixels 0314-0317*/
NvV32 TrianglePoint2; /* y_x S16_S16 in pixels 0318-031b*/
NvV32 Reserved03[0x001];
NvS32 Triangle32Point0X; /* in pixels, 0 at left 0320-0323*/
NvS32 Triangle32Point0Y; /* in pixels, 0 at top 0324-0327*/
NvS32 Triangle32Point1X; /* in pixels, 0 at left 0328-032b*/
NvS32 Triangle32Point1Y; /* in pixels, 0 at top 032c-032f*/
NvS32 Triangle32Point2X; /* in pixels, 0 at left 0330-0333*/
NvS32 Triangle32Point2Y; /* in pixels, 0 at top 0334-0337*/
NvV32 Reserved04[0x032];
NvV32 Trimesh[32]; /* y_x S16_S16 in pixels 0400-047f*/
struct { /* start aliased methods in array 0480- */
NvS32 x; /* in pixels, 0 at left 0- 3*/
NvS32 y; /* in pixels, 0 at top 4- 7*/
} Trimesh32[16]; /* end of aliased methods in array -04ff*/
struct { /* start aliased methods in array 0500- */
NvV32 color; /* source color 0- 3*/
NvV32 point0; /* y_x S16_S16 in pixels 4- 7*/
NvV32 point1; /* y_x S16_S16 in pixels 8- b*/
NvV32 point2; /* y_x S16_S16 in pixels c- f*/
} ColorTriangle[8]; /* end of aliased methods in array -057f*/
struct { /* start aliased methods in array 0580- */
NvV32 color; /* source color 0- 3*/
NvV32 point; /* y_x S16_S16 in pixels 4- 7*/
} ColorTrimesh[16]; /* end of aliased methods in array -05ff*/
NvV32 Reserved05[0x680];
} Nv05dTypedef, Nv04RenderSolidTriangle;
#define NV05D_TYPEDEF Nv04RenderSolidTriangle
/* dma method offsets, fields, and values */
#define NV05D_SET_OBJECT (0x00000000)
#define NV05D_NO_OPERATION (0x00000100)
#define NV05D_NOTIFY (0x00000104)
#define NV05D_NOTIFY_WRITE_ONLY (0x00000000)
#define NV05D_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV05D_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV05D_SET_CONTEXT_CLIP_RECTANGLE (0x00000184)
#define NV05D_SET_CONTEXT_PATTERN (0x00000188)
#define NV05D_SET_CONTEXT_ROP (0x0000018C)
#define NV05D_SET_CONTEXT_BETA1 (0x00000190)
#define NV05D_SET_CONTEXT_BETA4 (0x00000194)
#define NV05D_SET_CONTEXT_SURFACE (0x00000198)
#define NV05D_SET_OPERATION (0x000002FC)
#define NV05D_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV05D_SET_OPERATION_ROP_AND (0x00000001)
#define NV05D_SET_OPERATION_BLEND_AND (0x00000002)
#define NV05D_SET_OPERATION_SRCCOPY (0x00000003)
#define NV05D_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV05D_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV05D_SET_COLOR_FORMAT (0x00000300)
#define NV05D_SET_COLOR_FORMAT_LE_X16R5G6B5 (0x00000001)
#define NV05D_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV05D_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV05D_COLOR (0x00000304)
#define NV05D_TRIANGLE (0x00000310)
#define NV05D_TRIANGLE_POINT0 (0x00000310)
#define NV05D_TRIANGLE_POINT0_X 15:0
#define NV05D_TRIANGLE_POINT0_Y 31:16
#define NV05D_TRIANGLE_POINT1 (0x00000314)
#define NV05D_TRIANGLE_POINT1_X 15:0
#define NV05D_TRIANGLE_POINT1_Y 31:16
#define NV05D_TRIANGLE_POINT2 (0x00000318)
#define NV05D_TRIANGLE_POINT2_X 15:0
#define NV05D_TRIANGLE_POINT2_Y 31:16
#define NV05D_TRIANGLE32_POINT0_X (0x00000320)
#define NV05D_TRIANGLE32_POINT0_Y (0x00000324)
#define NV05D_TRIANGLE32_POINT1_X (0x00000328)
#define NV05D_TRIANGLE32_POINT1_Y (0x0000032C)
#define NV05D_TRIANGLE32_POINT2_X (0x00000330)
#define NV05D_TRIANGLE32_POINT2_Y (0x00000334)
#define NV05D_TRIMESH(a) (0x00000400\
+(a)*0x0004)
#define NV05D_TRIMESH_X 15:0
#define NV05D_TRIMESH_Y 31:16
#define NV05D_TRIMESH32(a) (0x00000480\
+(a)*0x0008)
#define NV05D_TRIMESH32_X(a) (0x00000480\
+(a)*0x0008)
#define NV05D_TRIMESH32_Y(a) (0x00000484\
+(a)*0x0008)
#define NV05D_COLOR_TRIANGLE(a) (0x00000500\
+(a)*0x0010)
#define NV05D_COLOR_TRIANGLE_COLOR(a) (0x00000500\
+(a)*0x0010)
#define NV05D_COLOR_TRIANGLE_POINT0(a) (0x00000504\
+(a)*0x0010)
#define NV05D_COLOR_TRIANGLE_POINT0_X 15:0
#define NV05D_COLOR_TRIANGLE_POINT0_Y 31:16
#define NV05D_COLOR_TRIANGLE_POINT1(a) (0x00000508\
+(a)*0x0010)
#define NV05D_COLOR_TRIANGLE_POINT1_X 15:0
#define NV05D_COLOR_TRIANGLE_POINT1_Y 31:16
#define NV05D_COLOR_TRIANGLE_POINT2(a) (0x0000050C\
+(a)*0x0010)
#define NV05D_COLOR_TRIANGLE_POINT2_X 15:0
#define NV05D_COLOR_TRIANGLE_POINT2_Y 31:16
#define NV05D_COLOR_TRIMESH(a) (0x00000580\
+(a)*0x0008)
#define NV05D_COLOR_TRIMESH_COLOR(a) (0x00000580\
+(a)*0x0008)
#define NV05D_COLOR_TRIMESH_POINT(a) (0x00000584\
+(a)*0x0008)
#define NV05D_COLOR_TRIMESH_POINT_X 15:0
#define NV05D_COLOR_TRIMESH_POINT_Y 31:16
/* obsolete stuff */
#define NV4_RENDER_SOLID_TRIANGLE (0x0000005D)
#define Nv4RenderSolidTriangle Nv04RenderSolidTriangle
#define nv4RenderSolidTriangle Nv04RenderSolidTriangle
#define nv04RenderSolidTriangle Nv04RenderSolidTriangle
/* class NV04_RENDER_SOLID_RECTANGLE */
#define NV04_RENDER_SOLID_RECTANGLE (0x0000005E)
/* NvNotification[] elements */
#define NV05E_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV05E_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV05E_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV05E_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV05E_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV05E_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV05E_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV05E_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetOperation; /* NV05E_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV05E_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Color; /* source color 0304-0307*/
NvV32 Reserved02[0x03e];
struct { /* start aliased methods in array 0400- */
NvV32 point; /* y_x S16_S16 0- 3*/
NvV32 size; /* height_width U16_U16 4- 7*/
} Rectangle[16]; /* end of aliased methods in array -047f*/
NvV32 Reserved03[0x6e0];
} Nv05eTypedef, Nv04RenderSolidRectangle;
#define NV05E_TYPEDEF Nv04RenderSolidRectangle
/* dma method offsets, fields, and values */
#define NV05E_SET_OBJECT (0x00000000)
#define NV05E_NO_OPERATION (0x00000100)
#define NV05E_NOTIFY (0x00000104)
#define NV05E_NOTIFY_WRITE_ONLY (0x00000000)
#define NV05E_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV05E_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV05E_SET_CONTEXT_CLIP_RECTANGLE (0x00000184)
#define NV05E_SET_CONTEXT_PATTERN (0x00000188)
#define NV05E_SET_CONTEXT_ROP (0x0000018C)
#define NV05E_SET_CONTEXT_BETA1 (0x00000190)
#define NV05E_SET_CONTEXT_BETA4 (0x00000194)
#define NV05E_SET_CONTEXT_SURFACE (0x00000198)
#define NV05E_SET_OPERATION (0x000002FC)
#define NV05E_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV05E_SET_OPERATION_ROP_AND (0x00000001)
#define NV05E_SET_OPERATION_BLEND_AND (0x00000002)
#define NV05E_SET_OPERATION_SRCCOPY (0x00000003)
#define NV05E_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV05E_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV05E_SET_COLOR_FORMAT (0x00000300)
#define NV05E_SET_COLOR_FORMAT_LE_X16R5G6B5 (0x00000001)
#define NV05E_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000002)
#define NV05E_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000003)
#define NV05E_COLOR (0x00000304)
#define NV05E_RECTANGLE(a) (0x00000400\
+(a)*0x0008)
#define NV05E_RECTANGLE_POINT(a) (0x00000400\
+(a)*0x0008)
#define NV05E_RECTANGLE_POINT_X 15:0
#define NV05E_RECTANGLE_POINT_Y 31:16
#define NV05E_RECTANGLE_SIZE(a) (0x00000404\
+(a)*0x0008)
#define NV05E_RECTANGLE_SIZE_WIDTH 15:0
#define NV05E_RECTANGLE_SIZE_HEIGHT 31:16
/* obsolete stuff */
#define NV4_RENDER_SOLID_RECTANGLE (0x0000005E)
#define Nv4RenderSolidRectangle Nv04RenderSolidRectangle
#define nv4RenderSolidRectangle Nv04RenderSolidRectangle
#define nv04RenderSolidRectangle Nv04RenderSolidRectangle
/* class NV04_IMAGE_BLIT */
#define NV04_IMAGE_BLIT (0x0000005F)
/* NvNotification[] elements */
#define NV05F_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV05F_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV05F_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV05F_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV05F_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV05F_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV05F_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV05F_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0198-019b*/
NvV32 SetContextSurfaces; /* NV04_CONTEXT_SURFACES_2D 019c-019f*/
NvV32 Reserved01[0x057];
NvV32 SetOperation; /* NV05F_SET_OPERATION_* 02fc-02ff*/
NvV32 ControlPointIn; /* y_x U16_U16, pixels 0300-0303*/
NvV32 ControlPointOut; /* y_x S16_S16, pixels 0304-0307*/
NvV32 Size; /* height_width U16_U16 in pixels 0308-030b*/
NvV32 Reserved02[0x73d];
} Nv05fTypedef, Nv04ImageBlit;
#define NV05F_TYPEDEF Nv04ImageBlit
/* dma method offsets, fields, and values */
#define NV05F_SET_OBJECT (0x00000000)
#define NV05F_NO_OPERATION (0x00000100)
#define NV05F_NOTIFY (0x00000104)
#define NV05F_NOTIFY_WRITE_ONLY (0x00000000)
#define NV05F_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV05F_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV05F_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV05F_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV05F_SET_CONTEXT_PATTERN (0x0000018C)
#define NV05F_SET_CONTEXT_ROP (0x00000190)
#define NV05F_SET_CONTEXT_BETA1 (0x00000194)
#define NV05F_SET_CONTEXT_BETA4 (0x00000198)
#define NV05F_SET_CONTEXT_SURFACES (0x0000019C)
#define NV05F_SET_OPERATION (0x000002FC)
#define NV05F_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV05F_SET_OPERATION_ROP_AND (0x00000001)
#define NV05F_SET_OPERATION_BLEND_AND (0x00000002)
#define NV05F_SET_OPERATION_SRCCOPY (0x00000003)
#define NV05F_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV05F_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV05F_CONTROL_POINT_IN (0x00000300)
#define NV05F_CONTROL_POINT_IN_X 15:0
#define NV05F_CONTROL_POINT_IN_Y 31:16
#define NV05F_CONTROL_POINT_OUT (0x00000304)
#define NV05F_CONTROL_POINT_OUT_X 15:0
#define NV05F_CONTROL_POINT_OUT_Y 31:16
#define NV05F_SIZE (0x00000308)
#define NV05F_SIZE_WIDTH 15:0
#define NV05F_SIZE_HEIGHT 31:16
/* obsolete stuff */
#define NV4_IMAGE_BLIT (0x0000005F)
#define Nv4ImageBlit Nv04ImageBlit
#define nv4ImageBlit Nv04ImageBlit
#define nv04ImageBlit Nv04ImageBlit
/* class NV04_INDEXED_IMAGE_FROM_CPU */
#define NV04_INDEXED_IMAGE_FROM_CPU (0x00000060)
/* NvNotification[] elements */
#define NV060_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV060_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV060_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV060_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV060_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV060_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV060_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV060_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaLut; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0188-018b*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 018c-018f*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0190-0193*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0194-0197*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0198-019b*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 019c-019f*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D,SWIZZLE 01a0-01a3*/
NvV32 Reserved01[0x08F];
NvV32 SetColorConversion; /* NV060_SET_COLOR_CONVERSION_* 03e0-03e3*/
NvV32 SetOperation; /* NV060_SET_OPERATION_* 03e4-03e7*/
NvV32 SetColorFormat; /* NV060_SET_COLOR_FORMAT_* 03e8-03eb*/
NvV32 IndexFormat; /* NV060_INDEX_FORMAT_* 03ec-03ef*/
NvU32 LutOffset; /* offset in bytes 03f0-03f3*/
NvV32 Point; /* y_x S16_S16 in pixels 03f4-03f7*/
NvV32 SizeOut; /* height_width U16_U16, pixels 03f8-03fb*/
NvV32 SizeIn; /* height_width U16_U16, pixels 03fc-03ff*/
NvV32 Indices[1792]; /* source indices (packed texels) 0400-1fff*/
} Nv060Typedef, Nv04IndexedImageFromCpu;
#define NV060_TYPEDEF Nv04IndexedImageFromCpu
/* dma method offsets, fields, and values */
#define NV060_SET_OBJECT (0x00000000)
#define NV060_NO_OPERATION (0x00000100)
#define NV060_NOTIFY (0x00000104)
#define NV060_NOTIFY_WRITE_ONLY (0x00000000)
#define NV060_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV060_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV060_SET_CONTEXT_DMA_LUT (0x00000184)
#define NV060_SET_CONTEXT_COLOR_KEY (0x00000188)
#define NV060_SET_CONTEXT_CLIP_RECTANGLE (0x0000018C)
#define NV060_SET_CONTEXT_PATTERN (0x00000190)
#define NV060_SET_CONTEXT_ROP (0x00000194)
#define NV060_SET_CONTEXT_BETA1 (0x00000198)
#define NV060_SET_CONTEXT_BETA4 (0x0000019C)
#define NV060_SET_CONTEXT_SURFACE (0x000001A0)
#define NV060_SET_COLOR_CONVERSION (0x000003E0)
#define NV060_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV060_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV060_SET_OPERATION (0x000003E4)
#define NV060_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV060_SET_OPERATION_ROP_AND (0x00000001)
#define NV060_SET_OPERATION_BLEND_AND (0x00000002)
#define NV060_SET_OPERATION_SRCCOPY (0x00000003)
#define NV060_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV060_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV060_SET_COLOR_FORMAT (0x000003E8)
#define NV060_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV060_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV060_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV060_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV060_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV060_INDEX_FORMAT (0x000003EC)
#define NV060_INDEX_FORMAT_LE_I8 (0x00000000)
#define NV060_INDEX_FORMAT_SVGA65_I4 (0x00000001)
#define NV060_LUT_OFFSET (0x000003F0)
#define NV060_POINT (0x000003F4)
#define NV060_POINT_X 15:0
#define NV060_POINT_Y 31:16
#define NV060_SIZE_OUT (0x000003F8)
#define NV060_SIZE_OUT_WIDTH 15:0
#define NV060_SIZE_OUT_HEIGHT 31:16
#define NV060_SIZE_IN (0x000003FC)
#define NV060_SIZE_IN_WIDTH 15:0
#define NV060_SIZE_IN_HEIGHT 31:16
#define NV060_INDICES(a) (0x00000400\
+(a)*0x0004)
/* obsolete stuff */
#define NV4_INDEXED_IMAGE_FROM_CPU (0x00000060)
#define Nv4IndexedImageFromCpu Nv04IndexedImageFromCpu
#define nv4IndexedImageFromCpu Nv04IndexedImageFromCpu
#define nv04IndexedImageFromCpu Nv04IndexedImageFromCpu
/* class NV04_IMAGE_FROM_CPU */
#define NV04_IMAGE_FROM_CPU (0x00000061)
/* NvNotification[] elements */
#define NV061_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV061_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV061_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV061_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV061_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV061_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV061_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV061_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0198-019b*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 019c-019f*/
NvV32 Reserved01[0x057];
NvV32 SetOperation; /* NV061_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV061_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Point; /* y_x S16_S16 in pixels 0304-0307*/
NvV32 SizeOut; /* height_width U16_U16, pixels 0308-030b*/
NvV32 SizeIn; /* height_width U16_U16, pixels 030c-030f*/
NvV32 Reserved02[0x03c];
NvV32 Color[1792]; /* source colors (packed texels) 0400-1fff*/
} Nv061Typedef, Nv04ImageFromCpu;
#define NV061_TYPEDEF Nv04ImageFromCpu
/* dma method offsets, fields, and values */
#define NV061_SET_OBJECT (0x00000000)
#define NV061_NO_OPERATION (0x00000100)
#define NV061_NOTIFY (0x00000104)
#define NV061_NOTIFY_WRITE_ONLY (0x00000000)
#define NV061_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV061_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV061_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV061_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV061_SET_CONTEXT_PATTERN (0x0000018C)
#define NV061_SET_CONTEXT_ROP (0x00000190)
#define NV061_SET_CONTEXT_BETA1 (0x00000194)
#define NV061_SET_CONTEXT_BETA4 (0x00000198)
#define NV061_SET_CONTEXT_SURFACE (0x0000019C)
#define NV061_SET_OPERATION (0x000002FC)
#define NV061_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV061_SET_OPERATION_ROP_AND (0x00000001)
#define NV061_SET_OPERATION_BLEND_AND (0x00000002)
#define NV061_SET_OPERATION_SRCCOPY (0x00000003)
#define NV061_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV061_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV061_SET_COLOR_FORMAT (0x00000300)
#define NV061_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV061_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV061_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV061_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV061_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV061_POINT (0x00000304)
#define NV061_POINT_X 15:0
#define NV061_POINT_Y 31:16
#define NV061_SIZE_OUT (0x00000308)
#define NV061_SIZE_OUT_WIDTH 15:0
#define NV061_SIZE_OUT_HEIGHT 31:16
#define NV061_SIZE_IN (0x0000030C)
#define NV061_SIZE_IN_WIDTH 15:0
#define NV061_SIZE_IN_HEIGHT 31:16
#define NV061_COLOR(a) (0x00000400\
+(a)*0x0004)
/* obsolete stuff */
#define NV4_IMAGE_FROM_CPU (0x00000061)
#define Nv4ImageFromCpu Nv04ImageFromCpu
#define nv4ImageFromCpu Nv04ImageFromCpu
#define nv04ImageFromCpu Nv04ImageFromCpu
/* class NV10_CONTEXT_SURFACES_2D */
#define NV10_CONTEXT_SURFACES_2D (0x00000062)
/* NvNotification[] elements */
#define NV062_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV062_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV062_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV062_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV062_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV062_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV062_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV062_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImageSource;/* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaImageDestin;/* NV01_CONTEXT_DMA 0188-018b*/
NvV32 Reserved01[0x05d];
NvV32 SetColorFormat; /* NV062_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetPitch; /* destin_source U16_U16 0304-0307*/
NvU32 SetOffsetSource; /* byte offset of top-left pixel 0308-030b*/
NvU32 SetOffsetDestin; /* byte offset of top-left pixel 030c-030f*/
NvV32 Reserved02[0x73c];
} Nv062Typedef, Nv10ContextSurfaces2d;
#define NV062_TYPEDEF Nv10ContextSurfaces2d
/* dma method offsets, fields, and values */
#define NV062_SET_OBJECT (0x00000000)
#define NV062_NO_OPERATION (0x00000100)
#define NV062_NOTIFY (0x00000104)
#define NV062_NOTIFY_WRITE_ONLY (0x00000000)
#define NV062_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV062_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV062_SET_CONTEXT_DMA_IMAGE_SOURCE (0x00000184)
#define NV062_SET_CONTEXT_DMA_IMAGE_DESTIN (0x00000188)
#define NV062_SET_COLOR_FORMAT (0x00000300)
#define NV062_SET_COLOR_FORMAT_LE_Y8 (0x00000001)
#define NV062_SET_COLOR_FORMAT_LE_X1R5G5B5_Z1R5G5B5 (0x00000002)
#define NV062_SET_COLOR_FORMAT_LE_X1R5G5B5_O1R5G5B5 (0x00000003)
#define NV062_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000004)
#define NV062_SET_COLOR_FORMAT_LE_Y16 (0x00000005)
#define NV062_SET_COLOR_FORMAT_LE_X8R8G8B8_Z8R8G8B8 (0x00000006)
#define NV062_SET_COLOR_FORMAT_LE_X8R8G8B8_O8R8G8B8 (0x00000007)
#define NV062_SET_COLOR_FORMAT_LE_X1A7R8G8B8_Z1A7R8G8B8 (0x00000008)
#define NV062_SET_COLOR_FORMAT_LE_X1A7R8G8B8_O1A7R8G8B8 (0x00000009)
#define NV062_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x0000000A)
#define NV062_SET_COLOR_FORMAT_LE_Y32 (0x0000000B)
#define NV062_SET_PITCH (0x00000304)
#define NV062_SET_PITCH_SOURCE 15:0
#define NV062_SET_PITCH_DESTIN 31:16
#define NV062_SET_OFFSET_SOURCE (0x00000308)
#define NV062_SET_OFFSET_DESTIN (0x0000030C)
/* class NV05_SCALED_IMAGE_FROM_MEMORY */
#define NV05_SCALED_IMAGE_FROM_MEMORY (0x00000063)
/* NvNotification[] elements */
#define NV063_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV063_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV063_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV063_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV063_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV063_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV063_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV063_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D,SWIZZLE 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetColorConversion; /* NV063_SET_COLOR_CONVERSION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV063_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetOperation; /* NV063_SET_OPERATION_* 0304-0307*/
NvV32 ClipPoint; /* y_x S16_S16 0308-030b*/
NvV32 ClipSize; /* height_width U16_U16 030c-030f*/
NvV32 ImageOutPoint; /* y_x S16_S16 0310-0313*/
NvV32 ImageOutSize; /* height_width U16_U16 0314-0317*/
NvV32 DsDx; /* S12d20 ds/dx 0318-031b*/
NvV32 DtDy; /* S12d20 dt/dy 031c-031f*/
NvV32 Reserved02[0x038];
NvV32 ImageInSize; /* height_width U16_U16 0400-0403*/
NvV32 ImageInFormat; /* interpolator_origin_pitch 0404-0407*/
NvU32 ImageInOffset; /* bytes 0408-040b*/
NvV32 ImageInPoint; /* v_u U12d4_U12d4 040c-040f*/
NvV32 Reserved03[0x6fc];
} Nv063Typedef, Nv05ScaledImageFromMemory;
#define NV063_TYPEDEF Nv05ScaledImageFromMemory
/* dma method offsets, fields, and values */
#define NV063_SET_OBJECT (0x00000000)
#define NV063_NO_OPERATION (0x00000100)
#define NV063_NOTIFY (0x00000104)
#define NV063_NOTIFY_WRITE_ONLY (0x00000000)
#define NV063_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV063_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV063_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV063_SET_CONTEXT_PATTERN (0x00000188)
#define NV063_SET_CONTEXT_ROP (0x0000018C)
#define NV063_SET_CONTEXT_BETA1 (0x00000190)
#define NV063_SET_CONTEXT_BETA4 (0x00000194)
#define NV063_SET_CONTEXT_SURFACE (0x00000198)
#define NV063_SET_COLOR_CONVERSION (0x000002fc)
#define NV063_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV063_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV063_SET_COLOR_CONVERSION_SUBTRACT_TRUNCATE (0x00000002)
#define NV063_SET_COLOR_FORMAT (0x00000300)
#define NV063_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000001)
#define NV063_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000002)
#define NV063_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV063_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000004)
#define NV063_SET_COLOR_FORMAT_LE_CR8YB8CB8YA8 (0x00000005)
#define NV063_SET_COLOR_FORMAT_LE_YB8CR8YA8CB8 (0x00000006)
#define NV063_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000007)
#define NV063_SET_OPERATION (0x00000304)
#define NV063_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV063_SET_OPERATION_ROP_AND (0x00000001)
#define NV063_SET_OPERATION_BLEND_AND (0x00000002)
#define NV063_SET_OPERATION_SRCCOPY (0x00000003)
#define NV063_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV063_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV063_CLIP_POINT (0x00000308)
#define NV063_CLIP_POINT_X 15:0
#define NV063_CLIP_POINT_Y 31:16
#define NV063_CLIP_SIZE (0x0000030C)
#define NV063_CLIP_SIZE_WIDTH 15:0
#define NV063_CLIP_SIZE_HEIGHT 31:16
#define NV063_IMAGE_OUT_POINT (0x00000310)
#define NV063_IMAGE_OUT_POINT_X 15:0
#define NV063_IMAGE_OUT_POINT_Y 31:16
#define NV063_IMAGE_OUT_SIZE (0x00000314)
#define NV063_IMAGE_OUT_SIZE_WIDTH 15:0
#define NV063_IMAGE_OUT_SIZE_HEIGHT 31:16
#define NV063_DS_DX (0x00000318)
#define NV063_DT_DY (0x0000031C)
#define NV063_IMAGE_IN_SIZE (0x00000400)
#define NV063_IMAGE_IN_SIZE_WIDTH 15:0
#define NV063_IMAGE_IN_SIZE_HEIGHT 31:16
#define NV063_IMAGE_IN_FORMAT (0x00000404)
#define NV063_IMAGE_IN_FORMAT_PITCH 15:0
#define NV063_IMAGE_IN_FORMAT_ORIGIN 23:16
#define NV063_IMAGE_IN_FORMAT_ORIGIN_CENTER (0x00000001)
#define NV063_IMAGE_IN_FORMAT_ORIGIN_CORNER (0x00000002)
#define NV063_IMAGE_IN_FORMAT_INTERPOLATOR 31:24
#define NV063_IMAGE_IN_FORMAT_INTERPOLATOR_ZOH (0x00000000)
#define NV063_IMAGE_IN_FORMAT_INTERPOLATOR_FOH (0x00000001)
#define NV063_IMAGE_IN_OFFSET (0x00000408)
#define NV063_IMAGE_IN (0x0000040C)
#define NV063_IMAGE_IN_POINT_U 15:0
#define NV063_IMAGE_IN_POINT_V 31:16
/* class NV05_INDEXED_IMAGE_FROM_CPU */
#define NV05_INDEXED_IMAGE_FROM_CPU (0x00000064)
/* NvNotification[] elements */
#define NV064_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV064_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV064_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV064_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV064_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV064_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV064_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV064_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaLut; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0188-018b*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 018c-018f*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0190-0193*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0194-0197*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0198-019b*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 019c-019f*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D,SWIZZLE 01a0-01a3*/
NvV32 Reserved01[0x08f];
NvV32 SetColorConversion; /* NV064_SET_COLOR_CONVERSION_* 03e0-03e3*/
NvV32 SetOperation; /* NV064_SET_OPERATION_* 03e4-03e7*/
NvV32 SetColorFormat; /* NV064_SET_COLOR_FORMAT_* 03e8-03eb*/
NvV32 IndexFormat; /* NV064_INDEX_FORMAT_* 03ec-03ef*/
NvU32 LutOffset; /* offset in bytes 03f0-03f3*/
NvV32 Point; /* y_x S16_S16 in pixels 03f4-03f7*/
NvV32 SizeOut; /* height_width U16_U16, pixels 03f8-03fb*/
NvV32 SizeIn; /* height_width U16_U16, pixels 03fc-03ff*/
NvV32 Indices[1792]; /* source indices (packed texels) 0400-1fff*/
} Nv064Typedef, Nv05IndexedImageFromCpu;
#define NV064_TYPEDEF Nv05IndexedImageFromCpu
/* dma method offsets, fields, and values */
#define NV064_SET_OBJECT (0x00000000)
#define NV064_NO_OPERATION (0x00000100)
#define NV064_NOTIFY (0x00000104)
#define NV064_NOTIFY_WRITE_ONLY (0x00000000)
#define NV064_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV064_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV064_SET_CONTEXT_DMA_LUT (0x00000184)
#define NV064_SET_CONTEXT_COLOR_KEY (0x00000188)
#define NV064_SET_CONTEXT_CLIP_RECTANGLE (0x0000018C)
#define NV064_SET_CONTEXT_PATTERN (0x00000190)
#define NV064_SET_CONTEXT_ROP (0x00000194)
#define NV064_SET_CONTEXT_BETA1 (0x00000198)
#define NV064_SET_CONTEXT_BETA4 (0x0000019C)
#define NV064_SET_CONTEXT_SURFACE (0x000001A0)
#define NV064_SET_COLOR_CONVERSION (0x000003E0)
#define NV064_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV064_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV064_SET_COLOR_CONVERSION_SUBTRACT_TRUNCATE (0x00000002)
#define NV064_SET_OPERATION (0x000003E4)
#define NV064_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV064_SET_OPERATION_ROP_AND (0x00000001)
#define NV064_SET_OPERATION_BLEND_AND (0x00000002)
#define NV064_SET_OPERATION_SRCCOPY (0x00000003)
#define NV064_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV064_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV064_SET_COLOR_FORMAT (0x000003E8)
#define NV064_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV064_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV064_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV064_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV064_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV064_INDEX_FORMAT (0x000003EC)
#define NV064_INDEX_FORMAT_LE_I8 (0x00000000)
#define NV064_INDEX_FORMAT_SVGA65_I4 (0x00000001)
#define NV064_LUT_OFFSET (0x000003F0)
#define NV064_POINT (0x000003F4)
#define NV064_POINT_X 15:0
#define NV064_POINT_Y 31:16
#define NV064_SIZE_OUT (0x000003F8)
#define NV064_SIZE_OUT_WIDTH 15:0
#define NV064_SIZE_OUT_HEIGHT 31:16
#define NV064_SIZE_IN (0x000003FC)
#define NV064_SIZE_IN_WIDTH 15:0
#define NV064_SIZE_IN_HEIGHT 31:16
#define NV064_INDICES(a) (0x00000400\
+(a)*0x0004)
/* class NV05_IMAGE_FROM_CPU */
#define NV05_IMAGE_FROM_CPU (0x00000065)
/* NvNotification[] elements */
#define NV065_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV065_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV065_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV065_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV065_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV065_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV065_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV065_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0198-019b*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 019c-019f*/
NvV32 Reserved01[0x056];
NvV32 SetColorConversion; /* NV065_SET_COLOR_CONVERSION_* 02f8-02fb*/
NvV32 SetOperation; /* NV065_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV065_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Point; /* y_x S16_S16 in pixels 0304-0307*/
NvV32 SizeOut; /* height_width U16_U16, pixels 0308-030b*/
NvV32 SizeIn; /* height_width U16_U16, pixels 030c-030f*/
NvV32 Reserved02[0x03c];
NvV32 Color[1792]; /* source colors (packed texels) 0400-1fff*/
} Nv065Typedef, Nv05ImageFromCpu;
#define NV065_TYPEDEF Nv05ImageFromCpu
/* dma method offsets, fields, and values */
#define NV065_SET_OBJECT (0x00000000)
#define NV065_NO_OPERATION (0x00000100)
#define NV065_NOTIFY (0x00000104)
#define NV065_NOTIFY_WRITE_ONLY (0x00000000)
#define NV065_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV065_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV065_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV065_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV065_SET_CONTEXT_PATTERN (0x0000018C)
#define NV065_SET_CONTEXT_ROP (0x00000190)
#define NV065_SET_CONTEXT_BETA1 (0x00000194)
#define NV065_SET_CONTEXT_BETA4 (0x00000198)
#define NV065_SET_CONTEXT_SURFACE (0x0000019C)
#define NV065_SET_COLOR_CONVERSION (0x000002F8)
#define NV065_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV065_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV065_SET_COLOR_CONVERSION_SUBTRACT_TRUNCATE (0x00000002)
#define NV065_SET_OPERATION (0x000002FC)
#define NV065_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV065_SET_OPERATION_ROP_AND (0x00000001)
#define NV065_SET_OPERATION_BLEND_AND (0x00000002)
#define NV065_SET_OPERATION_SRCCOPY (0x00000003)
#define NV065_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV065_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV065_SET_COLOR_FORMAT (0x00000300)
#define NV065_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV065_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV065_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV065_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV065_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV065_POINT (0x00000304)
#define NV065_POINT_X 15:0
#define NV065_POINT_Y 31:16
#define NV065_SIZE_OUT (0x00000308)
#define NV065_SIZE_OUT_WIDTH 15:0
#define NV065_SIZE_OUT_HEIGHT 31:16
#define NV065_SIZE_IN (0x0000030C)
#define NV065_SIZE_IN_WIDTH 15:0
#define NV065_SIZE_IN_HEIGHT 31:16
#define NV065_COLOR(a) (0x00000400\
+(a)*0x0004)
/* class NV05_STRETCHED_IMAGE_FROM_CPU */
#define NV05_STRETCHED_IMAGE_FROM_CPU (0x00000066)
/* NvNotification[] elements */
#define NV066_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV066_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV066_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV066_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV066_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV066_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV066_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct _Nv066Typedef{
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV066_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 0198-019b*/
NvV32 Reserved01[0x057];
NvV32 SetColorConversion; /* NV066_SET_COLOR_CONVERSION_* 02f8-02fb*/
NvV32 SetOperation; /* NV066_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV066_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SizeIn; /* height_width U16_U16 in texels 0304-0307*/
NvV32 DxDs; /* S12d20 dx/ds 0308-030b*/
NvV32 DyDt; /* S12d20 dy/dt 030c-030f*/
NvV32 ClipPoint; /* y_x S16_S16 0310-0313*/
NvV32 ClipSize; /* height_width U16_U16 0314-0317*/
NvV32 Point12d4; /* y_x S12d4_S12d4 in pixels 0318-031b*/
NvV32 Reserved02[0x039];
NvV32 Color[1792]; /* source colors (packed texels) 0400-1fff*/
} Nv066Typedef, Nv05StretchedImageFromCpu;
#define NV066_TYPEDEF Nv05StretchedImageFromCpu
/* dma method offsets, fields, and values */
#define NV066_SET_OBJECT (0x00000000)
#define NV066_NO_OPERATION (0x00000100)
#define NV066_NOTIFY (0x00000104)
#define NV066_NOTIFY_WRITE_ONLY (0x00000000)
#define NV066_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV066_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV066_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV066_SET_CONTEXT_PATTERN (0x00000188)
#define NV066_SET_CONTEXT_ROP (0x0000018C)
#define NV066_SET_CONTEXT_BETA1 (0x00000190)
#define NV066_SET_CONTEXT_BETA4 (0x00000194)
#define NV066_SET_CONTEXT_SURFACE (0x00000198)
#define NV066_SET_COLOR_CONVERSION (0x000002F8)
#define NV066_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV066_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV066_SET_COLOR_CONVERSION_SUBTRACT_TRUNCATE (0x00000002)
#define NV066_SET_OPERATION (0x000002FC)
#define NV066_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV066_SET_OPERATION_ROP_AND (0x00000001)
#define NV066_SET_OPERATION_BLEND_AND (0x00000002)
#define NV066_SET_OPERATION_SRCCOPY (0x00000003)
#define NV066_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV066_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV066_SET_COLOR_FORMAT (0x00000300)
#define NV066_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV066_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV066_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV066_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV066_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV066_SIZE_IN (0x00000304)
#define NV066_SIZE_IN_WIDTH 15:0
#define NV066_SIZE_IN_HEIGHT 31:16
#define NV066_DX_DS (0x00000308)
#define NV066_DY_DT (0x0000030C)
#define NV066_CLIP_POINT (0x00000310)
#define NV066_CLIP_POINT_X 15:0
#define NV066_CLIP_POINT_Y 31:16
#define NV066_CLIP_SIZE (0x00000314)
#define NV066_CLIP_SIZE_WIDTH 15:0
#define NV066_CLIP_SIZE_HEIGHT 31:16
#define NV066_POINT_12D4 (0x00000318)
#define NV066_POINT_12D4_X 15:0
#define NV066_POINT_12D4_Y 31:16
#define NV066_COLOR(a) (0x00000400\
+(a)*0x0004)
/* class NV10_VIDEO_LUT_CURSOR_DAC */
#define NV10_VIDEO_LUT_CURSOR_DAC (0x00000067)
/* NvNotification[] elements */
#define NV067_NOTIFIERS_NOTIFY (0)
#define NV067_NOTIFIERS_SET_IMAGE(b) (1+(b))
#define NV067_NOTIFIERS_SET_LUT(b) (3+(b))
#define NV067_NOTIFIERS_SET_CURSOR_IMAGE(b) (5+(b))
#define NV067_NOTIFIERS_SET_DAC(b) (7+(b))
/* NvNotification[] fields and values */
#define NV067_NOTIFICATION_INFO16_NOT_STARTED (0x0000)
#define NV067_NOTIFICATION_INFO16_VALID_OFFSET (0x0001)
#define NV067_NOTIFICATION_INFO16_DONE (0x0002)
#define NV067_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV067_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV067_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV067_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV067_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV067_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV067_NOTIFY_* 0104-0107*/
NvV32 StopImage[2]; /* NV067_STOP_IMAGE_* 0108-010f*/
NvV32 StopLut[2]; /* NV067_STOP_LUT_* 0110-0117*/
NvV32 StopCursorImage[2]; /* NV067_STOP_CURSOR_IMAGE_* 0118-011f*/
NvV32 StopDac[2]; /* NV067_STOP_DAC_* 0120-0127*/
NvV32 Reserved00[0x016];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaLut[2]; /* NV01_CONTEXT_DMA 018c-0193*/
NvV32 SetContextDmaCursor[2]; /* NV01_CONTEXT_DMA 0194-019b*/
NvV32 Reserved01[0x057];
NvV32 SetPanOffset; /* byte offset for panning 0220-0223*/
NvV32 GetOffset; /* NV067_GET_OFFSET_* 02fc-02ff*/
struct { /* start of methods in array 0300- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* see text 4- 7*/
} SetImage[2]; /* end of methods in array -030f*/
struct { /* start of methods in array 0310- */
NvU32 offset; /* byte offset of first byte 0- 3*/
NvV32 format; /* notify 4- 7*/
} SetLut[2]; /* end of methods in array -031f*/
struct { /* start of methods in array 0320- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* notify_color_height_width 4- 7*/
} SetCursorImage[2]; /* end of methods in array -032f*/
NvV32 SetCursorPoint; /* y_x S16_S16 0330-0333*/
NvV32 Reserved03[0x003];
struct { /* start of methods in array 0340- */
NvV32 imageSize; /* height_width U16_U16 in pixels 0- 3*/
NvV32 horizontalBlank; /* width_start U16_U16 in pixels 4- 7*/
NvV32 horizontalSync; /* width_start U16_U16 in pixels 8- b*/
NvV32 verticalBlank; /* width_start U16_U16 in pixels c- f*/
NvV32 verticalSync; /* width_start U16_U16 in pixels 10- 13*/
NvV32 totalSize; /* height_width U16_U16 14- 17*/
NvV32 pixelClock; /* in Hertz 18- 1b*/
NvV32 format; /* see text 1c- 1f*/
} SetDac[2]; /* end of methods in array -037f*/
NvV32 Reserved04[0x720];
} Nv067Typedef, Nv10VideoLutCursorDac;
#define NV067_TYPEDEF Nv10VideoLutCursorDac
/* dma method offsets, fields, and values */
#define NV067_SET_OBJECT (0x00000000)
#define NV067_NO_OPERATION (0x00000100)
#define NV067_NOTIFY (0x00000104)
#define NV067_NOTIFY_WRITE_ONLY (0x00000000)
#define NV067_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV067_STOP_IMAGE(b) (0x00000108\
+(b)*0x0004)
#define NV067_STOP_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV067_STOP_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV067_STOP_LUT(b) (0x00000110\
+(b)*0x0004)
#define NV067_STOP_LUT_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV067_STOP_LUT_BETWEEN_BUFFERS (0x00000001)
#define NV067_STOP_CURSOR_IMAGE(b) (0x00000118\
+(b)*0x0004)
#define NV067_STOP_CURSOR_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV067_STOP_CURSOR_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV067_STOP_DAC(b) (0x00000120\
+(b)*0x0004)
#define NV067_STOP_DAC_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV067_STOP_DAC_BETWEEN_BUFFERS (0x00000001)
#define NV067_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV067_SET_CONTEXT_DMA_IMAGE(b) (0x00000184\
+(b)*0x0004)
#define NV067_SET_CONTEXT_DMA_LUT(b) (0x0000018C\
+(b)*0x0004)
#define NV067_SET_CONTEXT_DMA_CURSOR(b) (0x00000194\
+(b)*0x0004)
#define NV067_SET_PAN_OFFSET (0x00000220)
#define NV067_GET_OFFSET (0x000002FC)
#define NV067_GET_OFFSET_IMAGE_0 (0x00000000)
#define NV067_GET_OFFSET_IMAGE_1 (0x00000001)
#define NV067_SET_IMAGE(b) (0x00000300\
+(b)*0x0008)
#define NV067_SET_IMAGE_OFFSET(b) (0x00000300\
+(b)*0x0008)
#define NV067_SET_IMAGE_FORMAT(b) (0x00000304\
+(b)*0x0008)
#define NV067_SET_IMAGE_FORMAT_PITCH 15:0
#define NV067_SET_IMAGE_FORMAT_WHEN 30:20
#define NV067_SET_IMAGE_FORMAT_WHEN_NOT_WITHIN_BUFFER (0x00000000)
#define NV067_SET_IMAGE_FORMAT_WHEN_IMMEDIATELY (0x00000001)
#define NV067_SET_IMAGE_FORMAT_NOTIFY 31:31
#define NV067_SET_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV067_SET_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV067_SET_LUT(b) (0x00000310\
+(b)*0x0008)
#define NV067_SET_LUT_OFFSET(b) (0x00000310\
+(b)*0x0008)
#define NV067_SET_LUT_FORMAT(b) (0x00000314\
+(b)*0x0008)
#define NV067_SET_LUT_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV067_SET_LUT_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV067_SET_CURSOR_IMAGE(b) (0x00000320\
+(b)*0x0008)
#define NV067_SET_CURSOR_IMAGE_OFFSET(b) (0x00000320\
+(b)*0x0008)
#define NV067_SET_CURSOR_IMAGE_FORMAT(b) (0x00000324\
+(b)*0x0008)
#define NV067_SET_CURSOR_IMAGE_FORMAT_WIDTH 7:0
#define NV067_SET_CURSOR_IMAGE_FORMAT_HEIGHT 15:8
#define NV067_SET_CURSOR_IMAGE_FORMAT_COLOR 30:16
#define NV067_SET_CURSOR_IMAGE_FORMAT_COLOR_LE_ROP1R5G5B5 (0x00000000)
#define NV067_SET_CURSOR_IMAGE_FORMAT_COLOR_LE_A1R5G5B5 (0x00000001)
#define NV067_SET_CURSOR_IMAGE_FORMAT_COLOR_LE_A8R8G8B8 (0x00000002)
#define NV067_SET_CURSOR_IMAGE_FORMAT_NOTIFY 31:31
#define NV067_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV067_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV067_SET_CURSOR_POINT (0x00000330)
#define NV067_SET_CURSOR_POINT_X 15:0
#define NV067_SET_CURSOR_POINT_Y 31:16
#define NV067_SET_DAC(b) (0x00000340\
+(b)*0x0020)
#define NV067_SET_DAC_IMAGE_SIZE(b) (0x00000340\
+(b)*0x0020)
#define NV067_SET_DAC_IMAGE_SIZE_WIDTH 15:0
#define NV067_SET_DAC_IMAGE_SIZE_HEIGHT 31:16
#define NV067_SET_DAC_HORIZONTAL_BLANK(b) (0x00000344\
+(b)*0x0020)
#define NV067_SET_DAC_HORIZONTAL_BLANK_START 15:0
#define NV067_SET_DAC_HORIZONTAL_BLANK_WIDTH 31:16
#define NV067_SET_DAC_HORIZONTAL_SYNC(b) (0x00000348\
+(b)*0x0020)
#define NV067_SET_DAC_HORIZONTAL_SYNC_START 15:0
#define NV067_SET_DAC_HORIZONTAL_SYNC_WIDTH 31:16
#define NV067_SET_DAC_VERTICAL_BLANK(b) (0x0000034c\
+(b)*0x0020)
#define NV067_SET_DAC_VERTICAL_BLANK_START 15:0
#define NV067_SET_DAC_VERTICAL_BLANK_WIDTH 31:16
#define NV067_SET_DAC_VERTICAL_SYNC(b) (0x00000350\
+(b)*0x0020)
#define NV067_SET_DAC_VERTICAL_SYNC_START 15:0
#define NV067_SET_DAC_VERTICAL_SYNC_WIDTH 31:16
#define NV067_SET_DAC_TOTAL_SIZE(b) (0x00000354\
+(b)*0x0020)
#define NV067_SET_DAC_TOTAL_SIZE_WIDTH 15:0
#define NV067_SET_DAC_TOTAL_SIZE_HEIGHT 31:16
#define NV067_SET_DAC_PIXEL_CLOCK(b) (0x00000358\
+(b)*0x0020)
#define NV067_SET_DAC_FORMAT(b) (0x0000035c\
+(b)*0x0020)
#define NV067_SET_DAC_FORMAT_DOUBLE_SCAN 0:0
#define NV067_SET_DAC_FORMAT_DOUBLE_SCAN_DISABLED (0x00000000)
#define NV067_SET_DAC_FORMAT_DOUBLE_SCAN_ENABLED (0x00000001)
#define NV067_SET_DAC_FORMAT_INTERLACE 1:1
#define NV067_SET_DAC_FORMAT_INTERLACE_DISABLED (0x00000000)
#define NV067_SET_DAC_FORMAT_INTERLACE_ENABLED (0x00000001)
#define NV067_SET_DAC_FORMAT_HORIZONTAL_SYNC 2:2
#define NV067_SET_DAC_FORMAT_HORIZONTAL_SYNC_POSITIVE (0x00000000)
#define NV067_SET_DAC_FORMAT_HORIZONTAL_SYNC_NEGATIVE (0x00000001)
#define NV067_SET_DAC_FORMAT_VERTICAL_SYNC 3:3
#define NV067_SET_DAC_FORMAT_VERTICAL_SYNC_POSITIVE (0x00000000)
#define NV067_SET_DAC_FORMAT_VERTICAL_SYNC_NEGATIVE (0x00000001)
#define NV067_SET_DAC_FORMAT_COLOR 19:16
#define NV067_SET_DAC_FORMAT_COLOR_LUT_LE_Y8 (0x00000000)
#define NV067_SET_DAC_FORMAT_COLOR_BYPASS_LE_R5G6B5 (0x00000001)
#define NV067_SET_DAC_FORMAT_COLOR_LE_BYPASS1R5G5B5 (0x00000002)
#define NV067_SET_DAC_FORMAT_COLOR_LE_BYPASS1X7R8G8B8 (0x00000003)
#define NV067_SET_DAC_FORMAT_DISPLAY_TYPE 21:20
#define NV067_SET_DAC_FORMAT_DISPLAY_TYPE_CRT (0x00000000)
#define NV067_SET_DAC_FORMAT_DISPLAY_TYPE_TV (0x00000001)
#define NV067_SET_DAC_FORMAT_DISPLAY_TYPE_DFP (0x00000003)
#define NV067_SET_DAC_FORMAT_TV_STANDARD 25:22
#define NV067_SET_DAC_FORMAT_TV_STANDARD_NTSC_M (0x00000000)
#define NV067_SET_DAC_FORMAT_TV_STANDARD_NTSC_J (0x00000001)
#define NV067_SET_DAC_FORMAT_TV_STANDARD_PAL_M (0x00000002)
#define NV067_SET_DAC_FORMAT_TV_STANDARD_PAL_A (0x00000003)
#define NV067_SET_DAC_FORMAT_TV_STANDARD_PAL_N (0x00000004)
#define NV067_SET_DAC_FORMAT_TV_STANDARD_PAL_NC (0x00000005)
#define NV067_SET_DAC_FORMAT_NOTIFY 31:31
#define NV067_SET_DAC_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV067_SET_DAC_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
// Added by Chuck Moidel
/* class NV04_HEAP_OWNER */
#define NV04_HEAP_OWNER (0x0000006F)
/* NvNotification[] fields and values */
#define NV06F_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv06fTypedef, Nv04HeapOwner;
#define NV06F_TYPEDEF Nv04HeapOwner
#define Nv06FTypedef Nv04HeapOwner
typedef NvV32 Nv070Typedef;
typedef NvV32 Nv071Typedef;
/* class NV04_CONTEXT_BETA */
#define NV04_CONTEXT_BETA (0x00000072)
/* NvNotification[] elements */
#define NV072_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV072_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV072_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV072_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV072_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV072_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV072_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV072_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved01[0x05f];
NvV32 SetBetaFactor; /* A8R8G8B8 beta values 0300-0303*/
NvV32 Reserved02[0x73f];
} Nv072Typedef, Nv04ContextBeta;
#define NV072_TYPEDEF Nv04ContextBeta
/* dma method offsets, fields, and values */
#define NV072_SET_OBJECT (0x00000000)
#define NV072_NO_OPERATION (0x00000100)
#define NV072_NOTIFY (0x00000104)
#define NV072_NOTIFY_WRITE_ONLY (0x00000000)
#define NV072_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV072_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV072_SET_BETA_FACTOR (0x00000300)
#define NV072_SET_BETA_FACTOR_BLUE 7:0
#define NV072_SET_BETA_FACTOR_GREEN 15:8
#define NV072_SET_BETA_FACTOR_RED 23:16
#define NV072_SET_BETA_FACTOR_ALPHA 31:24
/* obsolete stuff */
#define NV4_CONTEXT_BETA (0x00000072)
#define Nv4ContextBeta Nv04ContextBeta
#define nv4ContextBeta Nv04ContextBeta
#define nv04ContextBeta Nv04ContextBeta
typedef NvV32 Nv073Typedef;
typedef NvV32 Nv074Typedef;
typedef NvV32 Nv075Typedef;
/* class NV04_STRETCHED_IMAGE_FROM_CPU */
#define NV04_STRETCHED_IMAGE_FROM_CPU (0x00000076)
/* NvNotification[] elements */
#define NV076_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV076_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV076_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV076_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV076_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV076_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV076_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV076_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetOperation; /* NV076_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV076_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SizeIn; /* height_width U16_U16 in texels 0304-0307*/
NvV32 DeltaDxDu; /* S12d20 ratio dx/du 0308-030b*/
NvV32 DeltaDyDv; /* S12d20 ratio dy/dv 030c-030f*/
NvV32 ClipPoint; /* y_x S16_S16 0310-0313*/
NvV32 ClipSize; /* height_width U16_U16 0314-0317*/
NvV32 Point12d4; /* y_x S12d4_S12d4 in pixels 0318-031b*/
NvV32 Reserved02[0x039];
NvV32 Color[1792]; /* source colors (packed texels) 0400-1fff*/
} Nv076Typedef, Nv04StretchedImageFromCpu;
#define NV076_TYPEDEF Nv04StretchedImageFromCpu
/* dma method offsets, fields, and values */
#define NV076_SET_OBJECT (0x00000000)
#define NV076_NO_OPERATION (0x00000100)
#define NV076_NOTIFY (0x00000104)
#define NV076_NOTIFY_WRITE_ONLY (0x00000000)
#define NV076_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV076_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV076_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV076_SET_CONTEXT_PATTERN (0x00000188)
#define NV076_SET_CONTEXT_ROP (0x0000018C)
#define NV076_SET_CONTEXT_BETA1 (0x00000190)
#define NV076_SET_CONTEXT_BETA4 (0x00000194)
#define NV076_SET_CONTEXT_SURFACE (0x00000198)
#define NV076_SET_OPERATION (0x000002FC)
#define NV076_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV076_SET_OPERATION_ROP_AND (0x00000001)
#define NV076_SET_OPERATION_BLEND_AND (0x00000002)
#define NV076_SET_OPERATION_SRCCOPY (0x00000003)
#define NV076_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV076_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV076_SET_COLOR_FORMAT (0x00000300)
#define NV076_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV076_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV076_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV076_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV076_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV076_SIZE_IN (0x00000304)
#define NV076_SIZE_IN_WIDTH 15:0
#define NV076_SIZE_IN_HEIGHT 31:16
#define NV076_DELTA_DX_DU (0x00000308)
#define NV076_DELTA_DY_DV (0x0000030C)
#define NV076_CLIP_POINT (0x00000310)
#define NV076_CLIP_POINT_X 15:0
#define NV076_CLIP_POINT_Y 31:16
#define NV076_CLIP_SIZE (0x00000314)
#define NV076_CLIP_SIZE_WIDTH 15:0
#define NV076_CLIP_SIZE_HEIGHT 31:16
#define NV076_POINT_12D4 (0x00000318)
#define NV076_POINT_12D4_X 15:0
#define NV076_POINT_12D4_Y 31:16
#define NV076_COLOR(a) (0x00000400\
+(a)*0x0004)
/* obsolete stuff */
#define NV4_STRETCHED_IMAGE_FROM_CPU (0x00000076)
#define Nv4StretchedImageFromCpu Nv04StretchedImageFromCpu
#define nv4StretchedImageFromCpu Nv04StretchedImageFromCpu
#define nv04StretchedImageFromCpu Nv04StretchedImageFromCpu
/* class NV04_SCALED_IMAGE_FROM_MEMORY */
#define NV04_SCALED_IMAGE_FROM_MEMORY (0x00000077)
/* NvNotification[] elements */
#define NV077_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV077_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV077_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV077_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV077_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV077_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV077_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV077_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D,SWIZZLE 0198-019b*/
NvV32 Reserved01[0x059];
NvV32 SetColorFormat; /* NV077_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetOperation; /* NV077_SET_OPERATION_* 0304-0307*/
NvV32 ClipPoint; /* y_x S16_S16 0308-030b*/
NvV32 ClipSize; /* height_width U16_U16 030c-030f*/
NvV32 ImageOutPoint; /* y_x S16_S16 0310-0313*/
NvV32 ImageOutSize; /* height_width U16_U16 0314-0317*/
NvV32 DeltaDuDx; /* S12d20 ratio du/dx 0318-031b*/
NvV32 DeltaDvDy; /* S12d20 ratio dv/dy 031c-031f*/
NvV32 Reserved02[0x038];
NvV32 ImageInSize; /* height_width U16_U16 0400-0403*/
NvU32 ImageInFormat; /* interpolator_origin_pitch 0404-0407*/
NvU32 ImageInOffset; /* bytes 0408-040b*/
NvV32 ImageInPoint; /* v_u U12d4_U12d4 040c-040f*/
NvV32 Reserved03[0x6fc];
} Nv077Typedef, Nv04ScaledImageFromMemory;
#define NV077_TYPEDEF Nv04ScaledImageFromMemory
/* dma method offsets, fields, and values */
#define NV077_SET_OBJECT (0x00000000)
#define NV077_NO_OPERATION (0x00000100)
#define NV077_NOTIFY (0x00000104)
#define NV077_NOTIFY_WRITE_ONLY (0x00000000)
#define NV077_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV077_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV077_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV077_SET_CONTEXT_PATTERN (0x00000188)
#define NV077_SET_CONTEXT_ROP (0x0000018C)
#define NV077_SET_CONTEXT_BETA1 (0x00000190)
#define NV077_SET_CONTEXT_BETA4 (0x00000194)
#define NV077_SET_CONTEXT_SURFACE (0x00000198)
#define NV077_SET_COLOR_FORMAT (0x00000300)
#define NV077_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000001)
#define NV077_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000002)
#define NV077_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV077_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000004)
#define NV077_SET_COLOR_FORMAT_LE_V8YB8U8YA8 (0x00000005)
#define NV077_SET_COLOR_FORMAT_LE_YB8V8YA8U8 (0x00000006)
#define NV077_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000007)
#define NV077_SET_OPERATION (0x00000304)
#define NV077_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV077_SET_OPERATION_ROP_AND (0x00000001)
#define NV077_SET_OPERATION_BLEND_AND (0x00000002)
#define NV077_SET_OPERATION_SRCCOPY (0x00000003)
#define NV077_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV077_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV077_CLIP_POINT (0x00000308)
#define NV077_CLIP_POINT_X 15:0
#define NV077_CLIP_POINT_Y 31:16
#define NV077_CLIP_SIZE (0x0000030C)
#define NV077_CLIP_SIZE_WIDTH 15:0
#define NV077_CLIP_SIZE_HEIGHT 31:16
#define NV077_IMAGE_OUT_POINT (0x00000310)
#define NV077_IMAGE_OUT_POINT_X 15:0
#define NV077_IMAGE_OUT_POINT_Y 31:16
#define NV077_IMAGE_OUT_SIZE (0x00000314)
#define NV077_IMAGE_OUT_SIZE_WIDTH 15:0
#define NV077_IMAGE_OUT_SIZE_HEIGHT 31:16
#define NV077_DELTA_DU_DX (0x00000318)
#define NV077_DELTA_DV_DY (0x0000031C)
#define NV077_IMAGE_IN_SIZE (0x00000400)
#define NV077_IMAGE_IN_SIZE_WIDTH 15:0
#define NV077_IMAGE_IN_SIZE_HEIGHT 31:16
#define NV077_IMAGE_IN_FORMAT (0x00000404)
#define NV077_IMAGE_IN_FORMAT_PITCH 15:0
#define NV077_IMAGE_IN_FORMAT_ORIGIN 23:16
#define NV077_IMAGE_IN_FORMAT_ORIGIN_CENTER (0x00000001)
#define NV077_IMAGE_IN_FORMAT_ORIGIN_CORNER (0x00000002)
#define NV077_IMAGE_IN_FORMAT_INTERPOLATOR 31:24
#define NV077_IMAGE_IN_FORMAT_INTERPOLATOR_ZOH (0x00000000)
#define NV077_IMAGE_IN_FORMAT_INTERPOLATOR_FOH (0x00000001)
#define NV077_IMAGE_IN_OFFSET (0x00000408)
#define NV077_IMAGE_IN (0x0000040C)
#define NV077_IMAGE_IN_POINT_U 15:0
#define NV077_IMAGE_IN_POINT_V 31:16
/* obsolete stuff */
#define NV4_SCALED_IMAGE_FROM_MEMORY (0x00000077)
#define Nv4ScaledImageFromMemory Nv04ScaledImageFromMemory
#define nv4ScaledImageFromMemory Nv04ScaledImageFromMemory
#define nv04ScaledImageFromMemory Nv04ScaledImageFromMemory
typedef NvV32 Nv078Typedef;
typedef NvV32 Nv079Typedef;
/* class NV10_VIDEO_OVERLAY */
#define NV10_VIDEO_OVERLAY (0x0000007A)
/* NvNotification[] elements */
#define NV07A_NOTIFIERS_NOTIFY (0)
#define NV07A_NOTIFIERS_SET_OVERLAY(b) (1+(b))
/* NvNotification[] fields and values */
#define NV07A_NOTIFICATION_INFO16_NOT_STARTED (0x0000)
#define NV07A_NOTIFICATION_INFO16_VALID_OFFSET (0x0001)
#define NV07A_NOTIFICATION_INFO16_DONE (0x0002)
#define NV07A_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV07A_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV07A_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV07A_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV07A_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV07A_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV07A_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x006];
NvV32 StopOverlay[2]; /* NV07A_STOP_OVERLAY_* 0120-0127*/
NvV32 Reserved01[0x016];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 Reserved02[0x006];
NvV32 SetContextDmaOverlay[2]; /* NV01_CONTEXT_DMA 019c-01a3*/
NvV32 Reserved03[0x097];
struct { /* start of methods in array 0400- */
NvV32 reserved05[0x015]; /* see text 00- 53*/
NvV32 luminance; /* brightness_contrast S16_U8d8 54- 57*/
NvV32 chrominance; /* saturationSine_saturationCosine 58- 5b*/
NvV32 colorKey; /* see text 5c- 5f*/
NvU32 offset; /* byte offset of top-left texel 60- 63*/
NvV32 sizeIn; /* height_width U16_U16 64- 67*/
NvV32 pointIn; /* t_s U12d4_U12d4 68- 6b*/
NvV32 duDx; /* U12d20 du/dx 6c- 6f*/
NvV32 dvDy; /* U12d20 dv/dy 70- 73*/
NvV32 pointOut; /* y_x U16_U16 74- 77*/
NvV32 sizeOut; /* height_width U16_U16 78- 7b*/
NvV32 format; /* see text 7c- 7f*/
} SetOverlay[2]; /* end of methods in array -04ff*/
NvV32 SetOverlayPointOutA; /* y_x U16_U16 0500-0503*/
NvV32 SetOverlayLuminanceA; /* brightness_contrast S16_U8d8 0504-0507*/
NvV32 SetOverlayChrominanceA; /* saturationSine_saturationCosine 0508-050b*/
NvV32 Reserved04[0x6bd];
} Nv07aTypedef, Nv10VideoOverlay;
#define NV07A_TYPEDEF Nv10VideoOverlay
/* dma method offsets, fields, and values */
#define NV07A_SET_OBJECT (0x00000000)
#define NV07A_NO_OPERATION (0x00000100)
#define NV07A_NOTIFY (0x00000104)
#define NV07A_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07A_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV07A_STOP_OVERLAY(b) (0x00000120\
+(b)*0x0004)
#define NV07A_STOP_OVERLAY_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV07A_STOP_OVERLAY_BETWEEN_BUFFERS (0x00000001)
#define NV07A_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV07A_SET_CONTEXT_DMA_OVERLAY(b) (0x0000019C\
+(b)*0x0004)
#define NV07A_SET_OVERLAY(b) (0x00000400\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_LUMINANCE(b) (0x00000454\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_LUMINANCE_CONTRAST 15:0
#define NV07A_SET_OVERLAY_LUMINANCE_BRIGHTNESS 31:16
#define NV07A_SET_OVERLAY_CHROMINANCE(b) (0x00000458\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_CHROMINANCE_SATURATION_COSINE 15:0
#define NV07A_SET_OVERLAY_CHROMINANCE_SATURATION_SINE 31:16
#define NV07A_SET_OVERLAY_COLORKEY(b) (0x0000045C\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_OFFSET(b) (0x00000460\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_SIZE_IN(b) (0x00000464\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_SIZE_IN_WIDTH 15:0
#define NV07A_SET_OVERLAY_SIZE_IN_HEIGHT 31:16
#define NV07A_SET_OVERLAY_POINT_IN(b) (0x00000468\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_POINT_IN_S 15:0
#define NV07A_SET_OVERLAY_POINT_IN_T 31:16
#define NV07A_SET_OVERLAY_DU_DX(b) (0x0000046C\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_DV_DY(b) (0x00000470\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_POINT_OUT(b) (0x00000474\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_POINT_OUT_X 15:0
#define NV07A_SET_OVERLAY_POINT_OUT_Y 31:16
#define NV07A_SET_OVERLAY_SIZE_OUT(b) (0x00000478\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_SIZE_OUT_WIDTH 15:0
#define NV07A_SET_OVERLAY_SIZE_OUT_HEIGHT 31:16
#define NV07A_SET_OVERLAY_FORMAT(b) (0x0000047C\
+(b)*0x0080)
#define NV07A_SET_OVERLAY_FORMAT_PITCH 15:0
#define NV07A_SET_OVERLAY_FORMAT_COLOR 19:16
#define NV07A_SET_OVERLAY_FORMAT_COLOR_LE_YB8CR8YA8CB8 (0x00000000)
#define NV07A_SET_OVERLAY_FORMAT_COLOR_LE_CR8YB8CB8YA8 (0x00000001)
#define NV07A_SET_OVERLAY_FORMAT_COLOR_KEY_MISMATCH 23:20
#define NV07A_SET_OVERLAY_FORMAT_COLOR_KEY_MISMATCH_SHOW_OVERLAY (0x00000000)
#define NV07A_SET_OVERLAY_FORMAT_COLOR_KEY_MISMATCH_SHOW_IMAGE (0x00000001)
#define NV07A_SET_OVERLAY_FORMAT_MATRIX 30:24
#define NV07A_SET_OVERLAY_FORMAT_MATRIX_ITURBT601 (0x00000000)
#define NV07A_SET_OVERLAY_FORMAT_MATRIX_ITURBT709 (0x00000001)
#define NV07A_SET_OVERLAY_FORMAT_NOTIFY 31:31
#define NV07A_SET_OVERLAY_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07A_SET_OVERLAY_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV07A_SET_OVERLAY_POINT_OUT_A (0x00000500)
#define NV07A_SET_OVERLAY_POINT_OUT_A_X 15:0
#define NV07A_SET_OVERLAY_POINT_OUT_A_Y 31:16
#define NV07A_SET_OVERLAY_LUMINANCE_A (0x00000504)
#define NV07A_SET_OVERLAY_LUMINANCE_A_CONTRAST 15:0
#define NV07A_SET_OVERLAY_LUMINANCE_A_BRIGHTNESS 31:16
#define NV07A_SET_OVERLAY_CHROMINANCE_A (0x00000508)
#define NV07A_SET_OVERLAY_CHROMINANCE_A_SATURATION_COSINE 15:0
#define NV07A_SET_OVERLAY_CHROMINANCE_A_SATURATION_SIZE 31:16
/* class NV10_TEXTURE_FROM_CPU */
#define NV10_TEXTURE_FROM_CPU (0x0000007B)
/* NvNotification[] elements */
#define NV07B_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV07B_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV07B_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV07B_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV07B_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV07B_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV07B_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV089_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 0184-0187*/
NvV32 Reserved01[0x05e];
NvV32 SetColorFormat; /* NV07B_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Point; /* y_x S16_S16 in pixels 0304-0307*/
NvV32 Size; /* height_width U16_U16, pixels 0308-030b*/
NvV32 ClipHorizontal; /* width_x U16_U16 030c-030f*/
NvV32 ClipVertical; /* height_y U16_U16 0310-0313*/
NvV32 Reserved02[0x03b];
struct { /* start aliased methods in array 0400- */
NvV32 a; /* source colors (packed texels) 0- 3*/
NvV32 b; /* source colors (packed texels) 4- 7*/
} Color[896]; /* end of aliased methods in array -1fff*/
} Nv07bTypedef, Nv10TextureFromCpu;
#define NV07B_TYPEDEF Nv10TextureFromCpu
/* dma method offsets, fields, and values */
#define NV07B_SET_OBJECT (0x00000000)
#define NV07B_NO_OPERATION (0x00000100)
#define NV07B_NOTIFY (0x00000104)
#define NV07B_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07B_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV07B_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV07B_SET_CONTEXT_SURFACE (0x00000184)
#define NV07B_SET_COLOR_FORMAT (0x00000300)
#define NV07B_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV07B_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV07B_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV07B_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV07B_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV07B_POINT (0x00000304)
#define NV07B_POINT_X 15:0
#define NV07B_POINT_Y 31:16
#define NV07B_SIZE (0x00000308)
#define NV07B_SIZE_WIDTH 15:0
#define NV07B_SIZE_HEIGHT 31:16
#define NV07B_CLIP_HORIZONTAL (0x0000030C)
#define NV07B_CLIP_HORIZONTAL_X 15:0
#define NV07B_CLIP_HORIZONTAL_WIDTH 31:16
#define NV07B_CLIP_VERTICAL (0x00000310)
#define NV07B_CLIP_VERTICAL_Y 15:0
#define NV07B_CLIP_VERTICAL_HEIGHT 31:16
#define NV07B_COLOR(a) (0x00000400\
+(a)*0x0008)
#define NV07B_COLOR_A(a) (0x00000400\
+(a)*0x0008)
#define NV07B_COLOR_B(a) (0x00000404\
+(a)*0x0008)
#define NV07B_COLOR__SIZE_1 896
/* class NV15_VIDEO_LUT_CURSOR_DAC */
#define NV15_VIDEO_LUT_CURSOR_DAC (0x0000007C)
/* NvNotification[] elements */
#define NV07C_NOTIFIERS_NOTIFY (0)
#define NV07C_NOTIFIERS_GET_OFFSET (0)
#define NV07C_NOTIFIERS_SET_IMAGE(b) (1+(b))
#define NV07C_NOTIFIERS_SET_LUT(b) (3+(b))
#define NV07C_NOTIFIERS_SET_CURSOR_IMAGE(b) (5+(b))
#define NV07C_NOTIFIERS_SET_DAC(b) (7+(b))
/* NvNotification[] fields and values */
#define NV07C_NOTIFICATION_INFO16_NOT_STARTED (0x0000)
#define NV07C_NOTIFICATION_INFO16_VALID_OFFSET (0x0001)
#define NV07C_NOTIFICATION_INFO16_DONE (0x0002)
#define NV07C_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV07C_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV07C_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV07C_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV07C_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV07C_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV07C_NOTIFY_* 0104-0107*/
NvV32 StopImage[2]; /* NV07C_STOP_IMAGE_* 0108-010f*/
NvV32 StopLut[2]; /* NV07C_STOP_LUT_* 0110-0117*/
NvV32 StopCursorImage[2]; /* NV07C_STOP_CURSOR_IMAGE_* 0118-011f*/
NvV32 StopDac[2]; /* NV07C_STOP_DAC_* 0120-0127*/
NvV32 Reserved00[0x016];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage[2]; /* NV01_CONTEXT_DMA 0184-018b*/
NvV32 SetContextDmaLut[2]; /* NV01_CONTEXT_DMA 018c-0193*/
NvV32 SetContextDmaCursor[2]; /* NV01_CONTEXT_DMA 0194-019b*/
NvV32 SetContextDmaSemaphore; /* NV01_CONTEXT_DMA 019c-019f*/
NvV32 SetPanOffset; /* byte offset for panning 0220-0223*/
NvV32 Reserved01[0x053];
NvU32 SetSemaphoreOffset; /* set semaphore offset 02f0-02f3*/
NvU32 SetSemaphoreRelease; /* set semaphore release value 02f4-02f7*/
NvV32 SetOffsetRange; /* NV07C_SET_OFFSET_RANGE_* 02f8-02fb*/
NvV32 GetOffset; /* NV07C_GET_OFFSET_* 02fc-02ff*/
struct { /* start of methods in array 0300- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* see text 4- 7*/
} SetImage[2]; /* end of methods in array -030f*/
struct { /* start of methods in array 0310- */
NvU32 offset; /* byte offset of first byte 0- 3*/
NvV32 format; /* notify 4- 7*/
} SetLut[2]; /* end of methods in array -031f*/
struct { /* start of methods in array 0320- */
NvU32 offset; /* byte offset of top-left pixel 0- 3*/
NvV32 format; /* notify_color_height_width 4- 7*/
} SetCursorImage[2]; /* end of methods in array -032f*/
NvV32 SetCursorPoint; /* y_x S16_S16 0330-0333*/
NvV32 Reserved03[0x003];
struct { /* start of methods in array 0340- */
NvV32 imageSize; /* height_width U16_U16 in pixels 0- 3*/
NvV32 horizontalBlank; /* width_start U16_U16 in pixels 4- 7*/
NvV32 horizontalSync; /* width_start U16_U16 in pixels 8- b*/
NvV32 verticalBlank; /* width_start U16_U16 in pixels c- f*/
NvV32 verticalSync; /* width_start U16_U16 in pixels 10- 13*/
NvV32 totalSize; /* height_width U16_U16 14- 17*/
NvV32 pixelClock; /* in Hertz 18- 1b*/
NvV32 format; /* see text 1c- 1f*/
} SetDac[2]; /* end of methods in array -037f*/
NvV32 Reserved04[0x720];
} Nv07cTypedef, Nv12VideoLutCursorDac;
#define NV07C_TYPEDEF Nv12VideoLutCursorDac
/* dma method offsets, fields, and values */
#define NV07C_SET_OBJECT (0x00000000)
#define NV07C_NO_OPERATION (0x00000100)
#define NV07C_NOTIFY (0x00000104)
#define NV07C_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07C_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV07C_STOP_IMAGE(b) (0x00000108\
+(b)*0x0004)
#define NV07C_STOP_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV07C_STOP_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV07C_STOP_LUT(b) (0x00000110\
+(b)*0x0004)
#define NV07C_STOP_LUT_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV07C_STOP_LUT_BETWEEN_BUFFERS (0x00000001)
#define NV07C_STOP_CURSOR_IMAGE(b) (0x00000118\
+(b)*0x0004)
#define NV07C_STOP_CURSOR_IMAGE_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV07C_STOP_CURSOR_IMAGE_BETWEEN_BUFFERS (0x00000001)
#define NV07C_STOP_DAC(b) (0x00000120\
+(b)*0x0004)
#define NV07C_STOP_DAC_AS_SOON_AS_POSSIBLE (0x00000000)
#define NV07C_STOP_DAC_BETWEEN_BUFFERS (0x00000001)
#define NV07C_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV07C_SET_CONTEXT_DMA_IMAGE(b) (0x00000184\
+(b)*0x0004)
#define NV07C_SET_CONTEXT_DMA_LUT(b) (0x0000018C\
+(b)*0x0004)
#define NV07C_SET_CONTEXT_DMA_CURSOR(b) (0x00000194\
+(b)*0x0004)
#define NV07C_SET_CONTEXT_DMA_SEMAPHORE (0x0000019c)
#define NV07C_SET_PAN_OFFSET (0x00000220)
#define NV07C_SET_SEMAPHORE_OFFSET (0x000002f0)
#define NV07C_SET_SEMAPHORE_OFFSET_V 31:0
#define NV07C_SET_SEMAPHORE_RELEASE (0x000002f4)
#define NV07C_SET_SEMAPHORE_RELEASE_V 31:0
#define NV07C_SET_OFFSET_RANGE (0x000002F8)
#define NV07C_SET_OFFSET_RANGE_START 14:0
#define NV07C_SET_OFFSET_RANGE_STOP 30:16
#define NV07C_SET_OFFSET_RANGE_POLARITY 31:31
#define NV07C_SET_OFFSET_RANGE_POLARITY_IN_RANGE (0x00000000)
#define NV07C_SET_OFFSET_RANGE_POLARITY_OUT_RANGE (0x00000001)
#define NV07C_GET_OFFSET (0x000002FC)
#define NV07C_GET_OFFSET_IMAGE_0 (0x00000000)
#define NV07C_GET_OFFSET_IMAGE_1 (0x00000001)
#define NV07C_SET_IMAGE(b) (0x00000300\
+(b)*0x0008)
#define NV07C_SET_IMAGE_OFFSET(b) (0x00000300\
+(b)*0x0008)
#define NV07C_SET_IMAGE_FORMAT(b) (0x00000304\
+(b)*0x0008)
#define NV07C_SET_IMAGE_FORMAT_PITCH 15:0
#define NV07C_SET_IMAGE_FORMAT_WHEN 23:20
#define NV07C_SET_IMAGE_FORMAT_WHEN_NOT_WITHIN_BUFFER (0x00000000)
#define NV07C_SET_IMAGE_FORMAT_WHEN_IMMEDIATELY (0x00000001)
#define NV07C_SET_IMAGE_FORMAT_MULTIHEAD_SYNC 24:24
#define NV07C_SET_IMAGE_FORMAT_MULTIHEAD_SYNC_DISABLED (0x00000000)
#define NV07C_SET_IMAGE_FORMAT_MULTIHEAD_SYNC_ENABLED (0x00000001)
#define NV07C_SET_IMAGE_FORMAT_FLAGS 27:25
#define NV07C_SET_IMAGE_FORMAT_FLAGS_COMPLETE_ON_OBJECT_CLEANUP (0x00000001)
#define NV07C_SET_IMAGE_FORMAT_NOTIFY 31:31
#define NV07C_SET_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07C_SET_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV07C_SET_LUT(b) (0x00000310\
+(b)*0x0008)
#define NV07C_SET_LUT_OFFSET(b) (0x00000310\
+(b)*0x0008)
#define NV07C_SET_LUT_FORMAT(b) (0x00000314\
+(b)*0x0008)
#define NV07C_SET_LUT_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07C_SET_LUT_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV07C_SET_CURSOR_IMAGE(b) (0x00000320\
+(b)*0x0008)
#define NV07C_SET_CURSOR_IMAGE_OFFSET(b) (0x00000320\
+(b)*0x0008)
#define NV07C_SET_CURSOR_IMAGE_FORMAT(b) (0x00000324\
+(b)*0x0008)
#define NV07C_SET_CURSOR_IMAGE_FORMAT_WIDTH 7:0
#define NV07C_SET_CURSOR_IMAGE_FORMAT_HEIGHT 15:8
#define NV07C_SET_CURSOR_IMAGE_FORMAT_COLOR 30:16
#define NV07C_SET_CURSOR_IMAGE_FORMAT_COLOR_LE_ROP1R5G5B5 (0x00000000)
#define NV07C_SET_CURSOR_IMAGE_FORMAT_COLOR_LE_A1R5G5B5 (0x00000001)
#define NV07C_SET_CURSOR_IMAGE_FORMAT_COLOR_LE_A8R8G8B8 (0x00000002)
#define NV07C_SET_CURSOR_IMAGE_FORMAT_COLOR_PM_LE_A8R8G8B8 (0x00000003)
#define NV07C_SET_CURSOR_IMAGE_FORMAT_NOTIFY 31:31
#define NV07C_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07C_SET_CURSOR_IMAGE_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV07C_SET_CURSOR_POINT (0x00000330)
#define NV07C_SET_CURSOR_POINT_X 15:0
#define NV07C_SET_CURSOR_POINT_Y 31:16
#define NV07C_SET_DAC(b) (0x00000340\
+(b)*0x0020)
#define NV07C_SET_DAC_IMAGE_SIZE(b) (0x00000340\
+(b)*0x0020)
#define NV07C_SET_DAC_IMAGE_SIZE_WIDTH 15:0
#define NV07C_SET_DAC_IMAGE_SIZE_HEIGHT 31:16
#define NV07C_SET_DAC_HORIZONTAL_BLANK(b) (0x00000344\
+(b)*0x0020)
#define NV07C_SET_DAC_HORIZONTAL_BLANK_START 15:0
#define NV07C_SET_DAC_HORIZONTAL_BLANK_WIDTH 31:16
#define NV07C_SET_DAC_HORIZONTAL_SYNC(b) (0x00000348\
+(b)*0x0020)
#define NV07C_SET_DAC_HORIZONTAL_SYNC_START 15:0
#define NV07C_SET_DAC_HORIZONTAL_SYNC_WIDTH 31:16
#define NV07C_SET_DAC_VERTICAL_BLANK(b) (0x0000034c\
+(b)*0x0020)
#define NV07C_SET_DAC_VERTICAL_BLANK_START 15:0
#define NV07C_SET_DAC_VERTICAL_BLANK_WIDTH 31:16
#define NV07C_SET_DAC_VERTICAL_SYNC(b) (0x00000350\
+(b)*0x0020)
#define NV07C_SET_DAC_VERTICAL_SYNC_START 15:0
#define NV07C_SET_DAC_VERTICAL_SYNC_WIDTH 31:16
#define NV07C_SET_DAC_TOTAL_SIZE(b) (0x00000354\
+(b)*0x0020)
#define NV07C_SET_DAC_TOTAL_SIZE_WIDTH 15:0
#define NV07C_SET_DAC_TOTAL_SIZE_HEIGHT 31:16
#define NV07C_SET_DAC_PIXEL_CLOCK(b) (0x00000358\
+(b)*0x0020)
#define NV07C_SET_DAC_FORMAT(b) (0x0000035c\
+(b)*0x0020)
#define NV07C_SET_DAC_FORMAT_DOUBLE_SCAN 0:0
#define NV07C_SET_DAC_FORMAT_DOUBLE_SCAN_DISABLED (0x00000000)
#define NV07C_SET_DAC_FORMAT_DOUBLE_SCAN_ENABLED (0x00000001)
#define NV07C_SET_DAC_FORMAT_INTERLACE 1:1
#define NV07C_SET_DAC_FORMAT_INTERLACE_DISABLED (0x00000000)
#define NV07C_SET_DAC_FORMAT_INTERLACE_ENABLED (0x00000001)
#define NV07C_SET_DAC_FORMAT_HORIZONTAL_SYNC 2:2
#define NV07C_SET_DAC_FORMAT_HORIZONTAL_SYNC_POSITIVE (0x00000000)
#define NV07C_SET_DAC_FORMAT_HORIZONTAL_SYNC_NEGATIVE (0x00000001)
#define NV07C_SET_DAC_FORMAT_VERTICAL_SYNC 3:3
#define NV07C_SET_DAC_FORMAT_VERTICAL_SYNC_POSITIVE (0x00000000)
#define NV07C_SET_DAC_FORMAT_VERTICAL_SYNC_NEGATIVE (0x00000001)
#define NV07C_SET_DAC_FORMAT_COLOR 19:16
#define NV07C_SET_DAC_FORMAT_COLOR_LUT_LE_Y8 (0x00000000)
#define NV07C_SET_DAC_FORMAT_COLOR_BYPASS_LE_R5G6B5 (0x00000001)
#define NV07C_SET_DAC_FORMAT_COLOR_LE_BYPASS1R5G5B5 (0x00000002)
#define NV07C_SET_DAC_FORMAT_COLOR_LE_BYPASS1X7R8G8B8 (0x00000003)
#define NV07C_SET_DAC_FORMAT_DISPLAY_TYPE 21:20
#define NV07C_SET_DAC_FORMAT_DISPLAY_TYPE_CRT (0x00000000)
#define NV07C_SET_DAC_FORMAT_DISPLAY_TYPE_TV (0x00000001)
#define NV07C_SET_DAC_FORMAT_DISPLAY_TYPE_DFP (0x00000003)
#define NV07C_SET_DAC_FORMAT_TV_STANDARD 25:22
#define NV07C_SET_DAC_FORMAT_TV_STANDARD_NTSC_M (0x00000000)
#define NV07C_SET_DAC_FORMAT_TV_STANDARD_NTSC_J (0x00000001)
#define NV07C_SET_DAC_FORMAT_TV_STANDARD_PAL_M (0x00000002)
#define NV07C_SET_DAC_FORMAT_TV_STANDARD_PAL_A (0x00000003)
#define NV07C_SET_DAC_FORMAT_TV_STANDARD_PAL_N (0x00000004)
#define NV07C_SET_DAC_FORMAT_TV_STANDARD_PAL_NC (0x00000005)
#define NV07C_SET_DAC_FORMAT_HEAD 27:26
#define NV07C_SET_DAC_FORMAT_HEAD_0 (0x00000000)
#define NV07C_SET_DAC_FORMAT_HEAD_1 (0x00000001)
#define NV07C_SET_DAC_FORMAT_NOTIFY 31:31
#define NV07C_SET_DAC_FORMAT_NOTIFY_WRITE_ONLY (0x00000000)
#define NV07C_SET_DAC_FORMAT_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
typedef NvV32 Nv07dTypedef;
typedef NvV32 Nv07eTypedef;
typedef NvV32 Nv07fTypedef;
/* class NV01_DEVICE_0 */
#define NV01_DEVICE_0 (0x00000080)
/* NvNotification[] fields and values */
#define NV080_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv080Typedef, Nv01Device0;
#define NV080_TYPEDEF Nv01Device0
/* class NV01_DEVICE_1 */
#define NV01_DEVICE_1 (0x00000081)
/* NvNotification[] fields and values */
#define NV081_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv081Typedef, Nv01Device1;
#define NV081_TYPEDEF Nv01Device1
/* class NV01_DEVICE_2 */
#define NV01_DEVICE_2 (0x00000082)
/* NvNotification[] fields and values */
#define NV082_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv082Typedef, Nv01Device2;
#define NV082_TYPEDEF Nv01Device2
/* class NV01_DEVICE_3 */
#define NV01_DEVICE_3 (0x00000083)
/* NvNotification[] fields and values */
#define NV083_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv083Typedef, Nv01Device3;
#define NV083_TYPEDEF Nv01Device3
/* class NV01_DEVICE_4 */
#define NV01_DEVICE_4 (0x00000084)
/* NvNotification[] fields and values */
#define NV084_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv084Typedef, Nv01Device4;
#define NV084_TYPEDEF Nv01Device4
/* class NV01_DEVICE_5 */
#define NV01_DEVICE_5 (0x00000085)
/* NvNotification[] fields and values */
#define NV085_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv085Typedef, Nv01Device5;
#define NV085_TYPEDEF Nv01Device5
/* class NV01_DEVICE_6 */
#define NV01_DEVICE_6 (0x00000086)
/* NvNotification[] fields and values */
#define NV086_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv086Typedef, Nv01Device6;
#define NV086_TYPEDEF Nv01Device6
/* class NV01_DEVICE_7 */
#define NV01_DEVICE_7 (0x00000087)
/* NvNotification[] fields and values */
#define NV087_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv087Typedef, Nv01Device7;
#define NV087_TYPEDEF Nv01Device7
/* class NV10_DVD_SUBPICTURE */
#define NV10_DVD_SUBPICTURE (0x00000088)
/* NvNotification[] elements */
#define NV088_NOTIFIERS_SET_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV088_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV088_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV088_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV088_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV088_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV088_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV088_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaOverlay; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaImageIn; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 SetContextDmaImageOut; /* NV01_CONTEXT_DMA 018c-018f*/
NvV32 Reserved01[0x05c];
NvV32 ImageOutPoint; /* y_x S16_S16 0300-0303*/
NvV32 ImageOutSize; /* height_width U16_U16 0304-0307*/
NvU32 ImageOutFormat; /* color_pitch V16_U16 0308-030b*/
NvU32 ImageOutOffset; /* byte offset of top-left pixel 030c-030f*/
NvV32 ImageInDsDx; /* S12d20 ds/dx 0310-0313*/
NvV32 ImageInDtDy; /* S12d20 dt/dy 0314-0317*/
NvV32 ImageInSize; /* height_width U16_U16 in texels 0318-031b*/
NvV32 ImageInFormat; /* color_pitch V16_U16 031c-031f*/
NvU32 ImageInOffset; /* byte offset of top-left texel 0320-0323*/
NvV32 ImageInPoint; /* t_s U12d4_U12d4 in texels 0324-0317*/
NvV32 OverlayDsDx; /* S12d20 ds/dx 0328-032b*/
NvV32 OverlayDtDy; /* S12d20 dt/dy 032c-032f*/
NvV32 OverlaySize; /* height_width U16_U16 in texels 0330-0333*/
NvV32 OverlayFormat; /* color_pitch V16_U16 0334-0337*/
NvU32 OverlayOffset; /* byte offset of top-left texel 0338-033b*/
NvV32 OverlayPoint; /* t_s U12d4_U12d4 in texels 033c-033f*/
NvV32 Reserved02[0x730];
} Nv088Typedef, Nv10DvdSubpicture;
#define NV088_TYPEDEF Nv10DvdSubpicture
/* dma method offsets, fields, and values */
#define NV088_SET_OBJECT (0x00000000)
#define NV088_NO_OPERATION (0x00000100)
#define NV088_NOTIFY (0x00000104)
#define NV088_NOTIFY_WRITE_ONLY (0x00000000)
#define NV088_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV088_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV088_SET_CONTEXT_DMA_OVERLAY (0x00000184)
#define NV088_SET_CONTEXT_DMA_IMAGE_IN (0x00000188)
#define NV088_SET_CONTEXT_DMA_IMAGE_OUT (0x0000018C)
#define NV088_IMAGE_OUT_POINT (0x00000300)
#define NV088_IMAGE_OUT_POINT_X 15:0
#define NV088_IMAGE_OUT_POINT_Y 31:16
#define NV088_IMAGE_OUT_SIZE (0x00000304)
#define NV088_IMAGE_OUT_SIZE_WIDTH 15:0
#define NV088_IMAGE_OUT_SIZE_HEIGHT 31:16
#define NV088_IMAGE_OUT_FORMAT (0x00000308)
#define NV088_IMAGE_OUT_FORMAT_PITCH 15:0
#define NV088_IMAGE_OUT_FORMAT_COLOR 31:16
#define NV088_IMAGE_OUT_FORMAT_COLOR_LE_CR8YB8CB8YA8 (0x00000001)
#define NV088_IMAGE_OUT_FORMAT_COLOR_LE_YB8CR8YA8CB8 (0x00000002)
#define NV088_IMAGE_OUT_OFFSET (0x0000030C)
#define NV088_IMAGE_IN_DS_DX (0x00000310)
#define NV088_IMAGE_IN_DT_DY (0x00000314)
#define NV088_IMAGE_IN_SIZE (0x00000318)
#define NV088_IMAGE_IN_SIZE_WIDTH 15:0
#define NV088_IMAGE_IN_SIZE_HEIGHT 31:16
#define NV088_IMAGE_IN_FORMAT (0x0000031C)
#define NV088_IMAGE_IN_FORMAT_PITCH 15:0
#define NV088_IMAGE_IN_FORMAT_COLOR 31:16
#define NV088_IMAGE_IN_FORMAT_COLOR_LE_CR8YB8CB8YA8 (0x00000001)
#define NV088_IMAGE_IN_FORMAT_COLOR_LE_YB8CR8YA8CB8 (0x00000002)
#define NV088_IMAGE_IN_OFFSET (0x00000320)
#define NV088_IMAGE_IN_POINT (0x00000324)
#define NV088_IMAGE_IN_POINT_S 15:0
#define NV088_IMAGE_IN_POINT_T 31:16
#define NV088_OVERLAY_DS_DX (0x00000328)
#define NV088_OVERLAY_DT_DY (0x0000032C)
#define NV088_OVERLAY_SIZE (0x00000330)
#define NV088_OVERLAY_SIZE_WIDTH 15:0
#define NV088_OVERLAY_SIZE_HEIGHT 31:16
#define NV088_OVERLAY_FORMAT (0x00000334)
#define NV088_OVERLAY_FORMAT_PITCH 15:0
#define NV088_OVERLAY_FORMAT_COLOR 31:16
#define NV088_OVERLAY_FORMAT_COLOR_LE_A8CR8CB8Y8 (0x00000001)
#define NV088_OVERLAY_FORMAT_COLOR_LE_A4CR6YB6A4CB6YA6 (0x00000002)
#define NV088_OVERLAY_FORMAT_COLOR_LE_TRANSPARENT (0x00000003)
#define NV088_OVERLAY_OFFSET (0x00000338)
#define NV088_OVERLAY_POINT (0x0000033C)
#define NV088_OVERLAY_POINT_S 15:0
#define NV088_OVERLAY_POINT_T 31:16
/* class NV10_SCALED_IMAGE_FROM_MEMORY */
#define NV10_SCALED_IMAGE_FROM_MEMORY (0x00000089)
/* NvNotification[] elements */
#define NV089_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV089_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV089_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV089_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV089_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV089_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV089_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV089_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D,SWIZZLE 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetColorConversion; /* NV089_SET_COLOR_CONVERSION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV089_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetOperation; /* NV089_SET_OPERATION_* 0304-0307*/
NvV32 ClipPoint; /* y_x S16_S16 0308-030b*/
NvV32 ClipSize; /* height_width U16_U16 030c-030f*/
NvV32 ImageOutPoint; /* y_x S16_S16 0310-0313*/
NvV32 ImageOutSize; /* height_width U16_U16 0314-0317*/
NvV32 DsDx; /* S12d20 ds/dx 0318-031b*/
NvV32 DtDy; /* S12d20 dt/dy 031c-031f*/
NvV32 Reserved02[0x038];
NvV32 ImageInSize; /* height_width U16_U16 0400-0403*/
NvV32 ImageInFormat; /* interpolator_origin_pitch 0404-0407*/
NvU32 ImageInOffset; /* bytes 0408-040b*/
NvV32 ImageInPoint; /* v_u U12d4_U12d4 040c-040f*/
NvV32 Reserved03[0x6fc];
} Nv089Typedef, Nv10ScaledImageFromMemory;
#define NV089_TYPEDEF Nv10ScaledImageFromMemory
/* dma method offsets, fields, and values */
#define NV089_SET_OBJECT (0x00000000)
#define NV089_NO_OPERATION (0x00000100)
#define NV089_NOTIFY (0x00000104)
#define NV089_NOTIFY_WRITE_ONLY (0x00000000)
#define NV089_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV089_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV089_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV089_SET_CONTEXT_PATTERN (0x00000188)
#define NV089_SET_CONTEXT_ROP (0x0000018C)
#define NV089_SET_CONTEXT_BETA1 (0x00000190)
#define NV089_SET_CONTEXT_BETA4 (0x00000194)
#define NV089_SET_CONTEXT_SURFACE (0x00000198)
#define NV089_SET_COLOR_CONVERSION (0x000002fc)
#define NV089_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV089_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV089_SET_COLOR_CONVERSION_SUBTRACT_TRUNCATE (0x00000002)
#define NV089_SET_COLOR_FORMAT (0x00000300)
#define NV089_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000001)
#define NV089_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000002)
#define NV089_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV089_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000004)
#define NV089_SET_COLOR_FORMAT_LE_CR8YB8CB8YA8 (0x00000005)
#define NV089_SET_COLOR_FORMAT_LE_YB8CR8YA8CB8 (0x00000006)
#define NV089_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000007)
#define NV089_SET_COLOR_FORMAT_LE_Y8 (0x00000008)
#define NV089_SET_COLOR_FORMAT_LE_AY8 (0x00000009)
#define NV089_SET_OPERATION (0x00000304)
#define NV089_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV089_SET_OPERATION_ROP_AND (0x00000001)
#define NV089_SET_OPERATION_BLEND_AND (0x00000002)
#define NV089_SET_OPERATION_SRCCOPY (0x00000003)
#define NV089_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV089_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV089_CLIP_POINT (0x00000308)
#define NV089_CLIP_POINT_X 15:0
#define NV089_CLIP_POINT_Y 31:16
#define NV089_CLIP_SIZE (0x0000030C)
#define NV089_CLIP_SIZE_WIDTH 15:0
#define NV089_CLIP_SIZE_HEIGHT 31:16
#define NV089_IMAGE_OUT_POINT (0x00000310)
#define NV089_IMAGE_OUT_POINT_X 15:0
#define NV089_IMAGE_OUT_POINT_Y 31:16
#define NV089_IMAGE_OUT_SIZE (0x00000314)
#define NV089_IMAGE_OUT_SIZE_WIDTH 15:0
#define NV089_IMAGE_OUT_SIZE_HEIGHT 31:16
#define NV089_DS_DX (0x00000318)
#define NV089_DT_DY (0x0000031C)
#define NV089_IMAGE_IN_SIZE (0x00000400)
#define NV089_IMAGE_IN_SIZE_WIDTH 15:0
#define NV089_IMAGE_IN_SIZE_HEIGHT 31:16
#define NV089_IMAGE_IN_FORMAT (0x00000404)
#define NV089_IMAGE_IN_FORMAT_PITCH 15:0
#define NV089_IMAGE_IN_FORMAT_ORIGIN 23:16
#define NV089_IMAGE_IN_FORMAT_ORIGIN_CENTER (0x00000001)
#define NV089_IMAGE_IN_FORMAT_ORIGIN_CORNER (0x00000002)
#define NV089_IMAGE_IN_FORMAT_INTERPOLATOR 31:24
#define NV089_IMAGE_IN_FORMAT_INTERPOLATOR_ZOH (0x00000000)
#define NV089_IMAGE_IN_FORMAT_INTERPOLATOR_FOH (0x00000001)
#define NV089_IMAGE_IN_OFFSET (0x00000408)
#define NV089_IMAGE_IN (0x0000040C)
#define NV089_IMAGE_IN_POINT_U 15:0
#define NV089_IMAGE_IN_POINT_V 31:16
/* class NV11_SCALED_IMAGE_FROM_MEMORY */
#define NV11_SCALED_IMAGE_FROM_MEMORY (0x00001189)
/* NvNotification[] elements */
#define NV1189_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV1189_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV1189_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV1189_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV1189_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV1189_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV1189_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV1189_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 0188-018b*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 018c-018f*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0190-0193*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0194-0197*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D,SWIZZLE 0198-019b*/
NvV32 Reserved01[0x058];
NvV32 SetColorConversion; /* NV1189_SET_COLOR_CONVERSION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV1189_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 SetOperation; /* NV1189_SET_OPERATION_* 0304-0307*/
NvV32 ClipPoint; /* y_x S16_S16 0308-030b*/
NvV32 ClipSize; /* height_width U16_U16 030c-030f*/
NvV32 ImageOutPoint; /* y_x S16_S16 0310-0313*/
NvV32 ImageOutSize; /* height_width U16_U16 0314-0317*/
NvV32 DsDx; /* S12d20 ds/dx 0318-031b*/
NvV32 DtDy; /* S12d20 dt/dy 031c-031f*/
NvV32 Reserved02[0x038];
NvV32 ImageInSize; /* height_width U16_U16 0400-0403*/
NvV32 ImageInFormat; /* interpolator_origin_pitch 0404-0407*/
NvU32 ImageInOffset; /* bytes 0408-040b*/
NvV32 ImageInPoint; /* v_u U12d4_U12d4 040c-040f*/
NvV32 Reserved03[0x6fc];
} Nv1189Typedef, Nv11ScaledImageFromMemory;
#define NV1189_TYPEDEF Nv11ScaledImageFromMemory
/* dma method offsets, fields, and values */
#define NV1189_SET_OBJECT (0x00000000)
#define NV1189_NO_OPERATION (0x00000100)
#define NV1189_NOTIFY (0x00000104)
#define NV1189_NOTIFY_WRITE_ONLY (0x00000000)
#define NV1189_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV1189_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV1189_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV1189_SET_CONTEXT_PATTERN (0x00000188)
#define NV1189_SET_CONTEXT_ROP (0x0000018C)
#define NV1189_SET_CONTEXT_BETA1 (0x00000190)
#define NV1189_SET_CONTEXT_BETA4 (0x00000194)
#define NV1189_SET_CONTEXT_SURFACE (0x00000198)
#define NV1189_SET_COLOR_CONVERSION (0x000002fc)
#define NV1189_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV1189_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV1189_SET_COLOR_CONVERSION_SUBTRACT_TRUNCATE (0x00000002)
#define NV1189_SET_COLOR_FORMAT (0x00000300)
#define NV1189_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000001)
#define NV1189_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000002)
#define NV1189_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000003)
#define NV1189_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000004)
#define NV1189_SET_COLOR_FORMAT_LE_CR8YB8CB8YA8 (0x00000005)
#define NV1189_SET_COLOR_FORMAT_LE_YB8CR8YA8CB8 (0x00000006)
#define NV1189_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000007)
#define NV1189_SET_COLOR_FORMAT_LE_Y8 (0x00000008)
#define NV1189_SET_COLOR_FORMAT_LE_AY8 (0x00000009)
#define NV1189_SET_OPERATION (0x00000304)
#define NV1189_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV1189_SET_OPERATION_ROP_AND (0x00000001)
#define NV1189_SET_OPERATION_BLEND_AND (0x00000002)
#define NV1189_SET_OPERATION_SRCCOPY (0x00000003)
#define NV1189_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV1189_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV1189_CLIP_POINT (0x00000308)
#define NV1189_CLIP_POINT_X 15:0
#define NV1189_CLIP_POINT_Y 31:16
#define NV1189_CLIP_SIZE (0x0000030C)
#define NV1189_CLIP_SIZE_WIDTH 15:0
#define NV1189_CLIP_SIZE_HEIGHT 31:16
#define NV1189_IMAGE_OUT_POINT (0x00000310)
#define NV1189_IMAGE_OUT_POINT_X 15:0
#define NV1189_IMAGE_OUT_POINT_Y 31:16
#define NV1189_IMAGE_OUT_SIZE (0x00000314)
#define NV1189_IMAGE_OUT_SIZE_WIDTH 15:0
#define NV1189_IMAGE_OUT_SIZE_HEIGHT 31:16
#define NV1189_DS_DX (0x00000318)
#define NV1189_DT_DY (0x0000031C)
#define NV1189_IMAGE_IN_SIZE (0x00000400)
#define NV1189_IMAGE_IN_SIZE_WIDTH 15:0
#define NV1189_IMAGE_IN_SIZE_HEIGHT 31:16
#define NV1189_IMAGE_IN_FORMAT (0x00000404)
#define NV1189_IMAGE_IN_FORMAT_PITCH 15:0
#define NV1189_IMAGE_IN_FORMAT_ORIGIN 23:16
#define NV1189_IMAGE_IN_FORMAT_ORIGIN_CENTER (0x00000001)
#define NV1189_IMAGE_IN_FORMAT_ORIGIN_CORNER (0x00000002)
#define NV1189_IMAGE_IN_FORMAT_INTERPOLATOR 31:24
#define NV1189_IMAGE_IN_FORMAT_INTERPOLATOR_ZOH (0x00000000)
#define NV1189_IMAGE_IN_FORMAT_INTERPOLATOR_FOH (0x00000001)
#define NV1189_IMAGE_IN_OFFSET (0x00000408)
#define NV1189_IMAGE_IN (0x0000040C)
#define NV1189_IMAGE_IN_POINT_U 15:0
#define NV1189_IMAGE_IN_POINT_V 31:16
/* class NV10_IMAGE_FROM_CPU */
#define NV10_IMAGE_FROM_CPU (0x0000008A)
#define NV08A_NOTIFIERS_NOTIFY (0)
#define NV08A_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV08A_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV08A_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV08A_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV08A_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV08A_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV08A_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0198-019b*/
NvV32 SetContextSurface; /* NV04_CONTEXT_SURFACES_2D 019c-019f*/
NvV32 Reserved01[0x056];
NvV32 SetColorConversion; /* NV08A_SET_COLOR_CONVERSION_* 02f8-02fb*/
NvV32 SetOperation; /* NV08A_SET_OPERATION_* 02fc-02ff*/
NvV32 SetColorFormat; /* NV08A_SET_COLOR_FORMAT_* 0300-0303*/
NvV32 Point; /* y_x S16_S16 in pixels 0304-0307*/
NvV32 SizeOut; /* height_width U16_U16, pixels 0308-030b*/
NvV32 SizeIn; /* height_width U16_U16, pixels 030c-030f*/
NvV32 Reserved02[0x03c];
struct { /* start aliased methods in array 0400- */
NvV32 a; /* source colors (packed texels) 0- 3*/
NvV32 b; /* source colors (packed texels) 4- 7*/
} Color[896]; /* end of aliased methods in array -1fff*/
} Nv08ATypedef, NV10ImageFromCpu;
#define NV08A_TYPEDEF NV10ImageFromCpu
/* dma method offsets, fields, and values */
#define NV08A_SET_OBJECT (0x00000000)
#define NV08A_NO_OPERATION (0x00000100)
#define NV08A_NOTIFY (0x00000104)
#define NV08A_NOTIFY_WRITE_ONLY (0x00000000)
#define NV08A_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV08A_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV08A_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV08A_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV08A_SET_CONTEXT_PATTERN (0x0000018C)
#define NV08A_SET_CONTEXT_ROP (0x00000190)
#define NV08A_SET_CONTEXT_BETA1 (0x00000194)
#define NV08A_SET_CONTEXT_BETA4 (0x00000198)
#define NV08A_SET_CONTEXT_SURFACE (0x0000019C)
#define NV08A_SET_COLOR_CONVERSION (0x000002F8)
#define NV08A_SET_COLOR_CONVERSION_DITHER (0x00000000)
#define NV08A_SET_COLOR_CONVERSION_TRUNCATE (0x00000001)
#define NV08A_SET_COLOR_CONVERSION_SUBTRACT_TRUNCATE (0x00000002)
#define NV08A_SET_OPERATION (0x000002FC)
#define NV08A_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV08A_SET_OPERATION_ROP_AND (0x00000001)
#define NV08A_SET_OPERATION_BLEND_AND (0x00000002)
#define NV08A_SET_OPERATION_SRCCOPY (0x00000003)
#define NV08A_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV08A_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV08A_SET_COLOR_FORMAT (0x00000300)
#define NV08A_SET_COLOR_FORMAT_LE_R5G6B5 (0x00000001)
#define NV08A_SET_COLOR_FORMAT_LE_A1R5G5B5 (0x00000002)
#define NV08A_SET_COLOR_FORMAT_LE_X1R5G5B5 (0x00000003)
#define NV08A_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000004)
#define NV08A_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000005)
#define NV08A_POINT (0x00000304)
#define NV08A_POINT_X 15:0
#define NV08A_POINT_Y 31:16
#define NV08A_SIZE_OUT (0x00000308)
#define NV08A_SIZE_OUT_WIDTH 15:0
#define NV08A_SIZE_OUT_HEIGHT 31:16
#define NV08A_SIZE_IN (0x0000030C)
#define NV08A_SIZE_IN_WIDTH 15:0
#define NV08A_SIZE_IN_HEIGHT 31:16
#define NV08A_COLOR(a) (0x00000400\
+(a)*0x0004)
/* class NV10_CONTEXT_SURFACES_3D */
#define NV10_CONTEXT_SURFACES_3D (0x00000093)
/* NvNotification[] elements */
#define NV093_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV093_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV093_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV093_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV093_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV093_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV093_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV093_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaColor; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaZeta; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 Reserved01[0x05b];
NvV32 SetClipHorizontal; /* width_x U16_U16 02f8-02fb*/
NvV32 SetClipVertical; /* height_y U16_U16 02fc-02ff*/
NvV32 SetFormat; /* height_width_type_color all V8 0300-0303*/
NvV32 SetClipSize; /* height_width U16_U16 0304-0307*/
NvV32 SetPitch; /* zeta_color U16_U16 0308-030b*/
NvU32 SetOffsetColor; /* byte offset of top-left pixel 030c-030f*/
NvU32 SetOffsetZeta; /* byte offset of top-left pixel 0310-0313*/
NvV32 Reserved02[0x73b];
} Nv093Typedef, Nv10ContextSurfaces3d;
#define NV093_TYPEDEF Nv10ContextSurfaces3d
/* dma method offsets, fields, and values */
#define NV093_SET_OBJECT (0x00000000)
#define NV093_NO_OPERATION (0x00000100)
#define NV093_NOTIFY (0x00000104)
#define NV093_NOTIFY_WRITE_ONLY (0x00000000)
#define NV093_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV093_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV093_SET_CONTEXT_DMA_COLOR (0x00000184)
#define NV093_SET_CONTEXT_DMA_ZETA (0x00000188)
#define NV093_SET_CLIP_HORIZONTAL (0x000002F8)
#define NV093_SET_CLIP_HORIZONTAL_X 15:0
#define NV093_SET_CLIP_HORIZONTAL_WIDTH 31:16
#define NV093_SET_CLIP_VERTICAL (0x000002FC)
#define NV093_SET_CLIP_VERTICAL_Y 15:0
#define NV093_SET_CLIP_VERTICAL_HEIGHT 31:16
#define NV093_SET_FORMAT (0x00000300)
#define NV093_SET_FORMAT_COLOR 7:0
#define NV093_SET_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 (0x00000001)
#define NV093_SET_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 (0x00000002)
#define NV093_SET_FORMAT_COLOR_LE_R5G6B5 (0x00000003)
#define NV093_SET_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 (0x00000004)
#define NV093_SET_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 (0x00000005)
#define NV093_SET_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 (0x00000006)
#define NV093_SET_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 (0x00000007)
#define NV093_SET_FORMAT_COLOR_LE_A8R8G8B8 (0x00000008)
#define NV093_SET_FORMAT_TYPE 15:8
#define NV093_SET_FORMAT_TYPE_PITCH (0x00000001)
#define NV093_SET_FORMAT_TYPE_SWIZZLE (0x00000002)
#define NV093_SET_FORMAT_WIDTH 23:16
#define NV093_SET_FORMAT_HEIGHT 31:24
#define NV093_SET_CLIP_SIZE (0x00000304)
#define NV093_SET_CLIP_SIZE_WIDTH 15:0
#define NV093_SET_CLIP_SIZE_HEIGHT 31:16
#define NV093_SET_PITCH (0x00000308)
#define NV093_SET_PITCH_COLOR 15:0
#define NV093_SET_PITCH_ZETA 31:16
#define NV093_SET_OFFSET_COLOR (0x0000030C)
#define NV093_SET_OFFSET_ZETA (0x00000310)
/* class NV10_DX5_TEXTURED_TRIANGLE */
#define NV10_DX5_TEXTURED_TRIANGLE (0x00000094)
/* NvNotification[] elements */
#define NV094_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV094_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV094_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV094_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV094_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV094_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV094_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV094_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaA; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaB; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 SetContextSurfaces; /* NV04_CONTEXT_SURFACES_3D 018c-018f*/
NvV32 Reserved01[0x05c];
NvV32 ColorKeyValue; /* see text 0300-0303*/
NvU32 Offset; /* texture offset in bytes 0304-0307*/
NvV32 Format; /* see text 0308-030b*/
NvV32 Filter; /* see text 030c-030f*/
NvV32 Blend; /* see text 0310-0313*/
NvV32 Control; /* see text 0314-0317*/
NvV32 FogColor; /* X8R8G8B8 fog color 0318-031b*/
NvV32 Reserved02[0x039];
struct { /* start of methods in array 0400- */
NvF32 sx; /* screen x coordinate 00- 03*/
NvF32 sy; /* screen y coordinate 04- 07*/
NvF32 sz; /* screen z coordinate 08- 0b*/
NvF32 rhw; /* reciprocal homogeneous W (1/W) 0c- 0f*/
NvV32 color; /* A8R8G8B8 10- 13*/
NvV32 specular; /* F8R8G8B8 14- 17*/
NvF32 tu; /* texture u coordinate 18- 1b*/
NvF32 tv; /* texture v coordinate 1c- 1f*/
} Tlvertex[16]; /* end of methods in array -05ff*/
NvV32 DrawPrimitive[64]; /* see text 0600-06ff*/
NvV32 Reserved03[0x640];
} Nv094Typedef, Nv10Dx5TexturedTriangle;
#define NV094_TYPEDEF Nv10Dx5TexturedTriangle
/* dma method offsets, fields, and values */
#define NV094_SET_OBJECT (0x00000000)
#define NV094_NO_OPERATION (0x00000100)
#define NV094_NOTIFY (0x00000104)
#define NV094_NOTIFY_WRITE_ONLY (0x00000000)
#define NV094_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV094_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV094_SET_CONTEXT_DMA_A (0x00000184)
#define NV094_SET_CONTEXT_DMA_B (0x00000188)
#define NV094_SET_CONTEXT_SURFACES (0x0000018C)
#define NV094_COLOR_KEY_VALUE (0x00000300)
#define NV094_OFFSET (0x00000304)
#define NV094_FORMAT (0x00000308)
#define NV094_FORMAT_CONTEXT_DMA 1:0
#define NV094_FORMAT_CONTEXT_DMA_A (0x00000001)
#define NV094_FORMAT_CONTEXT_DMA_B (0x00000002)
#define NV094_FORMAT_COLOR_KEY_MATCH 3:2
#define NV094_FORMAT_COLOR_KEY_MATCH_SRCCOPY (0x00000000)
#define NV094_FORMAT_COLOR_KEY_MATCH_ZERO_ALPHA (0x00000001)
#define NV094_FORMAT_ORIGIN_ZOH 5:4
#define NV094_FORMAT_ORIGIN_ZOH_CENTER (0x00000001)
#define NV094_FORMAT_ORIGIN_ZOH_CORNER (0x00000002)
#define NV094_FORMAT_ORIGIN_FOH 7:6
#define NV094_FORMAT_ORIGIN_FOH_CENTER (0x00000001)
#define NV094_FORMAT_ORIGIN_FOH_CORNER (0x00000002)
#define NV094_FORMAT_COLOR 11:8
#define NV094_FORMAT_COLOR_LE_Y8 (0x00000001)
#define NV094_FORMAT_COLOR_LE_A1R5G5B5 (0x00000002)
#define NV094_FORMAT_COLOR_LE_X1R5G5B5 (0x00000003)
#define NV094_FORMAT_COLOR_LE_A4R4G4B4 (0x00000004)
#define NV094_FORMAT_COLOR_LE_R5G6B5 (0x00000005)
#define NV094_FORMAT_COLOR_LE_A8R8G8B8 (0x00000006)
#define NV094_FORMAT_COLOR_LE_X8R8G8B8 (0x00000007)
#define NV094_FORMAT_MIPMAP_LEVELS 15:12
#define NV094_FORMAT_BASE_SIZE_U 19:16
#define NV094_FORMAT_BASE_SIZE_U_1 (0x00000000)
#define NV094_FORMAT_BASE_SIZE_U_2 (0x00000001)
#define NV094_FORMAT_BASE_SIZE_U_4 (0x00000002)
#define NV094_FORMAT_BASE_SIZE_U_8 (0x00000003)
#define NV094_FORMAT_BASE_SIZE_U_16 (0x00000004)
#define NV094_FORMAT_BASE_SIZE_U_32 (0x00000005)
#define NV094_FORMAT_BASE_SIZE_U_64 (0x00000006)
#define NV094_FORMAT_BASE_SIZE_U_128 (0x00000007)
#define NV094_FORMAT_BASE_SIZE_U_256 (0x00000008)
#define NV094_FORMAT_BASE_SIZE_U_512 (0x00000009)
#define NV094_FORMAT_BASE_SIZE_U_1024 (0x0000000A)
#define NV094_FORMAT_BASE_SIZE_U_2048 (0x0000000B)
#define NV094_FORMAT_BASE_SIZE_V 23:20
#define NV094_FORMAT_BASE_SIZE_V_1 (0x00000000)
#define NV094_FORMAT_BASE_SIZE_V_2 (0x00000001)
#define NV094_FORMAT_BASE_SIZE_V_4 (0x00000002)
#define NV094_FORMAT_BASE_SIZE_V_8 (0x00000003)
#define NV094_FORMAT_BASE_SIZE_V_16 (0x00000004)
#define NV094_FORMAT_BASE_SIZE_V_32 (0x00000005)
#define NV094_FORMAT_BASE_SIZE_V_64 (0x00000006)
#define NV094_FORMAT_BASE_SIZE_V_128 (0x00000007)
#define NV094_FORMAT_BASE_SIZE_V_256 (0x00000008)
#define NV094_FORMAT_BASE_SIZE_V_512 (0x00000009)
#define NV094_FORMAT_BASE_SIZE_V_1024 (0x0000000A)
#define NV094_FORMAT_BASE_SIZE_V_2048 (0x0000000B)
#define NV094_FORMAT_TEXTUREADDRESSU 26:24
#define NV094_FORMAT_TEXTUREADDRESSU_WRAP (0x00000001)
#define NV094_FORMAT_TEXTUREADDRESSU_MIRROR (0x00000002)
#define NV094_FORMAT_TEXTUREADDRESSU_CLAMP (0x00000003)
#define NV094_FORMAT_TEXTUREADDRESSU_BORDER (0x00000004)
#define NV094_FORMAT_WRAPU 27:27
#define NV094_FORMAT_WRAPU_FALSE (0x00000000)
#define NV094_FORMAT_WRAPU_TRUE (0x00000001)
#define NV094_FORMAT_TEXTUREADDRESSV 30:28
#define NV094_FORMAT_TEXTUREADDRESSV_WRAP (0x00000001)
#define NV094_FORMAT_TEXTUREADDRESSV_MIRROR (0x00000002)
#define NV094_FORMAT_TEXTUREADDRESSV_CLAMP (0x00000003)
#define NV094_FORMAT_TEXTUREADDRESSV_BORDER (0x00000004)
#define NV094_FORMAT_WRAPV 31:31
#define NV094_FORMAT_WRAPV_FALSE (0x00000000)
#define NV094_FORMAT_WRAPV_TRUE (0x00000001)
#define NV094_FILTER (0x0000030C)
#define NV094_FILTER_IGNORE0 4:0
#define NV094_FILTER_ZERO0 7:5
#define NV094_FILTER_IGNORE1 12:8
#define NV094_FILTER_ZERO1 14:13
#define NV094_FILTER_IGNORE2 15:15
#define NV094_FILTER_MIPMAPLODBIAS 23:16
#define NV094_FILTER_TEXTUREMIN 26:24
#define NV094_FILTER_TEXTUREMIN_NEAREST (0x00000001)
#define NV094_FILTER_TEXTUREMIN_LINEAR (0x00000002)
#define NV094_FILTER_TEXTUREMIN_MIPNEAREST (0x00000003)
#define NV094_FILTER_TEXTUREMIN_MIPLINEAR (0x00000004)
#define NV094_FILTER_TEXTUREMIN_LINEARMIPNEAREST (0x00000005)
#define NV094_FILTER_TEXTUREMIN_LINEARMIPLINEAR (0x00000006)
#define NV094_FILTER_IGNORE3 27:27
#define NV094_FILTER_TEXTUREMAG 30:28
#define NV094_FILTER_TEXTUREMAG_NEAREST (0x00000001)
#define NV094_FILTER_TEXTUREMAG_LINEAR (0x00000002)
#define NV094_FILTER_IGNORE4 31:31
#define NV094_BLEND (0x00000310)
#define NV094_BLEND_TEXTUREMAPBLEND 3:0
#define NV094_BLEND_TEXTUREMAPBLEND_DECAL (0x00000001)
#define NV094_BLEND_TEXTUREMAPBLEND_MODULATE (0x00000002)
#define NV094_BLEND_TEXTUREMAPBLEND_DECALALPHA (0x00000003)
#define NV094_BLEND_TEXTUREMAPBLEND_MODULATEALPHA (0x00000004)
#define NV094_BLEND_TEXTUREMAPBLEND_DECALMASK (0x00000005)
#define NV094_BLEND_TEXTUREMAPBLEND_MODULATEMASK (0x00000006)
#define NV094_BLEND_TEXTUREMAPBLEND_COPY (0x00000007)
#define NV094_BLEND_TEXTUREMAPBLEND_ADD (0x00000008)
#define NV094_BLEND_MASK_BIT 5:4
#define NV094_BLEND_MASK_BIT_LSB (0x00000001)
#define NV094_BLEND_MASK_BIT_MSB (0x00000002)
#define NV094_BLEND_SHADEMODE 7:6
#define NV094_BLEND_SHADEMODE_FLAT (0x00000001)
#define NV094_BLEND_SHADEMODE_GOURAUD (0x00000002)
#define NV094_BLEND_SHADEMODE_PHONG (0x00000003)
#define NV094_BLEND_TEXTUREPERSPECTIVE 11:8
#define NV094_BLEND_TEXTUREPERSPECTIVE_FALSE (0x00000000)
#define NV094_BLEND_TEXTUREPERSPECTIVE_TRUE (0x00000001)
#define NV094_BLEND_SPECULARENABLE 15:12
#define NV094_BLEND_SPECULARENABLE_FALSE (0x00000000)
#define NV094_BLEND_SPECULARENABLE_TRUE (0x00000001)
#define NV094_BLEND_FOGENABLE 19:16
#define NV094_BLEND_FOGENABLE_FALSE (0x00000000)
#define NV094_BLEND_FOGENABLE_TRUE (0x00000001)
#define NV094_BLEND_ALPHABLENDENABLE 23:20
#define NV094_BLEND_ALPHABLENDENABLE_FALSE (0x00000000)
#define NV094_BLEND_ALPHABLENDENABLE_TRUE (0x00000001)
#define NV094_BLEND_SRCBLEND 27:24
#define NV094_BLEND_SRCBLEND_ZERO (0x00000001)
#define NV094_BLEND_SRCBLEND_ONE (0x00000002)
#define NV094_BLEND_SRCBLEND_SRCCOLOR (0x00000003)
#define NV094_BLEND_SRCBLEND_INVSRCCOLOR (0x00000004)
#define NV094_BLEND_SRCBLEND_SRCALPHA (0x00000005)
#define NV094_BLEND_SRCBLEND_INVSRCALPHA (0x00000006)
#define NV094_BLEND_SRCBLEND_DESTALPHA (0x00000007)
#define NV094_BLEND_SRCBLEND_INVDESTALPHA (0x00000008)
#define NV094_BLEND_SRCBLEND_DESTCOLOR (0x00000009)
#define NV094_BLEND_SRCBLEND_INVDESTCOLOR (0x0000000A)
#define NV094_BLEND_SRCBLEND_SRCALPHASAT (0x0000000B)
#define NV094_BLEND_DESTBLEND 31:28
#define NV094_BLEND_DESTBLEND_ZERO (0x00000001)
#define NV094_BLEND_DESTBLEND_ONE (0x00000002)
#define NV094_BLEND_DESTBLEND_SRCCOLOR (0x00000003)
#define NV094_BLEND_DESTBLEND_INVSRCCOLOR (0x00000004)
#define NV094_BLEND_DESTBLEND_SRCALPHA (0x00000005)
#define NV094_BLEND_DESTBLEND_INVSRCALPHA (0x00000006)
#define NV094_BLEND_DESTBLEND_DESTALPHA (0x00000007)
#define NV094_BLEND_DESTBLEND_INVDESTALPHA (0x00000008)
#define NV094_BLEND_DESTBLEND_DESTCOLOR (0x00000009)
#define NV094_BLEND_DESTBLEND_INVDESTCOLOR (0x0000000A)
#define NV094_BLEND_DESTBLEND_SRCALPHASAT (0x0000000B)
#define NV094_CONTROL (0x00000314)
#define NV094_CONTROL_ALPHAREF 7:0
#define NV094_CONTROL_ALPHAFUNC 11:8
#define NV094_CONTROL_ALPHAFUNC_NEVER (0x00000001)
#define NV094_CONTROL_ALPHAFUNC_LESS (0x00000002)
#define NV094_CONTROL_ALPHAFUNC_EQUAL (0x00000003)
#define NV094_CONTROL_ALPHAFUNC_LESSEQUAL (0x00000004)
#define NV094_CONTROL_ALPHAFUNC_GREATER (0x00000005)
#define NV094_CONTROL_ALPHAFUNC_NOTEQUAL (0x00000006)
#define NV094_CONTROL_ALPHAFUNC_GREATEREQUAL (0x00000007)
#define NV094_CONTROL_ALPHAFUNC_ALWAYS (0x00000008)
#define NV094_CONTROL_ALPHATESTENABLE 12:12
#define NV094_CONTROL_ALPHATESTENABLE_FALSE (0x00000000)
#define NV094_CONTROL_ALPHATESTENABLE_TRUE (0x00000001)
#define NV094_CONTROL_ORIGIN 13:13
#define NV094_CONTROL_ORIGIN_CENTER (0x00000000)
#define NV094_CONTROL_ORIGIN_CORNER (0x00000001)
#define NV094_CONTROL_ZENABLE 15:14
#define NV094_CONTROL_ZENABLE_FALSE (0x00000000)
#define NV094_CONTROL_ZENABLE_TRUE (0x00000001)
#define NV094_CONTROL_ZFUNC 19:16
#define NV094_CONTROL_ZFUNC_NEVER (0x00000001)
#define NV094_CONTROL_ZFUNC_LESS (0x00000002)
#define NV094_CONTROL_ZFUNC_EQUAL (0x00000003)
#define NV094_CONTROL_ZFUNC_LESSEQUAL (0x00000004)
#define NV094_CONTROL_ZFUNC_GREATER (0x00000005)
#define NV094_CONTROL_ZFUNC_NOTEQUAL (0x00000006)
#define NV094_CONTROL_ZFUNC_GREATEREQUAL (0x00000007)
#define NV094_CONTROL_ZFUNC_ALWAYS (0x00000008)
#define NV094_CONTROL_CULLMODE 21:20
#define NV094_CONTROL_CULLMODE_NONE (0x00000001)
#define NV094_CONTROL_CULLMODE_CW (0x00000002)
#define NV094_CONTROL_CULLMODE_CCW (0x00000003)
#define NV094_CONTROL_DITHERENABLE 22:22
#define NV094_CONTROL_DITHERENABLE_FALSE (0x00000000)
#define NV094_CONTROL_DITHERENABLE_TRUE (0x00000001)
#define NV094_CONTROL_Z_PERSPECTIVE_ENABLE 23:23
#define NV094_CONTROL_Z_PERSPECTIVE_ENABLE_FALSE (0x00000000)
#define NV094_CONTROL_Z_PERSPECTIVE_ENABLE_TRUE (0x00000001)
#define NV094_CONTROL_ZWRITEENABLE 29:24
#define NV094_CONTROL_ZWRITEENABLE_FALSE (0x00000000)
#define NV094_CONTROL_ZWRITEENABLE_TRUE (0x00000001)
#define NV094_CONTROL_Z_FORMAT 31:30
#define NV094_CONTROL_Z_FORMAT_FIXED (0x00000001)
#define NV094_CONTROL_Z_FORMAT_FLOAT (0x00000002)
#define NV094_FOG_COLOR (0x00000318)
#define NV094_TLVERTEX(i) (0x00000400\
+(i)*0x0020)
#define NV094_TLVERTEX_SX(i) (0x00000400\
+(i)*0x0020)
#define NV094_TLVERTEX_SY(i) (0x00000404\
+(i)*0x0020)
#define NV094_TLVERTEX_SZ(i) (0x00000408\
+(i)*0x0020)
#define NV094_TLVERTEX_RHW(i) (0x0000040C\
+(i)*0x0020)
#define NV094_TLVERTEX_COLOR(i) (0x00000410\
+(i)*0x0020)
#define NV094_TLVERTEX_COLOR_BLUE 7:0
#define NV094_TLVERTEX_COLOR_GREEN 15:8
#define NV094_TLVERTEX_COLOR_RED 23:16
#define NV094_TLVERTEX_COLOR_ALPHA 31:24
#define NV094_TLVERTEX_SPECULAR(i) (0x00000414\
+(i)*0x0020)
#define NV094_TLVERTEX_SPECULAR_BLUE 7:0
#define NV094_TLVERTEX_SPECULAR_GREEN 15:8
#define NV094_TLVERTEX_SPECULAR_RED 23:16
#define NV094_TLVERTEX_SPECULAR_FOG 31:24
#define NV094_TLVERTEX_TU(i) (0x00000418\
+(i)*0x0020)
#define NV094_TLVERTEX_TV(i) (0x0000041C\
+(i)*0x0020)
#define NV094_DRAW_PRIMITIVE(a) (0x00000600\
+(a)*0x0004)
#define NV094_DRAW_PRIMITIVE_I0 3:0
#define NV094_DRAW_PRIMITIVE_I1 7:4
#define NV094_DRAW_PRIMITIVE_I2 11:8
#define NV094_DRAW_PRIMITIVE_I3 15:12
#define NV094_DRAW_PRIMITIVE_I4 19:16
#define NV094_DRAW_PRIMITIVE_I5 31:20
/* class NV10_DX6_MULTI_TEXTURE_TRIANGLE */
#define NV10_DX6_MULTI_TEXTURE_TRIANGLE (0x00000095)
/* NvNotification[] elements */
#define NV095_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV095_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV095_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV095_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV095_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV095_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV095_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV095_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaA; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 SetContextDmaB; /* NV01_CONTEXT_DMA 0188-018b*/
NvV32 SetContextSurfaces; /* NV04_CONTEXT_SURFACES_3D 018c-018f*/
NvV32 Reserved01[0x05e];
NvU32 Offset[2]; /* offset in bytes 0308-030f*/
NvV32 Format[2]; /* see text 0310-0317*/
NvV32 Filter[2]; /* see text 0318-031f*/
NvV32 Combine0Alpha; /* see text 0320-0323*/
NvV32 Combine0Color; /* see text 0324-0327*/
NvV32 Reserved02;
NvV32 Combine1Alpha; /* see text 032c-032f*/
NvV32 Combine1Color; /* see text 0330-0333*/
NvV32 CombineFactor; /* A8R8G8B8 0334-0337*/
NvV32 Blend; /* see text 0338-033b*/
NvV32 Control0; /* see text 033c-033f*/
NvV32 Control1; /* see text 0340-0343*/
NvV32 Control2; /* see text 0344-0347*/
NvV32 FogColor; /* X8R8G8B8 fog color 0348-034b*/
NvV32 Reserved03[0x02D];
struct { /* start of methods in array 0400- */
NvF32 sx; /* screen x coordinate 00- 03*/
NvF32 sy; /* screen y coordinate 04- 07*/
NvF32 sz; /* screen z coordinate 08- 0b*/
NvF32 rhw; /* reciprocal homogeneous W (1/W) 0c- 0f*/
NvV32 color; /* A8R8G8B8 10- 13*/
NvV32 specular; /* F8R8G8B8 14- 17*/
NvF32 tu0; /* texture 0 u coordinate 18- 1b*/
NvF32 tv0; /* texture 0 v coordinate 1c- 1f*/
NvF32 tu1; /* texture 1 u coordinate 20- 23*/
NvF32 tv1; /* texture 1 v coordinate 24- 27*/
} Tlmtvertex[8]; /* end of methods in array -053f*/
NvV32 DrawPrimitive[48]; /* see text 0540-05ff*/
NvV32 Reserved04[0x680];
} Nv095Typedef, Nv10Dx6MultiTextureTriangle;
#define NV095_TYPEDEF Nv10Dx6MultiTextureTriangle
/* dma method offsets, fields, and values */
#define NV095_SET_OBJECT (0x00000000)
#define NV095_NO_OPERATION (0x00000100)
#define NV095_NOTIFY (0x00000104)
#define NV095_NOTIFY_WRITE_ONLY (0x00000000)
#define NV095_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV095_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV095_SET_CONTEXT_DMA_A (0x00000184)
#define NV095_SET_CONTEXT_DMA_B (0x00000188)
#define NV095_SET_CONTEXT_SURFACES (0x0000018C)
#define NV095_OFFSET(b) (0x00000308\
+(b)*0x0004)
#define NV095_FORMAT(b) (0x00000310\
+(b)*0x0004)
#define NV095_FORMAT_CONTEXT_DMA 3:0
#define NV095_FORMAT_CONTEXT_DMA_A (0x00000001)
#define NV095_FORMAT_CONTEXT_DMA_B (0x00000002)
#define NV095_FORMAT_ORIGIN_ZOH 5:4
#define NV095_FORMAT_ORIGIN_ZOH_CENTER (0x00000001)
#define NV095_FORMAT_ORIGIN_ZOH_CORNER (0x00000002)
#define NV095_FORMAT_ORIGIN_FOH 7:6
#define NV095_FORMAT_ORIGIN_FOH_CENTER (0x00000001)
#define NV095_FORMAT_ORIGIN_FOH_CORNER (0x00000002)
#define NV095_FORMAT_COLOR 11:8
#define NV095_FORMAT_COLOR_LE_AY8 (0x00000001)
#define NV095_FORMAT_COLOR_LE_A1R5G5B5 (0x00000002)
#define NV095_FORMAT_COLOR_LE_X1R5G5B5 (0x00000003)
#define NV095_FORMAT_COLOR_LE_A4R4G4B4 (0x00000004)
#define NV095_FORMAT_COLOR_LE_R5G6B5 (0x00000005)
#define NV095_FORMAT_COLOR_LE_A8R8G8B8 (0x00000006)
#define NV095_FORMAT_COLOR_LE_X8R8G8B8 (0x00000007)
#define NV095_FORMAT_MIPMAP_LEVELS 15:12
#define NV095_FORMAT_BASE_SIZE_U 19:16
#define NV095_FORMAT_BASE_SIZE_U_1 (0x00000000)
#define NV095_FORMAT_BASE_SIZE_U_2 (0x00000001)
#define NV095_FORMAT_BASE_SIZE_U_4 (0x00000002)
#define NV095_FORMAT_BASE_SIZE_U_8 (0x00000003)
#define NV095_FORMAT_BASE_SIZE_U_16 (0x00000004)
#define NV095_FORMAT_BASE_SIZE_U_32 (0x00000005)
#define NV095_FORMAT_BASE_SIZE_U_64 (0x00000006)
#define NV095_FORMAT_BASE_SIZE_U_128 (0x00000007)
#define NV095_FORMAT_BASE_SIZE_U_256 (0x00000008)
#define NV095_FORMAT_BASE_SIZE_U_512 (0x00000009)
#define NV095_FORMAT_BASE_SIZE_U_1024 (0x0000000A)
#define NV095_FORMAT_BASE_SIZE_U_2048 (0x0000000B)
#define NV095_FORMAT_BASE_SIZE_V 23:20
#define NV095_FORMAT_BASE_SIZE_V_1 (0x00000000)
#define NV095_FORMAT_BASE_SIZE_V_2 (0x00000001)
#define NV095_FORMAT_BASE_SIZE_V_4 (0x00000002)
#define NV095_FORMAT_BASE_SIZE_V_8 (0x00000003)
#define NV095_FORMAT_BASE_SIZE_V_16 (0x00000004)
#define NV095_FORMAT_BASE_SIZE_V_32 (0x00000005)
#define NV095_FORMAT_BASE_SIZE_V_64 (0x00000006)
#define NV095_FORMAT_BASE_SIZE_V_128 (0x00000007)
#define NV095_FORMAT_BASE_SIZE_V_256 (0x00000008)
#define NV095_FORMAT_BASE_SIZE_V_512 (0x00000009)
#define NV095_FORMAT_BASE_SIZE_V_1024 (0x0000000A)
#define NV095_FORMAT_BASE_SIZE_V_2048 (0x0000000B)
#define NV095_FORMAT_TEXTUREADDRESSU 26:24
#define NV095_FORMAT_TEXTUREADDRESSU_WRAP (0x00000001)
#define NV095_FORMAT_TEXTUREADDRESSU_MIRROR (0x00000002)
#define NV095_FORMAT_TEXTUREADDRESSU_CLAMP (0x00000003)
#define NV095_FORMAT_TEXTUREADDRESSU_BORDER (0x00000004)
#define NV095_FORMAT_WRAPU 27:27
#define NV095_FORMAT_WRAPU_FALSE (0x00000000)
#define NV095_FORMAT_WRAPU_TRUE (0x00000001)
#define NV095_FORMAT_TEXTUREADDRESSV 30:28
#define NV095_FORMAT_TEXTUREADDRESSV_WRAP (0x00000001)
#define NV095_FORMAT_TEXTUREADDRESSV_MIRROR (0x00000002)
#define NV095_FORMAT_TEXTUREADDRESSV_CLAMP (0x00000003)
#define NV095_FORMAT_TEXTUREADDRESSV_BORDER (0x00000004)
#define NV095_FORMAT_WRAPV 31:31
#define NV095_FORMAT_WRAPV_FALSE (0x00000000)
#define NV095_FORMAT_WRAPV_TRUE (0x00000001)
#define NV095_FILTER(b) (0x00000318\
+(b)*0x0004)
#define NV095_FILTER_IGNORE0 4:0
#define NV095_FILTER_ZERO0 7:5
#define NV095_FILTER_IGNORE1 12:8
#define NV095_FILTER_ZERO1 14:13
#define NV095_FILTER_IGNORE2 15:15
#define NV095_FILTER_MIPMAPLODBIAS 23:16
#define NV095_FILTER_TEXTUREMIN 26:24
#define NV095_FILTER_TEXTUREMIN_NEAREST (0x00000001)
#define NV095_FILTER_TEXTUREMIN_LINEAR (0x00000002)
#define NV095_FILTER_TEXTUREMIN_MIPNEAREST (0x00000003)
#define NV095_FILTER_TEXTUREMIN_MIPLINEAR (0x00000004)
#define NV095_FILTER_TEXTUREMIN_LINEARMIPNEAREST (0x00000005)
#define NV095_FILTER_TEXTUREMIN_LINEARMIPLINEAR (0x00000006)
#define NV095_FILTER_IGNORE3 27:27
#define NV095_FILTER_TEXTUREMAG 30:28
#define NV095_FILTER_TEXTUREMAG_NEAREST (0x00000001)
#define NV095_FILTER_TEXTUREMAG_LINEAR (0x00000002)
#define NV095_FILTER_IGNORE4 31:31
#define NV095_COMBINE_0_ALPHA (0x00000320)
#define NV095_COMBINE_0_ALPHA_INVERSE_0 0:0
#define NV095_COMBINE_0_ALPHA_INVERSE_0_NORMAL (0x00000000)
#define NV095_COMBINE_0_ALPHA_INVERSE_0_INVERSE (0x00000001)
#define NV095_COMBINE_0_ALPHA_ALPHA_0 1:1
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0 7:2
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0_ZERO (0x00000001)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0_FACTOR (0x00000002)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0_INPUT (0x00000004)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_ALPHA_INVERSE_1 8:8
#define NV095_COMBINE_0_ALPHA_INVERSE_1_NORMAL (0x00000000)
#define NV095_COMBINE_0_ALPHA_INVERSE_1_INVERSE (0x00000001)
#define NV095_COMBINE_0_ALPHA_ALPHA_1 9:9
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1 15:10
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1_ZERO (0x00000001)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1_FACTOR (0x00000002)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1_INPUT (0x00000004)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_ALPHA_INVERSE_2 16:16
#define NV095_COMBINE_0_ALPHA_INVERSE_2_NORMAL (0x00000000)
#define NV095_COMBINE_0_ALPHA_INVERSE_2_INVERSE (0x00000001)
#define NV095_COMBINE_0_ALPHA_ALPHA_2 17:17
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2 23:18
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2_ZERO (0x00000001)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2_FACTOR (0x00000002)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2_INPUT (0x00000004)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_ALPHA_INVERSE_3 24:24
#define NV095_COMBINE_0_ALPHA_INVERSE_3_NORMAL (0x00000000)
#define NV095_COMBINE_0_ALPHA_INVERSE_3_INVERSE (0x00000001)
#define NV095_COMBINE_0_ALPHA_ALPHA_3 25:25
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3 28:26
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3_ZERO (0x00000001)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3_FACTOR (0x00000002)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3_INPUT (0x00000004)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_ALPHA_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_ALPHA_OPERATION 31:29
#define NV095_COMBINE_0_ALPHA_OPERATION_ADD (0x00000001)
#define NV095_COMBINE_0_ALPHA_OPERATION_ADD2 (0x00000002)
#define NV095_COMBINE_0_ALPHA_OPERATION_ADD4 (0x00000003)
#define NV095_COMBINE_0_ALPHA_OPERATION_ADDSIGNED (0x00000004)
#define NV095_COMBINE_0_ALPHA_OPERATION_MUX (0x00000005)
#define NV095_COMBINE_0_ALPHA_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV095_COMBINE_0_ALPHA_OPERATION_ADDSIGNED2 (0x00000007)
#define NV095_COMBINE_0_COLOR (0x00000324)
#define NV095_COMBINE_0_COLOR_INVERSE_0 0:0
#define NV095_COMBINE_0_COLOR_INVERSE_0_NORMAL (0x00000000)
#define NV095_COMBINE_0_COLOR_INVERSE_0_INVERSE (0x00000001)
#define NV095_COMBINE_0_COLOR_ALPHA_0 1:1
#define NV095_COMBINE_0_COLOR_ALPHA_0_COLOR (0x00000000)
#define NV095_COMBINE_0_COLOR_ALPHA_0_ALPHA (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_0 7:2
#define NV095_COMBINE_0_COLOR_ARGUMENT_0_ZERO (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_0_FACTOR (0x00000002)
#define NV095_COMBINE_0_COLOR_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_COLOR_ARGUMENT_0_INPUT (0x00000004)
#define NV095_COMBINE_0_COLOR_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_COLOR_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_COLOR_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_COLOR_INVERSE_1 8:8
#define NV095_COMBINE_0_COLOR_INVERSE_1_NORMAL (0x00000000)
#define NV095_COMBINE_0_COLOR_INVERSE_1_INVERSE (0x00000001)
#define NV095_COMBINE_0_COLOR_ALPHA_1 9:9
#define NV095_COMBINE_0_COLOR_ALPHA_1_COLOR (0x00000000)
#define NV095_COMBINE_0_COLOR_ALPHA_1_ALPHA (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_1 15:10
#define NV095_COMBINE_0_COLOR_ARGUMENT_1_ZERO (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_1_FACTOR (0x00000002)
#define NV095_COMBINE_0_COLOR_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_COLOR_ARGUMENT_1_INPUT (0x00000004)
#define NV095_COMBINE_0_COLOR_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_COLOR_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_COLOR_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_COLOR_INVERSE_2 16:16
#define NV095_COMBINE_0_COLOR_INVERSE_2_NORMAL (0x00000000)
#define NV095_COMBINE_0_COLOR_INVERSE_2_INVERSE (0x00000001)
#define NV095_COMBINE_0_COLOR_ALPHA_2 17:17
#define NV095_COMBINE_0_COLOR_ALPHA_2_COLOR (0x00000000)
#define NV095_COMBINE_0_COLOR_ALPHA_2_ALPHA (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_2 23:18
#define NV095_COMBINE_0_COLOR_ARGUMENT_2_ZERO (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_2_FACTOR (0x00000002)
#define NV095_COMBINE_0_COLOR_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_COLOR_ARGUMENT_2_INPUT (0x00000004)
#define NV095_COMBINE_0_COLOR_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_COLOR_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_COLOR_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_COLOR_INVERSE_3 24:24
#define NV095_COMBINE_0_COLOR_INVERSE_3_NORMAL (0x00000000)
#define NV095_COMBINE_0_COLOR_INVERSE_3_INVERSE (0x00000001)
#define NV095_COMBINE_0_COLOR_ALPHA_3 25:25
#define NV095_COMBINE_0_COLOR_ALPHA_3_COLOR (0x00000000)
#define NV095_COMBINE_0_COLOR_ALPHA_3_ALPHA (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_3 28:26
#define NV095_COMBINE_0_COLOR_ARGUMENT_3_ZERO (0x00000001)
#define NV095_COMBINE_0_COLOR_ARGUMENT_3_FACTOR (0x00000002)
#define NV095_COMBINE_0_COLOR_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV095_COMBINE_0_COLOR_ARGUMENT_3_INPUT (0x00000004)
#define NV095_COMBINE_0_COLOR_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV095_COMBINE_0_COLOR_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV095_COMBINE_0_COLOR_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV095_COMBINE_0_COLOR_OPERATION 31:29
#define NV095_COMBINE_0_COLOR_OPERATION_ADD (0x00000001)
#define NV095_COMBINE_0_COLOR_OPERATION_ADD2 (0x00000002)
#define NV095_COMBINE_0_COLOR_OPERATION_ADD4 (0x00000003)
#define NV095_COMBINE_0_COLOR_OPERATION_ADDSIGNED (0x00000004)
#define NV095_COMBINE_0_COLOR_OPERATION_MUX (0x00000005)
#define NV095_COMBINE_0_COLOR_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV095_COMBINE_0_COLOR_OPERATION_ADDSIGNED2 (0x00000007)
#define NV095_COMBINE_1_ALPHA (0x0000032C)
#define NV095_COMBINE_1_ALPHA_INVERSE_0 0:0
#define NV095_COMBINE_1_ALPHA_INVERSE_0_NORMAL (0x00000000)
#define NV095_COMBINE_1_ALPHA_INVERSE_0_INVERSE (0x00000001)
#define NV095_COMBINE_1_ALPHA_ALPHA_0 1:1
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0 7:2
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0_ZERO (0x00000001)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0_FACTOR (0x00000002)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0_INPUT (0x00000004)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_ALPHA_INVERSE_1 8:8
#define NV095_COMBINE_1_ALPHA_INVERSE_1_NORMAL (0x00000000)
#define NV095_COMBINE_1_ALPHA_INVERSE_1_INVERSE (0x00000001)
#define NV095_COMBINE_1_ALPHA_ALPHA_1 9:9
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1 15:10
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1_ZERO (0x00000001)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1_FACTOR (0x00000002)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1_INPUT (0x00000004)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_ALPHA_INVERSE_2 16:16
#define NV095_COMBINE_1_ALPHA_INVERSE_2_NORMAL (0x00000000)
#define NV095_COMBINE_1_ALPHA_INVERSE_2_INVERSE (0x00000001)
#define NV095_COMBINE_1_ALPHA_ALPHA_2 17:17
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2 23:18
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2_ZERO (0x00000001)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2_FACTOR (0x00000002)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2_INPUT (0x00000004)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_ALPHA_INVERSE_3 24:24
#define NV095_COMBINE_1_ALPHA_INVERSE_3_NORMAL (0x00000000)
#define NV095_COMBINE_1_ALPHA_INVERSE_3_INVERSE (0x00000001)
#define NV095_COMBINE_1_ALPHA_ALPHA_3 25:25
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3 28:26
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3_ZERO (0x00000001)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3_FACTOR (0x00000002)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3_INPUT (0x00000004)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_ALPHA_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_ALPHA_OPERATION 31:29
#define NV095_COMBINE_1_ALPHA_OPERATION_ADD (0x00000001)
#define NV095_COMBINE_1_ALPHA_OPERATION_ADD2 (0x00000002)
#define NV095_COMBINE_1_ALPHA_OPERATION_ADD4 (0x00000003)
#define NV095_COMBINE_1_ALPHA_OPERATION_ADDSIGNED (0x00000004)
#define NV095_COMBINE_1_ALPHA_OPERATION_MUX (0x00000005)
#define NV095_COMBINE_1_ALPHA_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV095_COMBINE_1_ALPHA_OPERATION_ADDSIGNED2 (0x00000007)
#define NV095_COMBINE_1_COLOR (0x00000330)
#define NV095_COMBINE_1_COLOR_INVERSE_0 0:0
#define NV095_COMBINE_1_COLOR_INVERSE_0_NORMAL (0x00000000)
#define NV095_COMBINE_1_COLOR_INVERSE_0_INVERSE (0x00000001)
#define NV095_COMBINE_1_COLOR_ALPHA_0 1:1
#define NV095_COMBINE_1_COLOR_ALPHA_0_COLOR (0x00000000)
#define NV095_COMBINE_1_COLOR_ALPHA_0_ALPHA (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_0 7:2
#define NV095_COMBINE_1_COLOR_ARGUMENT_0_ZERO (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_0_FACTOR (0x00000002)
#define NV095_COMBINE_1_COLOR_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_COLOR_ARGUMENT_0_INPUT (0x00000004)
#define NV095_COMBINE_1_COLOR_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_COLOR_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_COLOR_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_COLOR_INVERSE_1 8:8
#define NV095_COMBINE_1_COLOR_INVERSE_1_NORMAL (0x00000000)
#define NV095_COMBINE_1_COLOR_INVERSE_1_INVERSE (0x00000001)
#define NV095_COMBINE_1_COLOR_ALPHA_1 9:9
#define NV095_COMBINE_1_COLOR_ALPHA_1_COLOR (0x00000000)
#define NV095_COMBINE_1_COLOR_ALPHA_1_ALPHA (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_1 15:10
#define NV095_COMBINE_1_COLOR_ARGUMENT_1_ZERO (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_1_FACTOR (0x00000002)
#define NV095_COMBINE_1_COLOR_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_COLOR_ARGUMENT_1_INPUT (0x00000004)
#define NV095_COMBINE_1_COLOR_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_COLOR_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_COLOR_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_COLOR_INVERSE_2 16:16
#define NV095_COMBINE_1_COLOR_INVERSE_2_NORMAL (0x00000000)
#define NV095_COMBINE_1_COLOR_INVERSE_2_INVERSE (0x00000001)
#define NV095_COMBINE_1_COLOR_ALPHA_2 17:17
#define NV095_COMBINE_1_COLOR_ALPHA_2_COLOR (0x00000000)
#define NV095_COMBINE_1_COLOR_ALPHA_2_ALPHA (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_2 23:18
#define NV095_COMBINE_1_COLOR_ARGUMENT_2_ZERO (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_2_FACTOR (0x00000002)
#define NV095_COMBINE_1_COLOR_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_COLOR_ARGUMENT_2_INPUT (0x00000004)
#define NV095_COMBINE_1_COLOR_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_COLOR_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_COLOR_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_COLOR_INVERSE_3 24:24
#define NV095_COMBINE_1_COLOR_INVERSE_3_NORMAL (0x00000000)
#define NV095_COMBINE_1_COLOR_INVERSE_3_INVERSE (0x00000001)
#define NV095_COMBINE_1_COLOR_ALPHA_3 25:25
#define NV095_COMBINE_1_COLOR_ALPHA_3_COLOR (0x00000000)
#define NV095_COMBINE_1_COLOR_ALPHA_3_ALPHA (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_3 28:26
#define NV095_COMBINE_1_COLOR_ARGUMENT_3_ZERO (0x00000001)
#define NV095_COMBINE_1_COLOR_ARGUMENT_3_FACTOR (0x00000002)
#define NV095_COMBINE_1_COLOR_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV095_COMBINE_1_COLOR_ARGUMENT_3_INPUT (0x00000004)
#define NV095_COMBINE_1_COLOR_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV095_COMBINE_1_COLOR_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV095_COMBINE_1_COLOR_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV095_COMBINE_1_COLOR_OPERATION 31:29
#define NV095_COMBINE_1_COLOR_OPERATION_ADD (0x00000001)
#define NV095_COMBINE_1_COLOR_OPERATION_ADD2 (0x00000002)
#define NV095_COMBINE_1_COLOR_OPERATION_ADD4 (0x00000003)
#define NV095_COMBINE_1_COLOR_OPERATION_ADDSIGNED (0x00000004)
#define NV095_COMBINE_1_COLOR_OPERATION_MUX (0x00000005)
#define NV095_COMBINE_1_COLOR_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV095_COMBINE_1_COLOR_OPERATION_ADDSIGNED2 (0x00000007)
/* The following NV095_COMBINE_*** defines can be used without regard to the combiner number */
#define NV095_COMBINE_ALPHA_INVERSE_0 0:0
#define NV095_COMBINE_ALPHA_INVERSE_0_NORMAL (0x00000000)
#define NV095_COMBINE_ALPHA_INVERSE_0_INVERSE (0x00000001)
#define NV095_COMBINE_ALPHA_ALPHA_0 1:1
#define NV095_COMBINE_ALPHA_ARGUMENT_0 7:2
#define NV095_COMBINE_ALPHA_ARGUMENT_0_ZERO (0x00000001)
#define NV095_COMBINE_ALPHA_ARGUMENT_0_FACTOR (0x00000002)
#define NV095_COMBINE_ALPHA_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV095_COMBINE_ALPHA_ARGUMENT_0_INPUT (0x00000004)
#define NV095_COMBINE_ALPHA_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV095_COMBINE_ALPHA_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV095_COMBINE_ALPHA_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV095_COMBINE_ALPHA_INVERSE_1 8:8
#define NV095_COMBINE_ALPHA_INVERSE_1_NORMAL (0x00000000)
#define NV095_COMBINE_ALPHA_INVERSE_1_INVERSE (0x00000001)
#define NV095_COMBINE_ALPHA_ALPHA_1 9:9
#define NV095_COMBINE_ALPHA_ARGUMENT_1 15:10
#define NV095_COMBINE_ALPHA_ARGUMENT_1_ZERO (0x00000001)
#define NV095_COMBINE_ALPHA_ARGUMENT_1_FACTOR (0x00000002)
#define NV095_COMBINE_ALPHA_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV095_COMBINE_ALPHA_ARGUMENT_1_INPUT (0x00000004)
#define NV095_COMBINE_ALPHA_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV095_COMBINE_ALPHA_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV095_COMBINE_ALPHA_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV095_COMBINE_ALPHA_INVERSE_2 16:16
#define NV095_COMBINE_ALPHA_INVERSE_2_NORMAL (0x00000000)
#define NV095_COMBINE_ALPHA_INVERSE_2_INVERSE (0x00000001)
#define NV095_COMBINE_ALPHA_ALPHA_2 17:17
#define NV095_COMBINE_ALPHA_ARGUMENT_2 23:18
#define NV095_COMBINE_ALPHA_ARGUMENT_2_ZERO (0x00000001)
#define NV095_COMBINE_ALPHA_ARGUMENT_2_FACTOR (0x00000002)
#define NV095_COMBINE_ALPHA_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV095_COMBINE_ALPHA_ARGUMENT_2_INPUT (0x00000004)
#define NV095_COMBINE_ALPHA_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV095_COMBINE_ALPHA_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV095_COMBINE_ALPHA_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV095_COMBINE_ALPHA_INVERSE_3 24:24
#define NV095_COMBINE_ALPHA_INVERSE_3_NORMAL (0x00000000)
#define NV095_COMBINE_ALPHA_INVERSE_3_INVERSE (0x00000001)
#define NV095_COMBINE_ALPHA_ALPHA_3 25:25
#define NV095_COMBINE_ALPHA_ARGUMENT_3 28:26
#define NV095_COMBINE_ALPHA_ARGUMENT_3_ZERO (0x00000001)
#define NV095_COMBINE_ALPHA_ARGUMENT_3_FACTOR (0x00000002)
#define NV095_COMBINE_ALPHA_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV095_COMBINE_ALPHA_ARGUMENT_3_INPUT (0x00000004)
#define NV095_COMBINE_ALPHA_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV095_COMBINE_ALPHA_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV095_COMBINE_ALPHA_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV095_COMBINE_ALPHA_OPERATION 31:29
#define NV095_COMBINE_ALPHA_OPERATION_ADD (0x00000001)
#define NV095_COMBINE_ALPHA_OPERATION_ADD2 (0x00000002)
#define NV095_COMBINE_ALPHA_OPERATION_ADD4 (0x00000003)
#define NV095_COMBINE_ALPHA_OPERATION_ADDSIGNED (0x00000004)
#define NV095_COMBINE_ALPHA_OPERATION_MUX (0x00000005)
#define NV095_COMBINE_ALPHA_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV095_COMBINE_ALPHA_OPERATION_ADDSIGNED2 (0x00000007)
#define NV095_COMBINE_COLOR_INVERSE_0 0:0
#define NV095_COMBINE_COLOR_INVERSE_0_NORMAL (0x00000000)
#define NV095_COMBINE_COLOR_INVERSE_0_INVERSE (0x00000001)
#define NV095_COMBINE_COLOR_ALPHA_0 1:1
#define NV095_COMBINE_COLOR_ALPHA_0_COLOR (0x00000000)
#define NV095_COMBINE_COLOR_ALPHA_0_ALPHA (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_0 7:2
#define NV095_COMBINE_COLOR_ARGUMENT_0_ZERO (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_0_FACTOR (0x00000002)
#define NV095_COMBINE_COLOR_ARGUMENT_0_DIFFUSE (0x00000003)
#define NV095_COMBINE_COLOR_ARGUMENT_0_INPUT (0x00000004)
#define NV095_COMBINE_COLOR_ARGUMENT_0_TEXTURE0 (0x00000005)
#define NV095_COMBINE_COLOR_ARGUMENT_0_TEXTURE1 (0x00000006)
#define NV095_COMBINE_COLOR_ARGUMENT_0_TEXTURELOD (0x00000007)
#define NV095_COMBINE_COLOR_INVERSE_1 8:8
#define NV095_COMBINE_COLOR_INVERSE_1_NORMAL (0x00000000)
#define NV095_COMBINE_COLOR_INVERSE_1_INVERSE (0x00000001)
#define NV095_COMBINE_COLOR_ALPHA_1 9:9
#define NV095_COMBINE_COLOR_ALPHA_1_COLOR (0x00000000)
#define NV095_COMBINE_COLOR_ALPHA_1_ALPHA (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_1 15:10
#define NV095_COMBINE_COLOR_ARGUMENT_1_ZERO (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_1_FACTOR (0x00000002)
#define NV095_COMBINE_COLOR_ARGUMENT_1_DIFFUSE (0x00000003)
#define NV095_COMBINE_COLOR_ARGUMENT_1_INPUT (0x00000004)
#define NV095_COMBINE_COLOR_ARGUMENT_1_TEXTURE0 (0x00000005)
#define NV095_COMBINE_COLOR_ARGUMENT_1_TEXTURE1 (0x00000006)
#define NV095_COMBINE_COLOR_ARGUMENT_1_TEXTURELOD (0x00000007)
#define NV095_COMBINE_COLOR_INVERSE_2 16:16
#define NV095_COMBINE_COLOR_INVERSE_2_NORMAL (0x00000000)
#define NV095_COMBINE_COLOR_INVERSE_2_INVERSE (0x00000001)
#define NV095_COMBINE_COLOR_ALPHA_2 17:17
#define NV095_COMBINE_COLOR_ALPHA_2_COLOR (0x00000000)
#define NV095_COMBINE_COLOR_ALPHA_2_ALPHA (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_2 23:18
#define NV095_COMBINE_COLOR_ARGUMENT_2_ZERO (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_2_FACTOR (0x00000002)
#define NV095_COMBINE_COLOR_ARGUMENT_2_DIFFUSE (0x00000003)
#define NV095_COMBINE_COLOR_ARGUMENT_2_INPUT (0x00000004)
#define NV095_COMBINE_COLOR_ARGUMENT_2_TEXTURE0 (0x00000005)
#define NV095_COMBINE_COLOR_ARGUMENT_2_TEXTURE1 (0x00000006)
#define NV095_COMBINE_COLOR_ARGUMENT_2_TEXTURELOD (0x00000007)
#define NV095_COMBINE_COLOR_INVERSE_3 24:24
#define NV095_COMBINE_COLOR_INVERSE_3_NORMAL (0x00000000)
#define NV095_COMBINE_COLOR_INVERSE_3_INVERSE (0x00000001)
#define NV095_COMBINE_COLOR_ALPHA_3 25:25
#define NV095_COMBINE_COLOR_ALPHA_3_COLOR (0x00000000)
#define NV095_COMBINE_COLOR_ALPHA_3_ALPHA (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_3 28:26
#define NV095_COMBINE_COLOR_ARGUMENT_3_ZERO (0x00000001)
#define NV095_COMBINE_COLOR_ARGUMENT_3_FACTOR (0x00000002)
#define NV095_COMBINE_COLOR_ARGUMENT_3_DIFFUSE (0x00000003)
#define NV095_COMBINE_COLOR_ARGUMENT_3_INPUT (0x00000004)
#define NV095_COMBINE_COLOR_ARGUMENT_3_TEXTURE0 (0x00000005)
#define NV095_COMBINE_COLOR_ARGUMENT_3_TEXTURE1 (0x00000006)
#define NV095_COMBINE_COLOR_ARGUMENT_3_TEXTURELOD (0x00000007)
#define NV095_COMBINE_COLOR_OPERATION 31:29
#define NV095_COMBINE_COLOR_OPERATION_ADD (0x00000001)
#define NV095_COMBINE_COLOR_OPERATION_ADD2 (0x00000002)
#define NV095_COMBINE_COLOR_OPERATION_ADD4 (0x00000003)
#define NV095_COMBINE_COLOR_OPERATION_ADDSIGNED (0x00000004)
#define NV095_COMBINE_COLOR_OPERATION_MUX (0x00000005)
#define NV095_COMBINE_COLOR_OPERATION_ADDCOMPLEMENT (0x00000006)
#define NV095_COMBINE_COLOR_OPERATION_ADDSIGNED2 (0x00000007)
#define NV095_COMBINE_FACTOR (0x00000334)
#define NV095_COMBINE_FACTOR_BLUE 7:0
#define NV095_COMBINE_FACTOR_GREEN 15:8
#define NV095_COMBINE_FACTOR_RED 23:16
#define NV095_COMBINE_FACTOR_ALPHA 31:24
#define NV095_BLEND (0x00000338)
#define NV095_BLEND_MASK_BIT 5:0
#define NV095_BLEND_MASK_BIT_LSB (0x00000010)
#define NV095_BLEND_MASK_BIT_MSB (0x00000020)
#define NV095_BLEND_SHADEMODE 7:6
#define NV095_BLEND_SHADEMODE_FLAT (0x00000001)
#define NV095_BLEND_SHADEMODE_GOURAUD (0x00000002)
#define NV095_BLEND_SHADEMODE_PHONG (0x00000003)
#define NV095_BLEND_TEXTUREPERSPECTIVE 11:8
#define NV095_BLEND_TEXTUREPERSPECTIVE_FALSE (0x00000000)
#define NV095_BLEND_TEXTUREPERSPECTIVE_TRUE (0x00000001)
#define NV095_BLEND_SPECULARENABLE 15:12
#define NV095_BLEND_SPECULARENABLE_FALSE (0x00000000)
#define NV095_BLEND_SPECULARENABLE_TRUE (0x00000001)
#define NV095_BLEND_FOGENABLE 19:16
#define NV095_BLEND_FOGENABLE_FALSE (0x00000000)
#define NV095_BLEND_FOGENABLE_TRUE (0x00000001)
#define NV095_BLEND_ALPHABLENDENABLE 23:20
#define NV095_BLEND_ALPHABLENDENABLE_FALSE (0x00000000)
#define NV095_BLEND_ALPHABLENDENABLE_TRUE (0x00000001)
#define NV095_BLEND_SRCBLEND 27:24
#define NV095_BLEND_SRCBLEND_ZERO (0x00000001)
#define NV095_BLEND_SRCBLEND_ONE (0x00000002)
#define NV095_BLEND_SRCBLEND_SRCCOLOR (0x00000003)
#define NV095_BLEND_SRCBLEND_INVSRCCOLOR (0x00000004)
#define NV095_BLEND_SRCBLEND_SRCALPHA (0x00000005)
#define NV095_BLEND_SRCBLEND_INVSRCALPHA (0x00000006)
#define NV095_BLEND_SRCBLEND_DESTALPHA (0x00000007)
#define NV095_BLEND_SRCBLEND_INVDESTALPHA (0x00000008)
#define NV095_BLEND_SRCBLEND_DESTCOLOR (0x00000009)
#define NV095_BLEND_SRCBLEND_INVDESTCOLOR (0x0000000A)
#define NV095_BLEND_SRCBLEND_SRCALPHASAT (0x0000000B)
#define NV095_BLEND_DESTBLEND 31:28
#define NV095_BLEND_DESTBLEND_ZERO (0x00000001)
#define NV095_BLEND_DESTBLEND_ONE (0x00000002)
#define NV095_BLEND_DESTBLEND_SRCCOLOR (0x00000003)
#define NV095_BLEND_DESTBLEND_INVSRCCOLOR (0x00000004)
#define NV095_BLEND_DESTBLEND_SRCALPHA (0x00000005)
#define NV095_BLEND_DESTBLEND_INVSRCALPHA (0x00000006)
#define NV095_BLEND_DESTBLEND_DESTALPHA (0x00000007)
#define NV095_BLEND_DESTBLEND_INVDESTALPHA (0x00000008)
#define NV095_BLEND_DESTBLEND_DESTCOLOR (0x00000009)
#define NV095_BLEND_DESTBLEND_INVDESTCOLOR (0x0000000A)
#define NV095_BLEND_DESTBLEND_SRCALPHASAT (0x0000000B)
#define NV095_CONTROL0 (0x0000033C)
#define NV095_CONTROL0_ALPHAREF 7:0
#define NV095_CONTROL0_ALPHAFUNC 11:8
#define NV095_CONTROL0_ALPHAFUNC_NEVER (0x00000001)
#define NV095_CONTROL0_ALPHAFUNC_LESS (0x00000002)
#define NV095_CONTROL0_ALPHAFUNC_EQUAL (0x00000003)
#define NV095_CONTROL0_ALPHAFUNC_LESSEQUAL (0x00000004)
#define NV095_CONTROL0_ALPHAFUNC_GREATER (0x00000005)
#define NV095_CONTROL0_ALPHAFUNC_NOTEQUAL (0x00000006)
#define NV095_CONTROL0_ALPHAFUNC_GREATEREQUAL (0x00000007)
#define NV095_CONTROL0_ALPHAFUNC_ALWAYS (0x00000008)
#define NV095_CONTROL0_ALPHATESTENABLE 12:12
#define NV095_CONTROL0_ALPHATESTENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_ALPHATESTENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_ORIGIN 13:13
#define NV095_CONTROL0_ORIGIN_CENTER (0x00000000)
#define NV095_CONTROL0_ORIGIN_CORNER (0x00000001)
#define NV095_CONTROL0_ZENABLE 15:14
#define NV095_CONTROL0_ZENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_ZENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_ZFUNC 19:16
#define NV095_CONTROL0_ZFUNC_NEVER (0x00000001)
#define NV095_CONTROL0_ZFUNC_LESS (0x00000002)
#define NV095_CONTROL0_ZFUNC_EQUAL (0x00000003)
#define NV095_CONTROL0_ZFUNC_LESSEQUAL (0x00000004)
#define NV095_CONTROL0_ZFUNC_GREATER (0x00000005)
#define NV095_CONTROL0_ZFUNC_NOTEQUAL (0x00000006)
#define NV095_CONTROL0_ZFUNC_GREATEREQUAL (0x00000007)
#define NV095_CONTROL0_ZFUNC_ALWAYS (0x00000008)
#define NV095_CONTROL0_CULLMODE 21:20
#define NV095_CONTROL0_CULLMODE_NONE (0x00000001)
#define NV095_CONTROL0_CULLMODE_CW (0x00000002)
#define NV095_CONTROL0_CULLMODE_CCW (0x00000003)
#define NV095_CONTROL0_DITHERENABLE 22:22
#define NV095_CONTROL0_DITHERENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_DITHERENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_Z_PERSPECTIVE_ENABLE 23:23
#define NV095_CONTROL0_Z_PERSPECTIVE_ENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_Z_PERSPECTIVE_ENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_ZWRITEENABLE 24:24
#define NV095_CONTROL0_ZWRITEENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_ZWRITEENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_STENCIL_WRITE_ENABLE 25:25
#define NV095_CONTROL0_STENCIL_WRITE_ENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_STENCIL_WRITE_ENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_ALPHA_WRITE_ENABLE 26:26
#define NV095_CONTROL0_ALPHA_WRITE_ENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_ALPHA_WRITE_ENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_RED_WRITE_ENABLE 27:27
#define NV095_CONTROL0_RED_WRITE_ENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_RED_WRITE_ENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_GREEN_WRITE_ENABLE 28:28
#define NV095_CONTROL0_GREEN_WRITE_ENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_GREEN_WRITE_ENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_BLUE_WRITE_ENABLE 29:29
#define NV095_CONTROL0_BLUE_WRITE_ENABLE_FALSE (0x00000000)
#define NV095_CONTROL0_BLUE_WRITE_ENABLE_TRUE (0x00000001)
#define NV095_CONTROL0_Z_FORMAT 31:30
#define NV095_CONTROL0_Z_FORMAT_FIXED (0x00000001)
#define NV095_CONTROL0_Z_FORMAT_FLOAT (0x00000002)
#define NV095_CONTROL1 (0x00000340)
#define NV095_CONTROL1_STENCIL_TEST_ENABLE 3:0
#define NV095_CONTROL1_STENCIL_TEST_ENABLE_FALSE (0x00000000)
#define NV095_CONTROL1_STENCIL_TEST_ENABLE_TRUE (0x00000001)
#define NV095_CONTROL1_STENCIL_FUNC 7:4
#define NV095_CONTROL1_STENCIL_FUNC_NEVER (0x00000001)
#define NV095_CONTROL1_STENCIL_FUNC_LESS (0x00000002)
#define NV095_CONTROL1_STENCIL_FUNC_EQUAL (0x00000003)
#define NV095_CONTROL1_STENCIL_FUNC_LESSEQUAL (0x00000004)
#define NV095_CONTROL1_STENCIL_FUNC_GREATER (0x00000005)
#define NV095_CONTROL1_STENCIL_FUNC_NOTEQUAL (0x00000006)
#define NV095_CONTROL1_STENCIL_FUNC_GREATEREQUAL (0x00000007)
#define NV095_CONTROL1_STENCIL_FUNC_ALWAYS (0x00000008)
#define NV095_CONTROL1_STENCIL_REF 15:8
#define NV095_CONTROL1_STENCIL_MASK_READ 23:16
#define NV095_CONTROL1_STENCIL_MASK_WRITE 31:24
#define NV095_CONTROL2 (0x00000344)
#define NV095_CONTROL2_STENCIL_OP_FAIL 3:0
#define NV095_CONTROL2_STENCIL_OP_FAIL_KEEP (0x00000001)
#define NV095_CONTROL2_STENCIL_OP_FAIL_ZERO (0x00000002)
#define NV095_CONTROL2_STENCIL_OP_FAIL_REPLACE (0x00000003)
#define NV095_CONTROL2_STENCIL_OP_FAIL_INCRSAT (0x00000004)
#define NV095_CONTROL2_STENCIL_OP_FAIL_DECRSAT (0x00000005)
#define NV095_CONTROL2_STENCIL_OP_FAIL_INVERT (0x00000006)
#define NV095_CONTROL2_STENCIL_OP_FAIL_INCR (0x00000007)
#define NV095_CONTROL2_STENCIL_OP_FAIL_DECR (0x00000008)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL 7:4
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_KEEP (0x00000001)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_ZERO (0x00000002)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_REPLACE (0x00000003)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_INCRSAT (0x00000004)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_DECRSAT (0x00000005)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_INVERT (0x00000006)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_INCR (0x00000007)
#define NV095_CONTROL2_STENCIL_OP_ZFAIL_DECR (0x00000008)
#define NV095_CONTROL2_STENCIL_OP_ZPASS 31:8
#define NV095_CONTROL2_STENCIL_OP_ZPASS_KEEP (0x00000001)
#define NV095_CONTROL2_STENCIL_OP_ZPASS_ZERO (0x00000002)
#define NV095_CONTROL2_STENCIL_OP_ZPASS_REPLACE (0x00000003)
#define NV095_CONTROL2_STENCIL_OP_ZPASS_INCRSAT (0x00000004)
#define NV095_CONTROL2_STENCIL_OP_ZPASS_DECRSAT (0x00000005)
#define NV095_CONTROL2_STENCIL_OP_ZPASS_INVERT (0x00000006)
#define NV095_CONTROL2_STENCIL_OP_ZPASS_INCR (0x00000007)
#define NV095_CONTROL2_STENCIL_OP_ZPASS_DECR (0x00000008)
#define NV095_FOG_COLOR (0x00000348)
#define NV095_TLMTVERTEX(i) (0x00000400\
+(i)*0x0028)
#define NV095_TLMTVERTEX_SX(i) (0x00000400\
+(i)*0x0028)
#define NV095_TLMTVERTEX_SY(i) (0x00000404\
+(i)*0x0028)
#define NV095_TLMTVERTEX_SZ(i) (0x00000408\
+(i)*0x0028)
#define NV095_TLMTVERTEX_RHW(i) (0x0000040C\
+(i)*0x0028)
#define NV095_TLMTVERTEX_COLOR(i) (0x00000410\
+(i)*0x0028)
#define NV095_TLMTVERTEX_COLOR_BLUE 7:0
#define NV095_TLMTVERTEX_COLOR_GREEN 15:8
#define NV095_TLMTVERTEX_COLOR_RED 23:16
#define NV095_TLMTVERTEX_COLOR_ALPHA 31:24
#define NV095_TLMTVERTEX_SPECULAR(i) (0x00000414\
+(i)*0x0028)
#define NV095_TLMTVERTEX_SPECULAR_BLUE 7:0
#define NV095_TLMTVERTEX_SPECULAR_GREEN 15:8
#define NV095_TLMTVERTEX_SPECULAR_RED 23:16
#define NV095_TLMTVERTEX_SPECULAR_FOG 31:24
#define NV095_TLMTVERTEX_TU0(i) (0x00000418\
+(i)*0x0028)
#define NV095_TLMTVERTEX_TV0(i) (0x0000041C\
+(i)*0x0028)
#define NV095_TLMTVERTEX_TU1(i) (0x00000420\
+(i)*0x0028)
#define NV095_TLMTVERTEX_TV1(i) (0x00000424\
+(i)*0x0028)
#define NV095_DRAW_PRIMITIVE(a) (0x00000540\
+(a)*0x0004)
#define NV095_DRAW_PRIMITIVE_I0 3:0
#define NV095_DRAW_PRIMITIVE_I1 7:4
#define NV095_DRAW_PRIMITIVE_I2 11:8
#define NV095_DRAW_PRIMITIVE_I3 15:12
#define NV095_DRAW_PRIMITIVE_I4 19:16
#define NV095_DRAW_PRIMITIVE_I5 31:20
// This typedef really should be the same as Nv12CelsiusPrimitive, but this
// causes the NV03/NV04_CHANNEL_PIO union to become too large for the 16bit
// compiler. Since we don't expect to use a PIO channel with Celsius, we'll
// just use the old DWORD size typedef.
typedef NvV32 Nv096Typedef;
/* class NV15_CELSIUS_PRIMITIVE */
#define NV15_CELSIUS_PRIMITIVE (0x00000096)
/* NvNotification[] elements */
#define NV096_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV096_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV096_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV096_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV096_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV096_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV096_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
typedef volatile struct {
// system method
NvV32 ctx_Switch;
NvV32 Reserved00[0xfc/4];
NvV32 NoOperation;
NvV32 Notify;
NvV32 SetWarningEnable;
NvV32 GetState;
NvV32 WaitForIdle;
NvV32 Reserved01[0xc/4];
NvV32 SyncSetRead;
NvV32 SyncSetWrite;
NvV32 SyncSetModulo;
NvV32 SyncIncrementWrite;
NvV32 SyncStall;
NvV32 Reserved17[0xc/4];
NvV32 PmTrigger;
NvV32 Reserved02[0x3c/4];
NvV32 SetContextDmaNotifies;
NvV32 SetContextDmaA;
NvV32 SetContextDmaB;
NvV32 SetContextDmaVertex;
NvV32 SetContextDmaState;
NvV32 SetContextDmaColor;
NvV32 SetContextDmaZeta;
NvV32 Reserved03[0x64/4];
NvV32 SetSurfaceClipHorizontal;
NvV32 SetSurfaceClipVertical;
NvV32 SetSurfaceFormat;
NvV32 SetSurfacePitch;
NvU32 SetSurfaceColorOffset;
NvU32 SetSurfaceZetaOffset;
NvU32 SetTextureOffset[2];
NvV32 SetTextureFormat[2];
NvV32 SetTextureControl0[2];
NvV32 SetTextureControl1[2];
NvV32 SetTextureControl2[2];
NvV32 SetTextureImageRect[2];
NvV32 SetTextureFilter[2];
NvV32 SetTexturePalette[2];
NvV32 Reserved04[0x8/4];
NvV32 SetCombinerAlphaICW[2];
NvV32 SetCombinerColorICW[2];
NvV32 SetCombineFactor[2];
NvV32 SetCombinerAlphaOCW[2];
NvV32 SetCombiner0ColorOCW;
NvV32 SetCombiner1ColorOCW;
NvV32 SetCombinerSpecularFogCW0;
NvV32 SetCombinerSpecularFogCW1;
NvV32 SetControl0;
NvV32 SetLightControl;
NvV32 SetColorMaterial;
NvV32 SetFogMode;
NvV32 SetFogGenMode;
NvV32 SetFogEnable;
NvV32 SetFogColor;
NvV32 SetColorKeyColor[2];
NvV32 SetWindowClipType;
NvV32 Reserved05[0x8/4];
NvV32 SetWindowClipHorizontal[8];
NvV32 SetWindowClipVertical[8];
NvV32 SetAlphaTestEnable;
NvV32 SetBlendEnable;
NvV32 SetCullFaceEnable;
NvV32 SetDepthTestEnable;
NvV32 SetDitherEnable;
NvV32 SetLightingEnable;
NvV32 SetPointParamsEnable;
NvV32 SetPointSmoothEnable;
NvV32 SetLineSmoothEnable;
NvV32 SetPolySmoothEnable;
NvV32 SetSkinEnable;
NvV32 SetStencilTestEnable;
NvV32 SetPolyOffsetPointEnable;
NvV32 SetPolyOffsetLineEnable;
NvV32 SetPolyOffsetFillEnable;
NvV32 SetAlphaFunc;
NvV32 SetAlphaRef;
NvV32 SetBlendFuncSfactor;
NvV32 SetBlendFuncDfactor;
NvV32 SetBlendColor;
NvV32 SetBlendEquation;
NvV32 SetDepthFunc;
NvV32 SetColorMask;
NvV32 SetDepthMask;
NvV32 SetStencilMask;
NvV32 SetStencilFunc;
NvV32 SetStencilFuncRef;
NvV32 SetStencilFuncMask;
NvV32 SetStencilOpFail;
NvV32 SetStencilOpZfail;
NvV32 SetStencilOpZpass;
NvV32 SetShadeMode;
NvV32 SetLineWidth;
NvF32 SetPolygonOffsetScaleFactor;
NvF32 SetPolygonOffsetBias;
NvV32 SetFrontPolygonMode;
NvV32 SetBackPolygonMode;
NvF32 SetClipMin;
NvF32 SetClipMax;
NvV32 SetCullFace;
NvV32 SetFrontFace;
NvV32 SetNormalizationEnable;
NvV32 SetMaterialEmission[3];
NvV32 SetMaterialAlpha;
NvV32 SetSpecularEnable;
NvV32 SetLightEnableMask;
struct {
NvV32 S;
NvV32 T;
NvV32 R;
NvV32 Q;
} SetTexgen[2];
NvV32 SetTextureMatrix0Enable;
NvV32 SetTextureMatrix1Enable;
NvV32 SetTLMode;
NvV32 SetPointSize;
NvV32 SetSwathWidth;
NvV32 SetFlatShadeOp;
NvV32 Reserved06[0x8/4];
NvF32 SetModelViewMatrix0[16];
NvF32 SetModelViewMatrix1[16];
NvF32 SetInverseModelViewMatrix0[16];
NvF32 SetInverseModelViewMatrix1[16];
NvF32 SetCompositeMatrix[16];
NvF32 SetTextureMatrix0[16];
NvF32 SetTextureMatrix1[16];
NvV32 Reserved07[0x40/4];
NvF32 SetTexgenSPlane0[4];
NvF32 SetTexgenTPlane0[4];
NvF32 SetTexgenRPlane0[4];
NvF32 SetTexgenQPlane0[4];
NvF32 SetTexgenSPlane1[4];
NvF32 SetTexgenTPlane1[4];
NvF32 SetTexgenRPlane1[4];
NvF32 SetTexgenQPlane1[4];
NvF32 SetFogParams[3];
NvF32 SetFogPlane[4];
NvV32 Reserved08[0x4/4];
NvF32 SetSpecularParams[6];
NvV32 Reserved09[0xc/4];
NvF32 SetSceneAmbientColor[3];
NvV32 Reserved0a[0x18/4];
NvF32 SetViewportOffset[4];
NvF32 SetPointParams[8];
NvF32 SetEyePosition[4];
NvV32 Flush;
NvF32 SetEyeDirectionSW[3];
NvV32 Reserved0b[0xc8/4];
struct {
NvF32 AmbientColor[3];
NvF32 DiffuseColor[3];
NvF32 SpecularColor[3];
NvF32 LocalRange;
NvF32 InfiniteHalfVector[3];
NvF32 InfiniteDirection[3];
NvF32 SpotFalloff[3];
NvF32 SpotDirection[4];
NvF32 LocalPosition[3];
NvF32 LocalAttenuation[3];
NvV32 Reserved0c[0xc/4];
} SetLight[8];
NvF32 SetVertex3f[3];
NvV32 Reserved0d[0xc/4];
NvF32 SetVertex4f[4];
NvS16 SetVertex4s[4];
NvF32 SetNormal3f[3];
NvV32 Reserved0e[0x4/4];
NvS16 SetNormal3s[3];
NvV16 Reserved0f[0xa/2];
NvF32 SetDiffuseColor4f[4];
NvF32 SetDiffuseColor3f[3];
NvV32 SetDiffuseColor4ub;
NvF32 SetSpecularColor4f[4];
NvF32 SetSpecularColor3f[3];
NvV32 SetSpecularColor4ub;
NvF32 SetTexcoord0_2f[2];
NvS16 SetTexcoord0_2s[2];
NvV32 Reserved10[0x4/4];
NvF32 SetTexcoord0_4f[4];
NvS16 SetTexcoord0_4s[4];
NvF32 SetTexcoord1_2f[2];
NvS16 SetTexcoord1_2s[2];
NvV32 Reserved11[0x4/4];
NvF32 SetTexcoord1_4f[4];
NvS16 SetTexcoord1_4s[4];
NvF32 SetFog1f;
NvF32 SetWeight1f;
NvV32 Reserved12[0x4/4];
NvV32 SetEdgeFlag;
NvV32 InvalidateVertexCacheFile;
NvV32 InvalidateVertexFile;
NvV32 TlNop;
NvV32 TlSync;
NvU32 SetVertexArrayOffset;
NvV32 SetVertexArrayFormat;
NvU32 SetDiffuseArrayOffset;
NvV32 SetDiffuseArrayFormat;
NvU32 SetSpecularArrayOffset;
NvV32 SetSpecularArrayFormat;
NvU32 SetTexCoord0ArrayOffset;
NvV32 SetTexCoord0ArrayFormat;
NvU32 SetTexCoord1ArrayOffset;
NvV32 SetTexCoord1ArrayFormat;
NvU32 SetNormalArrayOffset;
NvV32 SetNormalArrayFormat;
NvU32 SetWeightArrayOffset;
NvV32 SetWeightArrayFormat;
NvU32 SetFogArrayOffset;
NvV32 SetFogArrayFormat;
NvV32 Reserved13[0xbc/4];
NvV32 SetBeginEnd;
NvV16 ArrayElement16[256];
NvV32 Reserved14[0xfc/4];
NvV32 SetBeginEnd2;
NvV32 ArrayElement32[64];
NvV32 Reserved15[0x1fc/4];
NvV32 SetBeginEnd3;
NvV32 DrawArrays[128];
NvV32 DebugInit[10];
NvV32 Reserved1628[0x1d4/4];
NvV32 SetBeginEnd4;
NvV32 InlineArray[512];
} Nv12CelsiusPrimitive;
#define NV096_TYPEDEF Nv12CelsiusPrimitive
#define NV096_SET_OBJECT (0x00000000)
#define NV096_DEBUG_INIT(i) (0x00001600+(i)*4)
#define NV096_FLUSH 0x00000728
#define NV096_NO_OPERATION 0x00000100
#define NV096_NOTIFY 0x00000104
#define NV096_NOTIFY_TYPE 23:0
#define NV096_NOTIFY_TYPE_WRITE_ONLY 0x00000000
#define NV096_NOTIFY_TYPE_WRITE_THEN_AWAKEN 0x00000001
#define NV096_SET_WARNING_ENABLE 0x00000108
#define NV096_SET_WARNING_ENABLE_V 23:0
#define NV096_SET_WARNING_ENABLE_V_FALSE 0x00000000
#define NV096_SET_WARNING_ENABLE_V_TRUE 0x00000001
#define NV096_GET_STATE 0x0000010c
#define NV096_GET_STATE_GETSTATE 31:0
#define NV096_GET_STATE_GETSTATE_ALL_STATE 0x00000001
#define NV096_GET_STATE_PUTSTATE_ALL_STATE 0x00000002
#define NV096_GET_STATE_GETSTATE_TRANSFORMLIGHTING_STATE 0x00000003
#define NV096_GET_STATE_GETSTATE_RENDERING_STATE 0x00000004
#define NV096_GET_STATE_GETSTATE_GEOMETRY_STATE 0x00000005
#define NV096_GET_STATE_GETSTATE_SNAPSHOT_PRIM_ASSM 0x00000006
#define NV096_GET_STATE_GETSTATE_RELOAD_PRIM_ASSM 0x00000007
#define NV096_WAIT_FOR_IDLE 0x00000110
#define NV096_SYNC_SET_READ 0x00000120
#define NV096_SYNC_SET_WRITE 0x00000124
#define NV096_SYNC_SET_MODULO 0x00000128
#define NV096_SYNC_INCREMENT_WRITE 0x0000012c
#define NV096_SYNC_STALL 0x00000130
#define NV096_PM_TRIGGER 0x00000140
#define NV096_SET_CONTEXT_DMA_NOTIFIES 0x00000180
#define NV096_SET_CONTEXT_DMA_A 0x00000184
#define NV096_SET_CONTEXT_DMA_B 0x00000188
#define NV096_SET_CONTEXT_DMA_VERTEX 0x0000018c
#define NV096_SET_CONTEXT_DMA_STATE 0x00000190
#define NV096_SET_CONTEXT_DMA_COLOR 0x00000194
#define NV096_SET_CONTEXT_DMA_ZETA 0x00000198
#define NV096_SET_SURFACE_CLIP_HORIZONTAL 0x00000200
#define NV096_SET_SURFACE_CLIP_HORIZONTAL_X 15:0
#define NV096_SET_SURFACE_CLIP_HORIZONTAL_WIDTH 31:16
#define NV096_SET_SURFACE_CLIP_VERTICAL 0x00000204
#define NV096_SET_SURFACE_CLIP_VERTICAL_Y 15:0
#define NV096_SET_SURFACE_CLIP_VERTICAL_HEIGHT 31:16
#define NV096_SET_SURFACE_FORMAT 0x00000208
#define NV096_SET_SURFACE_FORMAT_COLOR 7:0
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 0x00000001
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 0x00000002
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_R5G6B5 0x00000003
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 0x00000004
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 0x00000005
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 0x00000006
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 0x00000007
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_A8R8G8B8 0x00000008
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_B8 0x00000009
#define NV096_SET_SURFACE_FORMAT_COLOR_LE_G8B8 0x0000000A
#define NV096_SET_SURFACE_FORMAT_TYPE 15:8
#define NV096_SET_SURFACE_FORMAT_TYPE_PITCH 0x00000001
#define NV096_SET_SURFACE_FORMAT_TYPE_SWIZZLE 0x00000002
#define NV096_SET_SURFACE_FORMAT_WIDTH 23:16
#define NV096_SET_SURFACE_FORMAT_WIDTH_1 0x00000000
#define NV096_SET_SURFACE_FORMAT_WIDTH_2 0x00000001
#define NV096_SET_SURFACE_FORMAT_WIDTH_4 0x00000002
#define NV096_SET_SURFACE_FORMAT_WIDTH_8 0x00000003
#define NV096_SET_SURFACE_FORMAT_WIDTH_16 0x00000004
#define NV096_SET_SURFACE_FORMAT_WIDTH_32 0x00000005
#define NV096_SET_SURFACE_FORMAT_WIDTH_64 0x00000006
#define NV096_SET_SURFACE_FORMAT_WIDTH_128 0x00000007
#define NV096_SET_SURFACE_FORMAT_WIDTH_256 0x00000008
#define NV096_SET_SURFACE_FORMAT_WIDTH_512 0x00000009
#define NV096_SET_SURFACE_FORMAT_WIDTH_1024 0x0000000A
#define NV096_SET_SURFACE_FORMAT_WIDTH_2048 0x0000000B
#define NV096_SET_SURFACE_FORMAT_HEIGHT 31:24
#define NV096_SET_SURFACE_FORMAT_HEIGHT_1 0x00000000
#define NV096_SET_SURFACE_FORMAT_HEIGHT_2 0x00000001
#define NV096_SET_SURFACE_FORMAT_HEIGHT_4 0x00000002
#define NV096_SET_SURFACE_FORMAT_HEIGHT_8 0x00000003
#define NV096_SET_SURFACE_FORMAT_HEIGHT_16 0x00000004
#define NV096_SET_SURFACE_FORMAT_HEIGHT_32 0x00000005
#define NV096_SET_SURFACE_FORMAT_HEIGHT_64 0x00000006
#define NV096_SET_SURFACE_FORMAT_HEIGHT_128 0x00000007
#define NV096_SET_SURFACE_FORMAT_HEIGHT_256 0x00000008
#define NV096_SET_SURFACE_FORMAT_HEIGHT_512 0x00000009
#define NV096_SET_SURFACE_FORMAT_HEIGHT_1024 0x0000000A
#define NV096_SET_SURFACE_FORMAT_HEIGHT_2048 0x0000000B
#define NV096_SET_SURFACE_PITCH 0x0000020c
#define NV096_SET_SURFACE_PITCH_COLOR 15:0
#define NV096_SET_SURFACE_PITCH_ZETA 31:16
#define NV096_SET_SURFACE_COLOR_OFFSET 0x00000210
#define NV096_SET_SURFACE_COLOR_OFFSET_V 31:0
#define NV096_SET_SURFACE_ZETA_OFFSET 0x00000214
#define NV096_SET_SURFACE_ZETA_OFFSET_V 31:0
#define NV096_SET_TEXTURE_OFFSET(i) (0x00000218+(i)*4)
#define NV096_SET_TEXTURE_OFFSET_V 31:0
#define NV096_SET_TEXTURE_FORMAT(i) (0x00000220+(i)*4)
#define NV096_SET_TEXTURE_FORMAT_CONTEXT_DMA 1:0
#define NV096_SET_TEXTURE_FORMAT_CONTEXT_DMA_A 0x00000001
#define NV096_SET_TEXTURE_FORMAT_CONTEXT_DMA_B 0x00000002
#define NV096_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE 2:2
#define NV096_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_FALSE 0x00000000
#define NV096_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_TRUE 0x00000001
#define NV096_SET_TEXTURE_FORMAT_ORIGIN_ZOH 4:3
#define NV096_SET_TEXTURE_FORMAT_ORIGIN_ZOH_CENTER 0x00000001
#define NV096_SET_TEXTURE_FORMAT_ORIGIN_ZOH_CORNER 0x00000002
#define NV096_SET_TEXTURE_FORMAT_ORIGIN_FOH 6:5
#define NV096_SET_TEXTURE_FORMAT_ORIGIN_FOH_CENTER 0x00000001
#define NV096_SET_TEXTURE_FORMAT_ORIGIN_FOH_CORNER 0x00000002
#define NV096_SET_TEXTURE_FORMAT_COLOR 11:7
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_Y8 0x00000000
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_AY8 0x00000001
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_A1R5G5B5 0x00000002
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_X1R5G5B5 0x00000003
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_A4R4G4B4 0x00000004
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_R5G6B5 0x00000005
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_A8R8G8B8 0x00000006
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_X8R8G8B8 0x00000007
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_I8_A1R5G5B5 0x00000008
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_I8_R5G6B5 0x00000009
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_I8_A4R4G4B4 0x0000000A
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_I8_A8R8G8B8 0x0000000B
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_DXT1_A1R5G5B5 0x0000000C
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_DXT23_A8R8G8B8 0x0000000E
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_DXT45_A8R8G8B8 0x0000000F
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_A1R5G5B5 0x00000010
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_R5G6B5 0x00000011
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_A8R8G8B8 0x00000012
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_Y8 0x00000013
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_SY8 0x00000014
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_X7SY9 0x00000015
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_R8B8 0x00000016
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_G8B8 0x00000017
#define NV096_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_SG8SB8 0x00000018
#define NV096_SET_TEXTURE_FORMAT_MIPMAP_LEVELS 15:12
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U 19:16
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_1 0x00000000
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_2 0x00000001
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_4 0x00000002
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_8 0x00000003
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_16 0x00000004
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_32 0x00000005
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_64 0x00000006
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_128 0x00000007
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_256 0x00000008
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_512 0x00000009
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_1024 0x0000000A
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_U_2048 0x0000000B
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V 23:20
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_1 0x00000000
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_2 0x00000001
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_4 0x00000002
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_8 0x00000003
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_16 0x00000004
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_32 0x00000005
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_64 0x00000006
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_128 0x00000007
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_256 0x00000008
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_512 0x00000009
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_1024 0x0000000A
#define NV096_SET_TEXTURE_FORMAT_BASE_SIZE_V_2048 0x0000000B
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSU 26:24
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_WRAP 0x00000001
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_MIRROR 0x00000002
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_CLAMP 0x00000003
#define NV096_SET_TEXTURE_FORMAT_WRAPU 27:27
#define NV096_SET_TEXTURE_FORMAT_WRAPU_FALSE 0x00000000
#define NV096_SET_TEXTURE_FORMAT_WRAPU_TRUE 0x00000001
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSV 30:28
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_WRAP 0x00000001
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_MIRROR 0x00000002
#define NV096_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_CLAMP 0x00000003
#define NV096_SET_TEXTURE_FORMAT_WRAPV 31:31
#define NV096_SET_TEXTURE_FORMAT_WRAPV_FALSE 0x00000000
#define NV096_SET_TEXTURE_FORMAT_WRAPV_TRUE 0x00000001
#define NV096_SET_TEXTURE_CONTROL0(i) (0x00000228+(i)*4)
#define NV096_SET_TEXTURE_CONTROL0_ENABLE 30:30
#define NV096_SET_TEXTURE_CONTROL0_ENABLE_FALSE 0x00000000
#define NV096_SET_TEXTURE_CONTROL0_ENABLE_TRUE 0x00000001
#define NV096_SET_TEXTURE_CONTROL0_MIN_LOD_CLAMP 29:18
#define NV096_SET_TEXTURE_CONTROL0_MAX_LOD_CLAMP 17:6
#define NV096_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO 5:4
#define NV096_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_0 0x00000000
#define NV096_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_1 0x00000001
#define NV096_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE 3:3
#define NV096_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_FALSE 0x00000000
#define NV096_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_TRUE 0x00000001
#define NV096_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE 2:2
#define NV096_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_FALSE 0x00000000
#define NV096_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_TRUE 0x00000001
#define NV096_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION 1:0
#define NV096_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_FALSE 0x00000000
#define NV096_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_ALPHA 0x00000001
#define NV096_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_RGBA 0x00000002
#define NV096_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_KILL 0x00000003
#define NV096_SET_TEXTURE_CONTROL1(i) (0x00000230+(i)*4)
#define NV096_SET_TEXTURE_CONTROL1_IMAGE_PITCH 31:16
#define NV096_SET_TEXTURE_CONTROL1_ZERO 15:0
#define NV096_SET_TEXTURE_CONTROL2(i) (0x00000238+(i)*4)
#define NV096_SET_TEXTURE_CONTROL2_PERTURB_DU 11:0
#define NV096_SET_TEXTURE_CONTROL2_PERTURB_DV 23:12
#define NV096_SET_TEXTURE_CONTROL2_IMAGE_LODF 31:24
#define NV096_SET_TEXTURE_IMAGE_RECT(i) (0x00000240+(i)*4)
#define NV096_SET_TEXTURE_IMAGE_RECT_WIDTH 31:16
#define NV096_SET_TEXTURE_IMAGE_RECT_HEIGHT 15:0
#define NV096_SET_TEXTURE_FILTER(i) (0x00000248+(i)*4)
#define NV096_SET_TEXTURE_FILTER_MIPMAPLODBIAS 23:0
#define NV096_SET_TEXTURE_FILTER_TEXTUREMIN 27:24
#define NV096_SET_TEXTURE_FILTER_TEXTUREMIN_NEAREST 0x00000001
#define NV096_SET_TEXTURE_FILTER_TEXTUREMIN_LINEAR 0x00000002
#define NV096_SET_TEXTURE_FILTER_TEXTUREMIN_MIPNEAREST 0x00000003
#define NV096_SET_TEXTURE_FILTER_TEXTUREMIN_MIPLINEAR 0x00000004
#define NV096_SET_TEXTURE_FILTER_TEXTUREMIN_LINEARMIPNEAREST 0x00000005
#define NV096_SET_TEXTURE_FILTER_TEXTUREMIN_LINEARMIPLINEAR 0x00000006
#define NV096_SET_TEXTURE_FILTER_TEXTUREMAG 31:28
#define NV096_SET_TEXTURE_FILTER_TEXTUREMAG_NEAREST 0x00000001
#define NV096_SET_TEXTURE_FILTER_TEXTUREMAG_LINEAR 0x00000002
#define NV096_SET_TEXTURE_PALETTE(i) (0x00000250+(i)*4)
#define NV096_SET_TEXTURE_PALETTE_CONTEXT_DMA 5:0
#define NV096_SET_TEXTURE_PALETTE_CONTEXT_DMA_A 0x00000000
#define NV096_SET_TEXTURE_PALETTE_CONTEXT_DMA_B 0x00000001
#define NV096_SET_TEXTURE_PALETTE_PALETTE_OFFSET 31:6
#define NV096_SET_COMBINER_ALPHA_ICW(i) (0x00000260+(i)*4)
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP 31:29
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_ALPHA_ICW_A_ALPHA 28:28
#define NV096_SET_COMBINER_ALPHA_ICW_A_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_A_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE 27:24
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP 23:21
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_ALPHA_ICW_B_ALPHA 20:20
#define NV096_SET_COMBINER_ALPHA_ICW_B_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_B_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE 19:16
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP 15:13
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_ALPHA_ICW_C_ALPHA 12:12
#define NV096_SET_COMBINER_ALPHA_ICW_C_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_C_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE 11:8
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP 7:5
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_ALPHA_ICW_D_ALPHA 4:4
#define NV096_SET_COMBINER_ALPHA_ICW_D_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_D_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE 3:0
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_COLOR_ICW(i) (0x00000268+(i)*4)
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP 31:29
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_COLOR_ICW_A_ALPHA 28:28
#define NV096_SET_COMBINER_COLOR_ICW_A_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_A_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE 27:24
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP 23:21
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_COLOR_ICW_B_ALPHA 20:20
#define NV096_SET_COMBINER_COLOR_ICW_B_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_B_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE 19:16
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP 15:13
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_COLOR_ICW_C_ALPHA 12:12
#define NV096_SET_COMBINER_COLOR_ICW_C_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_C_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE 11:8
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP 7:5
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV096_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV096_SET_COMBINER_COLOR_ICW_D_ALPHA 4:4
#define NV096_SET_COMBINER_COLOR_ICW_D_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_D_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE 3:0
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINE_FACTOR(i) (0x00000270+(i)*4)
#define NV096_SET_COMBINE_FACTOR_BLUE 7:0
#define NV096_SET_COMBINE_FACTOR_GREEN 15:8
#define NV096_SET_COMBINE_FACTOR_RED 23:16
#define NV096_SET_COMBINE_FACTOR_ALPHA 31:24
#define NV096_SET_COMBINER_ALPHA_OCW(i) (0x00000278+(i)*4)
#define NV096_SET_COMBINER_ALPHA_OCW_OPERATION 31:15
#define NV096_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT 0x00000000
#define NV096_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV096_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV096_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV096_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV096_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV096_SET_COMBINER_ALPHA_OCW_MUX_ENABLE 14:14
#define NV096_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV096_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST 11:8
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_0 0x00000000
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_4 0x00000004
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_5 0x00000005
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_8 0x00000008
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_9 0x00000009
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST 7:4
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST_REG_0 0x00000000
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST_REG_4 0x00000004
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST_REG_5 0x00000005
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST_REG_8 0x00000008
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST_REG_9 0x00000009
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER_ALPHA_OCW_AB_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST 3:0
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST_REG_0 0x00000000
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST_REG_4 0x00000004
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST_REG_5 0x00000005
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST_REG_8 0x00000008
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST_REG_9 0x00000009
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER_ALPHA_OCW_CD_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER0_COLOR_OCW 0x00000280
#define NV096_SET_COMBINER0_COLOR_OCW_ZERO 31:27
#define NV096_SET_COMBINER0_COLOR_OCW_OPERATION 26:15
#define NV096_SET_COMBINER0_COLOR_OCW_OPERATION_NOSHIFT 0x00000000
#define NV096_SET_COMBINER0_COLOR_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV096_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV096_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV096_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV096_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV096_SET_COMBINER0_COLOR_OCW_MUX_ENABLE 14:14
#define NV096_SET_COMBINER0_COLOR_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV096_SET_COMBINER0_COLOR_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE 13:13
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE_FALSE 0x00000000
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE_TRUE 0x00000001
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE 12:12
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE_FALSE 0x00000000
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE_TRUE 0x00000001
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST 11:8
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_0 0x00000000
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_4 0x00000004
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_5 0x00000005
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_8 0x00000008
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_9 0x00000009
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST 7:4
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST_REG_0 0x00000000
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST_REG_4 0x00000004
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST_REG_5 0x00000005
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST_REG_8 0x00000008
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST_REG_9 0x00000009
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER0_COLOR_OCW_AB_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST 3:0
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST_REG_0 0x00000000
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST_REG_4 0x00000004
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST_REG_5 0x00000005
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST_REG_8 0x00000008
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST_REG_9 0x00000009
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER0_COLOR_OCW_CD_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER1_COLOR_OCW 0x00000284
#define NV096_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT 31:28
#define NV096_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT_ONE 0x00000001
#define NV096_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT_TWO 0x00000002
#define NV096_SET_COMBINER1_COLOR_OCW_MUX_SELECT 27:27
#define NV096_SET_COMBINER1_COLOR_OCW_MUX_SELECT_LSB 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_MUX_SELECT_MSB 0x00000001
#define NV096_SET_COMBINER1_COLOR_OCW_OPERATION 26:15
#define NV096_SET_COMBINER1_COLOR_OCW_OPERATION_NOSHIFT 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV096_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV096_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV096_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV096_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV096_SET_COMBINER1_COLOR_OCW_MUX_ENABLE 14:14
#define NV096_SET_COMBINER1_COLOR_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE 13:13
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE_FALSE 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE_TRUE 0x00000001
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE 12:12
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE_FALSE 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE_TRUE 0x00000001
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST 11:8
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_0 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_4 0x00000004
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_5 0x00000005
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_8 0x00000008
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_9 0x00000009
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST 7:4
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST_REG_0 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST_REG_4 0x00000004
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST_REG_5 0x00000005
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST_REG_8 0x00000008
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST_REG_9 0x00000009
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER1_COLOR_OCW_AB_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST 3:0
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST_REG_0 0x00000000
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST_REG_4 0x00000004
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST_REG_5 0x00000005
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST_REG_8 0x00000008
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST_REG_9 0x00000009
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST_REG_C 0x0000000C
#define NV096_SET_COMBINER1_COLOR_OCW_CD_DST_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0 0x00000288
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE 31:29
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA 28:28
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE 27:24
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_SPECLIT 0x0000000E
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_EF_PROD 0x0000000F
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE 23:21
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA 20:20
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE 19:16
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_SPECLIT 0x0000000E
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_EF_PROD 0x0000000F
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE 15:13
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA 12:12
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE 11:8
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_SPECLIT 0x0000000E
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_EF_PROD 0x0000000F
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE 7:5
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA 4:4
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE 3:0
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_SPECLIT 0x0000000E
#define NV096_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_EF_PROD 0x0000000F
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1 0x0000028c
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE 31:29
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA 28:28
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE 27:24
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE 23:21
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA 20:20
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE 19:16
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE 15:13
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA 12:12
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE 11:8
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_0 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_1 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_2 0x00000002
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_3 0x00000003
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_4 0x00000004
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_5 0x00000005
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_8 0x00000008
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_9 0x00000009
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_C 0x0000000C
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_D 0x0000000D
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP 7:7
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5 6:6
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_TRUE 0x00000001
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12 5:0
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_FALSE 0x00000000
#define NV096_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_TRUE 0x00000020
#define NV096_SET_CONTROL0 0x00000290
#define NV096_SET_CONTROL0_PREMULTIPLIEDALPHA 31:24
#define NV096_SET_CONTROL0_PREMULTIPLIEDALPHA_FALSE 0x00000000
#define NV096_SET_CONTROL0_PREMULTIPLIEDALPHA_TRUE 0x00000001
#define NV096_SET_CONTROL0_TEXTUREPERSPECTIVE 23:20
#define NV096_SET_CONTROL0_TEXTUREPERSPECTIVE_FALSE 0x00000000
#define NV096_SET_CONTROL0_TEXTUREPERSPECTIVE_TRUE 0x00000001
#define NV096_SET_CONTROL0_Z_PERSPECTIVE_ENABLE 19:16
#define NV096_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_FALSE 0x00000000
#define NV096_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_TRUE 0x00000001
#define NV096_SET_CONTROL0_Z_FORMAT 15:12
#define NV096_SET_CONTROL0_Z_FORMAT_FIXED 0x00000000
#define NV096_SET_CONTROL0_Z_FORMAT_FLOAT 0x00000001
#define NV096_SET_CONTROL0_WBUFFER_SELECT 11:8
#define NV096_SET_CONTROL0_WBUFFER_SELECT_0 0x00000000
#define NV096_SET_CONTROL0_WBUFFER_SELECT_1 0x00000001
#define NV096_SET_CONTROL0_STENCIL_WRITE_ENABLE 7:0
#define NV096_SET_CONTROL0_STENCIL_WRITE_ENABLE_FALSE 0x00000000
#define NV096_SET_CONTROL0_STENCIL_WRITE_ENABLE_TRUE 0x00000001
#define NV096_SET_LIGHT_CONTROL 0x00000294
#define NV096_SET_LIGHT_CONTROL_LOCALEYE 31:16
#define NV096_SET_LIGHT_CONTROL_LOCALEYE_FALSE 0x00000000
#define NV096_SET_LIGHT_CONTROL_LOCALEYE_TRUE 0x00000001
#define NV096_SET_LIGHT_CONTROL_ATTENUATION_MODE 15:2
#define NV096_SET_LIGHT_CONTROL_ATTENUATION_MODE_INVERT 0x00000000
#define NV096_SET_LIGHT_CONTROL_ATTENUATION_MODE_NOT_INVERT 0x00000001
#define NV096_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN 1:1
#define NV096_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_FALSE 0x00000000
#define NV096_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_TRUE 0x00000001
#define NV096_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN 0:0
#define NV096_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN_FALSE 0x00000000
#define NV096_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN_TRUE 0x00000001
#define NV096_SET_COLOR_MATERIAL 0x00000298
#define NV096_SET_COLOR_MATERIAL_V 31:0
#define NV096_SET_COLOR_MATERIAL_V_DISABLED 0x00000000
#define NV096_SET_COLOR_MATERIAL_V_EMISSION 0x00000001
#define NV096_SET_COLOR_MATERIAL_V_AMBIENT 0x00000002
#define NV096_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT 0x00000003
#define NV096_SET_COLOR_MATERIAL_V_DIFFUSE 0x00000004
#define NV096_SET_COLOR_MATERIAL_V_EMISSION_DIFFUSE 0x00000005
#define NV096_SET_COLOR_MATERIAL_V_AMBIENT_DIFFUSE 0x00000006
#define NV096_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_DIFFUSE 0x00000007
#define NV096_SET_COLOR_MATERIAL_V_SPECULAR 0x00000008
#define NV096_SET_COLOR_MATERIAL_V_EMISSION_SPECULAR 0x00000009
#define NV096_SET_COLOR_MATERIAL_V_AMBIENT_SPECULAR 0x0000000A
#define NV096_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_SPECULAR 0x0000000B
#define NV096_SET_COLOR_MATERIAL_V_DIFFUSE_SPECULAR 0x0000000C
#define NV096_SET_COLOR_MATERIAL_V_EMISSION_DIFFUSE_SPECULAR 0x0000000D
#define NV096_SET_COLOR_MATERIAL_V_AMBIENT_DIFFUSE_SPECULAR 0x0000000E
#define NV096_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_DIFFUSE_SPECULAR 0x0000000F
#define NV096_SET_FOG_MODE 0x0000029c
#define NV096_SET_FOG_MODE_FOG_MODE 31:0
#define NV096_SET_FOG_MODE_FOG_MODE_LINEAR 0x00002601
#define NV096_SET_FOG_MODE_FOG_MODE_EXP 0x00000800
#define NV096_SET_FOG_MODE_FOG_MODE_EXP2 0x00000801
#define NV096_SET_FOG_MODE_FOG_MODE_EXP_ABS 0x00000802
#define NV096_SET_FOG_MODE_FOG_MODE_EXP2_ABS 0x00000803
#define NV096_SET_FOG_GEN_MODE 0x000002a0
#define NV096_SET_FOG_GEN_MODE_FOG_GEN_MODE 31:0
#define NV096_SET_FOG_GEN_MODE_FOG_GEN_MODE_USE_INPUT 0x00000000
#define NV096_SET_FOG_GEN_MODE_FOG_GEN_MODE_RADIAL 0x00000001
#define NV096_SET_FOG_GEN_MODE_FOG_GEN_MODE_PLANAR 0x00000002
#define NV096_SET_FOG_GEN_MODE_FOG_GEN_MODE_ABS_PLANAR 0x00000003
#define NV096_SET_FOG_ENABLE 0x000002a4
#define NV096_SET_FOG_ENABLE_V 31:0
#define NV096_SET_FOG_ENABLE_V_FALSE 0x00000000
#define NV096_SET_FOG_ENABLE_V_TRUE 0x00000001
#define NV096_SET_FOG_COLOR 0x000002a8
#define NV096_SET_FOG_COLOR_FOG_COLOR_RED 7:0
#define NV096_SET_FOG_COLOR_FOG_COLOR_GREEN 15:8
#define NV096_SET_FOG_COLOR_FOG_COLOR_BLUE 23:16
#define NV096_SET_FOG_COLOR_FOG_COLOR_ALPHA 31:24
#define NV096_SET_COLOR_KEY_COLOR(i) (0x000002ac+(i)*4)
#define NV096_SET_COLOR_KEY_COLOR_V 31:0
#define NV096_SET_WINDOW_CLIP_TYPE 0x000002b4
#define NV096_SET_WINDOW_CLIP_TYPE_V 31:0
#define NV096_SET_WINDOW_CLIP_TYPE_V_INCLUSIVE 0x00000000
#define NV096_SET_WINDOW_CLIP_TYPE_V_EXCLUSIVE 0x00000001
#define NV096_SET_WINDOW_CLIP_HORIZONTAL(i) (0x000002c0+(i)*4)
#define NV096_SET_WINDOW_CLIP_HORIZONTAL_XMIN 15:0
#define NV096_SET_WINDOW_CLIP_HORIZONTAL_XMAX 31:16
#define NV096_SET_WINDOW_CLIP_VERTICAL(i) (0x000002e0+(i)*4)
#define NV096_SET_WINDOW_CLIP_VERTICAL_YMIN 15:0
#define NV096_SET_WINDOW_CLIP_VERTICAL_YMAX 31:16
#define NV096_SET_ALPHA_TEST_ENABLE 0x00000300
#define NV096_SET_ALPHA_TEST_ENABLE_V 31:0
#define NV096_SET_ALPHA_TEST_ENABLE_V_FALSE 0x00000000
#define NV096_SET_ALPHA_TEST_ENABLE_V_TRUE 0x00000001
#define NV096_SET_BLEND_ENABLE 0x00000304
#define NV096_SET_BLEND_ENABLE_V 31:0
#define NV096_SET_BLEND_ENABLE_V_FALSE 0x00000000
#define NV096_SET_BLEND_ENABLE_V_TRUE 0x00000001
#define NV096_SET_CULL_FACE_ENABLE 0x00000308
#define NV096_SET_CULL_FACE_ENABLE_V 31:0
#define NV096_SET_CULL_FACE_ENABLE_V_FALSE 0x00000000
#define NV096_SET_CULL_FACE_ENABLE_V_TRUE 0x00000001
#define NV096_SET_DEPTH_TEST_ENABLE 0x0000030c
#define NV096_SET_DEPTH_TEST_ENABLE_V 31:0
#define NV096_SET_DEPTH_TEST_ENABLE_V_FALSE 0x00000000
#define NV096_SET_DEPTH_TEST_ENABLE_V_TRUE 0x00000001
#define NV096_SET_DITHER_ENABLE 0x00000310
#define NV096_SET_DITHER_ENABLE_V 31:0
#define NV096_SET_DITHER_ENABLE_V_FALSE 0x00000000
#define NV096_SET_DITHER_ENABLE_V_TRUE 0x00000001
#define NV096_SET_LIGHTING_ENABLE 0x00000314
#define NV096_SET_LIGHTING_ENABLE_V 31:0
#define NV096_SET_LIGHTING_ENABLE_V_FALSE 0x00000000
#define NV096_SET_LIGHTING_ENABLE_V_TRUE 0x00000001
#define NV096_SET_POINT_PARAMS_ENABLE 0x00000318
#define NV096_SET_POINT_PARAMS_ENABLE_V 31:0
#define NV096_SET_POINT_PARAMS_ENABLE_V_FALSE 0x00000000
#define NV096_SET_POINT_PARAMS_ENABLE_V_TRUE 0x00000001
#define NV096_SET_POINT_SMOOTH_ENABLE 0x0000031c
#define NV096_SET_POINT_SMOOTH_ENABLE_V 31:0
#define NV096_SET_POINT_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV096_SET_POINT_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV096_SET_LINE_SMOOTH_ENABLE 0x00000320
#define NV096_SET_LINE_SMOOTH_ENABLE_V 31:0
#define NV096_SET_LINE_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV096_SET_LINE_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV096_SET_POLY_SMOOTH_ENABLE 0x00000324
#define NV096_SET_POLY_SMOOTH_ENABLE_V 31:0
#define NV096_SET_POLY_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV096_SET_POLY_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV096_SET_SKIN_ENABLE 0x00000328
#define NV096_SET_SKIN_ENABLE_V 31:0
#define NV096_SET_SKIN_ENABLE_V_FALSE 0x00000000
#define NV096_SET_SKIN_ENABLE_V_TRUE 0x00000001
#define NV096_SET_STENCIL_TEST_ENABLE 0x0000032c
#define NV096_SET_STENCIL_TEST_ENABLE_V 31:0
#define NV096_SET_STENCIL_TEST_ENABLE_V_FALSE 0x00000000
#define NV096_SET_STENCIL_TEST_ENABLE_V_TRUE 0x00000001
#define NV096_SET_POLY_OFFSET_POINT_ENABLE 0x00000330
#define NV096_SET_POLY_OFFSET_POINT_ENABLE_V 31:0
#define NV096_SET_POLY_OFFSET_POINT_ENABLE_V_FALSE 0x00000000
#define NV096_SET_POLY_OFFSET_POINT_ENABLE_V_TRUE 0x00000001
#define NV096_SET_POLY_OFFSET_LINE_ENABLE 0x00000334
#define NV096_SET_POLY_OFFSET_LINE_ENABLE_V 31:0
#define NV096_SET_POLY_OFFSET_LINE_ENABLE_V_FALSE 0x00000000
#define NV096_SET_POLY_OFFSET_LINE_ENABLE_V_TRUE 0x00000001
#define NV096_SET_POLY_OFFSET_FILL_ENABLE 0x00000338
#define NV096_SET_POLY_OFFSET_FILL_ENABLE_V 31:0
#define NV096_SET_POLY_OFFSET_FILL_ENABLE_V_FALSE 0x00000000
#define NV096_SET_POLY_OFFSET_FILL_ENABLE_V_TRUE 0x00000001
#define NV096_SET_ALPHA_FUNC 0x0000033c
#define NV096_SET_ALPHA_FUNC_V 31:0
#define NV096_SET_ALPHA_FUNC_V_NEVER 0x00000200
#define NV096_SET_ALPHA_FUNC_V_LESS 0x00000201
#define NV096_SET_ALPHA_FUNC_V_EQUAL 0x00000202
#define NV096_SET_ALPHA_FUNC_V_LEQUAL 0x00000203
#define NV096_SET_ALPHA_FUNC_V_GREATER 0x00000204
#define NV096_SET_ALPHA_FUNC_V_NOTEQUAL 0x00000205
#define NV096_SET_ALPHA_FUNC_V_GEQUAL 0x00000206
#define NV096_SET_ALPHA_FUNC_V_ALWAYS 0x00000207
#define NV096_SET_ALPHA_REF 0x00000340
#define NV096_SET_BLEND_FUNC_SFACTOR 0x00000344
#define NV096_SET_BLEND_FUNC_SFACTOR_V 31:0
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ZERO 0x00000000
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ONE 0x00000001
#define NV096_SET_BLEND_FUNC_SFACTOR_V_SRC_COLOR 0x00000300
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV096_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA 0x00000302
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV096_SET_BLEND_FUNC_SFACTOR_V_DST_ALPHA 0x00000304
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV096_SET_BLEND_FUNC_SFACTOR_V_DST_COLOR 0x00000306
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV096_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA_SATURATE 0x00000308
#define NV096_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV096_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV096_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV096_SET_BLEND_FUNC_DFACTOR 0x00000348
#define NV096_SET_BLEND_FUNC_DFACTOR_V 31:0
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ZERO 0x00000000
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ONE 0x00000001
#define NV096_SET_BLEND_FUNC_DFACTOR_V_SRC_COLOR 0x00000300
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV096_SET_BLEND_FUNC_DFACTOR_V_SRC_ALPHA 0x00000302
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV096_SET_BLEND_FUNC_DFACTOR_V_DST_ALPHA 0x00000304
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV096_SET_BLEND_FUNC_DFACTOR_V_DST_COLOR 0x00000306
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV096_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV096_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV096_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV096_SET_BLEND_COLOR 0x0000034c
#define NV096_SET_BLEND_COLOR_V 31:0
#define NV096_SET_BLEND_EQUATION 0x00000350
#define NV096_SET_BLEND_EQUATION_V 31:0
#define NV096_SET_BLEND_EQUATION_V_FUNC_SUBTRACT 0x0000800A
#define NV096_SET_BLEND_EQUATION_V_FUNC_REVERSE_SUBTRACT 0x0000800B
#define NV096_SET_BLEND_EQUATION_V_FUNC_ADD 0x00008006
#define NV096_SET_BLEND_EQUATION_V_MIN 0x00008007
#define NV096_SET_BLEND_EQUATION_V_MAX 0x00008008
#define NV096_SET_DEPTH_FUNC 0x00000354
#define NV096_SET_DEPTH_FUNC_V 31:0
#define NV096_SET_DEPTH_FUNC_V_NEVER 0x00000200
#define NV096_SET_DEPTH_FUNC_V_LESS 0x00000201
#define NV096_SET_DEPTH_FUNC_V_EQUAL 0x00000202
#define NV096_SET_DEPTH_FUNC_V_LEQUAL 0x00000203
#define NV096_SET_DEPTH_FUNC_V_GREATER 0x00000204
#define NV096_SET_DEPTH_FUNC_V_NOTEQUAL 0x00000205
#define NV096_SET_DEPTH_FUNC_V_GEQUAL 0x00000206
#define NV096_SET_DEPTH_FUNC_V_ALWAYS 0x00000207
#define NV096_SET_COLOR_MASK 0x00000358
#define NV096_SET_COLOR_MASK_ALPHA_WRITE_ENABLE 31:24
#define NV096_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_FALSE 0x00000000
#define NV096_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_TRUE 0x00000001
#define NV096_SET_COLOR_MASK_RED_WRITE_ENABLE 23:16
#define NV096_SET_COLOR_MASK_RED_WRITE_ENABLE_FALSE 0x00000000
#define NV096_SET_COLOR_MASK_RED_WRITE_ENABLE_TRUE 0x00000001
#define NV096_SET_COLOR_MASK_GREEN_WRITE_ENABLE 15:8
#define NV096_SET_COLOR_MASK_GREEN_WRITE_ENABLE_FALSE 0x00000000
#define NV096_SET_COLOR_MASK_GREEN_WRITE_ENABLE_TRUE 0x00000001
#define NV096_SET_COLOR_MASK_BLUE_WRITE_ENABLE 7:0
#define NV096_SET_COLOR_MASK_BLUE_WRITE_ENABLE_FALSE 0x00000000
#define NV096_SET_COLOR_MASK_BLUE_WRITE_ENABLE_TRUE 0x00000001
#define NV096_SET_DEPTH_MASK 0x0000035c
#define NV096_SET_DEPTH_MASK_V 31:0
#define NV096_SET_DEPTH_MASK_V_FALSE 0x00000000
#define NV096_SET_DEPTH_MASK_V_TRUE 0x00000001
#define NV096_SET_STENCIL_MASK 0x00000360
#define NV096_SET_STENCIL_MASK_V 31:0
#define NV096_SET_STENCIL_FUNC 0x00000364
#define NV096_SET_STENCIL_FUNC_V 31:0
#define NV096_SET_STENCIL_FUNC_V_NEVER 0x00000200
#define NV096_SET_STENCIL_FUNC_V_LESS 0x00000201
#define NV096_SET_STENCIL_FUNC_V_EQUAL 0x00000202
#define NV096_SET_STENCIL_FUNC_V_LEQUAL 0x00000203
#define NV096_SET_STENCIL_FUNC_V_GREATER 0x00000204
#define NV096_SET_STENCIL_FUNC_V_NOTEQUAL 0x00000205
#define NV096_SET_STENCIL_FUNC_V_GEQUAL 0x00000206
#define NV096_SET_STENCIL_FUNC_V_ALWAYS 0x00000207
#define NV096_SET_STENCIL_FUNC_REF 0x00000368
#define NV096_SET_STENCIL_FUNC_REF_V 31:0
#define NV096_SET_STENCIL_FUNC_MASK 0x0000036c
#define NV096_SET_STENCIL_FUNC_MASK_V 31:0
#define NV096_SET_STENCIL_OP_FAIL 0x00000370
#define NV096_SET_STENCIL_OP_FAIL_V 31:0
#define NV096_SET_STENCIL_OP_FAIL_V_KEEP 0x00001E00
#define NV096_SET_STENCIL_OP_FAIL_V_ZERO 0x00000000
#define NV096_SET_STENCIL_OP_FAIL_V_REPLACE 0x00001E01
#define NV096_SET_STENCIL_OP_FAIL_V_INCRSAT 0x00001E02
#define NV096_SET_STENCIL_OP_FAIL_V_DECRSAT 0x00001E03
#define NV096_SET_STENCIL_OP_FAIL_V_INVERT 0x0000150A
#define NV096_SET_STENCIL_OP_FAIL_V_INCR 0x00008507
#define NV096_SET_STENCIL_OP_FAIL_V_DECR 0x00008508
#define NV096_SET_STENCIL_OP_ZFAIL 0x00000374
#define NV096_SET_STENCIL_OP_ZFAIL_V 31:0
#define NV096_SET_STENCIL_OP_ZFAIL_V_KEEP 0x00001E00
#define NV096_SET_STENCIL_OP_ZFAIL_V_ZERO 0x00000000
#define NV096_SET_STENCIL_OP_ZFAIL_V_REPLACE 0x00001E01
#define NV096_SET_STENCIL_OP_ZFAIL_V_INCRSAT 0x00001E02
#define NV096_SET_STENCIL_OP_ZFAIL_V_DECRSAT 0x00001E03
#define NV096_SET_STENCIL_OP_ZFAIL_V_INVERT 0x0000150A
#define NV096_SET_STENCIL_OP_ZFAIL_V_INCR 0x00008507
#define NV096_SET_STENCIL_OP_ZFAIL_V_DECR 0x00008508
#define NV096_SET_STENCIL_OP_ZPASS 0x00000378
#define NV096_SET_STENCIL_OP_ZPASS_V 31:0
#define NV096_SET_STENCIL_OP_ZPASS_V_KEEP 0x00001E00
#define NV096_SET_STENCIL_OP_ZPASS_V_ZERO 0x00000000
#define NV096_SET_STENCIL_OP_ZPASS_V_REPLACE 0x00001E01
#define NV096_SET_STENCIL_OP_ZPASS_V_INCRSAT 0x00001E02
#define NV096_SET_STENCIL_OP_ZPASS_V_DECRSAT 0x00001E03
#define NV096_SET_STENCIL_OP_ZPASS_V_INVERT 0x0000150A
#define NV096_SET_STENCIL_OP_ZPASS_V_INCR 0x00008507
#define NV096_SET_STENCIL_OP_ZPASS_V_DECR 0x00008508
#define NV096_SET_SHADE_MODE 0x0000037c
#define NV096_SET_SHADE_MODE_V 31:0
#define NV096_SET_SHADE_MODE_V_FLAT 0x00001D00
#define NV096_SET_SHADE_MODE_V_SMOOTH 0x00001D01
#define NV096_SET_LINE_WIDTH 0x00000380
#define NV096_SET_LINE_WIDTH_V 31:0
#define NV096_SET_POLYGON_OFFSET_SCALE_FACTOR 0x00000384
#define NV096_SET_POLYGON_OFFSET_SCALE_FACTOR_V 31:0
#define NV096_SET_POLYGON_OFFSET_BIAS 0x00000388
#define NV096_SET_POLYGON_OFFSET_BIAS_V 31:0
#define NV096_SET_FRONT_POLYGON_MODE 0x0000038c
#define NV096_SET_FRONT_POLYGON_MODE_V 31:0
#define NV096_SET_FRONT_POLYGON_MODE_V_POINT 0x00001B00
#define NV096_SET_FRONT_POLYGON_MODE_V_LINE 0x00001B01
#define NV096_SET_FRONT_POLYGON_MODE_V_FILL 0x00001B02
#define NV096_SET_BACK_POLYGON_MODE 0x00000390
#define NV096_SET_BACK_POLYGON_MODE_V 31:0
#define NV096_SET_BACK_POLYGON_MODE_V_POINT 0x00001B00
#define NV096_SET_BACK_POLYGON_MODE_V_LINE 0x00001B01
#define NV096_SET_BACK_POLYGON_MODE_V_FILL 0x00001B02
#define NV096_SET_CLIP_MIN 0x00000394
#define NV096_SET_CLIP_MIN_V 31:0
#define NV096_SET_CLIP_MAX 0x00000398
#define NV096_SET_CLIP_MAX_V 31:0
#define NV096_SET_CULL_FACE 0x0000039c
#define NV096_SET_CULL_FACE_V 31:0
#define NV096_SET_CULL_FACE_V_FRONT 0x00000404
#define NV096_SET_CULL_FACE_V_BACK 0x00000405
#define NV096_SET_CULL_FACE_V_FRONT_AND_BACK 0x00000408
#define NV096_SET_FRONT_FACE 0x000003a0
#define NV096_SET_FRONT_FACE_V 31:0
#define NV096_SET_FRONT_FACE_V_CW 0x00000900
#define NV096_SET_FRONT_FACE_V_CCW 0x00000901
#define NV096_SET_NORMALIZATION_ENABLE 0x000003a4
#define NV096_SET_NORMALIZATION_ENABLE_V 31:0
#define NV096_SET_NORMALIZATION_ENABLE_V_FALSE 0x00000000
#define NV096_SET_NORMALIZATION_ENABLE_V_TRUE 0x00000001
#define NV096_SET_MATERIAL_EMISSION(i) (0x000003a8+(i)*4)
#define NV096_SET_MATERIAL_ALPHA 0x000003b4
#define NV096_SET_SPECULAR_ENABLE 0x000003b8
#define NV096_SET_SPECULAR_ENABLE_V 31:0
#define NV096_SET_SPECULAR_ENABLE_V_FALSE 0x00000000
#define NV096_SET_SPECULAR_ENABLE_V_TRUE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK 0x000003bc
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT0 1:0
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT0_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT0_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT0_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT0_SPOT 0x00000003
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT1 3:2
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT1_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT1_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT1_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT1_SPOT 0x00000003
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT2 5:4
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT2_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT2_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT2_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT2_SPOT 0x00000003
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT3 7:6
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT3_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT3_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT3_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT3_SPOT 0x00000003
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT4 9:8
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT4_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT4_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT4_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT4_SPOT 0x00000003
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT5 11:10
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT5_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT5_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT5_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT5_SPOT 0x00000003
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT6 13:12
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT6_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT6_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT6_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT6_SPOT 0x00000003
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT7 15:14
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT7_OFF 0x00000000
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT7_INFINITE 0x00000001
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT7_LOCAL 0x00000002
#define NV096_SET_LIGHT_ENABLE_MASK_LIGHT7_SPOT 0x00000003
#define NV096_SET_TEXGEN_S(i) (0x000003c0+(i)*16)
#define NV096_SET_TEXGEN_S_V 31:0
#define NV096_SET_TEXGEN_S_V_DISABLE 0x00000000
#define NV096_SET_TEXGEN_S_V_NORMAL_MAP 0x00008511
#define NV096_SET_TEXGEN_S_V_REFLECTION_MAP 0x00008512
#define NV096_SET_TEXGEN_S_V_EYE_LINEAR 0x00002400
#define NV096_SET_TEXGEN_S_V_OBJECT_LINEAR 0x00002401
#define NV096_SET_TEXGEN_S_V_SPHERE_MAP 0x00002402
#define NV096_SET_TEXGEN_S_V_EMBOSS 0x0000855F
#define NV096_SET_TEXGEN_T(i) (0x000003c4+(i)*16)
#define NV096_SET_TEXGEN_T_V 31:0
#define NV096_SET_TEXGEN_T_V_DISABLE 0x00000000
#define NV096_SET_TEXGEN_T_V_NORMAL_MAP 0x00008511
#define NV096_SET_TEXGEN_T_V_REFLECTION_MAP 0x00008512
#define NV096_SET_TEXGEN_T_V_EYE_LINEAR 0x00002400
#define NV096_SET_TEXGEN_T_V_OBJECT_LINEAR 0x00002401
#define NV096_SET_TEXGEN_T_V_SPHERE_MAP 0x00002402
#define NV096_SET_TEXGEN_T_V_EMBOSS 0x0000855F
#define NV096_SET_TEXGEN_R(i) (0x000003c8+(i)*16)
#define NV096_SET_TEXGEN_R_V 31:0
#define NV096_SET_TEXGEN_R_V_DISABLE 0x00000000
#define NV096_SET_TEXGEN_R_V_NORMAL_MAP 0x00008511
#define NV096_SET_TEXGEN_R_V_REFLECTION_MAP 0x00008512
#define NV096_SET_TEXGEN_R_V_EYE_LINEAR 0x00002400
#define NV096_SET_TEXGEN_R_V_OBJECT_LINEAR 0x00002401
#define NV096_SET_TEXGEN_R_V_EMBOSS 0x0000855F
#define NV096_SET_TEXGEN_Q(i) (0x000003cc+(i)*16)
#define NV096_SET_TEXGEN_Q_V 31:0
#define NV096_SET_TEXGEN_Q_V_DISABLE 0x00000000
#define NV096_SET_TEXGEN_Q_V_EYE_LINEAR 0x00002400
#define NV096_SET_TEXGEN_Q_V_OBJECT_LINEAR 0x00002401
#define NV096_SET_TEXTURE_MATRIX0_ENABLE 0x000003e0
#define NV096_SET_TEXTURE_MATRIX0_ENABLE_V 31:0
#define NV096_SET_TEXTURE_MATRIX0_ENABLE_V_FALSE 0x00000000
#define NV096_SET_TEXTURE_MATRIX0_ENABLE_V_TRUE 0x00000001
#define NV096_SET_TEXTURE_MATRIX1_ENABLE 0x000003e4
#define NV096_SET_TEXTURE_MATRIX1_ENABLE_V 31:0
#define NV096_SET_TEXTURE_MATRIX1_ENABLE_V_FALSE 0x00000000
#define NV096_SET_TEXTURE_MATRIX1_ENABLE_V_TRUE 0x00000001
#define NV096_SET_TLMODE 0x000003e8
#define NV096_SET_TLMODE_PASSTHROUGH 0:0
#define NV096_SET_TLMODE_PASSTHROUGH_TRUE 0x00000001
#define NV096_SET_TLMODE_PASSTHROUGH_FALSE 0x00000000
#define NV096_SET_TLMODE_W_DIVIDE_0 1:1
#define NV096_SET_TLMODE_W_DIVIDE_0_DISABLE 0x00000000
#define NV096_SET_TLMODE_W_DIVIDE_0_ENABLE 0x00000001
#define NV096_SET_TLMODE_W_DIVIDE_1 2:2
#define NV096_SET_TLMODE_W_DIVIDE_1_DISABLE 0x00000000
#define NV096_SET_TLMODE_W_DIVIDE_1_ENABLE 0x00000001
#define NV096_SET_POINT_SIZE 0x000003ec
#define NV096_SET_POINT_SIZE_V 31:0
#define NV096_SET_SWATH_WIDTH 0x000003f0
#define NV096_SET_SWATH_WIDTH_V 31:0
#define NV096_SET_SWATH_WIDTH_V_8 0x00000000
#define NV096_SET_SWATH_WIDTH_V_16 0x00000001
#define NV096_SET_SWATH_WIDTH_V_32 0x00000002
#define NV096_SET_SWATH_WIDTH_V_64 0x00000003
#define NV096_SET_FLAT_SHADE_OP 0x000003f4
#define NV096_SET_FLAT_SHADE_OP_V 31:0
#define NV096_SET_FLAT_SHADE_OP_V_LAST_VTX 0x00000000
#define NV096_SET_FLAT_SHADE_OP_V_FIRST_VTX 0x00000001
#define NV096_SET_MODEL_VIEW_MATRIX0(i) (0x00000400+(i)*4)
#define NV096_SET_MODEL_VIEW_MATRIX1(i) (0x00000440+(i)*4)
#define NV096_SET_INVERSE_MODEL_VIEW_MATRIX0(i) (0x00000480+(i)*4)
#define NV096_SET_INVERSE_MODEL_VIEW_MATRIX1(i) (0x000004c0+(i)*4)
#define NV096_SET_COMPOSITE_MATRIX(i) (0x00000500+(i)*4)
#define NV096_SET_TEXTURE_MATRIX0(i) (0x00000540+(i)*4)
#define NV096_SET_TEXTURE_MATRIX1(i) (0x00000580+(i)*4)
#define NV096_SET_TEXGEN_SPLANE0(i) (0x00000600+(i)*4)
#define NV096_SET_TEXGEN_TPLANE0(i) (0x00000610+(i)*4)
#define NV096_SET_TEXGEN_RPLANE0(i) (0x00000620+(i)*4)
#define NV096_SET_TEXGEN_QPLANE0(i) (0x00000630+(i)*4)
#define NV096_SET_TEXGEN_SPLANE1(i) (0x00000640+(i)*4)
#define NV096_SET_TEXGEN_TPLANE1(i) (0x00000650+(i)*4)
#define NV096_SET_TEXGEN_RPLANE1(i) (0x00000660+(i)*4)
#define NV096_SET_TEXGEN_QPLANE1(i) (0x00000670+(i)*4)
#define NV096_SET_FOG_PARAMS(i) (0x00000680+(i)*4)
#define NV096_SET_FOG_PLANE(i) (0x0000068c+(i)*4)
#define NV096_SET_SPECULAR_PARAMS(i) (0x000006a0+(i)*4)
#define NV096_SET_SCENE_AMBIENT_COLOR(i) (0x000006c4+(i)*4)
#define NV096_SET_VIEWPORT_OFFSET(i) (0x000006e8+(i)*4)
#define NV096_SET_POINT_PARAMS(i) (0x000006f8+(i)*4)
#define NV096_SET_EYE_POSITION(i) (0x00000718+(i)*4)
#define NV096_SET_EYE_DIRECTION_SW(i) (0x0000072c+(i)*4)
#define NV096_SET_LIGHT_AMBIENT_COLOR(i,j) (0x00000800+(i)*128+(j)*4)
#define NV096_SET_LIGHT_DIFFUSE_COLOR(i,j) (0x0000080c+(i)*128+(j)*4)
#define NV096_SET_LIGHT_SPECULAR_COLOR(i,j) (0x00000818+(i)*128+(j)*4)
#define NV096_SET_LIGHT_LOCAL_RANGE(i) (0x00000824+(i)*128)
#define NV096_SET_LIGHT_INFINITE_HALF_VECTOR(i,j) (0x00000828+(i)*128+(j)*4)
#define NV096_SET_LIGHT_INFINITE_DIRECTION(i,j) (0x00000834+(i)*128+(j)*4)
#define NV096_SET_LIGHT_SPOT_FALLOFF(i,j) (0x00000840+(i)*128+(j)*4)
#define NV096_SET_LIGHT_SPOT_DIRECTION(i,j) (0x0000084c+(i)*128+(j)*4)
#define NV096_SET_LIGHT_LOCAL_POSITION(i,j) (0x0000085c+(i)*128+(j)*4)
#define NV096_SET_LIGHT_LOCAL_ATTENUATION(i,j) (0x00000868+(i)*128+(j)*4)
#define NV096_SET_VERTEX3F(i) (0x00000c00+(i)*4)
#define NV096_SET_VERTEX4F(i) (0x00000c18+(i)*4)
#define NV096_SET_VERTEX4S(i) (0x00000c28+(i)*4)
#define NV096_SET_NORMAL3F(i) (0x00000c30+(i)*4)
#define NV096_SET_NORMAL3S(i) (0x00000c40+(i)*2)
#define NV096_SET_DIFFUSE_COLOR4F(i) (0x00000c50+(i)*4)
#define NV096_SET_DIFFUSE_COLOR3F(i) (0x00000c60+(i)*4)
#define NV096_SET_DIFFUSE_COLOR4UB 0x00000c6c
#define NV096_SET_SPECULAR_COLOR4F(i) (0x00000c70+(i)*4)
#define NV096_SET_SPECULAR_COLOR3F(i) (0x00000c80+(i)*4)
#define NV096_SET_SPECULAR_COLOR4UB 0x00000c8c
#define NV096_SET_TEXCOORD0_2F(i) (0x00000c90+(i)*4)
#define NV096_SET_TEXCOORD0_2S(i) (0x00000c98+(i)*2)
#define NV096_SET_TEXCOORD0_4F(i) (0x00000ca0+(i)*4)
#define NV096_SET_TEXCOORD0_4S(i) (0x00000cb0+(i)*2)
#define NV096_SET_TEXCOORD1_2F(i) (0x00000cb8+(i)*4)
#define NV096_SET_TEXCOORD1_2S(i) (0x00000cc0+(i)*2)
#define NV096_SET_TEXCOORD1_4F(i) (0x00000cc8+(i)*4)
#define NV096_SET_TEXCOORD1_4S(i) (0x00000cd8+(i)*2)
#define NV096_SET_FOG1F 0x00000ce0
#define NV096_SET_WEIGHT1F 0x00000ce4
#define NV096_SET_EDGE_FLAG 0x00000cec
#define NV096_INVALIDATE_VERTEX_CACHE_FILE 0x00000cf0
#define NV096_INVALIDATE_VERTEX_FILE 0x00000cf4
#define NV096_TL_NOP 0x00000cf8
#define NV096_TL_SYNC 0x00000cfc
#define NV096_SET_VERTEX_ARRAY_OFFSET 0x00000d00
#define NV096_SET_VERTEX_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_VERTEX_ARRAY_FORMAT 0x00000d04
#define NV096_SET_VERTEX_ARRAY_FORMAT_W 31:24
#define NV096_SET_VERTEX_ARRAY_FORMAT_W_NONE 0x00000000
#define NV096_SET_VERTEX_ARRAY_FORMAT_W_PRESENT 0x00000001
#define NV096_SET_VERTEX_ARRAY_FORMAT_STRIDE 23:8
#define NV096_SET_VERTEX_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_VERTEX_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV096_SET_VERTEX_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV096_SET_VERTEX_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV096_SET_VERTEX_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_VERTEX_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV096_SET_VERTEX_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_DIFFUSE_ARRAY_OFFSET 0x00000d08
#define NV096_SET_DIFFUSE_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_DIFFUSE_ARRAY_FORMAT 0x00000d0c
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_STRIDE 31:8
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_BGRA 0x00000000
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_DIFFUSE_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_RGBA 0x00000004
#define NV096_SET_SPECULAR_ARRAY_OFFSET 0x00000d10
#define NV096_SET_SPECULAR_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_SPECULAR_ARRAY_FORMAT 0x00000d14
#define NV096_SET_SPECULAR_ARRAY_FORMAT_STRIDE 31:8
#define NV096_SET_SPECULAR_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_SPECULAR_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV096_SET_SPECULAR_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV096_SET_SPECULAR_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV096_SET_SPECULAR_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_SPECULAR_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_BGRA 0x00000000
#define NV096_SET_SPECULAR_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_SPECULAR_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_RGBA 0x00000004
#define NV096_SET_TEX_COORD0_ARRAY_OFFSET 0x00000d18
#define NV096_SET_TEX_COORD0_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT 0x00000d1c
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_STRIDE 31:8
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV096_SET_TEX_COORD0_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_TEX_COORD1_ARRAY_OFFSET 0x00000d20
#define NV096_SET_TEX_COORD1_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT 0x00000d24
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_STRIDE 31:8
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV096_SET_TEX_COORD1_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_NORMAL_ARRAY_OFFSET 0x00000d28
#define NV096_SET_NORMAL_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_NORMAL_ARRAY_FORMAT 0x00000d2c
#define NV096_SET_NORMAL_ARRAY_FORMAT_STRIDE 31:8
#define NV096_SET_NORMAL_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_NORMAL_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV096_SET_NORMAL_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV096_SET_NORMAL_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_NORMAL_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV096_SET_NORMAL_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_WEIGHT_ARRAY_OFFSET 0x00000d30
#define NV096_SET_WEIGHT_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_WEIGHT_ARRAY_FORMAT 0x00000d34
#define NV096_SET_WEIGHT_ARRAY_FORMAT_STRIDE 31:8
#define NV096_SET_WEIGHT_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_WEIGHT_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV096_SET_WEIGHT_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV096_SET_WEIGHT_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_WEIGHT_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV096_SET_WEIGHT_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_FOG_ARRAY_OFFSET 0x00000d38
#define NV096_SET_FOG_ARRAY_OFFSET_OFFSET 27:0
#define NV096_SET_FOG_ARRAY_FORMAT 0x00000d3c
#define NV096_SET_FOG_ARRAY_FORMAT_STRIDE 31:8
#define NV096_SET_FOG_ARRAY_FORMAT_SIZE 7:4
#define NV096_SET_FOG_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV096_SET_FOG_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV096_SET_FOG_ARRAY_FORMAT_TYPE 3:0
#define NV096_SET_FOG_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV096_SET_FOG_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV096_SET_LOGIC_OP_ENABLE 0x00000d40
#define NV096_SET_LOGIC_OP_ENABLE_V 31:0
#define NV096_SET_LOGIC_OP_ENABLE_V_FALSE 0x00000000
#define NV096_SET_LOGIC_OP_ENABLE_V_TRUE 0x00000001
#define NV096_SET_LOGIC_OP 0x00000d44
#define NV096_SET_LOGIC_OP_V 31:0
#define NV096_SET_LOGIC_OP_V_CLEAR 0x00001500
#define NV096_SET_LOGIC_OP_V_AND 0x00001501
#define NV096_SET_LOGIC_OP_V_AND_REVERSE 0x00001502
#define NV096_SET_LOGIC_OP_V_COPY 0x00001503
#define NV096_SET_LOGIC_OP_V_AND_INVERTED 0x00001504
#define NV096_SET_LOGIC_OP_V_NOOP 0x00001505
#define NV096_SET_LOGIC_OP_V_XOR 0x00001506
#define NV096_SET_LOGIC_OP_V_OR 0x00001507
#define NV096_SET_LOGIC_OP_V_NOR 0x00001508
#define NV096_SET_LOGIC_OP_V_EQUIV 0x00001509
#define NV096_SET_LOGIC_OP_V_INVERT 0x0000150a
#define NV096_SET_LOGIC_OP_V_OR_REVERSE 0x0000150b
#define NV096_SET_LOGIC_OP_V_COPY_INVERTED 0x0000150c
#define NV096_SET_LOGIC_OP_V_OR_INVERTED 0x0000150d
#define NV096_SET_LOGIC_OP_V_NAND 0x0000150e
#define NV096_SET_LOGIC_OP_V_SET 0x0000150f
#define NV096_SET_BEGIN_END 0x00000dfc
#define NV096_SET_BEGIN_END_OP 31:0
#define NV096_SET_BEGIN_END_OP_END 0x00000000
#define NV096_SET_BEGIN_END_OP_POINTS 0x00000001
#define NV096_SET_BEGIN_END_OP_LINES 0x00000002
#define NV096_SET_BEGIN_END_OP_LINE_LOOP 0x00000003
#define NV096_SET_BEGIN_END_OP_LINE_STRIP 0x00000004
#define NV096_SET_BEGIN_END_OP_TRIANGLES 0x00000005
#define NV096_SET_BEGIN_END_OP_TRIANGLE_STRIP 0x00000006
#define NV096_SET_BEGIN_END_OP_TRIANGLE_FAN 0x00000007
#define NV096_SET_BEGIN_END_OP_QUADS 0x00000008
#define NV096_SET_BEGIN_END_OP_QUAD_STRIP 0x00000009
#define NV096_SET_BEGIN_END_OP_POLYGON 0x0000000A
#define NV096_ARRAY_ELEMENT16(i) (0x00000e00+(i)*2)
#define NV096_SET_BEGIN_END2 0x000010fc
#define NV096_SET_BEGIN_END2_OP 31:0
#define NV096_SET_BEGIN_END2_OP_END 0x00000000
#define NV096_SET_BEGIN_END2_OP_POINTS 0x00000001
#define NV096_SET_BEGIN_END2_OP_LINES 0x00000002
#define NV096_SET_BEGIN_END2_OP_LINE_LOOP 0x00000003
#define NV096_SET_BEGIN_END2_OP_LINE_STRIP 0x00000004
#define NV096_SET_BEGIN_END2_OP_TRIANGLES 0x00000005
#define NV096_SET_BEGIN_END2_OP_TRIANGLE_STRIP 0x00000006
#define NV096_SET_BEGIN_END2_OP_TRIANGLE_FAN 0x00000007
#define NV096_SET_BEGIN_END2_OP_QUADS 0x00000008
#define NV096_SET_BEGIN_END2_OP_QUAD_STRIP 0x00000009
#define NV096_SET_BEGIN_END2_OP_POLYGON 0x0000000A
#define NV096_ARRAY_ELEMENT32(i) (0x00001100+(i)*4)
#define NV096_SET_BEGIN_END3 0x000013fc
#define NV096_SET_BEGIN_END3_OP 31:0
#define NV096_SET_BEGIN_END3_OP_END 0x00000000
#define NV096_SET_BEGIN_END3_OP_POINTS 0x00000001
#define NV096_SET_BEGIN_END3_OP_LINES 0x00000002
#define NV096_SET_BEGIN_END3_OP_LINE_LOOP 0x00000003
#define NV096_SET_BEGIN_END3_OP_LINE_STRIP 0x00000004
#define NV096_SET_BEGIN_END3_OP_TRIANGLES 0x00000005
#define NV096_SET_BEGIN_END3_OP_TRIANGLE_STRIP 0x00000006
#define NV096_SET_BEGIN_END3_OP_TRIANGLE_FAN 0x00000007
#define NV096_SET_BEGIN_END3_OP_QUADS 0x00000008
#define NV096_SET_BEGIN_END3_OP_QUAD_STRIP 0x00000009
#define NV096_SET_BEGIN_END3_OP_POLYGON 0x0000000A
#define NV096_DRAW_ARRAYS(i) (0x00001400+(i)*4)
#define NV096_DRAW_ARRAYS_COUNT 31:24
#define NV096_DRAW_ARRAYS_START_INDEX 23:0
#define NV096_SET_BEGIN_END4 0x000017fc
#define NV096_SET_BEGIN_END4_OP 31:0
#define NV096_SET_BEGIN_END4_OP_END 0x00000000
#define NV096_SET_BEGIN_END4_OP_POINTS 0x00000001
#define NV096_SET_BEGIN_END4_OP_LINES 0x00000002
#define NV096_SET_BEGIN_END4_OP_LINE_LOOP 0x00000003
#define NV096_SET_BEGIN_END4_OP_LINE_STRIP 0x00000004
#define NV096_SET_BEGIN_END4_OP_TRIANGLES 0x00000005
#define NV096_SET_BEGIN_END4_OP_TRIANGLE_STRIP 0x00000006
#define NV096_SET_BEGIN_END4_OP_TRIANGLE_FAN 0x00000007
#define NV096_SET_BEGIN_END4_OP_QUADS 0x00000008
#define NV096_SET_BEGIN_END4_OP_QUAD_STRIP 0x00000009
#define NV096_SET_BEGIN_END4_OP_POLYGON 0x0000000A
#define NV096_INLINE_ARRAY(i) (0x00001800+(i)*4)
typedef NvV32 Nv1196Typedef;
/* class NV11_CELSIUS_PRIMITIVE */
#define NV11_CELSIUS_PRIMITIVE (0x00001196)
/* NvNotification[] elements */
#define NV1196_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV1196_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV1196_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV1196_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV1196_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV1196_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV1196_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
typedef volatile struct {
// system method
NvV32 ctx_Switch;
NvV32 Reserved0004[0xfc/4];
NvV32 NoOperation;
NvV32 Notify;
NvV32 SetWarningEnable;
NvV32 GetState;
NvV32 WaitForIdle;
NvV32 Reserved0114[0xc/4];
NvV32 SetFlipRead;
NvV32 SetFlipWrite;
NvV32 SetFlipModulo;
NvV32 FlipIncrementWrite;
NvV32 FlipStall;
NvV32 Reserved0134[0xc/4];
NvV32 PmTrigger;
NvV32 Reserved0144[0x3c/4];
NvU32 SetContextDmaNotifies;
NvU32 SetContextDmaA;
NvU32 SetContextDmaB;
NvU32 SetContextDmaVertex;
NvU32 SetContextDmaState;
NvU32 SetContextDmaColor;
NvU32 SetContextDmaZeta;
NvV32 Reserved019c[0x64/4];
NvV32 SetSurfaceClipHorizontal;
NvV32 SetSurfaceClipVertical;
NvV32 SetSurfaceFormat;
NvV32 SetSurfacePitch;
NvU32 SetSurfaceColorOffset;
NvU32 SetSurfaceZetaOffset;
NvU32 SetTextureOffset[2];
NvV32 SetTextureFormat[2];
NvV32 SetTextureControl0[2];
NvV32 SetTextureControl1[2];
NvV32 SetTextureControl2[2];
NvV32 SetTextureImageRect[2];
NvV32 SetTextureFilter[2];
NvV32 SetTexturePalette[2];
NvV32 Reserved0258[0x8/4];
NvV32 SetCombinerAlphaICW[2];
NvV32 SetCombinerColorICW[2];
NvV32 SetCombineFactor[2];
NvV32 SetCombinerAlphaOCW[2];
NvV32 SetCombiner0ColorOCW;
NvV32 SetCombiner1ColorOCW;
NvV32 SetCombinerSpecularFogCW0;
NvV32 SetCombinerSpecularFogCW1;
NvV32 SetControl0;
NvV32 SetLightControl;
NvV32 SetColorMaterial;
NvV32 SetFogMode;
NvV32 SetFogGenMode;
NvV32 SetFogEnable;
NvV32 SetFogColor;
NvU32 SetColorKeyColor[2];
NvV32 SetWindowClipType;
NvV32 Reserved02b8[0x8/4];
NvV32 SetWindowClipHorizontal[8];
NvV32 SetWindowClipVertical[8];
NvV32 SetAlphaTestEnable;
NvV32 SetBlendEnable;
NvV32 SetCullFaceEnable;
NvV32 SetDepthTestEnable;
NvV32 SetDitherEnable;
NvV32 SetLightingEnable;
NvV32 SetPointParamsEnable;
NvV32 SetPointSmoothEnable;
NvV32 SetLineSmoothEnable;
NvV32 SetPolySmoothEnable;
NvV32 SetSkinEnable;
NvV32 SetStencilTestEnable;
NvV32 SetPolyOffsetPointEnable;
NvV32 SetPolyOffsetLineEnable;
NvV32 SetPolyOffsetFillEnable;
NvV32 SetAlphaFunc;
NvU32 SetAlphaRef;
NvV32 SetBlendFuncSfactor;
NvV32 SetBlendFuncDfactor;
NvU32 SetBlendColor;
NvV32 SetBlendEquation;
NvV32 SetDepthFunc;
NvV32 SetColorMask;
NvV32 SetDepthMask;
NvU32 SetStencilMask;
NvV32 SetStencilFunc;
NvU32 SetStencilFuncRef;
NvU32 SetStencilFuncMask;
NvV32 SetStencilOpFail;
NvV32 SetStencilOpZfail;
NvV32 SetStencilOpZpass;
NvV32 SetShadeMode;
NvU32 SetLineWidth;
NvF32 SetPolygonOffsetScaleFactor;
NvF32 SetPolygonOffsetBias;
NvV32 SetFrontPolygonMode;
NvV32 SetBackPolygonMode;
NvF32 SetClipMin;
NvF32 SetClipMax;
NvV32 SetCullFace;
NvV32 SetFrontFace;
NvV32 SetNormalizationEnable;
NvF32 SetMaterialEmission[3];
NvF32 SetMaterialAlpha;
NvV32 SetSpecularEnable;
NvV32 SetLightEnableMask;
struct {
NvV32 S;
NvV32 T;
NvV32 R;
NvV32 Q;
} SetTexgen[2];
NvV32 SetTextureMatrix0Enable;
NvV32 SetTextureMatrix1Enable;
NvV32 SetTLMode;
NvU32 SetPointSize;
NvV32 SetSwathWidth;
NvV32 SetFlatShadeOp;
NvV32 Reserved03f8[0x8/4];
NvF32 SetModelViewMatrix0[16];
NvF32 SetModelViewMatrix1[16];
NvF32 SetInverseModelViewMatrix0[16];
NvF32 SetInverseModelViewMatrix1[16];
NvF32 SetCompositeMatrix[16];
NvF32 SetTextureMatrix0[16];
NvF32 SetTextureMatrix1[16];
NvV32 Reserved05c0[0x40/4];
NvF32 SetTexgenSPlane0[4];
NvF32 SetTexgenTPlane0[4];
NvF32 SetTexgenRPlane0[4];
NvF32 SetTexgenQPlane0[4];
NvF32 SetTexgenSPlane1[4];
NvF32 SetTexgenTPlane1[4];
NvF32 SetTexgenRPlane1[4];
NvF32 SetTexgenQPlane1[4];
NvF32 SetFogParams[3];
NvF32 SetFogPlane[4];
NvV32 Reserved069c[0x4/4];
NvF32 SetSpecularParams[6];
NvV32 Reserved06b8[0xc/4];
NvF32 SetSceneAmbientColor[3];
NvV32 Reserved06d0[0x18/4];
NvF32 SetViewportOffset[4];
NvF32 SetPointParams[8];
NvF32 SetEyePosition[4];
NvV32 Flush;
NvF32 SetEyeDirectionSW[3];
NvV32 Reserved0738[0xc8/4];
struct {
NvF32 AmbientColor[3];
NvF32 DiffuseColor[3];
NvF32 SpecularColor[3];
NvF32 LocalRange;
NvF32 InfiniteHalfVector[3];
NvF32 InfiniteDirection[3];
NvF32 SpotFalloff[3];
NvF32 SpotDirection[4];
NvF32 LocalPosition[3];
NvF32 LocalAttenuation[3];
NvV32 Reserved0874[0xc/4];
} SetLight[8];
NvF32 SetVertex3f[3];
NvV32 Reserved0c0c[0xc/4];
NvF32 SetVertex4f[4];
NvS32 SetVertex4s[2];
NvF32 SetNormal3f[3];
NvV32 Reserved0c3c[0x4/4];
NvS32 SetNormal3s[2];
NvV32 Reserved0c48[0x8/4];
NvF32 SetDiffuseColor4f[4];
NvF32 SetDiffuseColor3f[3];
NvU32 SetDiffuseColor4ub;
NvF32 SetSpecularColor4f[4];
NvF32 SetSpecularColor3f[3];
NvU32 SetSpecularColor4ub;
NvF32 SetTexcoord0_2f[2];
NvS32 SetTexcoord0_2s;
NvV32 Reserved0c9c[0x4/4];
NvF32 SetTexcoord0_4f[4];
NvS32 SetTexcoord0_4s[2];
NvF32 SetTexcoord1_2f[2];
NvS32 SetTexcoord1_2s;
NvV32 Reserved0cc4[0x4/4];
NvF32 SetTexcoord1_4f[4];
NvS32 SetTexcoord1_4s[2];
NvF32 SetFog1f;
NvF32 SetWeight1f;
NvV32 Reserved0ce8[0x4/4];
NvU32 SetEdgeFlag;
NvV32 InvalidateVertexCacheFile;
NvV32 InvalidateVertexFile;
NvV32 TlNop;
NvV32 TlSync;
NvU32 SetVertexArrayOffset;
NvV32 SetVertexArrayFormat;
NvU32 SetDiffuseArrayOffset;
NvV32 SetDiffuseArrayFormat;
NvU32 SetSpecularArrayOffset;
NvV32 SetSpecularArrayFormat;
NvU32 SetTexCoord0ArrayOffset;
NvV32 SetTexCoord0ArrayFormat;
NvU32 SetTexCoord1ArrayOffset;
NvV32 SetTexCoord1ArrayFormat;
NvU32 SetNormalArrayOffset;
NvV32 SetNormalArrayFormat;
NvU32 SetWeightArrayOffset;
NvV32 SetWeightArrayFormat;
NvU32 SetFogArrayOffset;
NvV32 SetFogArrayFormat;
NvV32 SetLogicOpEnable;
NvV32 SetLogicOp;
NvV32 Reserved0d48[0xb4/4];
NvV32 SetBeginEnd;
NvV32 ArrayElement16[128];
NvV32 Reserved1000[0xfc/4];
NvV32 SetBeginEnd2;
NvU32 ArrayElement32[64];
NvV32 Reserved1200[0x1fc/4];
NvV32 SetBeginEnd3;
NvV32 DrawArrays[128];
NvV32 DebugInit[10];
NvV32 Reserved1628[0x1d4/4];
NvV32 SetBeginEnd4;
NvU32 InlineArray[512];
} Nv11CelsiusPrimitive;
#define NV1196_TYPEDEF Nv11CelsiusPrimitive
#define NV1196_SET_OBJECT (0x00000000)
#define NV1196_NO_OPERATION 0x00000100
#define NV1196_NO_OPERATION_V 31:0
#define NV1196_FLUSH 0x00000728
#define NV1196_FLUSH_V 31:0
#define NV1196_NOTIFY 0x00000104
#define NV1196_NOTIFY_TYPE 31:0
#define NV1196_NOTIFY_TYPE_WRITE_ONLY 0x00000000
#define NV1196_NOTIFY_TYPE_WRITE_THEN_AWAKEN 0x00000001
#define NV1196_SET_WARNING_ENABLE 0x00000108
#define NV1196_SET_WARNING_ENABLE_V 31:0
#define NV1196_SET_WARNING_ENABLE_V_STOP 0x00000000
#define NV1196_SET_WARNING_ENABLE_V_WRITE_ONLY 0x00000001
#define NV1196_SET_WARNING_ENABLE_V_WRITE_THEN_AWAKEN 0x00000002
#define NV1196_GET_STATE 0x0000010c
#define NV1196_GET_STATE_GETSTATE 31:0
#define NV1196_GET_STATE_GETSTATE_ALL_STATE 0x00000001
#define NV1196_GET_STATE_GETSTATE_TRANSFORMLIGHTING_STATE 0x00000002
#define NV1196_GET_STATE_GETSTATE_RENDERING_STATE 0x00000003
#define NV1196_GET_STATE_GETSTATE_GEOMETRY_STATE 0x00000004
#define NV1196_WAIT_FOR_IDLE 0x00000110
#define NV1196_WAIT_FOR_IDLE_V 31:0
#define NV1196_PM_TRIGGER 0x00000140
#define NV1196_PM_TRIGGER_V 31:0
#define NV1196_PM_TRIGGER_V_NOP 0x00000000
#define NV1196_PM_TRIGGER_V_TRIGGER 0x00000001
#define NV1196_SET_FLIP_READ 0x00000120
#define NV1196_SET_FLIP_WRITE 0x00000124
#define NV1196_SET_FLIP_MODULO 0x00000128
#define NV1196_FLIP_INCREMENT_WRITE 0x0000012c
#define NV1196_FLIP_STALL 0x00000130
#define NV1196_SET_CONTEXT_DMA_NOTIFIES 0x00000180
#define NV1196_SET_CONTEXT_DMA_NOTIFIES_V 31:0
#define NV1196_SET_CONTEXT_DMA_A 0x00000184
#define NV1196_SET_CONTEXT_DMA_A_V 31:0
#define NV1196_SET_CONTEXT_DMA_B 0x00000188
#define NV1196_SET_CONTEXT_DMA_B_V 31:0
#define NV1196_SET_CONTEXT_DMA_VERTEX 0x0000018c
#define NV1196_SET_CONTEXT_DMA_VERTEX_V 31:0
#define NV1196_SET_CONTEXT_DMA_STATE 0x00000190
#define NV1196_SET_CONTEXT_DMA_STATE_V 31:0
#define NV1196_SET_CONTEXT_DMA_COLOR 0x00000194
#define NV1196_SET_CONTEXT_DMA_COLOR_V 31:0
#define NV1196_SET_CONTEXT_DMA_ZETA 0x00000198
#define NV1196_SET_CONTEXT_DMA_ZETA_V 31:0
#define NV1196_SET_SURFACE_CLIP_HORIZONTAL 0x00000200
#define NV1196_SET_SURFACE_CLIP_HORIZONTAL_X 15:0
#define NV1196_SET_SURFACE_CLIP_HORIZONTAL_WIDTH 31:16
#define NV1196_SET_SURFACE_CLIP_VERTICAL 0x00000204
#define NV1196_SET_SURFACE_CLIP_VERTICAL_Y 15:0
#define NV1196_SET_SURFACE_CLIP_VERTICAL_HEIGHT 31:16
#define NV1196_SET_SURFACE_FORMAT 0x00000208
#define NV1196_SET_SURFACE_FORMAT_COLOR 7:0
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 0x00000001
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 0x00000002
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_R5G6B5 0x00000003
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 0x00000004
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 0x00000005
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 0x00000006
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 0x00000007
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_A8R8G8B8 0x00000008
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_B8 0x00000009
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_G8B8 0x0000000A
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_X1R5G5B5_Z1R5G5B5 0x00000011
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_X1R5G5B5_O1R5G5B5 0x00000012
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_R5G6B5 0x00000013
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_X8R8G8B8_Z8R8G8B8 0x00000014
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_X8R8G8B8_O8R8G8B8 0x00000015
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_X1A7R8G8B8_Z1A7R8G8B8 0x00000016
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_X1A7R8G8B8_O1A7R8G8B8 0x00000017
#define NV1196_SET_SURFACE_FORMAT_COLOR_LE_Z16_A8R8G8B8 0x00000018
#define NV1196_SET_SURFACE_FORMAT_TYPE 15:8
#define NV1196_SET_SURFACE_FORMAT_TYPE_PITCH 0x00000001
#define NV1196_SET_SURFACE_FORMAT_TYPE_SWIZZLE 0x00000002
#define NV1196_SET_SURFACE_FORMAT_WIDTH 23:16
#define NV1196_SET_SURFACE_FORMAT_WIDTH_1 0x00000000
#define NV1196_SET_SURFACE_FORMAT_WIDTH_2 0x00000001
#define NV1196_SET_SURFACE_FORMAT_WIDTH_4 0x00000002
#define NV1196_SET_SURFACE_FORMAT_WIDTH_8 0x00000003
#define NV1196_SET_SURFACE_FORMAT_WIDTH_16 0x00000004
#define NV1196_SET_SURFACE_FORMAT_WIDTH_32 0x00000005
#define NV1196_SET_SURFACE_FORMAT_WIDTH_64 0x00000006
#define NV1196_SET_SURFACE_FORMAT_WIDTH_128 0x00000007
#define NV1196_SET_SURFACE_FORMAT_WIDTH_256 0x00000008
#define NV1196_SET_SURFACE_FORMAT_WIDTH_512 0x00000009
#define NV1196_SET_SURFACE_FORMAT_WIDTH_1024 0x0000000A
#define NV1196_SET_SURFACE_FORMAT_WIDTH_2048 0x0000000B
#define NV1196_SET_SURFACE_FORMAT_HEIGHT 31:24
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_1 0x00000000
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_2 0x00000001
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_4 0x00000002
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_8 0x00000003
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_16 0x00000004
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_32 0x00000005
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_64 0x00000006
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_128 0x00000007
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_256 0x00000008
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_512 0x00000009
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_1024 0x0000000A
#define NV1196_SET_SURFACE_FORMAT_HEIGHT_2048 0x0000000B
#define NV1196_SET_SURFACE_PITCH 0x0000020c
#define NV1196_SET_SURFACE_PITCH_COLOR 15:0
#define NV1196_SET_SURFACE_PITCH_ZETA 31:16
#define NV1196_SET_SURFACE_COLOR_OFFSET 0x00000210
#define NV1196_SET_SURFACE_COLOR_OFFSET_V 31:0
#define NV1196_SET_SURFACE_ZETA_OFFSET 0x00000214
#define NV1196_SET_SURFACE_ZETA_OFFSET_V 31:0
#define NV1196_SET_TEXTURE_OFFSET(i) (0x00000218+(i)*4)
#define NV1196_SET_TEXTURE_OFFSET_V 31:0
#define NV1196_SET_TEXTURE_FORMAT(i) (0x00000220+(i)*4)
#define NV1196_SET_TEXTURE_FORMAT_CONTEXT_DMA 1:0
#define NV1196_SET_TEXTURE_FORMAT_CONTEXT_DMA_A 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_CONTEXT_DMA_B 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE 2:2
#define NV1196_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_FALSE 0x00000000
#define NV1196_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_TRUE 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_ORIGIN_ZOH 4:3
#define NV1196_SET_TEXTURE_FORMAT_ORIGIN_ZOH_CENTER 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_ORIGIN_ZOH_CORNER 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_ORIGIN_FOH 6:5
#define NV1196_SET_TEXTURE_FORMAT_ORIGIN_FOH_CENTER 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_ORIGIN_FOH_CORNER 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_COLOR 11:7
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_Y8 0x00000000
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_AY8 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_A1R5G5B5 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_X1R5G5B5 0x00000003
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_A4R4G4B4 0x00000004
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_R5G6B5 0x00000005
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_A8R8G8B8 0x00000006
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_X8R8G8B8 0x00000007
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_I8_A1R5G5B5 0x00000008
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_I8_R5G6B5 0x00000009
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_I8_A4R4G4B4 0x0000000A
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_I8_A8R8G8B8 0x0000000B
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_DXT1_A1R5G5B5 0x0000000C
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_DXT23_A8R8G8B8 0x0000000E
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_DXT45_A8R8G8B8 0x0000000F
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_A1R5G5B5 0x00000010
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_R5G6B5 0x00000011
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_A8R8G8B8 0x00000012
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_Y8 0x00000013
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_SY8 0x00000014
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_X7SY9 0x00000015
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_R8B8 0x00000016
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_G8B8 0x00000017
#define NV1196_SET_TEXTURE_FORMAT_COLOR_LE_IMAGE_SG8SB8 0x00000018
#define NV1196_SET_TEXTURE_FORMAT_MIPMAP_LEVELS 15:12
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U 19:16
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_1 0x00000000
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_2 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_4 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_8 0x00000003
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_16 0x00000004
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_32 0x00000005
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_64 0x00000006
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_128 0x00000007
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_256 0x00000008
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_512 0x00000009
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_1024 0x0000000A
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_U_2048 0x0000000B
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V 23:20
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_1 0x00000000
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_2 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_4 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_8 0x00000003
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_16 0x00000004
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_32 0x00000005
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_64 0x00000006
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_128 0x00000007
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_256 0x00000008
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_512 0x00000009
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_1024 0x0000000A
#define NV1196_SET_TEXTURE_FORMAT_BASE_SIZE_V_2048 0x0000000B
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSU 26:24
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_WRAP 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_MIRROR 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSU_CLAMP 0x00000003
#define NV1196_SET_TEXTURE_FORMAT_WRAPU 27:27
#define NV1196_SET_TEXTURE_FORMAT_WRAPU_FALSE 0x00000000
#define NV1196_SET_TEXTURE_FORMAT_WRAPU_TRUE 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSV 30:28
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_WRAP 0x00000001
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_MIRROR 0x00000002
#define NV1196_SET_TEXTURE_FORMAT_TEXTUREADDRESSV_CLAMP 0x00000003
#define NV1196_SET_TEXTURE_FORMAT_WRAPV 31:31
#define NV1196_SET_TEXTURE_FORMAT_WRAPV_FALSE 0x00000000
#define NV1196_SET_TEXTURE_FORMAT_WRAPV_TRUE 0x00000001
#define NV1196_SET_TEXTURE_CONTROL0(i) (0x00000228+(i)*4)
#define NV1196_SET_TEXTURE_CONTROL0_ENABLE 31:30
#define NV1196_SET_TEXTURE_CONTROL0_ENABLE_FALSE 0x00000000
#define NV1196_SET_TEXTURE_CONTROL0_ENABLE_TRUE 0x00000001
#define NV1196_SET_TEXTURE_CONTROL0_MIN_LOD_CLAMP 29:18
#define NV1196_SET_TEXTURE_CONTROL0_MAX_LOD_CLAMP 17:6
#define NV1196_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO 5:4
#define NV1196_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_0 0x00000000
#define NV1196_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_1 0x00000001
#define NV1196_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE 3:3
#define NV1196_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_FALSE 0x00000000
#define NV1196_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_TRUE 0x00000001
#define NV1196_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE 2:2
#define NV1196_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_FALSE 0x00000000
#define NV1196_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_TRUE 0x00000001
#define NV1196_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION 1:0
#define NV1196_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_FALSE 0x00000000
#define NV1196_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_ALPHA 0x00000001
#define NV1196_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_RGBA 0x00000002
#define NV1196_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_KILL 0x00000003
#define NV1196_SET_TEXTURE_CONTROL1(i) (0x00000230+(i)*4)
#define NV1196_SET_TEXTURE_CONTROL1_IMAGE_PITCH 31:16
#define NV1196_SET_TEXTURE_CONTROL2(i) (0x00000238+(i)*4)
#define NV1196_SET_TEXTURE_CONTROL2_PERTURB_DU 11:0
#define NV1196_SET_TEXTURE_CONTROL2_PERTURB_DV 23:12
#define NV1196_SET_TEXTURE_CONTROL2_IMAGE_LODF 31:24
#define NV1196_SET_TEXTURE_IMAGE_RECT(i) (0x00000240+(i)*4)
#define NV1196_SET_TEXTURE_IMAGE_RECT_WIDTH 31:16
#define NV1196_SET_TEXTURE_IMAGE_RECT_HEIGHT 15:0
#define NV1196_SET_TEXTURE_FILTER(i) (0x00000248+(i)*4)
#define NV1196_SET_TEXTURE_FILTER_MIPMAPLODBIAS 12:0
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMIN 27:24
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMIN_NEAREST 0x00000001
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMIN_LINEAR 0x00000002
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMIN_MIPNEAREST 0x00000003
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMIN_MIPLINEAR 0x00000004
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMIN_LINEARMIPNEAREST 0x00000005
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMIN_LINEARMIPLINEAR 0x00000006
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMAG 31:28
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMAG_NEAREST 0x00000001
#define NV1196_SET_TEXTURE_FILTER_TEXTUREMAG_LINEAR 0x00000002
#define NV1196_SET_TEXTURE_PALETTE(i) (0x00000250+(i)*4)
#define NV1196_SET_TEXTURE_PALETTE_CONTEXT_DMA 5:0
#define NV1196_SET_TEXTURE_PALETTE_CONTEXT_DMA_A 0x00000000
#define NV1196_SET_TEXTURE_PALETTE_CONTEXT_DMA_B 0x00000001
#define NV1196_SET_TEXTURE_PALETTE_PALETTE_OFFSET 31:6
#define NV1196_SET_COMBINER_ALPHA_ICW(i) (0x00000260+(i)*4)
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP 31:29
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_ALPHA_ICW_A_ALPHA 28:28
#define NV1196_SET_COMBINER_ALPHA_ICW_A_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_A_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE 27:24
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP 23:21
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_ALPHA_ICW_B_ALPHA 20:20
#define NV1196_SET_COMBINER_ALPHA_ICW_B_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_B_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE 19:16
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP 15:13
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_ALPHA_ICW_C_ALPHA 12:12
#define NV1196_SET_COMBINER_ALPHA_ICW_C_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_C_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE 11:8
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP 7:5
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_ALPHA_ICW_D_ALPHA 4:4
#define NV1196_SET_COMBINER_ALPHA_ICW_D_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_D_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE 3:0
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_COLOR_ICW(i) (0x00000268+(i)*4)
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP 31:29
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_COLOR_ICW_A_ALPHA 28:28
#define NV1196_SET_COMBINER_COLOR_ICW_A_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_A_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE 27:24
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP 23:21
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_COLOR_ICW_B_ALPHA 20:20
#define NV1196_SET_COMBINER_COLOR_ICW_B_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_B_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE 19:16
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP 15:13
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_COLOR_ICW_C_ALPHA 12:12
#define NV1196_SET_COMBINER_COLOR_ICW_C_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_C_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE 11:8
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP 7:5
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV1196_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV1196_SET_COMBINER_COLOR_ICW_D_ALPHA 4:4
#define NV1196_SET_COMBINER_COLOR_ICW_D_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_D_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE 3:0
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINE_FACTOR(i) (0x00000270+(i)*4)
#define NV1196_SET_COMBINE_FACTOR_BLUE 7:0
#define NV1196_SET_COMBINE_FACTOR_GREEN 15:8
#define NV1196_SET_COMBINE_FACTOR_RED 23:16
#define NV1196_SET_COMBINE_FACTOR_ALPHA 31:24
#define NV1196_SET_COMBINER_ALPHA_OCW(i) (0x00000278+(i)*4)
#define NV1196_SET_COMBINER_ALPHA_OCW_OPERATION 31:15
#define NV1196_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT 0x00000000
#define NV1196_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV1196_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV1196_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV1196_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV1196_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV1196_SET_COMBINER_ALPHA_OCW_MUX_ENABLE 14:14
#define NV1196_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV1196_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST 11:8
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST 7:4
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER_ALPHA_OCW_AB_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST 3:0
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER_ALPHA_OCW_CD_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER0_COLOR_OCW 0x00000280
#define NV1196_SET_COMBINER0_COLOR_OCW_OPERATION 31:15
#define NV1196_SET_COMBINER0_COLOR_OCW_OPERATION_NOSHIFT 0x00000000
#define NV1196_SET_COMBINER0_COLOR_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV1196_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV1196_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV1196_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV1196_SET_COMBINER0_COLOR_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV1196_SET_COMBINER0_COLOR_OCW_MUX_ENABLE 14:14
#define NV1196_SET_COMBINER0_COLOR_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV1196_SET_COMBINER0_COLOR_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE 13:13
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE_FALSE 0x00000000
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DOT_ENABLE_TRUE 0x00000001
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE 12:12
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE_FALSE 0x00000000
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DOT_ENABLE_TRUE 0x00000001
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST 11:8
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER0_COLOR_OCW_SUM_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST 7:4
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER0_COLOR_OCW_AB_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST 3:0
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER0_COLOR_OCW_CD_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER1_COLOR_OCW 0x00000284
#define NV1196_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT 31:28
#define NV1196_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT_ONE 0x00000001
#define NV1196_SET_COMBINER1_COLOR_OCW_ITERATION_COUNT_TWO 0x00000002
#define NV1196_SET_COMBINER1_COLOR_OCW_MUX_SELECT 27:27
#define NV1196_SET_COMBINER1_COLOR_OCW_MUX_SELECT_LSB 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_MUX_SELECT_MSB 0x00000001
#define NV1196_SET_COMBINER1_COLOR_OCW_OPERATION 26:15
#define NV1196_SET_COMBINER1_COLOR_OCW_OPERATION_NOSHIFT 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV1196_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV1196_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV1196_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV1196_SET_COMBINER1_COLOR_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV1196_SET_COMBINER1_COLOR_OCW_MUX_ENABLE 14:14
#define NV1196_SET_COMBINER1_COLOR_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE 13:13
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE_FALSE 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DOT_ENABLE_TRUE 0x00000001
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE 12:12
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE_FALSE 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DOT_ENABLE_TRUE 0x00000001
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST 11:8
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER1_COLOR_OCW_SUM_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST 7:4
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER1_COLOR_OCW_AB_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST 3:0
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST_REG_0 0x00000000
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST_REG_4 0x00000004
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST_REG_5 0x00000005
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST_REG_8 0x00000008
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST_REG_9 0x00000009
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST_REG_C 0x0000000C
#define NV1196_SET_COMBINER1_COLOR_OCW_CD_DST_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0 0x00000288
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE 31:29
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA 28:28
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE 27:24
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_SPECLIT 0x0000000E
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_EF_PROD 0x0000000F
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE 23:21
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA 20:20
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE 19:16
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_SPECLIT 0x0000000E
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_EF_PROD 0x0000000F
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE 15:13
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA 12:12
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE 11:8
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_SPECLIT 0x0000000E
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_EF_PROD 0x0000000F
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE 7:5
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA 4:4
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE 3:0
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_SPECLIT 0x0000000E
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_EF_PROD 0x0000000F
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1 0x0000028c
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE 31:29
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA 28:28
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE 27:24
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE 23:21
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA 20:20
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE 19:16
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE 15:13
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA 12:12
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE 11:8
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_0 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_1 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_2 0x00000002
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_3 0x00000003
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_4 0x00000004
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_5 0x00000005
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_8 0x00000008
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_9 0x00000009
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_C 0x0000000C
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_D 0x0000000D
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP 7:7
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5 6:6
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_TRUE 0x00000001
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12 5:0
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_FALSE 0x00000000
#define NV1196_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_TRUE 0x00000020
#define NV1196_SET_CONTROL0 0x00000290
#define NV1196_SET_CONTROL0_PREMULTIPLIEDALPHA 31:24
#define NV1196_SET_CONTROL0_PREMULTIPLIEDALPHA_FALSE 0x00000000
#define NV1196_SET_CONTROL0_PREMULTIPLIEDALPHA_TRUE 0x00000001
#define NV1196_SET_CONTROL0_TEXTUREPERSPECTIVE 23:20
#define NV1196_SET_CONTROL0_TEXTUREPERSPECTIVE_FALSE 0x00000000
#define NV1196_SET_CONTROL0_TEXTUREPERSPECTIVE_TRUE 0x00000001
#define NV1196_SET_CONTROL0_Z_PERSPECTIVE_ENABLE 19:16
#define NV1196_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_FALSE 0x00000000
#define NV1196_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_TRUE 0x00000001
#define NV1196_SET_CONTROL0_Z_FORMAT 15:12
#define NV1196_SET_CONTROL0_Z_FORMAT_FIXED 0x00000000
#define NV1196_SET_CONTROL0_Z_FORMAT_FLOAT 0x00000001
#define NV1196_SET_CONTROL0_WBUFFER_SELECT 11:8
#define NV1196_SET_CONTROL0_WBUFFER_SELECT_0 0x00000000
#define NV1196_SET_CONTROL0_WBUFFER_SELECT_1 0x00000001
#define NV1196_SET_CONTROL0_STENCIL_WRITE_ENABLE 7:0
#define NV1196_SET_CONTROL0_STENCIL_WRITE_ENABLE_FALSE 0x00000000
#define NV1196_SET_CONTROL0_STENCIL_WRITE_ENABLE_TRUE 0x00000001
#define NV1196_SET_LIGHT_CONTROL 0x00000294
#define NV1196_SET_LIGHT_CONTROL_LOCALEYE 31:16
#define NV1196_SET_LIGHT_CONTROL_LOCALEYE_FALSE 0x00000000
#define NV1196_SET_LIGHT_CONTROL_LOCALEYE_TRUE 0x00000001
#define NV1196_SET_LIGHT_CONTROL_ATTENUATION_MODE 15:2
#define NV1196_SET_LIGHT_CONTROL_ATTENUATION_MODE_INVERT 0x00000000
#define NV1196_SET_LIGHT_CONTROL_ATTENUATION_MODE_NOT_INVERT 0x00000001
#define NV1196_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN 1:1
#define NV1196_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_FALSE 0x00000000
#define NV1196_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_TRUE 0x00000001
#define NV1196_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN 0:0
#define NV1196_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN_FALSE 0x00000000
#define NV1196_SET_LIGHT_CONTROL_SECONDARY_COLOR_EN_TRUE 0x00000001
#define NV1196_SET_COLOR_MATERIAL 0x00000298
#define NV1196_SET_COLOR_MATERIAL_V 31:0
#define NV1196_SET_COLOR_MATERIAL_V_DISABLED 0x00000000
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION 0x00000001
#define NV1196_SET_COLOR_MATERIAL_V_AMBIENT 0x00000002
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT 0x00000003
#define NV1196_SET_COLOR_MATERIAL_V_DIFFUSE 0x00000004
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION_DIFFUSE 0x00000005
#define NV1196_SET_COLOR_MATERIAL_V_AMBIENT_DIFFUSE 0x00000006
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_DIFFUSE 0x00000007
#define NV1196_SET_COLOR_MATERIAL_V_SPECULAR 0x00000008
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION_SPECULAR 0x00000009
#define NV1196_SET_COLOR_MATERIAL_V_AMBIENT_SPECULAR 0x0000000A
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_SPECULAR 0x0000000B
#define NV1196_SET_COLOR_MATERIAL_V_DIFFUSE_SPECULAR 0x0000000C
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION_DIFFUSE_SPECULAR 0x0000000D
#define NV1196_SET_COLOR_MATERIAL_V_AMBIENT_DIFFUSE_SPECULAR 0x0000000E
#define NV1196_SET_COLOR_MATERIAL_V_EMISSION_AMBIENT_DIFFUSE_SPECULAR 0x0000000F
#define NV1196_SET_FOG_MODE 0x0000029c
#define NV1196_SET_FOG_MODE_FOG_MODE 31:0
#define NV1196_SET_FOG_MODE_FOG_MODE_LINEAR 0x00002601
#define NV1196_SET_FOG_MODE_FOG_MODE_EXP 0x00000800
#define NV1196_SET_FOG_MODE_FOG_MODE_EXP2 0x00000801
#define NV1196_SET_FOG_MODE_FOG_MODE_EXP_ABS 0x00000802
#define NV1196_SET_FOG_MODE_FOG_MODE_EXP2_ABS 0x00000803
#define NV1196_SET_FOG_GEN_MODE 0x000002a0
#define NV1196_SET_FOG_GEN_MODE_FOG_GEN_MODE 31:0
#define NV1196_SET_FOG_GEN_MODE_FOG_GEN_MODE_USE_INPUT 0x00000000
#define NV1196_SET_FOG_GEN_MODE_FOG_GEN_MODE_RADIAL 0x00000001
#define NV1196_SET_FOG_GEN_MODE_FOG_GEN_MODE_PLANAR 0x00000002
#define NV1196_SET_FOG_GEN_MODE_FOG_GEN_MODE_ABS_PLANAR 0x00000003
#define NV1196_SET_FOG_ENABLE 0x000002a4
#define NV1196_SET_FOG_ENABLE_V 31:0
#define NV1196_SET_FOG_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_FOG_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_FOG_COLOR 0x000002a8
#define NV1196_SET_FOG_COLOR_RED 7:0
#define NV1196_SET_FOG_COLOR_GREEN 15:8
#define NV1196_SET_FOG_COLOR_BLUE 23:16
#define NV1196_SET_FOG_COLOR_ALPHA 31:24
#define NV1196_SET_COLOR_KEY_COLOR(i) (0x000002ac+(i)*4)
#define NV1196_SET_COLOR_KEY_COLOR_V 31:0
#define NV1196_SET_WINDOW_CLIP_TYPE 0x000002b4
#define NV1196_SET_WINDOW_CLIP_TYPE_V 31:0
#define NV1196_SET_WINDOW_CLIP_TYPE_V_INCLUSIVE 0x00000000
#define NV1196_SET_WINDOW_CLIP_TYPE_V_EXCLUSIVE 0x00000001
#define NV1196_SET_WINDOW_CLIP_HORIZONTAL(i) (0x000002c0+(i)*4)
#define NV1196_SET_WINDOW_CLIP_HORIZONTAL_XMIN 11:0
#define NV1196_SET_WINDOW_CLIP_HORIZONTAL_XMAX 27:16
#define NV1196_SET_WINDOW_CLIP_VERTICAL(i) (0x000002e0+(i)*4)
#define NV1196_SET_WINDOW_CLIP_VERTICAL_YMIN 11:0
#define NV1196_SET_WINDOW_CLIP_VERTICAL_YMAX 27:16
#define NV1196_SET_ALPHA_TEST_ENABLE 0x00000300
#define NV1196_SET_ALPHA_TEST_ENABLE_V 31:0
#define NV1196_SET_ALPHA_TEST_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_ALPHA_TEST_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_BLEND_ENABLE 0x00000304
#define NV1196_SET_BLEND_ENABLE_V 31:0
#define NV1196_SET_BLEND_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_BLEND_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_CULL_FACE_ENABLE 0x00000308
#define NV1196_SET_CULL_FACE_ENABLE_V 31:0
#define NV1196_SET_CULL_FACE_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_CULL_FACE_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_DEPTH_TEST_ENABLE 0x0000030c
#define NV1196_SET_DEPTH_TEST_ENABLE_V 31:0
#define NV1196_SET_DEPTH_TEST_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_DEPTH_TEST_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_DITHER_ENABLE 0x00000310
#define NV1196_SET_DITHER_ENABLE_V 31:0
#define NV1196_SET_DITHER_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_DITHER_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_LIGHTING_ENABLE 0x00000314
#define NV1196_SET_LIGHTING_ENABLE_V 31:0
#define NV1196_SET_LIGHTING_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_LIGHTING_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_POINT_PARAMS_ENABLE 0x00000318
#define NV1196_SET_POINT_PARAMS_ENABLE_V 31:0
#define NV1196_SET_POINT_PARAMS_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_POINT_PARAMS_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_POINT_SMOOTH_ENABLE 0x0000031c
#define NV1196_SET_POINT_SMOOTH_ENABLE_V 31:0
#define NV1196_SET_POINT_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_POINT_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_LINE_SMOOTH_ENABLE 0x00000320
#define NV1196_SET_LINE_SMOOTH_ENABLE_V 31:0
#define NV1196_SET_LINE_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_LINE_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_POLY_SMOOTH_ENABLE 0x00000324
#define NV1196_SET_POLY_SMOOTH_ENABLE_V 31:0
#define NV1196_SET_POLY_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_POLY_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_SKIN_ENABLE 0x00000328
#define NV1196_SET_SKIN_ENABLE_V 31:0
#define NV1196_SET_SKIN_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_SKIN_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_STENCIL_TEST_ENABLE 0x0000032c
#define NV1196_SET_STENCIL_TEST_ENABLE_V 31:0
#define NV1196_SET_STENCIL_TEST_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_STENCIL_TEST_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_POLY_OFFSET_POINT_ENABLE 0x00000330
#define NV1196_SET_POLY_OFFSET_POINT_ENABLE_V 31:0
#define NV1196_SET_POLY_OFFSET_POINT_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_POLY_OFFSET_POINT_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_POLY_OFFSET_LINE_ENABLE 0x00000334
#define NV1196_SET_POLY_OFFSET_LINE_ENABLE_V 31:0
#define NV1196_SET_POLY_OFFSET_LINE_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_POLY_OFFSET_LINE_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_POLY_OFFSET_FILL_ENABLE 0x00000338
#define NV1196_SET_POLY_OFFSET_FILL_ENABLE_V 31:0
#define NV1196_SET_POLY_OFFSET_FILL_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_POLY_OFFSET_FILL_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_ALPHA_FUNC 0x0000033c
#define NV1196_SET_ALPHA_FUNC_V 31:0
#define NV1196_SET_ALPHA_FUNC_V_NEVER 0x00000200
#define NV1196_SET_ALPHA_FUNC_V_LESS 0x00000201
#define NV1196_SET_ALPHA_FUNC_V_EQUAL 0x00000202
#define NV1196_SET_ALPHA_FUNC_V_LEQUAL 0x00000203
#define NV1196_SET_ALPHA_FUNC_V_GREATER 0x00000204
#define NV1196_SET_ALPHA_FUNC_V_NOTEQUAL 0x00000205
#define NV1196_SET_ALPHA_FUNC_V_GEQUAL 0x00000206
#define NV1196_SET_ALPHA_FUNC_V_ALWAYS 0x00000207
#define NV1196_SET_ALPHA_REF 0x00000340
#define NV1196_SET_ALPHA_REF_V 31:0
#define NV1196_SET_BLEND_FUNC_SFACTOR 0x00000344
#define NV1196_SET_BLEND_FUNC_SFACTOR_V 31:0
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ZERO 0x00000000
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ONE 0x00000001
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_SRC_COLOR 0x00000300
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA 0x00000302
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_DST_ALPHA 0x00000304
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_DST_COLOR 0x00000306
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA_SATURATE 0x00000308
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV1196_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV1196_SET_BLEND_FUNC_DFACTOR 0x00000348
#define NV1196_SET_BLEND_FUNC_DFACTOR_V 31:0
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ZERO 0x00000000
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ONE 0x00000001
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_SRC_COLOR 0x00000300
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_SRC_ALPHA 0x00000302
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_DST_ALPHA 0x00000304
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_DST_COLOR 0x00000306
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_SRC_ALPHA_SATURATE 0x00000308
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV1196_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV1196_SET_BLEND_COLOR 0x0000034c
#define NV1196_SET_BLEND_COLOR_V 31:0
#define NV1196_SET_BLEND_EQUATION 0x00000350
#define NV1196_SET_BLEND_EQUATION_V 31:0
#define NV1196_SET_BLEND_EQUATION_V_FUNC_SUBTRACT 0x0000800A
#define NV1196_SET_BLEND_EQUATION_V_FUNC_REVERSE_SUBTRACT 0x0000800B
#define NV1196_SET_BLEND_EQUATION_V_FUNC_ADD 0x00008006
#define NV1196_SET_BLEND_EQUATION_V_MIN 0x00008007
#define NV1196_SET_BLEND_EQUATION_V_MAX 0x00008008
#define NV1196_SET_DEPTH_FUNC 0x00000354
#define NV1196_SET_DEPTH_FUNC_V 31:0
#define NV1196_SET_DEPTH_FUNC_V_NEVER 0x00000200
#define NV1196_SET_DEPTH_FUNC_V_LESS 0x00000201
#define NV1196_SET_DEPTH_FUNC_V_EQUAL 0x00000202
#define NV1196_SET_DEPTH_FUNC_V_LEQUAL 0x00000203
#define NV1196_SET_DEPTH_FUNC_V_GREATER 0x00000204
#define NV1196_SET_DEPTH_FUNC_V_NOTEQUAL 0x00000205
#define NV1196_SET_DEPTH_FUNC_V_GEQUAL 0x00000206
#define NV1196_SET_DEPTH_FUNC_V_ALWAYS 0x00000207
#define NV1196_SET_COLOR_MASK 0x00000358
#define NV1196_SET_COLOR_MASK_ALPHA_WRITE_ENABLE 31:24
#define NV1196_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_FALSE 0x00000000
#define NV1196_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_TRUE 0x00000001
#define NV1196_SET_COLOR_MASK_RED_WRITE_ENABLE 23:16
#define NV1196_SET_COLOR_MASK_RED_WRITE_ENABLE_FALSE 0x00000000
#define NV1196_SET_COLOR_MASK_RED_WRITE_ENABLE_TRUE 0x00000001
#define NV1196_SET_COLOR_MASK_GREEN_WRITE_ENABLE 15:8
#define NV1196_SET_COLOR_MASK_GREEN_WRITE_ENABLE_FALSE 0x00000000
#define NV1196_SET_COLOR_MASK_GREEN_WRITE_ENABLE_TRUE 0x00000001
#define NV1196_SET_COLOR_MASK_BLUE_WRITE_ENABLE 7:0
#define NV1196_SET_COLOR_MASK_BLUE_WRITE_ENABLE_FALSE 0x00000000
#define NV1196_SET_COLOR_MASK_BLUE_WRITE_ENABLE_TRUE 0x00000001
#define NV1196_SET_DEPTH_MASK 0x0000035c
#define NV1196_SET_DEPTH_MASK_V 31:0
#define NV1196_SET_DEPTH_MASK_V_FALSE 0x00000000
#define NV1196_SET_DEPTH_MASK_V_TRUE 0x00000001
#define NV1196_SET_STENCIL_MASK 0x00000360
#define NV1196_SET_STENCIL_MASK_V 31:0
#define NV1196_SET_STENCIL_FUNC 0x00000364
#define NV1196_SET_STENCIL_FUNC_V 31:0
#define NV1196_SET_STENCIL_FUNC_V_NEVER 0x00000200
#define NV1196_SET_STENCIL_FUNC_V_LESS 0x00000201
#define NV1196_SET_STENCIL_FUNC_V_EQUAL 0x00000202
#define NV1196_SET_STENCIL_FUNC_V_LEQUAL 0x00000203
#define NV1196_SET_STENCIL_FUNC_V_GREATER 0x00000204
#define NV1196_SET_STENCIL_FUNC_V_NOTEQUAL 0x00000205
#define NV1196_SET_STENCIL_FUNC_V_GEQUAL 0x00000206
#define NV1196_SET_STENCIL_FUNC_V_ALWAYS 0x00000207
#define NV1196_SET_STENCIL_FUNC_REF 0x00000368
#define NV1196_SET_STENCIL_FUNC_REF_V 31:0
#define NV1196_SET_STENCIL_FUNC_MASK 0x0000036c
#define NV1196_SET_STENCIL_FUNC_MASK_V 31:0
#define NV1196_SET_STENCIL_OP_FAIL 0x00000370
#define NV1196_SET_STENCIL_OP_FAIL_V 31:0
#define NV1196_SET_STENCIL_OP_FAIL_V_KEEP 0x00001E00
#define NV1196_SET_STENCIL_OP_FAIL_V_ZERO 0x00000000
#define NV1196_SET_STENCIL_OP_FAIL_V_REPLACE 0x00001E01
#define NV1196_SET_STENCIL_OP_FAIL_V_INCRSAT 0x00001E02
#define NV1196_SET_STENCIL_OP_FAIL_V_DECRSAT 0x00001E03
#define NV1196_SET_STENCIL_OP_FAIL_V_INVERT 0x0000150A
#define NV1196_SET_STENCIL_OP_FAIL_V_INCR 0x00008507
#define NV1196_SET_STENCIL_OP_FAIL_V_DECR 0x00008508
#define NV1196_SET_STENCIL_OP_ZFAIL 0x00000374
#define NV1196_SET_STENCIL_OP_ZFAIL_V 31:0
#define NV1196_SET_STENCIL_OP_ZFAIL_V_KEEP 0x00001E00
#define NV1196_SET_STENCIL_OP_ZFAIL_V_ZERO 0x00000000
#define NV1196_SET_STENCIL_OP_ZFAIL_V_REPLACE 0x00001E01
#define NV1196_SET_STENCIL_OP_ZFAIL_V_INCRSAT 0x00001E02
#define NV1196_SET_STENCIL_OP_ZFAIL_V_DECRSAT 0x00001E03
#define NV1196_SET_STENCIL_OP_ZFAIL_V_INVERT 0x0000150A
#define NV1196_SET_STENCIL_OP_ZFAIL_V_INCR 0x00008507
#define NV1196_SET_STENCIL_OP_ZFAIL_V_DECR 0x00008508
#define NV1196_SET_STENCIL_OP_ZPASS 0x00000378
#define NV1196_SET_STENCIL_OP_ZPASS_V 31:0
#define NV1196_SET_STENCIL_OP_ZPASS_V_KEEP 0x00001E00
#define NV1196_SET_STENCIL_OP_ZPASS_V_ZERO 0x00000000
#define NV1196_SET_STENCIL_OP_ZPASS_V_REPLACE 0x00001E01
#define NV1196_SET_STENCIL_OP_ZPASS_V_INCRSAT 0x00001E02
#define NV1196_SET_STENCIL_OP_ZPASS_V_DECRSAT 0x00001E03
#define NV1196_SET_STENCIL_OP_ZPASS_V_INVERT 0x0000150A
#define NV1196_SET_STENCIL_OP_ZPASS_V_INCR 0x00008507
#define NV1196_SET_STENCIL_OP_ZPASS_V_DECR 0x00008508
#define NV1196_SET_SHADE_MODE 0x0000037c
#define NV1196_SET_SHADE_MODE_V 31:0
#define NV1196_SET_SHADE_MODE_V_FLAT 0x00001D00
#define NV1196_SET_SHADE_MODE_V_SMOOTH 0x00001D01
#define NV1196_SET_LINE_WIDTH 0x00000380
#define NV1196_SET_LINE_WIDTH_V 31:0
#define NV1196_SET_POLYGON_OFFSET_SCALE_FACTOR 0x00000384
#define NV1196_SET_POLYGON_OFFSET_SCALE_FACTOR_V 31:0
#define NV1196_SET_POLYGON_OFFSET_BIAS 0x00000388
#define NV1196_SET_POLYGON_OFFSET_BIAS_V 31:0
#define NV1196_SET_FRONT_POLYGON_MODE 0x0000038c
#define NV1196_SET_FRONT_POLYGON_MODE_V 31:0
#define NV1196_SET_FRONT_POLYGON_MODE_V_POINT 0x00001B00
#define NV1196_SET_FRONT_POLYGON_MODE_V_LINE 0x00001B01
#define NV1196_SET_FRONT_POLYGON_MODE_V_FILL 0x00001B02
#define NV1196_SET_BACK_POLYGON_MODE 0x00000390
#define NV1196_SET_BACK_POLYGON_MODE_V 31:0
#define NV1196_SET_BACK_POLYGON_MODE_V_POINT 0x00001B00
#define NV1196_SET_BACK_POLYGON_MODE_V_LINE 0x00001B01
#define NV1196_SET_BACK_POLYGON_MODE_V_FILL 0x00001B02
#define NV1196_SET_CLIP_MIN 0x00000394
#define NV1196_SET_CLIP_MIN_V 31:0
#define NV1196_SET_CLIP_MAX 0x00000398
#define NV1196_SET_CLIP_MAX_V 31:0
#define NV1196_SET_CULL_FACE 0x0000039c
#define NV1196_SET_CULL_FACE_V 31:0
#define NV1196_SET_CULL_FACE_V_FRONT 0x00000404
#define NV1196_SET_CULL_FACE_V_BACK 0x00000405
#define NV1196_SET_CULL_FACE_V_FRONT_AND_BACK 0x00000408
#define NV1196_SET_FRONT_FACE 0x000003a0
#define NV1196_SET_FRONT_FACE_V 31:0
#define NV1196_SET_FRONT_FACE_V_CW 0x00000900
#define NV1196_SET_FRONT_FACE_V_CCW 0x00000901
#define NV1196_SET_NORMALIZATION_ENABLE 0x000003a4
#define NV1196_SET_NORMALIZATION_ENABLE_V 31:0
#define NV1196_SET_NORMALIZATION_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_NORMALIZATION_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_MATERIAL_EMISSION(i) (0x000003a8+(i)*4)
#define NV1196_SET_MATERIAL_EMISSION_V 31:0
#define NV1196_SET_MATERIAL_ALPHA 0x000003b4
#define NV1196_SET_MATERIAL_ALPHA_V 31:0
#define NV1196_SET_SPECULAR_ENABLE 0x000003b8
#define NV1196_SET_SPECULAR_ENABLE_V 31:0
#define NV1196_SET_SPECULAR_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_SPECULAR_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK 0x000003bc
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT0 1:0
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT0_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT0_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT0_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT0_SPOT 0x00000003
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT1 3:2
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT1_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT1_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT1_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT1_SPOT 0x00000003
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT2 5:4
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT2_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT2_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT2_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT2_SPOT 0x00000003
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT3 7:6
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT3_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT3_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT3_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT3_SPOT 0x00000003
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT4 9:8
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT4_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT4_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT4_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT4_SPOT 0x00000003
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT5 11:10
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT5_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT5_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT5_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT5_SPOT 0x00000003
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT6 13:12
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT6_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT6_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT6_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT6_SPOT 0x00000003
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT7 15:14
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT7_OFF 0x00000000
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT7_INFINITE 0x00000001
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT7_LOCAL 0x00000002
#define NV1196_SET_LIGHT_ENABLE_MASK_LIGHT7_SPOT 0x00000003
#define NV1196_SET_TEXGEN_S(i) (0x000003c0+(i)*16)
#define NV1196_SET_TEXGEN_S_V 31:0
#define NV1196_SET_TEXGEN_S_V_DISABLE 0x00000000
#define NV1196_SET_TEXGEN_S_V_NORMAL_MAP 0x00008511
#define NV1196_SET_TEXGEN_S_V_REFLECTION_MAP 0x00008512
#define NV1196_SET_TEXGEN_S_V_EYE_LINEAR 0x00002400
#define NV1196_SET_TEXGEN_S_V_OBJECT_LINEAR 0x00002401
#define NV1196_SET_TEXGEN_S_V_SPHERE_MAP 0x00002402
#define NV1196_SET_TEXGEN_S_V_EMBOSS 0x0000855F
#define NV1196_SET_TEXGEN_T(i) (0x000003c4+(i)*16)
#define NV1196_SET_TEXGEN_T_V 31:0
#define NV1196_SET_TEXGEN_T_V_DISABLE 0x00000000
#define NV1196_SET_TEXGEN_T_V_NORMAL_MAP 0x00008511
#define NV1196_SET_TEXGEN_T_V_REFLECTION_MAP 0x00008512
#define NV1196_SET_TEXGEN_T_V_EYE_LINEAR 0x00002400
#define NV1196_SET_TEXGEN_T_V_OBJECT_LINEAR 0x00002401
#define NV1196_SET_TEXGEN_T_V_SPHERE_MAP 0x00002402
#define NV1196_SET_TEXGEN_T_V_EMBOSS 0x0000855F
#define NV1196_SET_TEXGEN_R(i) (0x000003c8+(i)*16)
#define NV1196_SET_TEXGEN_R_V 31:0
#define NV1196_SET_TEXGEN_R_V_DISABLE 0x00000000
#define NV1196_SET_TEXGEN_R_V_NORMAL_MAP 0x00008511
#define NV1196_SET_TEXGEN_R_V_REFLECTION_MAP 0x00008512
#define NV1196_SET_TEXGEN_R_V_EYE_LINEAR 0x00002400
#define NV1196_SET_TEXGEN_R_V_OBJECT_LINEAR 0x00002401
#define NV1196_SET_TEXGEN_R_V_EMBOSS 0x0000855F
#define NV1196_SET_TEXGEN_Q(i) (0x000003cc+(i)*16)
#define NV1196_SET_TEXGEN_Q_V 31:0
#define NV1196_SET_TEXGEN_Q_V_DISABLE 0x00000000
#define NV1196_SET_TEXGEN_Q_V_EYE_LINEAR 0x00002400
#define NV1196_SET_TEXGEN_Q_V_OBJECT_LINEAR 0x00002401
#define NV1196_SET_TEXTURE_MATRIX0_ENABLE 0x000003e0
#define NV1196_SET_TEXTURE_MATRIX0_ENABLE_V 31:0
#define NV1196_SET_TEXTURE_MATRIX0_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_TEXTURE_MATRIX0_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_TEXTURE_MATRIX1_ENABLE 0x000003e4
#define NV1196_SET_TEXTURE_MATRIX1_ENABLE_V 31:0
#define NV1196_SET_TEXTURE_MATRIX1_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_TEXTURE_MATRIX1_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_TLMODE 0x000003e8
#define NV1196_SET_TLMODE_PASSTHROUGH 0:0
#define NV1196_SET_TLMODE_PASSTHROUGH_TRUE 0x00000001
#define NV1196_SET_TLMODE_PASSTHROUGH_FALSE 0x00000000
#define NV1196_SET_TLMODE_W_DIVIDE_0 1:1
#define NV1196_SET_TLMODE_W_DIVIDE_0_DISABLE 0x00000000
#define NV1196_SET_TLMODE_W_DIVIDE_0_ENABLE 0x00000001
#define NV1196_SET_TLMODE_W_DIVIDE_1 2:2
#define NV1196_SET_TLMODE_W_DIVIDE_1_DISABLE 0x00000000
#define NV1196_SET_TLMODE_W_DIVIDE_1_ENABLE 0x00000001
#define NV1196_SET_POINT_SIZE 0x000003ec
#define NV1196_SET_POINT_SIZE_V 31:0
#define NV1196_SET_SWATH_WIDTH 0x000003f0
#define NV1196_SET_SWATH_WIDTH_V 31:0
#define NV1196_SET_SWATH_WIDTH_V_8 0x00000000
#define NV1196_SET_SWATH_WIDTH_V_16 0x00000001
#define NV1196_SET_SWATH_WIDTH_V_32 0x00000002
#define NV1196_SET_SWATH_WIDTH_V_64 0x00000003
#define NV1196_SET_FLAT_SHADE_OP 0x000003f4
#define NV1196_SET_FLAT_SHADE_OP_V 31:0
#define NV1196_SET_FLAT_SHADE_OP_V_LAST_VTX 0x00000000
#define NV1196_SET_FLAT_SHADE_OP_V_FIRST_VTX 0x00000001
#define NV1196_SET_MODEL_VIEW_MATRIX0(i) (0x00000400+(i)*4)
#define NV1196_SET_MODEL_VIEW_MATRIX0_V 31:0
#define NV1196_SET_MODEL_VIEW_MATRIX1(i) (0x00000440+(i)*4)
#define NV1196_SET_MODEL_VIEW_MATRIX1_V 31:0
#define NV1196_SET_INVERSE_MODEL_VIEW_MATRIX0(i) (0x00000480+(i)*4)
#define NV1196_SET_INVERSE_MODEL_VIEW_MATRIX0_V 31:0
#define NV1196_SET_INVERSE_MODEL_VIEW_MATRIX1(i) (0x000004c0+(i)*4)
#define NV1196_SET_INVERSE_MODEL_VIEW_MATRIX1_V 31:0
#define NV1196_SET_COMPOSITE_MATRIX(i) (0x00000500+(i)*4)
#define NV1196_SET_COMPOSITE_MATRIX_V 31:0
#define NV1196_SET_TEXTURE_MATRIX0(i) (0x00000540+(i)*4)
#define NV1196_SET_TEXTURE_MATRIX0_V 31:0
#define NV1196_SET_TEXTURE_MATRIX1(i) (0x00000580+(i)*4)
#define NV1196_SET_TEXTURE_MATRIX1_V 31:0
#define NV1196_SET_TEXGEN_SPLANE0(i) (0x00000600+(i)*4)
#define NV1196_SET_TEXGEN_SPLANE0_V 31:0
#define NV1196_SET_TEXGEN_TPLANE0(i) (0x00000610+(i)*4)
#define NV1196_SET_TEXGEN_TPLANE0_V 31:0
#define NV1196_SET_TEXGEN_RPLANE0(i) (0x00000620+(i)*4)
#define NV1196_SET_TEXGEN_RPLANE0_V 31:0
#define NV1196_SET_TEXGEN_QPLANE0(i) (0x00000630+(i)*4)
#define NV1196_SET_TEXGEN_QPLANE0_V 31:0
#define NV1196_SET_TEXGEN_SPLANE1(i) (0x00000640+(i)*4)
#define NV1196_SET_TEXGEN_SPLANE1_V 31:0
#define NV1196_SET_TEXGEN_TPLANE1(i) (0x00000650+(i)*4)
#define NV1196_SET_TEXGEN_TPLANE1_V 31:0
#define NV1196_SET_TEXGEN_RPLANE1(i) (0x00000660+(i)*4)
#define NV1196_SET_TEXGEN_RPLANE1_V 31:0
#define NV1196_SET_TEXGEN_QPLANE1(i) (0x00000670+(i)*4)
#define NV1196_SET_TEXGEN_QPLANE1_V 31:0
#define NV1196_SET_FOG_PARAMS(i) (0x00000680+(i)*4)
#define NV1196_SET_FOG_PARAMS_V 31:0
#define NV1196_SET_FOG_PLANE(i) (0x0000068c+(i)*4)
#define NV1196_SET_FOG_PLANE_V 31:0
#define NV1196_SET_SPECULAR_PARAMS(i) (0x000006a0+(i)*4)
#define NV1196_SET_SPECULAR_PARAMS_V 31:0
#define NV1196_SET_SCENE_AMBIENT_COLOR(i) (0x000006c4+(i)*4)
#define NV1196_SET_SCENE_AMBIENT_COLOR_V 31:0
#define NV1196_SET_VIEWPORT_OFFSET(i) (0x000006e8+(i)*4)
#define NV1196_SET_VIEWPORT_OFFSET_V 31:0
#define NV1196_SET_POINT_PARAMS(i) (0x000006f8+(i)*4)
#define NV1196_SET_POINT_PARAMS_V 31:0
#define NV1196_SET_EYE_POSITION(i) (0x00000718+(i)*4)
#define NV1196_SET_EYE_POSITION_V 31:0
#define NV1196_SET_EYE_DIRECTION_SW(i) (0x0000072c+(i)*4)
#define NV1196_SET_LIGHT_AMBIENT_COLOR(i,j) (0x00000800+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_AMBIENT_COLOR_V 31:0
#define NV1196_SET_LIGHT_DIFFUSE_COLOR(i,j) (0x0000080c+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_DIFFUSE_COLOR_V 31:0
#define NV1196_SET_LIGHT_SPECULAR_COLOR(i,j) (0x00000818+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_SPECULAR_COLOR_V 31:0
#define NV1196_SET_LIGHT_LOCAL_RANGE(i) (0x00000824+(i)*128)
#define NV1196_SET_LIGHT_LOCAL_RANGE_V 31:0
#define NV1196_SET_LIGHT_INFINITE_HALF_VECTOR(i,j) (0x00000828+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_INFINITE_HALF_VECTOR_V 31:0
#define NV1196_SET_LIGHT_INFINITE_DIRECTION(i,j) (0x00000834+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_INFINITE_DIRECTION_V 31:0
#define NV1196_SET_LIGHT_SPOT_FALLOFF(i,j) (0x00000840+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_SPOT_FALLOFF_V 31:0
#define NV1196_SET_LIGHT_SPOT_DIRECTION(i,j) (0x0000084c+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_SPOT_DIRECTION_V 31:0
#define NV1196_SET_LIGHT_LOCAL_POSITION(i,j) (0x0000085c+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_LOCAL_POSITION_V 31:0
#define NV1196_SET_LIGHT_LOCAL_ATTENUATION(i,j) (0x00000868+(i)*128+(j)*4)
#define NV1196_SET_LIGHT_LOCAL_ATTENUATION_V 31:0
#define NV1196_SET_VERTEX3F(i) (0x00000c00+(i)*4)
#define NV1196_SET_VERTEX3F_V 31:0
#define NV1196_SET_VERTEX4F(i) (0x00000c18+(i)*4)
#define NV1196_SET_VERTEX4F_V 31:0
#define NV1196_SET_VERTEX4S(i) (0x00000c28+(i)*4)
#define NV1196_SET_VERTEX4S_V 31:0
#define NV1196_SET_NORMAL3F(i) (0x00000c30+(i)*4)
#define NV1196_SET_NORMAL3F_V 31:0
#define NV1196_SET_NORMAL3S(i) (0x00000c40+(i)*4)
#define NV1196_SET_NORMAL3S_V 31:0
#define NV1196_SET_DIFFUSE_COLOR4F(i) (0x00000c50+(i)*4)
#define NV1196_SET_DIFFUSE_COLOR4F_V 31:0
#define NV1196_SET_DIFFUSE_COLOR3F(i) (0x00000c60+(i)*4)
#define NV1196_SET_DIFFUSE_COLOR3F_V 31:0
#define NV1196_SET_DIFFUSE_COLOR4UB 0x00000c6c
#define NV1196_SET_DIFFUSE_COLOR4UB_V 31:0
#define NV1196_SET_SPECULAR_COLOR4F(i) (0x00000c70+(i)*4)
#define NV1196_SET_SPECULAR_COLOR4F_V 31:0
#define NV1196_SET_SPECULAR_COLOR3F(i) (0x00000c80+(i)*4)
#define NV1196_SET_SPECULAR_COLOR3F_V 31:0
#define NV1196_SET_SPECULAR_COLOR4UB 0x00000c8c
#define NV1196_SET_SPECULAR_COLOR4UB_V 31:0
#define NV1196_SET_TEXCOORD0_2F(i) (0x00000c90+(i)*4)
#define NV1196_SET_TEXCOORD0_2F_V 31:0
#define NV1196_SET_TEXCOORD0_2S 0x00000c98
#define NV1196_SET_TEXCOORD0_2S_V 31:0
#define NV1196_SET_TEXCOORD0_4F(i) (0x00000ca0+(i)*4)
#define NV1196_SET_TEXCOORD0_4F_V 31:0
#define NV1196_SET_TEXCOORD0_4S(i) (0x00000cb0+(i)*4)
#define NV1196_SET_TEXCOORD0_4S_V 31:0
#define NV1196_SET_TEXCOORD1_2F(i) (0x00000cb8+(i)*4)
#define NV1196_SET_TEXCOORD1_2F_V 31:0
#define NV1196_SET_TEXCOORD1_2S 0x00000cc0
#define NV1196_SET_TEXCOORD1_2S_V 31:0
#define NV1196_SET_TEXCOORD1_4F(i) (0x00000cc8+(i)*4)
#define NV1196_SET_TEXCOORD1_4F_V 31:0
#define NV1196_SET_TEXCOORD1_4S(i) (0x00000cd8+(i)*4)
#define NV1196_SET_TEXCOORD1_4S_V 31:0
#define NV1196_SET_FOG1F 0x00000ce0
#define NV1196_SET_FOG1F_V 31:0
#define NV1196_SET_WEIGHT1F 0x00000ce4
#define NV1196_SET_WEIGHT1F_V 31:0
#define NV1196_SET_EDGE_FLAG 0x00000cec
#define NV1196_SET_EDGE_FLAG_V 31:0
#define NV1196_INVALIDATE_VERTEX_CACHE_FILE 0x00000cf0
#define NV1196_INVALIDATE_VERTEX_CACHE_FILE_V 31:0
#define NV1196_INVALIDATE_VERTEX_FILE 0x00000cf4
#define NV1196_INVALIDATE_VERTEX_FILE_V 31:0
#define NV1196_TL_NOP 0x00000cf8
#define NV1196_TL_NOP_V 31:0
#define NV1196_TL_SYNC 0x00000cfc
#define NV1196_TL_SYNC_V 31:0
#define NV1196_SET_VERTEX_ARRAY_OFFSET 0x00000d00
#define NV1196_SET_VERTEX_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_DIFFUSE_ARRAY_OFFSET 0x00000d08
#define NV1196_SET_DIFFUSE_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_SPECULAR_ARRAY_OFFSET 0x00000d10
#define NV1196_SET_SPECULAR_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_TEX_COORD0_ARRAY_OFFSET 0x00000d18
#define NV1196_SET_TEX_COORD0_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_TEX_COORD1_ARRAY_OFFSET 0x00000d20
#define NV1196_SET_TEX_COORD1_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_NORMAL_ARRAY_OFFSET 0x00000d28
#define NV1196_SET_NORMAL_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_WEIGHT_ARRAY_OFFSET 0x00000d30
#define NV1196_SET_WEIGHT_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_FOG_ARRAY_OFFSET 0x00000d38
#define NV1196_SET_FOG_ARRAY_OFFSET_OFFSET 31:0
#define NV1196_SET_VERTEX_ARRAY_FORMAT 0x00000d04
#define NV1196_SET_VERTEX_ARRAY_FORMAT_W 31:24
#define NV1196_SET_VERTEX_ARRAY_FORMAT_W_NONE 0x00000000
#define NV1196_SET_VERTEX_ARRAY_FORMAT_W_PRESENT 0x00000001
#define NV1196_SET_VERTEX_ARRAY_FORMAT_STRIDE 23:8
#define NV1196_SET_VERTEX_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_VERTEX_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV1196_SET_VERTEX_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV1196_SET_VERTEX_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV1196_SET_VERTEX_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_VERTEX_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV1196_SET_VERTEX_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT 0x00000d0c
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_STRIDE 31:8
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_BGRA 0x00000000
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_DIFFUSE_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_RGBA 0x00000004
#define NV1196_SET_SPECULAR_ARRAY_FORMAT 0x00000d14
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_STRIDE 31:8
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_BGRA 0x00000000
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_SPECULAR_ARRAY_FORMAT_TYPE_UNSIGNED_BYTE_RGBA 0x00000004
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT 0x00000d1c
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_STRIDE 31:8
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV1196_SET_TEX_COORD0_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT 0x00000d24
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_STRIDE 31:8
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV1196_SET_TEX_COORD1_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_NORMAL_ARRAY_FORMAT 0x00000d2c
#define NV1196_SET_NORMAL_ARRAY_FORMAT_STRIDE 31:8
#define NV1196_SET_NORMAL_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_NORMAL_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV1196_SET_NORMAL_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV1196_SET_NORMAL_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_NORMAL_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV1196_SET_NORMAL_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_WEIGHT_ARRAY_FORMAT 0x00000d34
#define NV1196_SET_WEIGHT_ARRAY_FORMAT_STRIDE 31:8
#define NV1196_SET_WEIGHT_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_WEIGHT_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV1196_SET_WEIGHT_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV1196_SET_WEIGHT_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_WEIGHT_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV1196_SET_WEIGHT_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_FOG_ARRAY_FORMAT 0x00000d3c
#define NV1196_SET_FOG_ARRAY_FORMAT_STRIDE 31:8
#define NV1196_SET_FOG_ARRAY_FORMAT_SIZE 7:4
#define NV1196_SET_FOG_ARRAY_FORMAT_SIZE_0 0x00000000
#define NV1196_SET_FOG_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV1196_SET_FOG_ARRAY_FORMAT_TYPE 3:0
#define NV1196_SET_FOG_ARRAY_FORMAT_TYPE_SHORT 0x00000001
#define NV1196_SET_FOG_ARRAY_FORMAT_TYPE_FLOAT 0x00000002
#define NV1196_SET_LOGIC_OP_ENABLE 0x00000d40
#define NV1196_SET_LOGIC_OP_ENABLE_V 31:0
#define NV1196_SET_LOGIC_OP_ENABLE_V_FALSE 0x00000000
#define NV1196_SET_LOGIC_OP_ENABLE_V_TRUE 0x00000001
#define NV1196_SET_LOGIC_OP 0x00000d44
#define NV1196_SET_LOGIC_OP_V 31:0
#define NV1196_SET_LOGIC_OP_V_CLEAR 0x00001500
#define NV1196_SET_LOGIC_OP_V_AND 0x00001501
#define NV1196_SET_LOGIC_OP_V_AND_REVERSE 0x00001502
#define NV1196_SET_LOGIC_OP_V_COPY 0x00001503
#define NV1196_SET_LOGIC_OP_V_AND_INVERTED 0x00001504
#define NV1196_SET_LOGIC_OP_V_NOOP 0x00001505
#define NV1196_SET_LOGIC_OP_V_XOR 0x00001506
#define NV1196_SET_LOGIC_OP_V_OR 0x00001507
#define NV1196_SET_LOGIC_OP_V_NOR 0x00001508
#define NV1196_SET_LOGIC_OP_V_EQUIV 0x00001509
#define NV1196_SET_LOGIC_OP_V_INVERT 0x0000150A
#define NV1196_SET_LOGIC_OP_V_OR_REVERSE 0x0000150B
#define NV1196_SET_LOGIC_OP_V_COPY_INVERTED 0x0000150C
#define NV1196_SET_LOGIC_OP_V_OR_INVERTED 0x0000150D
#define NV1196_SET_LOGIC_OP_V_NAND 0x0000150E
#define NV1196_SET_LOGIC_OP_V_SET 0x0000150F
#define NV1196_SET_BEGIN_END 0x00000dfc
#define NV1196_SET_BEGIN_END_OP 31:0
#define NV1196_SET_BEGIN_END_OP_END 0x00000000
#define NV1196_SET_BEGIN_END_OP_POINTS 0x00000001
#define NV1196_SET_BEGIN_END_OP_LINES 0x00000002
#define NV1196_SET_BEGIN_END_OP_LINE_LOOP 0x00000003
#define NV1196_SET_BEGIN_END_OP_LINE_STRIP 0x00000004
#define NV1196_SET_BEGIN_END_OP_TRIANGLES 0x00000005
#define NV1196_SET_BEGIN_END_OP_TRIANGLE_STRIP 0x00000006
#define NV1196_SET_BEGIN_END_OP_TRIANGLE_FAN 0x00000007
#define NV1196_SET_BEGIN_END_OP_QUADS 0x00000008
#define NV1196_SET_BEGIN_END_OP_QUAD_STRIP 0x00000009
#define NV1196_SET_BEGIN_END_OP_POLYGON 0x0000000A
#define NV1196_ARRAY_ELEMENT16(i) (0x00000e00+(i)*4)
#define NV1196_ARRAY_ELEMENT16_VERTEX0 15:0
#define NV1196_ARRAY_ELEMENT16_VERTEX1 31:16
#define NV1196_SET_BEGIN_END2 0x000010fc
#define NV1196_SET_BEGIN_END2_OP 31:0
#define NV1196_SET_BEGIN_END2_OP_END 0x00000000
#define NV1196_SET_BEGIN_END2_OP_POINTS 0x00000001
#define NV1196_SET_BEGIN_END2_OP_LINES 0x00000002
#define NV1196_SET_BEGIN_END2_OP_LINE_LOOP 0x00000003
#define NV1196_SET_BEGIN_END2_OP_LINE_STRIP 0x00000004
#define NV1196_SET_BEGIN_END2_OP_TRIANGLES 0x00000005
#define NV1196_SET_BEGIN_END2_OP_TRIANGLE_STRIP 0x00000006
#define NV1196_SET_BEGIN_END2_OP_TRIANGLE_FAN 0x00000007
#define NV1196_SET_BEGIN_END2_OP_QUADS 0x00000008
#define NV1196_SET_BEGIN_END2_OP_QUAD_STRIP 0x00000009
#define NV1196_SET_BEGIN_END2_OP_POLYGON 0x0000000A
#define NV1196_ARRAY_ELEMENT32(i) (0x00001100+(i)*4)
#define NV1196_ARRAY_ELEMENT32_V 31:0
#define NV1196_SET_BEGIN_END3 0x000013fc
#define NV1196_SET_BEGIN_END3_OP 31:0
#define NV1196_SET_BEGIN_END3_OP_END 0x00000000
#define NV1196_SET_BEGIN_END3_OP_POINTS 0x00000001
#define NV1196_SET_BEGIN_END3_OP_LINES 0x00000002
#define NV1196_SET_BEGIN_END3_OP_LINE_LOOP 0x00000003
#define NV1196_SET_BEGIN_END3_OP_LINE_STRIP 0x00000004
#define NV1196_SET_BEGIN_END3_OP_TRIANGLES 0x00000005
#define NV1196_SET_BEGIN_END3_OP_TRIANGLE_STRIP 0x00000006
#define NV1196_SET_BEGIN_END3_OP_TRIANGLE_FAN 0x00000007
#define NV1196_SET_BEGIN_END3_OP_QUADS 0x00000008
#define NV1196_SET_BEGIN_END3_OP_QUAD_STRIP 0x00000009
#define NV1196_SET_BEGIN_END3_OP_POLYGON 0x0000000A
#define NV1196_DRAW_ARRAYS(i) (0x00001400+(i)*4)
#define NV1196_DRAW_ARRAYS_COUNT 31:24
#define NV1196_DRAW_ARRAYS_START_INDEX 23:0
#define NV1196_SET_BEGIN_END4 0x000017fc
#define NV1196_SET_BEGIN_END4_OP 31:0
#define NV1196_SET_BEGIN_END4_OP_END 0x00000000
#define NV1196_SET_BEGIN_END4_OP_POINTS 0x00000001
#define NV1196_SET_BEGIN_END4_OP_LINES 0x00000002
#define NV1196_SET_BEGIN_END4_OP_LINE_LOOP 0x00000003
#define NV1196_SET_BEGIN_END4_OP_LINE_STRIP 0x00000004
#define NV1196_SET_BEGIN_END4_OP_TRIANGLES 0x00000005
#define NV1196_SET_BEGIN_END4_OP_TRIANGLE_STRIP 0x00000006
#define NV1196_SET_BEGIN_END4_OP_TRIANGLE_FAN 0x00000007
#define NV1196_SET_BEGIN_END4_OP_QUADS 0x00000008
#define NV1196_SET_BEGIN_END4_OP_QUAD_STRIP 0x00000009
#define NV1196_SET_BEGIN_END4_OP_POLYGON 0x0000000A
#define NV1196_INLINE_ARRAY(i) (0x00001800+(i)*4)
#define NV1196_INLINE_ARRAY_V 31:0
#define NV1196_DEBUG_INIT(i) (0x00001600+(i)*4)
#define NV1196_DEBUG_INIT_V 31:0
// This typedef really should be the same as Nv20KelvinPrimitive, but this
// causes the NV03/NV04_CHANNEL_PIO union to become too large for the 16bit
// compiler. Since we don't expect to use a PIO channel with Celsius, we'll
// just use the old DWORD size typedef.
typedef NvV32 Nv097Typedef;
/* class NV20_KELVIN_PRIMITIVE */
#define NV20_KELVIN_PRIMITIVE (0x00000097)
/* NvNotification[] elements */
#define NV097_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV097_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV097_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV097_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV097_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV097_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV097_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
typedef volatile struct {
// system method
NvV32 ctx_Switch;
NvV32 Reserved0004[0xfc/4];
NvV32 NoOperation;
NvV32 Notify;
NvV32 SetWarningEnable;
NvV32 GetState;
NvV32 WaitForIdle;
NvV32 Reserved0114[0xc/4];
NvU32 SetFlipRead;
NvU32 SetFlipWrite;
NvU32 SetFlipModulo;
NvV32 FlipIncrementWrite;
NvV32 FlipStall;
NvV32 Reserved0134[0xc/4];
NvV32 PmTrigger;
NvV32 Reserved0144[0x3c/4];
NvU32 SetContextDmaNotifies;
NvU32 SetContextDmaA;
NvU32 SetContextDmaB;
NvV32 Reserved018c[0x4/4];
NvU32 SetContextDmaState;
NvU32 SetContextDmaColor;
NvU32 SetContextDmaZeta;
NvU32 SetContextDmaVertexA;
NvU32 SetContextDmaVertexB;
NvU32 SetContextDmaSemaphore;
NvU32 SetContextDmaReport;
NvV32 Reserved01ac[0x54/4];
NvV32 SetSurfaceClipHorizontal;
NvV32 SetSurfaceClipVertical;
NvV32 SetSurfaceFormat;
NvV32 SetSurfacePitch;
NvU32 SetSurfaceColorOffset;
NvU32 SetSurfaceZetaOffset;
NvV32 Reserved0218[0x48/4];
NvV32 SetCombinerAlphaICW[8];
NvV32 Reserved0280[0x8/4];
NvV32 SetCombinerSpecularFogCW0;
NvV32 SetCombinerSpecularFogCW1;
NvV32 SetControl0;
NvV32 SetLightControl;
NvV32 SetColorMaterial;
NvV32 SetFogMode;
NvV32 SetFogGenMode;
NvV32 SetFogEnable;
NvV32 SetFogColor;
NvV32 Reserved02ac[0x8/4];
NvV32 SetWindowClipType;
NvV32 Reserved02b8[0x8/4];
NvV32 SetWindowClipHorizontal[8];
NvV32 SetWindowClipVertical[8];
NvV32 SetAlphaTestEnable;
NvV32 SetBlendEnable;
NvV32 SetCullFaceEnable;
NvV32 SetDepthTestEnable;
NvV32 SetDitherEnable;
NvV32 SetLightingEnable;
NvV32 SetPointParamsEnable;
NvV32 SetPointSmoothEnable;
NvV32 SetLineSmoothEnable;
NvV32 SetPolySmoothEnable;
NvV32 SetSkinMode;
NvV32 SetStencilTestEnable;
NvV32 SetPolyOffsetPointEnable;
NvV32 SetPolyOffsetLineEnable;
NvV32 SetPolyOffsetFillEnable;
NvV32 SetAlphaFunc;
NvU32 SetAlphaRef;
NvV32 SetBlendFuncSfactor;
NvV32 SetBlendFuncDfactor;
NvU32 SetBlendColor;
NvV32 SetBlendEquation;
NvV32 SetDepthFunc;
NvV32 SetColorMask;
NvV32 SetDepthMask;
NvU32 SetStencilMask;
NvV32 SetStencilFunc;
NvU32 SetStencilFuncRef;
NvU32 SetStencilFuncMask;
NvV32 SetStencilOpFail;
NvV32 SetStencilOpZfail;
NvV32 SetStencilOpZpass;
NvV32 SetShadeMode;
NvU32 SetLineWidth;
NvF32 SetPolygonOffsetScaleFactor;
NvF32 SetPolygonOffsetBias;
NvV32 SetFrontPolygonMode;
NvV32 SetBackPolygonMode;
NvF32 SetClipMin;
NvF32 SetClipMax;
NvV32 SetCullFace;
NvV32 SetFrontFace;
NvV32 SetNormalizationEnable;
NvF32 SetMaterialEmission[3];
NvF32 SetMaterialAlpha;
NvV32 SetSpecularEnable;
NvV32 SetLightEnableMask;
struct {
NvV32 S;
NvV32 T;
NvV32 R;
NvV32 Q;
} SetTexgen[4];
NvV32 Reserved0400[0x20/4];
NvV32 SetTextureMatrixEnable[4];
NvV32 Reserved0430[0xc/4];
NvU32 SetPointSize;
NvF32 SetProjectionMatrix[16];
NvF32 SetModelViewMatrix0[16];
NvF32 SetModelViewMatrix1[16];
NvF32 SetModelViewMatrix2[16];
NvF32 SetModelViewMatrix3[16];
NvF32 SetInverseModelViewMatrix0[16];
NvF32 SetInverseModelViewMatrix1[16];
NvF32 SetInverseModelViewMatrix2[16];
NvF32 SetInverseModelViewMatrix3[16];
NvF32 SetCompositeMatrix[16];
NvF32 SetTextureMatrix0[16];
NvF32 SetTextureMatrix1[16];
NvF32 SetTextureMatrix2[16];
NvF32 SetTextureMatrix3[16];
NvV32 Reserved07c0[0x80/4];
struct {
NvF32 S[4];
NvF32 T[4];
NvF32 R[4];
NvF32 Q[4];
} SetTexgenPlane[4];
NvV32 Reserved0940[0x80/4];
NvF32 SetFogParams[3];
NvV32 SetTexgenViewModel;
NvF32 SetFogPlane[4];
NvF32 SetSpecularParams[6];
NvV32 SetSwathWidth;
NvV32 SetFlatShadeOp;
NvV32 Reserved0a00[0x10/4];
NvF32 SetSceneAmbientColor[3];
NvV32 Reserved0a1c[0x4/4];
NvF32 SetViewportOffset[4];
NvF32 SetPointParams[8];
NvF32 SetEyePosition[4];
NvV32 SetCombinerFactor0[8];
NvV32 SetCombinerFactor1[8];
NvV32 SetCombinerAlphaOCW[8];
NvV32 SetCombinerColorICW[8];
NvU32 SetColorKeyColor[4];
NvF32 SetViewportScale[4];
NvU32 SetTransformProgram[32];
NvF32 SetTransformConstant[32];
struct {
NvF32 AmbientColor[3];
NvF32 DiffuseColor[3];
NvF32 SpecularColor[3];
NvV32 Reserved0c24[0x1c/4];
} SetBackLight[8];
NvV32 Reserved0e00[0x200/4];
struct {
NvF32 AmbientColor[3];
NvF32 DiffuseColor[3];
NvF32 SpecularColor[3];
NvF32 LocalRange;
NvF32 InfiniteHalfVector[3];
NvF32 InfiniteDirection[3];
NvF32 SpotFalloff[3];
NvF32 SpotDirection[4];
NvF32 LocalPosition[3];
NvF32 LocalAttenuation[3];
NvV32 Reserved1074[0xc/4];
} SetLight[8];
NvV32 Reserved1400[0x7c/4];
NvV32 SetStippleControl;
NvU32 SetStipplePattern[32];
NvF32 SetVertex3f[3];
NvV32 Reserved150c[0xc/4];
NvF32 SetVertex4f[4];
NvS32 SetVertex4s[2];
NvF32 SetNormal3f[3];
NvV32 Reserved153c[0x4/4];
NvS32 SetNormal3s[2];
NvV32 Reserved1548[0x8/4];
NvF32 SetDiffuseColor4f[4];
NvF32 SetDiffuseColor3f[3];
NvU32 SetDiffuseColor4ub;
NvF32 SetSpecularColor4f[4];
NvF32 SetSpecularColor3f[3];
NvU32 SetSpecularColor4ub;
NvF32 SetTexcoord0_2f[2];
NvS32 SetTexcoord0_2s;
NvV32 Reserved159c[0x4/4];
NvF32 SetTexcoord0_4f[4];
NvS32 SetTexcoord0_4s[2];
NvF32 SetTexcoord1_2f[2];
NvS32 SetTexcoord1_2s;
NvV32 Reserved15c4[0x4/4];
NvF32 SetTexcoord1_4f[4];
NvS32 SetTexcoord1_4s[2];
NvF32 SetTexcoord2_2f[2];
NvS32 SetTexcoord2_2s;
NvV32 Reserved15ec[0x4/4];
NvF32 SetTexcoord2_4f[4];
NvS32 SetTexcoord2_4s[2];
NvF32 SetTexcoord3_2f[2];
NvS32 SetTexcoord3_2s;
NvV32 Reserved1614[0xc/4];
NvF32 SetTexcoord3_4f[4];
NvS32 SetTexcoord3_4s[2];
NvV32 Reserved1638[0x60/4];
NvF32 SetFog1f;
NvF32 SetWeight1f;
NvF32 SetWeight2f[2];
NvV32 Reserved16a8[0x8/4];
NvF32 SetWeight3f[3];
NvV32 SetEdgeFlag;
NvF32 SetWeight4f[4];
NvF32 SetTransformFixedConst3[4];
NvF32 SetTransformFixedConst0[4];
NvF32 SetTransformFixedConst1[4];
NvF32 SetTransformFixedConst2[4];
NvV32 InvalidateVertexCacheFile;
NvV32 InvalidateVertexFile;
NvV32 TlNop;
NvV32 TlSync;
NvV32 SetVertexDataArrayOffset[16];
NvV32 SetVertexDataArrayFormat[16];
NvF32 SetBackSceneAmbientColor[3];
NvF32 SetBackMaterialAlpha;
NvF32 SetBackMaterialEmission[3];
NvV32 SetLogicOpEnable;
NvV32 SetLogicOp;
NvV32 SetTwoSideLightEn;
NvV32 ClearReportValue;
NvV32 SetZpassPixelCountEnable;
NvV32 GetReport;
NvF32 SetTLConstZero[3];
NvF32 SetEyeDirection[3];
NvF32 SetLinearFogConst[3];
NvV32 SetShaderClipPlaneMode;
NvV32 SetBeginEnd;
NvV32 ArrayElement16;
NvV32 Reserved1804[0x4/4];
NvU32 ArrayElement32;
NvV32 Reserved180c[0x4/4];
NvV32 DrawArrays;
NvV32 Reserved1814[0x4/4];
NvU32 InlineArray;
NvF32 SetEyeVector[3];
NvU32 InlineVertexReuse;
NvV32 Reserved182c[0x54/4];
struct {
NvF32 M[2];
} SetVertexData2f[16];
NvS32 SetVertexData2s[16];
NvS32 SetVertexData4ub[16];
struct {
NvS32 M[2];
} SetVertexData4s[16];
struct {
NvF32 M[4];
} SetVertexData4f[16];
struct {
NvU32 Offset;
NvV32 Format;
NvV32 Address;
NvV32 Control0;
NvV32 Control1;
NvV32 Filter;
NvV32 Reserved1b18[0x4/4];
NvV32 ImageRect;
NvV32 Palette;
NvU32 BorderColor;
NvF32 SetBumpEnvMat00;
NvF32 SetBumpEnvMat01;
NvF32 SetBumpEnvMat11;
NvF32 SetBumpEnvMat10;
NvF32 SetBumpEnvScale;
NvF32 SetBumpEnvOffset;
} SetTexture[4];
NvV32 Reserved1c00[0x164/4];
NvV32 ParkAttribute;
NvV32 UnparkAttribute;
NvU32 SetSemaphoreOffset;
NvU32 BackEndWriteSemaphoreRelease;
NvU32 TextureReadSemaphoreRelease;
NvV32 SetZMinMaxControl;
NvV32 SetAntiAliasingControl;
NvV32 SetCompressZBufferEn;
NvV32 SetOccludeZStencilEn;
NvV32 Reserved1d88[0x4/4];
NvU32 SetZStencilClearValue;
NvU32 SetColorClearValue;
NvV32 ClearSurface;
NvV32 SetClearRectHorizontal;
NvV32 SetClearRectVertical;
NvV32 Reserved1da0[0x40/4];
NvV32 SetBeginPatch0;
NvV32 SetBeginPatch1;
NvV32 SetBeginPatch2;
NvV32 SetBeginPatch3;
NvV32 SetEndPatch;
NvV32 SetBeginEndSwatch;
NvV32 SetBeginEndCurve;
NvV32 Reserved1dfc[0x4/4];
NvF32 SetCurveCoefficients[4];
NvV32 SetBeginTransition0;
NvV32 SetBeginTransition1;
NvV32 SetBeginTransition2;
NvV32 SetEndTransition;
NvV32 SetSpecularFogFactor[2];
NvF32 SetBackSpecularParams[6];
NvV32 SetCombinerColorOCW[8];
NvV32 SetCombinerControl;
NvV32 Reserved1e64[0x4/4];
NvF32 SetShadowZSlopeThreshold;
NvV32 SetShadowDepthFunc;
NvV32 SetShaderStageProgram;
NvV32 SetDotRGBMapping;
NvV32 SetShaderOtherStageInput;
NvV32 Reserved1e7c[0x4/4];
NvF32 SetTransformData[4];
NvU32 LaunchTransformProgram;
NvV32 SetTransformExecutionMode;
NvV32 SetTransformProgramCxtWriteEn;
NvU32 SetTransformProgramLoad;
NvU32 SetTransformProgramStart;
NvU32 SetTransformConstantLoad;
NvV32 Reserved1ea8[0x118/4];
NvV32 DebugInit[10];
NvV32 Reserved1fe8[0x18/4];
} Nv20KelvinPrimitive;
#define NV097_NO_OPERATION 0x00000100
#define NV097_NOTIFY 0x00000104
#define NV097_NOTIFY_TYPE 31:0
#define NV097_NOTIFY_TYPE_WRITE_ONLY 0x00000000
#define NV097_NOTIFY_TYPE_WRITE_THEN_AWAKEN 0x00000001
#define NV097_SET_WARNING_ENABLE 0x00000108
#define NV097_SET_WARNING_ENABLE_V 31:0
#define NV097_SET_WARNING_ENABLE_V_STOP 0x00000000
#define NV097_SET_WARNING_ENABLE_V_WRITE_ONLY 0x00000001
#define NV097_SET_WARNING_ENABLE_V_WRITE_THEN_AWAKEN 0x00000002
#define NV097_GET_STATE 0x0000010c
#define NV097_GET_STATE_GETSTATE 31:0
#define NV097_GET_STATE_GETSTATE_ALL_STATE 0x00000001
#define NV097_GET_STATE_GETSTATE_PUT_ALL_STATE 0x00000002
#define NV097_WAIT_FOR_IDLE 0x00000110
#define NV097_PM_TRIGGER 0x00000140
#define NV097_PM_TRIGGER_V 31:0
#define NV097_PM_TRIGGER_V_NOP 0x00000000
#define NV097_PM_TRIGGER_V_TRIGGER 0x00000001
#define NV097_SET_FLIP_READ 0x00000120
#define NV097_SET_FLIP_READ_V 31:0
#define NV097_SET_FLIP_WRITE 0x00000124
#define NV097_SET_FLIP_WRITE_V 31:0
#define NV097_SET_FLIP_MODULO 0x00000128
#define NV097_SET_FLIP_MODULO_V 31:0
#define NV097_FLIP_INCREMENT_WRITE 0x0000012c
#define NV097_FLIP_STALL 0x00000130
#define NV097_SET_CONTEXT_DMA_NOTIFIES 0x00000180
#define NV097_SET_CONTEXT_DMA_NOTIFIES_V 31:0
#define NV097_SET_CONTEXT_DMA_A 0x00000184
#define NV097_SET_CONTEXT_DMA_A_V 31:0
#define NV097_SET_CONTEXT_DMA_B 0x00000188
#define NV097_SET_CONTEXT_DMA_B_V 31:0
#define NV097_SET_CONTEXT_DMA_STATE 0x00000190
#define NV097_SET_CONTEXT_DMA_STATE_V 31:0
#define NV097_SET_CONTEXT_DMA_COLOR 0x00000194
#define NV097_SET_CONTEXT_DMA_COLOR_V 31:0
#define NV097_SET_CONTEXT_DMA_ZETA 0x00000198
#define NV097_SET_CONTEXT_DMA_ZETA_V 31:0
#define NV097_SET_CONTEXT_DMA_VERTEX_A 0x0000019c
#define NV097_SET_CONTEXT_DMA_VERTEX_A_V 31:0
#define NV097_SET_CONTEXT_DMA_VERTEX_B 0x000001a0
#define NV097_SET_CONTEXT_DMA_VERTEX_B_V 31:0
#define NV097_SET_CONTEXT_DMA_SEMAPHORE 0x000001a4
#define NV097_SET_CONTEXT_DMA_SEMAPHORE_V 31:0
#define NV097_SET_CONTEXT_DMA_REPORT 0x000001a8
#define NV097_SET_CONTEXT_DMA_REPORT_V 31:0
#define NV097_SET_SURFACE_CLIP_HORIZONTAL 0x00000200
#define NV097_SET_SURFACE_CLIP_HORIZONTAL_X 15:0
#define NV097_SET_SURFACE_CLIP_HORIZONTAL_WIDTH 31:16
#define NV097_SET_SURFACE_CLIP_VERTICAL 0x00000204
#define NV097_SET_SURFACE_CLIP_VERTICAL_Y 15:0
#define NV097_SET_SURFACE_CLIP_VERTICAL_HEIGHT 31:16
#define NV097_SET_SURFACE_PITCH 0x0000020c
#define NV097_SET_SURFACE_PITCH_COLOR 15:0
#define NV097_SET_SURFACE_PITCH_ZETA 31:16
#define NV097_SET_SURFACE_COLOR_OFFSET 0x00000210
#define NV097_SET_SURFACE_COLOR_OFFSET_V 31:0
#define NV097_SET_SURFACE_ZETA_OFFSET 0x00000214
#define NV097_SET_SURFACE_ZETA_OFFSET_V 31:0
#define NV097_SET_COMBINER_ALPHA_ICW(i) (0x00000260+(i)*4)
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP 31:29
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_ALPHA_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_ALPHA_ICW_A_ALPHA 28:28
#define NV097_SET_COMBINER_ALPHA_ICW_A_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_A_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE 27:24
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP 23:21
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_ALPHA_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_ALPHA_ICW_B_ALPHA 20:20
#define NV097_SET_COMBINER_ALPHA_ICW_B_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_B_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE 19:16
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP 15:13
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_ALPHA_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_ALPHA_ICW_C_ALPHA 12:12
#define NV097_SET_COMBINER_ALPHA_ICW_C_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_C_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE 11:8
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP 7:5
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_ALPHA_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_ALPHA_ICW_D_ALPHA 4:4
#define NV097_SET_COMBINER_ALPHA_ICW_D_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_D_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE 3:0
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_COLOR_ICW(i) (0x00000ac0+(i)*4)
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP 31:29
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_COLOR_ICW_A_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_COLOR_ICW_A_ALPHA 28:28
#define NV097_SET_COMBINER_COLOR_ICW_A_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_A_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE 27:24
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP 23:21
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_COLOR_ICW_B_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_COLOR_ICW_B_ALPHA 20:20
#define NV097_SET_COMBINER_COLOR_ICW_B_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_B_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE 19:16
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP 15:13
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_COLOR_ICW_C_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_COLOR_ICW_C_ALPHA 12:12
#define NV097_SET_COMBINER_COLOR_ICW_C_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_C_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE 11:8
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP 7:5
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_IDENTITY 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_UNSIGNED_INVERT 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NORMAL 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_EXPAND_NEGATE 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NORMAL 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_HALFBIAS_NEGATE 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_IDENTITY 0x00000006
#define NV097_SET_COMBINER_COLOR_ICW_D_MAP_SIGNED_NEGATE 0x00000007
#define NV097_SET_COMBINER_COLOR_ICW_D_ALPHA 4:4
#define NV097_SET_COMBINER_COLOR_ICW_D_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_D_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE 3:0
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_FACTOR0(i) (0x00000a60+(i)*4)
#define NV097_SET_COMBINER_FACTOR0_BLUE 7:0
#define NV097_SET_COMBINER_FACTOR0_GREEN 15:8
#define NV097_SET_COMBINER_FACTOR0_RED 23:16
#define NV097_SET_COMBINER_FACTOR0_ALPHA 31:24
#define NV097_SET_COMBINER_FACTOR1(i) (0x00000a80+(i)*4)
#define NV097_SET_COMBINER_FACTOR1_BLUE 7:0
#define NV097_SET_COMBINER_FACTOR1_GREEN 15:8
#define NV097_SET_COMBINER_FACTOR1_RED 23:16
#define NV097_SET_COMBINER_FACTOR1_ALPHA 31:24
#define NV097_SET_COMBINER_ALPHA_OCW(i) (0x00000aa0+(i)*4)
#define NV097_SET_COMBINER_ALPHA_OCW_OPERATION 31:15
#define NV097_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT 0x00000000
#define NV097_SET_COMBINER_ALPHA_OCW_OPERATION_NOSHIFT_BIAS 0x00000001
#define NV097_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1 0x00000002
#define NV097_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY1_BIAS 0x00000003
#define NV097_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTLEFTBY2 0x00000004
#define NV097_SET_COMBINER_ALPHA_OCW_OPERATION_SHIFTRIGHTBY1 0x00000006
#define NV097_SET_COMBINER_ALPHA_OCW_MUX_ENABLE 14:14
#define NV097_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV097_SET_COMBINER_ALPHA_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST 11:8
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_0 0x00000000
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_4 0x00000004
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_5 0x00000005
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_8 0x00000008
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_9 0x00000009
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_A 0x0000000A
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_B 0x0000000B
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_C 0x0000000C
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_D 0x0000000D
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST 7:4
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_0 0x00000000
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_4 0x00000004
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_5 0x00000005
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_8 0x00000008
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_9 0x00000009
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_A 0x0000000A
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_B 0x0000000B
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_C 0x0000000C
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_D 0x0000000D
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST 3:0
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_0 0x00000000
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_4 0x00000004
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_5 0x00000005
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_8 0x00000008
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_9 0x00000009
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_A 0x0000000A
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_B 0x0000000B
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_C 0x0000000C
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0 0x00000288
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE 31:29
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_INVERSE_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA 28:28
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE 27:24
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_SPECLIT 0x0000000E
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_EF_PROD 0x0000000F
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE 23:21
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_INVERSE_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA 20:20
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE 19:16
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_SPECLIT 0x0000000E
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_EF_PROD 0x0000000F
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE 15:13
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_INVERSE_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA 12:12
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE 11:8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_SPECLIT 0x0000000E
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_EF_PROD 0x0000000F
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE 7:5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_INVERSE_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA 4:4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE 3:0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_SPECLIT 0x0000000E
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_EF_PROD 0x0000000F
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1 0x0000028c
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE 31:29
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_INVERSE_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA 28:28
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE 27:24
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE 23:21
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_INVERSE_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA 20:20
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE 19:16
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE 15:13
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_INVERSE_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA 12:12
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_ALPHA_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE 11:8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_0 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_1 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_2 0x00000002
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_3 0x00000003
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_4 0x00000004
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_5 0x00000005
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_8 0x00000008
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_9 0x00000009
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_A 0x0000000A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_B 0x0000000B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_C 0x0000000C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_D 0x0000000D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP 7:7
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_CLAMP_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5 6:6
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R5_TRUE 0x00000001
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12 5:0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_FALSE 0x00000000
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_SPECULAR_ADD_INVERT_R12_TRUE 0x00000020
#define NV097_SET_CONTROL0 0x00000290
#define NV097_SET_CONTROL0_COLOR_SPACE_CONVERT 31:28
#define NV097_SET_CONTROL0_COLOR_SPACE_CONVERT_PASS 0x00000000
#define NV097_SET_CONTROL0_COLOR_SPACE_CONVERT_CRYCB_TO_RGB 0x00000001
#define NV097_SET_CONTROL0_COLOR_SPACE_CONVERT_SCRYSCB_TO_RGB 0x00000002
#define NV097_SET_CONTROL0_PREMULTIPLIEDALPHA 27:24
#define NV097_SET_CONTROL0_PREMULTIPLIEDALPHA_FALSE 0x00000000
#define NV097_SET_CONTROL0_PREMULTIPLIEDALPHA_TRUE 0x00000001
#define NV097_SET_CONTROL0_TEXTUREPERSPECTIVE 23:20
#define NV097_SET_CONTROL0_TEXTUREPERSPECTIVE_FALSE 0x00000000
#define NV097_SET_CONTROL0_TEXTUREPERSPECTIVE_TRUE 0x00000001
#define NV097_SET_CONTROL0_Z_PERSPECTIVE_ENABLE 19:16
#define NV097_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_FALSE 0x00000000
#define NV097_SET_CONTROL0_Z_PERSPECTIVE_ENABLE_TRUE 0x00000001
#define NV097_SET_CONTROL0_Z_FORMAT 15:12
#define NV097_SET_CONTROL0_Z_FORMAT_FIXED 0x00000000
#define NV097_SET_CONTROL0_Z_FORMAT_FLOAT 0x00000001
#define NV097_SET_CONTROL0_STENCIL_WRITE_ENABLE 7:0
#define NV097_SET_CONTROL0_STENCIL_WRITE_ENABLE_FALSE 0x00000000
#define NV097_SET_CONTROL0_STENCIL_WRITE_ENABLE_TRUE 0x00000001
#define NV097_SET_LIGHT_CONTROL 0x00000294
#define NV097_SET_LIGHT_CONTROL_LOCALEYE 16:16
#define NV097_SET_LIGHT_CONTROL_LOCALEYE_FALSE 0x00000000
#define NV097_SET_LIGHT_CONTROL_LOCALEYE_TRUE 0x00000001
#define NV097_SET_LIGHT_CONTROL_SOUT 31:17
#define NV097_SET_LIGHT_CONTROL_SOUT_ZERO_OUT 0x00000000
#define NV097_SET_LIGHT_CONTROL_SOUT_PASSTHROUGH 0x00000001
#define NV097_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN 1:0
#define NV097_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_FALSE 0x00000000
#define NV097_SET_LIGHT_CONTROL_SEPARATE_SPECULAR_EN_TRUE 0x00000001
#define NV097_SET_COLOR_MATERIAL 0x00000298
#define NV097_SET_COLOR_MATERIAL_EMISSIVE_MATERIAL 1:0
#define NV097_SET_COLOR_MATERIAL_EMISSIVE_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_EMISSIVE_MATERIAL_DIFFUSE_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_EMISSIVE_MATERIAL_SPECULAR_VTX_COLOR 0x00000002
#define NV097_SET_COLOR_MATERIAL_AMBIENT_MATERIAL 3:2
#define NV097_SET_COLOR_MATERIAL_AMBIENT_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_AMBIENT_MATERIAL_DIFFUSE_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_AMBIENT_MATERIAL_SPECULAR_VTX_COLOR 0x00000002
#define NV097_SET_COLOR_MATERIAL_DIFF_MATERIAL 5:4
#define NV097_SET_COLOR_MATERIAL_DIFF_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_DIFF_MATERIAL_DIFFUSE_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_DIFF_MATERIAL_SPECULAR_VTX_COLOR 0x00000002
#define NV097_SET_COLOR_MATERIAL_SPECULAR_MATERIAL 7:6
#define NV097_SET_COLOR_MATERIAL_SPECULAR_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_SPECULAR_MATERIAL_DIFFUSE_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_SPECULAR_MATERIAL_SPECULAR_VTX_COLOR 0x00000002
#define NV097_SET_COLOR_MATERIAL_BACK_EMISSIVE_MATERIAL 9:8
#define NV097_SET_COLOR_MATERIAL_BACK_EMISSIVE_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_BACK_EMISSIVE_MATERIAL_DIFF_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_BACK_EMISSIVE_MATERIAL_SPEC_VTX_COLOR 0x00000002
#define NV097_SET_COLOR_MATERIAL_BACK_AMBIENT_MATERIAL 11:10
#define NV097_SET_COLOR_MATERIAL_BACK_AMBIENT_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_BACK_AMBIENT_MATERIAL_DIFF_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_BACK_AMBIENT_MATERIAL_SPEC_VTX_COLOR 0x00000002
#define NV097_SET_COLOR_MATERIAL_BACK_DIFF_MATERIAL 13:12
#define NV097_SET_COLOR_MATERIAL_BACK_DIFF_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_BACK_DIFF_MATERIAL_DIFF_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_BACK_DIFF_MATERIAL_SPEC_VTX_COLOR 0x00000002
#define NV097_SET_COLOR_MATERIAL_BACK_SPECULAR_MATERIAL 15:14
#define NV097_SET_COLOR_MATERIAL_BACK_SPECULAR_MATERIAL_DISABLE 0x00000000
#define NV097_SET_COLOR_MATERIAL_BACK_SPECULAR_MATERIAL_DIFF_VTX_COLOR 0x00000001
#define NV097_SET_COLOR_MATERIAL_BACK_SPECULAR_MATERIAL_SPEC_VTX_COLOR 0x00000002
#define NV097_SET_FOG_MODE 0x0000029c
#define NV097_SET_FOG_MODE_V 31:0
#define NV097_SET_FOG_MODE_V_LINEAR 0x00002601
#define NV097_SET_FOG_MODE_V_EXP 0x00000800
#define NV097_SET_FOG_MODE_V_EXP2 0x00000801
#define NV097_SET_FOG_MODE_V_EXP_ABS 0x00000802
#define NV097_SET_FOG_MODE_V_EXP2_ABS 0x00000803
#define NV097_SET_FOG_MODE_V_LINEAR_ABS 0x00000804
#define NV097_SET_FOG_GEN_MODE 0x000002a0
#define NV097_SET_FOG_GEN_MODE_V 31:0
#define NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA 0x00000000
#define NV097_SET_FOG_GEN_MODE_V_RADIAL 0x00000001
#define NV097_SET_FOG_GEN_MODE_V_PLANAR 0x00000002
#define NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR 0x00000003
#define NV097_SET_FOG_GEN_MODE_V_FOG_X 0x00000006
#define NV097_SET_FOG_ENABLE 0x000002a4
#define NV097_SET_FOG_ENABLE_V 31:0
#define NV097_SET_FOG_ENABLE_V_FALSE 0x00000000
#define NV097_SET_FOG_ENABLE_V_TRUE 0x00000001
#define NV097_SET_FOG_COLOR 0x000002a8
#define NV097_SET_FOG_COLOR_RED 7:0
#define NV097_SET_FOG_COLOR_GREEN 15:8
#define NV097_SET_FOG_COLOR_BLUE 23:16
#define NV097_SET_FOG_COLOR_ALPHA 31:24
#define NV097_SET_COLOR_KEY_COLOR(i) (0x00000ae0+(i)*4)
#define NV097_SET_COLOR_KEY_COLOR_V 31:0
#define NV097_SET_WINDOW_CLIP_TYPE 0x000002b4
#define NV097_SET_WINDOW_CLIP_TYPE_V 31:0
#define NV097_SET_WINDOW_CLIP_TYPE_V_INCLUSIVE 0x00000000
#define NV097_SET_WINDOW_CLIP_TYPE_V_EXCLUSIVE 0x00000001
#define NV097_SET_WINDOW_CLIP_HORIZONTAL(i) (0x000002c0+(i)*4)
#define NV097_SET_WINDOW_CLIP_HORIZONTAL_XMIN 11:0
#define NV097_SET_WINDOW_CLIP_HORIZONTAL_XMAX 27:16
#define NV097_SET_WINDOW_CLIP_VERTICAL(i) (0x000002e0+(i)*4)
#define NV097_SET_WINDOW_CLIP_VERTICAL_YMIN 11:0
#define NV097_SET_WINDOW_CLIP_VERTICAL_YMAX 27:16
#define NV097_SET_ALPHA_TEST_ENABLE 0x00000300
#define NV097_SET_ALPHA_TEST_ENABLE_V 31:0
#define NV097_SET_ALPHA_TEST_ENABLE_V_FALSE 0x00000000
#define NV097_SET_ALPHA_TEST_ENABLE_V_TRUE 0x00000001
#define NV097_SET_BLEND_ENABLE 0x00000304
#define NV097_SET_BLEND_ENABLE_V 31:0
#define NV097_SET_BLEND_ENABLE_V_FALSE 0x00000000
#define NV097_SET_BLEND_ENABLE_V_TRUE 0x00000001
#define NV097_SET_CULL_FACE_ENABLE 0x00000308
#define NV097_SET_CULL_FACE_ENABLE_V 31:0
#define NV097_SET_CULL_FACE_ENABLE_V_FALSE 0x00000000
#define NV097_SET_CULL_FACE_ENABLE_V_TRUE 0x00000001
#define NV097_SET_DEPTH_TEST_ENABLE 0x0000030c
#define NV097_SET_DEPTH_TEST_ENABLE_V 31:0
#define NV097_SET_DEPTH_TEST_ENABLE_V_FALSE 0x00000000
#define NV097_SET_DEPTH_TEST_ENABLE_V_TRUE 0x00000001
#define NV097_SET_DITHER_ENABLE 0x00000310
#define NV097_SET_DITHER_ENABLE_V 31:0
#define NV097_SET_DITHER_ENABLE_V_FALSE 0x00000000
#define NV097_SET_DITHER_ENABLE_V_TRUE 0x00000001
#define NV097_SET_LIGHTING_ENABLE 0x00000314
#define NV097_SET_LIGHTING_ENABLE_V 31:0
#define NV097_SET_LIGHTING_ENABLE_V_FALSE 0x00000000
#define NV097_SET_LIGHTING_ENABLE_V_TRUE 0x00000001
#define NV097_SET_POINT_PARAMS_ENABLE 0x00000318
#define NV097_SET_POINT_PARAMS_ENABLE_V 31:0
#define NV097_SET_POINT_PARAMS_ENABLE_V_FALSE 0x00000000
#define NV097_SET_POINT_PARAMS_ENABLE_V_TRUE 0x00000001
#define NV097_SET_POINT_SMOOTH_ENABLE 0x0000031c
#define NV097_SET_POINT_SMOOTH_ENABLE_V 31:0
#define NV097_SET_POINT_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV097_SET_POINT_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV097_SET_LINE_SMOOTH_ENABLE 0x00000320
#define NV097_SET_LINE_SMOOTH_ENABLE_V 31:0
#define NV097_SET_LINE_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV097_SET_LINE_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV097_SET_POLY_SMOOTH_ENABLE 0x00000324
#define NV097_SET_POLY_SMOOTH_ENABLE_V 31:0
#define NV097_SET_POLY_SMOOTH_ENABLE_V_FALSE 0x00000000
#define NV097_SET_POLY_SMOOTH_ENABLE_V_TRUE 0x00000001
#define NV097_SET_STIPPLE_CONTROL 0x0000147c
#define NV097_SET_STIPPLE_CONTROL_V 31:0
#define NV097_SET_STIPPLE_CONTROL_V_OFF 0x00000000
#define NV097_SET_STIPPLE_CONTROL_V_POLYGON 0x00000001
#define NV097_SET_STIPPLE_PATTERN(i) (0x00001480+(i)*4)
#define NV097_SET_STIPPLE_PATTERN_V 31:0
#define NV097_SET_SKIN_MODE 0x00000328
#define NV097_SET_SKIN_MODE_V 31:0
#define NV097_SET_SKIN_MODE_V_OFF 0x00000000
#define NV097_SET_SKIN_MODE_V_2G 0x00000001
#define NV097_SET_SKIN_MODE_V_2 0x00000002
#define NV097_SET_SKIN_MODE_V_3G 0x00000003
#define NV097_SET_SKIN_MODE_V_3 0x00000004
#define NV097_SET_SKIN_MODE_V_4G 0x00000005
#define NV097_SET_SKIN_MODE_V_4 0x00000006
#define NV097_SET_STENCIL_TEST_ENABLE 0x0000032c
#define NV097_SET_STENCIL_TEST_ENABLE_V 31:0
#define NV097_SET_STENCIL_TEST_ENABLE_V_FALSE 0x00000000
#define NV097_SET_STENCIL_TEST_ENABLE_V_TRUE 0x00000001
#define NV097_SET_POLY_OFFSET_POINT_ENABLE 0x00000330
#define NV097_SET_POLY_OFFSET_POINT_ENABLE_V 31:0
#define NV097_SET_POLY_OFFSET_POINT_ENABLE_V_FALSE 0x00000000
#define NV097_SET_POLY_OFFSET_POINT_ENABLE_V_TRUE 0x00000001
#define NV097_SET_POLY_OFFSET_LINE_ENABLE 0x00000334
#define NV097_SET_POLY_OFFSET_LINE_ENABLE_V 31:0
#define NV097_SET_POLY_OFFSET_LINE_ENABLE_V_FALSE 0x00000000
#define NV097_SET_POLY_OFFSET_LINE_ENABLE_V_TRUE 0x00000001
#define NV097_SET_POLY_OFFSET_FILL_ENABLE 0x00000338
#define NV097_SET_POLY_OFFSET_FILL_ENABLE_V 31:0
#define NV097_SET_POLY_OFFSET_FILL_ENABLE_V_FALSE 0x00000000
#define NV097_SET_POLY_OFFSET_FILL_ENABLE_V_TRUE 0x00000001
#define NV097_SET_ALPHA_FUNC 0x0000033c
#define NV097_SET_ALPHA_FUNC_V 31:0
#define NV097_SET_ALPHA_FUNC_V_NEVER 0x00000200
#define NV097_SET_ALPHA_FUNC_V_LESS 0x00000201
#define NV097_SET_ALPHA_FUNC_V_EQUAL 0x00000202
#define NV097_SET_ALPHA_FUNC_V_LEQUAL 0x00000203
#define NV097_SET_ALPHA_FUNC_V_GREATER 0x00000204
#define NV097_SET_ALPHA_FUNC_V_NOTEQUAL 0x00000205
#define NV097_SET_ALPHA_FUNC_V_GEQUAL 0x00000206
#define NV097_SET_ALPHA_FUNC_V_ALWAYS 0x00000207
#define NV097_SET_ALPHA_REF 0x00000340
#define NV097_SET_ALPHA_REF_V 31:0
#define NV097_SET_BLEND_FUNC_SFACTOR 0x00000344
#define NV097_SET_BLEND_FUNC_SFACTOR_V 31:0
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ZERO 0x00000000
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ONE 0x00000001
#define NV097_SET_BLEND_FUNC_SFACTOR_V_SRC_COLOR 0x00000300
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV097_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA 0x00000302
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV097_SET_BLEND_FUNC_SFACTOR_V_DST_ALPHA 0x00000304
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV097_SET_BLEND_FUNC_SFACTOR_V_DST_COLOR 0x00000306
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV097_SET_BLEND_FUNC_SFACTOR_V_SRC_ALPHA_SATURATE 0x00000308
#define NV097_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV097_SET_BLEND_FUNC_SFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV097_SET_BLEND_FUNC_SFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV097_SET_BLEND_FUNC_DFACTOR 0x00000348
#define NV097_SET_BLEND_FUNC_DFACTOR_V 31:0
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ZERO 0x00000000
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ONE 0x00000001
#define NV097_SET_BLEND_FUNC_DFACTOR_V_SRC_COLOR 0x00000300
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_COLOR 0x00000301
#define NV097_SET_BLEND_FUNC_DFACTOR_V_SRC_ALPHA 0x00000302
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_SRC_ALPHA 0x00000303
#define NV097_SET_BLEND_FUNC_DFACTOR_V_DST_ALPHA 0x00000304
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_ALPHA 0x00000305
#define NV097_SET_BLEND_FUNC_DFACTOR_V_DST_COLOR 0x00000306
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_DST_COLOR 0x00000307
#define NV097_SET_BLEND_FUNC_DFACTOR_V_SRC_ALPHA_SATURATE 0x00000308
#define NV097_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_COLOR 0x00008001
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_COLOR 0x00008002
#define NV097_SET_BLEND_FUNC_DFACTOR_V_CONSTANT_ALPHA 0x00008003
#define NV097_SET_BLEND_FUNC_DFACTOR_V_ONE_MINUS_CONSTANT_ALPHA 0x00008004
#define NV097_SET_BLEND_COLOR 0x0000034c
#define NV097_SET_BLEND_COLOR_V 31:0
#define NV097_SET_BLEND_EQUATION 0x00000350
#define NV097_SET_BLEND_EQUATION_V 31:0
#define NV097_SET_BLEND_EQUATION_V_FUNC_SUBTRACT 0x0000800A
#define NV097_SET_BLEND_EQUATION_V_FUNC_REVERSE_SUBTRACT 0x0000800B
#define NV097_SET_BLEND_EQUATION_V_FUNC_ADD 0x00008006
#define NV097_SET_BLEND_EQUATION_V_MIN 0x00008007
#define NV097_SET_BLEND_EQUATION_V_MAX 0x00008008
#define NV097_SET_BLEND_EQUATION_V_FUNC_REVERSE_SUBTRACT_SIGNED 0x0000F005
#define NV097_SET_BLEND_EQUATION_V_FUNC_ADD_SIGNED 0x0000F006
#define NV097_SET_DEPTH_FUNC 0x00000354
#define NV097_SET_DEPTH_FUNC_V 31:0
#define NV097_SET_DEPTH_FUNC_V_NEVER 0x00000200
#define NV097_SET_DEPTH_FUNC_V_LESS 0x00000201
#define NV097_SET_DEPTH_FUNC_V_EQUAL 0x00000202
#define NV097_SET_DEPTH_FUNC_V_LEQUAL 0x00000203
#define NV097_SET_DEPTH_FUNC_V_GREATER 0x00000204
#define NV097_SET_DEPTH_FUNC_V_NOTEQUAL 0x00000205
#define NV097_SET_DEPTH_FUNC_V_GEQUAL 0x00000206
#define NV097_SET_DEPTH_FUNC_V_ALWAYS 0x00000207
#define NV097_SET_COLOR_MASK 0x00000358
#define NV097_SET_COLOR_MASK_ALPHA_WRITE_ENABLE 31:24
#define NV097_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_FALSE 0x00000000
#define NV097_SET_COLOR_MASK_ALPHA_WRITE_ENABLE_TRUE 0x00000001
#define NV097_SET_COLOR_MASK_RED_WRITE_ENABLE 23:16
#define NV097_SET_COLOR_MASK_RED_WRITE_ENABLE_FALSE 0x00000000
#define NV097_SET_COLOR_MASK_RED_WRITE_ENABLE_TRUE 0x00000001
#define NV097_SET_COLOR_MASK_GREEN_WRITE_ENABLE 15:8
#define NV097_SET_COLOR_MASK_GREEN_WRITE_ENABLE_FALSE 0x00000000
#define NV097_SET_COLOR_MASK_GREEN_WRITE_ENABLE_TRUE 0x00000001
#define NV097_SET_COLOR_MASK_BLUE_WRITE_ENABLE 7:0
#define NV097_SET_COLOR_MASK_BLUE_WRITE_ENABLE_FALSE 0x00000000
#define NV097_SET_COLOR_MASK_BLUE_WRITE_ENABLE_TRUE 0x00000001
#define NV097_SET_DEPTH_MASK 0x0000035c
#define NV097_SET_DEPTH_MASK_V 31:0
#define NV097_SET_DEPTH_MASK_V_FALSE 0x00000000
#define NV097_SET_DEPTH_MASK_V_TRUE 0x00000001
#define NV097_SET_STENCIL_MASK 0x00000360
#define NV097_SET_STENCIL_MASK_V 31:0
#define NV097_SET_STENCIL_FUNC 0x00000364
#define NV097_SET_STENCIL_FUNC_V 31:0
#define NV097_SET_STENCIL_FUNC_V_NEVER 0x00000200
#define NV097_SET_STENCIL_FUNC_V_LESS 0x00000201
#define NV097_SET_STENCIL_FUNC_V_EQUAL 0x00000202
#define NV097_SET_STENCIL_FUNC_V_LEQUAL 0x00000203
#define NV097_SET_STENCIL_FUNC_V_GREATER 0x00000204
#define NV097_SET_STENCIL_FUNC_V_NOTEQUAL 0x00000205
#define NV097_SET_STENCIL_FUNC_V_GEQUAL 0x00000206
#define NV097_SET_STENCIL_FUNC_V_ALWAYS 0x00000207
#define NV097_SET_STENCIL_FUNC_REF 0x00000368
#define NV097_SET_STENCIL_FUNC_REF_V 31:0
#define NV097_SET_STENCIL_FUNC_MASK 0x0000036c
#define NV097_SET_STENCIL_FUNC_MASK_V 31:0
#define NV097_SET_STENCIL_OP_FAIL 0x00000370
#define NV097_SET_STENCIL_OP_FAIL_V 31:0
#define NV097_SET_STENCIL_OP_FAIL_V_KEEP 0x00001E00
#define NV097_SET_STENCIL_OP_FAIL_V_ZERO 0x00000000
#define NV097_SET_STENCIL_OP_FAIL_V_REPLACE 0x00001E01
#define NV097_SET_STENCIL_OP_FAIL_V_INCRSAT 0x00001E02
#define NV097_SET_STENCIL_OP_FAIL_V_DECRSAT 0x00001E03
#define NV097_SET_STENCIL_OP_FAIL_V_INVERT 0x0000150A
#define NV097_SET_STENCIL_OP_FAIL_V_INCR 0x00008507
#define NV097_SET_STENCIL_OP_FAIL_V_DECR 0x00008508
#define NV097_SET_STENCIL_OP_ZFAIL 0x00000374
#define NV097_SET_STENCIL_OP_ZFAIL_V 31:0
#define NV097_SET_STENCIL_OP_ZFAIL_V_KEEP 0x00001E00
#define NV097_SET_STENCIL_OP_ZFAIL_V_ZERO 0x00000000
#define NV097_SET_STENCIL_OP_ZFAIL_V_REPLACE 0x00001E01
#define NV097_SET_STENCIL_OP_ZFAIL_V_INCRSAT 0x00001E02
#define NV097_SET_STENCIL_OP_ZFAIL_V_DECRSAT 0x00001E03
#define NV097_SET_STENCIL_OP_ZFAIL_V_INVERT 0x0000150A
#define NV097_SET_STENCIL_OP_ZFAIL_V_INCR 0x00008507
#define NV097_SET_STENCIL_OP_ZFAIL_V_DECR 0x00008508
#define NV097_SET_STENCIL_OP_ZPASS 0x00000378
#define NV097_SET_STENCIL_OP_ZPASS_V 31:0
#define NV097_SET_STENCIL_OP_ZPASS_V_KEEP 0x00001E00
#define NV097_SET_STENCIL_OP_ZPASS_V_ZERO 0x00000000
#define NV097_SET_STENCIL_OP_ZPASS_V_REPLACE 0x00001E01
#define NV097_SET_STENCIL_OP_ZPASS_V_INCRSAT 0x00001E02
#define NV097_SET_STENCIL_OP_ZPASS_V_DECRSAT 0x00001E03
#define NV097_SET_STENCIL_OP_ZPASS_V_INVERT 0x0000150A
#define NV097_SET_STENCIL_OP_ZPASS_V_INCR 0x00008507
#define NV097_SET_STENCIL_OP_ZPASS_V_DECR 0x00008508
#define NV097_SET_SHADE_MODE 0x0000037c
#define NV097_SET_SHADE_MODE_V 31:0
#define NV097_SET_SHADE_MODE_V_FLAT 0x00001D00
#define NV097_SET_SHADE_MODE_V_SMOOTH 0x00001D01
#define NV097_SET_LINE_WIDTH 0x00000380
#define NV097_SET_LINE_WIDTH_V 31:0
#define NV097_SET_POLYGON_OFFSET_SCALE_FACTOR 0x00000384
#define NV097_SET_POLYGON_OFFSET_SCALE_FACTOR_V 31:0
#define NV097_SET_POLYGON_OFFSET_BIAS 0x00000388
#define NV097_SET_POLYGON_OFFSET_BIAS_V 31:0
#define NV097_SET_FRONT_POLYGON_MODE 0x0000038c
#define NV097_SET_FRONT_POLYGON_MODE_V 31:0
#define NV097_SET_FRONT_POLYGON_MODE_V_POINT 0x00001B00
#define NV097_SET_FRONT_POLYGON_MODE_V_LINE 0x00001B01
#define NV097_SET_FRONT_POLYGON_MODE_V_FILL 0x00001B02
#define NV097_SET_BACK_POLYGON_MODE 0x00000390
#define NV097_SET_BACK_POLYGON_MODE_V 31:0
#define NV097_SET_BACK_POLYGON_MODE_V_POINT 0x00001B00
#define NV097_SET_BACK_POLYGON_MODE_V_LINE 0x00001B01
#define NV097_SET_BACK_POLYGON_MODE_V_FILL 0x00001B02
#define NV097_SET_CLIP_MIN 0x00000394
#define NV097_SET_CLIP_MIN_V 31:0
#define NV097_SET_CLIP_MAX 0x00000398
#define NV097_SET_CLIP_MAX_V 31:0
#define NV097_SET_CULL_FACE 0x0000039c
#define NV097_SET_CULL_FACE_V 31:0
#define NV097_SET_CULL_FACE_V_FRONT 0x00000404
#define NV097_SET_CULL_FACE_V_BACK 0x00000405
#define NV097_SET_CULL_FACE_V_FRONT_AND_BACK 0x00000408
#define NV097_SET_FRONT_FACE 0x000003a0
#define NV097_SET_FRONT_FACE_V 31:0
#define NV097_SET_FRONT_FACE_V_CW 0x00000900
#define NV097_SET_FRONT_FACE_V_CCW 0x00000901
#define NV097_SET_NORMALIZATION_ENABLE 0x000003a4
#define NV097_SET_NORMALIZATION_ENABLE_V 31:0
#define NV097_SET_NORMALIZATION_ENABLE_V_FALSE 0x00000000
#define NV097_SET_NORMALIZATION_ENABLE_V_TRUE 0x00000001
#define NV097_SET_MATERIAL_EMISSION(i) (0x000003a8+(i)*4)
#define NV097_SET_MATERIAL_EMISSION_V 31:0
#define NV097_SET_MATERIAL_ALPHA 0x000003b4
#define NV097_SET_MATERIAL_ALPHA_V 31:0
#define NV097_SET_BACK_MATERIAL_ALPHA 0x000017ac
#define NV097_SET_BACK_MATERIAL_ALPHA_V 31:0
#define NV097_SET_SPECULAR_ENABLE 0x000003b8
#define NV097_SET_SPECULAR_ENABLE_V 31:0
#define NV097_SET_SPECULAR_ENABLE_V_FALSE 0x00000000
#define NV097_SET_SPECULAR_ENABLE_V_TRUE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK 0x000003bc
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT0 1:0
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT0_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT0_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT0_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT0_SPOT 0x00000003
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT1 3:2
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT1_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT1_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT1_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT1_SPOT 0x00000003
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT2 5:4
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT2_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT2_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT2_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT2_SPOT 0x00000003
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT3 7:6
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT3_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT3_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT3_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT3_SPOT 0x00000003
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT4 9:8
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT4_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT4_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT4_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT4_SPOT 0x00000003
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT5 11:10
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT5_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT5_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT5_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT5_SPOT 0x00000003
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT6 13:12
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT6_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT6_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT6_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT6_SPOT 0x00000003
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT7 15:14
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT7_OFF 0x00000000
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT7_INFINITE 0x00000001
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT7_LOCAL 0x00000002
#define NV097_SET_LIGHT_ENABLE_MASK_LIGHT7_SPOT 0x00000003
#define NV097_SET_VERTEX_DATA2F_M(i,j) (0x00001880+(i)*8+(j)*4)
#define NV097_SET_VERTEX_DATA2F_M_V 31:0
#define NV097_SET_VERTEX_DATA4F_M(i,j) (0x00001a00+(i)*16+(j)*4)
#define NV097_SET_VERTEX_DATA4F_M_V 31:0
#define NV097_SET_VERTEX_DATA2S(i) (0x00001900+(i)*4)
#define NV097_SET_VERTEX_DATA2S_V 31:0
#define NV097_SET_VERTEX_DATA4UB(i) (0x00001940+(i)*4)
#define NV097_SET_VERTEX_DATA4UB_V 31:0
#define NV097_SET_VERTEX_DATA4S_M(i,j) (0x00001980+(i)*8+(j)*4)
#define NV097_SET_VERTEX_DATA4S_M_V 31:0
#define NV097_SET_TEXGEN_S(i) (0x000003c0+(i)*16)
#define NV097_SET_TEXGEN_S_V 31:0
#define NV097_SET_TEXGEN_S_V_DISABLE 0x00000000
#define NV097_SET_TEXGEN_S_V_NORMAL_MAP 0x00008511
#define NV097_SET_TEXGEN_S_V_REFLECTION_MAP 0x00008512
#define NV097_SET_TEXGEN_S_V_EYE_LINEAR 0x00002400
#define NV097_SET_TEXGEN_S_V_OBJECT_LINEAR 0x00002401
#define NV097_SET_TEXGEN_S_V_SPHERE_MAP 0x00002402
#define NV097_SET_TEXGEN_T(i) (0x000003c4+(i)*16)
#define NV097_SET_TEXGEN_T_V 31:0
#define NV097_SET_TEXGEN_T_V_DISABLE 0x00000000
#define NV097_SET_TEXGEN_T_V_NORMAL_MAP 0x00008511
#define NV097_SET_TEXGEN_T_V_REFLECTION_MAP 0x00008512
#define NV097_SET_TEXGEN_T_V_EYE_LINEAR 0x00002400
#define NV097_SET_TEXGEN_T_V_OBJECT_LINEAR 0x00002401
#define NV097_SET_TEXGEN_T_V_SPHERE_MAP 0x00002402
#define NV097_SET_TEXGEN_R(i) (0x000003c8+(i)*16)
#define NV097_SET_TEXGEN_R_V 31:0
#define NV097_SET_TEXGEN_R_V_DISABLE 0x00000000
#define NV097_SET_TEXGEN_R_V_NORMAL_MAP 0x00008511
#define NV097_SET_TEXGEN_R_V_REFLECTION_MAP 0x00008512
#define NV097_SET_TEXGEN_R_V_EYE_LINEAR 0x00002400
#define NV097_SET_TEXGEN_R_V_OBJECT_LINEAR 0x00002401
#define NV097_SET_TEXGEN_Q(i) (0x000003cc+(i)*16)
#define NV097_SET_TEXGEN_Q_V 31:0
#define NV097_SET_TEXGEN_Q_V_DISABLE 0x00000000
#define NV097_SET_TEXGEN_Q_V_EYE_LINEAR 0x00002400
#define NV097_SET_TEXGEN_Q_V_OBJECT_LINEAR 0x00002401
#define NV097_SET_TEXGEN_VIEW_MODEL 0x000009cc
#define NV097_SET_TEXGEN_VIEW_MODEL_V 31:0
#define NV097_SET_TEXGEN_VIEW_MODEL_V_LOCAL_VIEWER 0x00000000
#define NV097_SET_TEXGEN_VIEW_MODEL_V_INFINITE_VIEWER 0x00000001
#define NV097_SET_TEXTURE_MATRIX_ENABLE(i) (0x00000420+(i)*4)
#define NV097_SET_TEXTURE_MATRIX_ENABLE_V 31:0
#define NV097_SET_TEXTURE_MATRIX_ENABLE_V_FALSE 0x00000000
#define NV097_SET_TEXTURE_MATRIX_ENABLE_V_TRUE 0x00000001
#define NV097_SET_POINT_SIZE 0x0000043c
#define NV097_SET_POINT_SIZE_V 31:0
#define NV097_SET_SWATH_WIDTH 0x000009f8
#define NV097_SET_SWATH_WIDTH_V 31:0
#define NV097_SET_SWATH_WIDTH_V_8 0x00000000
#define NV097_SET_SWATH_WIDTH_V_16 0x00000001
#define NV097_SET_SWATH_WIDTH_V_32 0x00000002
#define NV097_SET_SWATH_WIDTH_V_64 0x00000003
#define NV097_SET_SWATH_WIDTH_V_128 0x00000004
#define NV097_SET_SWATH_WIDTH_V_OFF 0x0000000F
#define NV097_SET_FLAT_SHADE_OP 0x000009fc
#define NV097_SET_FLAT_SHADE_OP_V 31:0
#define NV097_SET_FLAT_SHADE_OP_V_LAST_VTX 0x00000000
#define NV097_SET_FLAT_SHADE_OP_V_FIRST_VTX 0x00000001
#define NV097_SET_PROJECTION_MATRIX(i) (0x00000440+(i)*4)
#define NV097_SET_PROJECTION_MATRIX_V 31:0
#define NV097_SET_MODEL_VIEW_MATRIX0(i) (0x00000480+(i)*4)
#define NV097_SET_MODEL_VIEW_MATRIX0_V 31:0
#define NV097_SET_MODEL_VIEW_MATRIX1(i) (0x000004c0+(i)*4)
#define NV097_SET_MODEL_VIEW_MATRIX1_V 31:0
#define NV097_SET_MODEL_VIEW_MATRIX2(i) (0x00000500+(i)*4)
#define NV097_SET_MODEL_VIEW_MATRIX2_V 31:0
#define NV097_SET_MODEL_VIEW_MATRIX3(i) (0x00000540+(i)*4)
#define NV097_SET_MODEL_VIEW_MATRIX3_V 31:0
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX0(i) (0x00000580+(i)*4)
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX0_V 31:0
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX1(i) (0x000005c0+(i)*4)
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX1_V 31:0
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX2(i) (0x00000600+(i)*4)
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX2_V 31:0
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX3(i) (0x00000640+(i)*4)
#define NV097_SET_INVERSE_MODEL_VIEW_MATRIX3_V 31:0
#define NV097_SET_COMPOSITE_MATRIX(i) (0x00000680+(i)*4)
#define NV097_SET_COMPOSITE_MATRIX_V 31:0
#define NV097_SET_TEXTURE_MATRIX0(i) (0x000006c0+(i)*4)
#define NV097_SET_TEXTURE_MATRIX0_V 31:0
#define NV097_SET_TEXTURE_MATRIX1(i) (0x00000700+(i)*4)
#define NV097_SET_TEXTURE_MATRIX1_V 31:0
#define NV097_SET_TEXTURE_MATRIX2(i) (0x00000740+(i)*4)
#define NV097_SET_TEXTURE_MATRIX2_V 31:0
#define NV097_SET_TEXTURE_MATRIX3(i) (0x00000780+(i)*4)
#define NV097_SET_TEXTURE_MATRIX3_V 31:0
#define NV097_SET_TEXGEN_PLANE_S(i,j) (0x00000840+(i)*64+(j)*4)
#define NV097_SET_TEXGEN_PLANE_S_V 31:0
#define NV097_SET_TEXGEN_PLANE_T(i,j) (0x00000850+(i)*64+(j)*4)
#define NV097_SET_TEXGEN_PLANE_T_V 31:0
#define NV097_SET_TEXGEN_PLANE_R(i,j) (0x00000860+(i)*64+(j)*4)
#define NV097_SET_TEXGEN_PLANE_R_V 31:0
#define NV097_SET_TEXGEN_PLANE_Q(i,j) (0x00000870+(i)*64+(j)*4)
#define NV097_SET_TEXGEN_PLANE_Q_V 31:0
#define NV097_SET_FOG_PARAMS(i) (0x000009c0+(i)*4)
#define NV097_SET_FOG_PARAMS_V 31:0
#define NV097_SET_FOG_PLANE(i) (0x000009d0+(i)*4)
#define NV097_SET_FOG_PLANE_V 31:0
#define NV097_SET_SPECULAR_PARAMS(i) (0x000009e0+(i)*4)
#define NV097_SET_SPECULAR_PARAMS_V 31:0
#define NV097_SET_BACK_SPECULAR_PARAMS(i) (0x00001e28+(i)*4)
#define NV097_SET_BACK_SPECULAR_PARAMS_V 31:0
#define NV097_SET_SCENE_AMBIENT_COLOR(i) (0x00000a10+(i)*4)
#define NV097_SET_SCENE_AMBIENT_COLOR_V 31:0
#define NV097_SET_VIEWPORT_SCALE(i) (0x00000af0+(i)*4)
#define NV097_SET_VIEWPORT_SCALE_V 31:0
#define NV097_SET_VIEWPORT_OFFSET(i) (0x00000a20+(i)*4)
#define NV097_SET_VIEWPORT_OFFSET_V 31:0
#define NV097_SET_POINT_PARAMS(i) (0x00000a30+(i)*4)
#define NV097_SET_POINT_PARAMS_V 31:0
#define NV097_SET_EYE_POSITION(i) (0x00000a50+(i)*4)
#define NV097_SET_EYE_POSITION_V 31:0
#define NV097_SET_BACK_LIGHT_AMBIENT_COLOR(i,j) (0x00000c00+(i)*64+(j)*4)
#define NV097_SET_BACK_LIGHT_AMBIENT_COLOR_V 31:0
#define NV097_SET_BACK_LIGHT_DIFFUSE_COLOR(i,j) (0x00000c0c+(i)*64+(j)*4)
#define NV097_SET_BACK_LIGHT_DIFFUSE_COLOR_V 31:0
#define NV097_SET_BACK_LIGHT_SPECULAR_COLOR(i,j) (0x00000c18+(i)*64+(j)*4)
#define NV097_SET_BACK_LIGHT_SPECULAR_COLOR_V 31:0
#define NV097_SET_LIGHT_AMBIENT_COLOR(i,j) (0x00001000+(i)*128+(j)*4)
#define NV097_SET_LIGHT_AMBIENT_COLOR_V 31:0
#define NV097_SET_LIGHT_DIFFUSE_COLOR(i,j) (0x0000100c+(i)*128+(j)*4)
#define NV097_SET_LIGHT_DIFFUSE_COLOR_V 31:0
#define NV097_SET_LIGHT_SPECULAR_COLOR(i,j) (0x00001018+(i)*128+(j)*4)
#define NV097_SET_LIGHT_SPECULAR_COLOR_V 31:0
#define NV097_SET_LIGHT_LOCAL_RANGE(i) (0x00001024+(i)*128)
#define NV097_SET_LIGHT_LOCAL_RANGE_V 31:0
#define NV097_SET_LIGHT_INFINITE_HALF_VECTOR(i,j) (0x00001028+(i)*128+(j)*4)
#define NV097_SET_LIGHT_INFINITE_HALF_VECTOR_V 31:0
#define NV097_SET_LIGHT_INFINITE_DIRECTION(i,j) (0x00001034+(i)*128+(j)*4)
#define NV097_SET_LIGHT_INFINITE_DIRECTION_V 31:0
#define NV097_SET_LIGHT_SPOT_FALLOFF(i,j) (0x00001040+(i)*128+(j)*4)
#define NV097_SET_LIGHT_SPOT_FALLOFF_V 31:0
#define NV097_SET_LIGHT_SPOT_DIRECTION(i,j) (0x0000104c+(i)*128+(j)*4)
#define NV097_SET_LIGHT_SPOT_DIRECTION_V 31:0
#define NV097_SET_LIGHT_LOCAL_POSITION(i,j) (0x0000105c+(i)*128+(j)*4)
#define NV097_SET_LIGHT_LOCAL_POSITION_V 31:0
#define NV097_SET_LIGHT_LOCAL_ATTENUATION(i,j) (0x00001068+(i)*128+(j)*4)
#define NV097_SET_LIGHT_LOCAL_ATTENUATION_V 31:0
#define NV097_SET_VERTEX3F(i) (0x00001500+(i)*4)
#define NV097_SET_VERTEX3F_V 31:0
#define NV097_SET_VERTEX4F(i) (0x00001518+(i)*4)
#define NV097_SET_VERTEX4F_V 31:0
#define NV097_SET_VERTEX4S(i) (0x00001528+(i)*4)
#define NV097_SET_VERTEX4S_V 31:0
#define NV097_SET_NORMAL3F(i) (0x00001530+(i)*4)
#define NV097_SET_NORMAL3F_V 31:0
#define NV097_SET_NORMAL3S(i) (0x00001540+(i)*4)
#define NV097_SET_NORMAL3S_V 31:0
#define NV097_SET_DIFFUSE_COLOR4F(i) (0x00001550+(i)*4)
#define NV097_SET_DIFFUSE_COLOR4F_V 31:0
#define NV097_SET_DIFFUSE_COLOR3F(i) (0x00001560+(i)*4)
#define NV097_SET_DIFFUSE_COLOR3F_V 31:0
#define NV097_SET_DIFFUSE_COLOR4UB 0x0000156c
#define NV097_SET_DIFFUSE_COLOR4UB_V 31:0
#define NV097_SET_SPECULAR_COLOR4F(i) (0x00001570+(i)*4)
#define NV097_SET_SPECULAR_COLOR4F_V 31:0
#define NV097_SET_SPECULAR_COLOR3F(i) (0x00001580+(i)*4)
#define NV097_SET_SPECULAR_COLOR3F_V 31:0
#define NV097_SET_SPECULAR_COLOR4UB 0x0000158c
#define NV097_SET_SPECULAR_COLOR4UB_V 31:0
#define NV097_SET_TEXCOORD0_2F(i) (0x00001590+(i)*4)
#define NV097_SET_TEXCOORD0_2F_V 31:0
#define NV097_SET_TEXCOORD0_2S 0x00001598
#define NV097_SET_TEXCOORD0_2S_V 31:0
#define NV097_SET_TEXCOORD0_4F(i) (0x000015a0+(i)*4)
#define NV097_SET_TEXCOORD0_4F_V 31:0
#define NV097_SET_TEXCOORD0_4S(i) (0x000015b0+(i)*4)
#define NV097_SET_TEXCOORD0_4S_V 31:0
#define NV097_SET_TEXCOORD1_2F(i) (0x000015b8+(i)*4)
#define NV097_SET_TEXCOORD1_2F_V 31:0
#define NV097_SET_TEXCOORD1_2S 0x000015c0
#define NV097_SET_TEXCOORD1_2S_V 31:0
#define NV097_SET_TEXCOORD1_4F(i) (0x000015c8+(i)*4)
#define NV097_SET_TEXCOORD1_4F_V 31:0
#define NV097_SET_TEXCOORD1_4S(i) (0x000015d8+(i)*4)
#define NV097_SET_TEXCOORD1_4S_V 31:0
#define NV097_SET_TEXCOORD2_2F(i) (0x000015e0+(i)*4)
#define NV097_SET_TEXCOORD2_2F_V 31:0
#define NV097_SET_TEXCOORD2_2S 0x000015e8
#define NV097_SET_TEXCOORD2_2S_V 31:0
#define NV097_SET_TEXCOORD2_4F(i) (0x000015f0+(i)*4)
#define NV097_SET_TEXCOORD2_4F_V 31:0
#define NV097_SET_TEXCOORD2_4S(i) (0x00001600+(i)*4)
#define NV097_SET_TEXCOORD2_4S_V 31:0
#define NV097_SET_TEXCOORD3_2F(i) (0x00001608+(i)*4)
#define NV097_SET_TEXCOORD3_2F_V 31:0
#define NV097_SET_TEXCOORD3_2S 0x00001610
#define NV097_SET_TEXCOORD3_2S_V 31:0
#define NV097_SET_TEXCOORD3_4F(i) (0x00001620+(i)*4)
#define NV097_SET_TEXCOORD3_4F_V 31:0
#define NV097_SET_TEXCOORD3_4S(i) (0x00001630+(i)*4)
#define NV097_SET_TEXCOORD3_4S_V 31:0
#define NV097_SET_FOG1F 0x00001698
#define NV097_SET_FOG1F_V 31:0
#define NV097_SET_WEIGHT1F 0x0000169c
#define NV097_SET_WEIGHT1F_V 31:0
#define NV097_SET_WEIGHT2F(i) (0x000016a0+(i)*4)
#define NV097_SET_WEIGHT2F_V 31:0
#define NV097_SET_WEIGHT3F(i) (0x000016b0+(i)*4)
#define NV097_SET_WEIGHT3F_V 31:0
#define NV097_SET_WEIGHT4F(i) (0x000016c0+(i)*4)
#define NV097_SET_WEIGHT4F_V 31:0
#define NV097_SET_EDGE_FLAG 0x000016bc
#define NV097_SET_EDGE_FLAG_V 31:0
#define NV097_SET_EDGE_FLAG_V_FALSE 0x00000000
#define NV097_SET_EDGE_FLAG_V_TRUE 0x00000001
#define NV097_SET_TRANSFORM_FIXED_CONST0(i) (0x000016e0+(i)*4)
#define NV097_SET_TRANSFORM_FIXED_CONST0_V 31:0
#define NV097_SET_TRANSFORM_FIXED_CONST1(i) (0x000016f0+(i)*4)
#define NV097_SET_TRANSFORM_FIXED_CONST1_V 31:0
#define NV097_SET_TRANSFORM_FIXED_CONST2(i) (0x00001700+(i)*4)
#define NV097_SET_TRANSFORM_FIXED_CONST2_V 31:0
#define NV097_SET_TRANSFORM_FIXED_CONST3(i) (0x000016d0+(i)*4)
#define NV097_SET_TRANSFORM_FIXED_CONST3_V 31:0
#define NV097_SET_TLCONST_ZERO(i) (0x000017d4+(i)*4)
#define NV097_SET_TLCONST_ZERO_V 31:0
#define NV097_SET_EYE_DIRECTION(i) (0x000017e0+(i)*4)
#define NV097_SET_EYE_DIRECTION_V 31:0
#define NV097_SET_LINEAR_FOG_CONST(i) (0x000017ec+(i)*4)
#define NV097_SET_LINEAR_FOG_CONST_V 31:0
#define NV097_INVALIDATE_VERTEX_CACHE_FILE 0x00001710
#define NV097_INVALIDATE_VERTEX_FILE 0x00001714
#define NV097_TL_NOP 0x00001718
#define NV097_TL_SYNC 0x0000171c
#define NV097_SET_VERTEX_DATA_ARRAY_OFFSET(i) (0x00001720+(i)*4)
#define NV097_SET_VERTEX_DATA_ARRAY_OFFSET_CONTEXT_DMA 31:31
#define NV097_SET_VERTEX_DATA_ARRAY_OFFSET_CONTEXT_DMA_VERTEX_A 0x00000000
#define NV097_SET_VERTEX_DATA_ARRAY_OFFSET_CONTEXT_DMA_VERTEX_B 0x00000001
#define NV097_SET_VERTEX_DATA_ARRAY_OFFSET_OFFSET 30:0
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT(i) (0x00001760+(i)*4)
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_STRIDE 31:8
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE 7:4
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE_DISABLED 0x00000000
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE_1 0x00000001
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE_2 0x00000002
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE_3 0x00000003
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE_4 0x00000004
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE_3W 0x00000007
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE 3:0
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE_UB_D3D 0x00000000
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE_S1 0x00000001
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE_F 0x00000002
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE_UB_OGL 0x00000004
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE_S32K 0x00000005
#define NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE_CMP 0x00000006
#define NV097_SET_LOGIC_OP_ENABLE 0x000017bc
#define NV097_SET_LOGIC_OP_ENABLE_V 31:0
#define NV097_SET_LOGIC_OP_ENABLE_V_FALSE 0x00000000
#define NV097_SET_LOGIC_OP_ENABLE_V_TRUE 0x00000001
#define NV097_SET_LOGIC_OP 0x000017c0
#define NV097_SET_LOGIC_OP_V 31:0
#define NV097_SET_LOGIC_OP_V_CLEAR 0x00001500
#define NV097_SET_LOGIC_OP_V_AND 0x00001501
#define NV097_SET_LOGIC_OP_V_AND_REVERSE 0x00001502
#define NV097_SET_LOGIC_OP_V_COPY 0x00001503
#define NV097_SET_LOGIC_OP_V_AND_INVERTED 0x00001504
#define NV097_SET_LOGIC_OP_V_NOOP 0x00001505
#define NV097_SET_LOGIC_OP_V_XOR 0x00001506
#define NV097_SET_LOGIC_OP_V_OR 0x00001507
#define NV097_SET_LOGIC_OP_V_NOR 0x00001508
#define NV097_SET_LOGIC_OP_V_EQUIV 0x00001509
#define NV097_SET_LOGIC_OP_V_INVERT 0x0000150A
#define NV097_SET_LOGIC_OP_V_OR_REVERSE 0x0000150B
#define NV097_SET_LOGIC_OP_V_COPY_INVERTED 0x0000150C
#define NV097_SET_LOGIC_OP_V_OR_INVERTED 0x0000150D
#define NV097_SET_LOGIC_OP_V_NAND 0x0000150E
#define NV097_SET_LOGIC_OP_V_SET 0x0000150F
#define NV097_SET_BEGIN_END 0x000017fc
#define NV097_SET_BEGIN_END_OP 31:0
#define NV097_SET_BEGIN_END_OP_END 0x00000000
#define NV097_SET_BEGIN_END_OP_POINTS 0x00000001
#define NV097_SET_BEGIN_END_OP_LINES 0x00000002
#define NV097_SET_BEGIN_END_OP_LINE_LOOP 0x00000003
#define NV097_SET_BEGIN_END_OP_LINE_STRIP 0x00000004
#define NV097_SET_BEGIN_END_OP_TRIANGLES 0x00000005
#define NV097_SET_BEGIN_END_OP_TRIANGLE_STRIP 0x00000006
#define NV097_SET_BEGIN_END_OP_TRIANGLE_FAN 0x00000007
#define NV097_SET_BEGIN_END_OP_QUADS 0x00000008
#define NV097_SET_BEGIN_END_OP_QUAD_STRIP 0x00000009
#define NV097_SET_BEGIN_END_OP_POLYGON 0x0000000A
#define NV097_ARRAY_ELEMENT16 0x00001800
#define NV097_ARRAY_ELEMENT16_VERTEX0 15:0
#define NV097_ARRAY_ELEMENT16_VERTEX1 31:16
#define NV097_ARRAY_ELEMENT32 0x00001808
#define NV097_ARRAY_ELEMENT32_V 31:0
#define NV097_DRAW_ARRAYS 0x00001810
#define NV097_DRAW_ARRAYS_COUNT 31:24
#define NV097_DRAW_ARRAYS_START_INDEX 23:0
#define NV097_INLINE_VERTEX_REUSE 0x00001828
#define NV097_INLINE_VERTEX_REUSE_V 31:0
#define NV097_INLINE_ARRAY 0x00001818
#define NV097_INLINE_ARRAY_V 31:0
#define NV097_SET_TEXTURE_OFFSET(i) (0x00001b00+(i)*64)
#define NV097_SET_TEXTURE_OFFSET_V 31:0
#define NV097_SET_TEXTURE_FORMAT(i) (0x00001b04+(i)*64)
#define NV097_SET_TEXTURE_FORMAT_CONTEXT_DMA 1:0
#define NV097_SET_TEXTURE_FORMAT_CONTEXT_DMA_A 0x00000001
#define NV097_SET_TEXTURE_FORMAT_CONTEXT_DMA_B 0x00000002
#define NV097_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE 2:2
#define NV097_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_FALSE 0x00000000
#define NV097_SET_TEXTURE_FORMAT_CUBEMAP_ENABLE_TRUE 0x00000001
#define NV097_SET_TEXTURE_FORMAT_BORDER_SOURCE 3:3
#define NV097_SET_TEXTURE_FORMAT_BORDER_SOURCE_TEXTURE 0x00000000
#define NV097_SET_TEXTURE_FORMAT_BORDER_SOURCE_COLOR 0x00000001
#define NV097_SET_TEXTURE_FORMAT_DIMENSIONALITY 7:4
#define NV097_SET_TEXTURE_FORMAT_DIMENSIONALITY_ONE 0x00000001
#define NV097_SET_TEXTURE_FORMAT_DIMENSIONALITY_TWO 0x00000002
#define NV097_SET_TEXTURE_FORMAT_DIMENSIONALITY_THREE 0x00000003
#define NV097_SET_TEXTURE_FORMAT_COLOR 15:8
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_Y8 0x00000000
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_AY8 0x00000001
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A1R5G5B5 0x00000002
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_X1R5G5B5 0x00000003
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A4R4G4B4 0x00000004
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_R5G6B5 0x00000005
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8R8G8B8 0x00000006
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_X8R8G8B8 0x00000007
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_I8_A8R8G8B8 0x0000000B
#define NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT1_A1R5G5B5 0x0000000C
#define NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT23_A8R8G8B8 0x0000000E
#define NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT45_A8R8G8B8 0x0000000F
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A1R5G5B5 0x00000010
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R5G6B5 0x00000011
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8R8G8B8 0x00000012
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_Y8 0x00000013
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_SY8 0x00000014
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_X7SY9 0x00000015
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R8B8 0x00000016
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_G8B8 0x00000017
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_SG8SB8 0x00000018
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8 0x00000019
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8Y8 0x0000001A
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_AY8 0x0000001B
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_X1R5G5B5 0x0000001C
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A4R4G4B4 0x0000001D
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_X8R8G8B8 0x0000001E
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8 0x0000001F
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8Y8 0x00000020
#define NV097_SET_TEXTURE_FORMAT_COLOR_LC_IMAGE_CR8YB8CB8YA8 0x00000024
#define NV097_SET_TEXTURE_FORMAT_COLOR_LC_IMAGE_YB8CR8YA8CB8 0x00000025
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8CR8CB8Y8 0x00000026
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_R6G5B5 0x00000027
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_G8B8 0x00000028
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_R8B8 0x00000029
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_DEPTH_X8_Y24_FIXED 0x0000002A
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_DEPTH_X8_Y24_FLOAT 0x0000002B
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_DEPTH_Y16_FIXED 0x0000002C
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_DEPTH_Y16_FLOAT 0x0000002D
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_DEPTH_X8_Y24_FIXED 0x0000002E
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_DEPTH_X8_Y24_FLOAT 0x0000002F
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_DEPTH_Y16_FIXED 0x00000030
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_DEPTH_Y16_FLOAT 0x00000031
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_Y16 0x00000032
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_YB_16_YA_16 0x00000033
#define NV097_SET_TEXTURE_FORMAT_COLOR_LC_IMAGE_A4V6YB6A4U6YA6 0x00000034
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_Y16 0x00000035
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_YB16YA16 0x00000036
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R6G5B5 0x00000037
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_R5G5B5A1 0x00000038
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_R4G4B4A4 0x00000039
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8B8G8R8 0x0000003A
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_B8G8R8A8 0x0000003B
#define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_R8G8B8A8 0x0000003C
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R5G5B5A1 0x0000003D
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R4G4B4A4 0x0000003E
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8B8G8R8 0x0000003F
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_B8G8R8A8 0x00000040
#define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R8G8B8A8 0x00000041
#define NV097_SET_TEXTURE_FORMAT_MIPMAP_LEVELS 19:16
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U 23:20
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_1 0x00000000
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_2 0x00000001
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_4 0x00000002
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_8 0x00000003
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_16 0x00000004
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_32 0x00000005
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_64 0x00000006
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_128 0x00000007
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_256 0x00000008
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_512 0x00000009
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_1024 0x0000000A
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_2048 0x0000000B
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U_4096 0x0000000C
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V 27:24
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_1 0x00000000
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_2 0x00000001
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_4 0x00000002
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_8 0x00000003
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_16 0x00000004
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_32 0x00000005
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_64 0x00000006
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_128 0x00000007
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_256 0x00000008
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_512 0x00000009
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_1024 0x0000000A
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_2048 0x0000000B
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_V_4096 0x0000000C
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P 31:28
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_1 0x00000000
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_2 0x00000001
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_4 0x00000002
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_8 0x00000003
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_16 0x00000004
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_32 0x00000005
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_64 0x00000006
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_128 0x00000007
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_256 0x00000008
#define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_P_512 0x00000009
#define NV097_SET_TEXTURE_ADDRESS(i) (0x00001b08+(i)*64)
#define NV097_SET_TEXTURE_ADDRESS_U 3:0
#define NV097_SET_TEXTURE_ADDRESS_U_WRAP 0x00000001
#define NV097_SET_TEXTURE_ADDRESS_U_MIRROR 0x00000002
#define NV097_SET_TEXTURE_ADDRESS_U_CLAMP_TO_EDGE 0x00000003
#define NV097_SET_TEXTURE_ADDRESS_U_BORDER 0x00000004
#define NV097_SET_TEXTURE_ADDRESS_U_CLAMP_OGL 0x00000005
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_U 7:4
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_U_FALSE 0x00000000
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_U_TRUE 0x00000001
#define NV097_SET_TEXTURE_ADDRESS_V 11:8
#define NV097_SET_TEXTURE_ADDRESS_V_WRAP 0x00000001
#define NV097_SET_TEXTURE_ADDRESS_V_MIRROR 0x00000002
#define NV097_SET_TEXTURE_ADDRESS_V_CLAMP_TO_EDGE 0x00000003
#define NV097_SET_TEXTURE_ADDRESS_V_BORDER 0x00000004
#define NV097_SET_TEXTURE_ADDRESS_V_CLAMP_OGL 0x00000005
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_V 15:12
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_V_FALSE 0x00000000
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_V_TRUE 0x00000001
#define NV097_SET_TEXTURE_ADDRESS_P 19:16
#define NV097_SET_TEXTURE_ADDRESS_P_WRAP 0x00000001
#define NV097_SET_TEXTURE_ADDRESS_P_MIRROR 0x00000002
#define NV097_SET_TEXTURE_ADDRESS_P_CLAMP_TO_EDGE 0x00000003
#define NV097_SET_TEXTURE_ADDRESS_P_BORDER 0x00000004
#define NV097_SET_TEXTURE_ADDRESS_P_CLAMP_OGL 0x00000005
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_P 23:20
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_P_FALSE 0x00000000
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_P_TRUE 0x00000001
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_Q 31:24
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_Q_FALSE 0x00000000
#define NV097_SET_TEXTURE_ADDRESS_CYLWRAP_Q_TRUE 0x00000001
#define NV097_SET_TEXTURE_CONTROL0(i) (0x00001b0c+(i)*64)
#define NV097_SET_TEXTURE_CONTROL0_ENABLE 31:30
#define NV097_SET_TEXTURE_CONTROL0_ENABLE_FALSE 0x00000000
#define NV097_SET_TEXTURE_CONTROL0_ENABLE_TRUE 0x00000001
#define NV097_SET_TEXTURE_CONTROL0_MIN_LOD_CLAMP 29:18
#define NV097_SET_TEXTURE_CONTROL0_MAX_LOD_CLAMP 17:6
#define NV097_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO 5:4
#define NV097_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_0 0x00000000
#define NV097_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_1 0x00000001
#define NV097_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_2 0x00000002
#define NV097_SET_TEXTURE_CONTROL0_LOG_MAX_ANISO_3 0x00000003
#define NV097_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE 3:3
#define NV097_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_FALSE 0x00000000
#define NV097_SET_TEXTURE_CONTROL0_IMAGE_FIELD_ENABLE_TRUE 0x00000001
#define NV097_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE 2:2
#define NV097_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_FALSE 0x00000000
#define NV097_SET_TEXTURE_CONTROL0_ALPHA_KILL_ENABLE_TRUE 0x00000001
#define NV097_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION 1:0
#define NV097_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_FALSE 0x00000000
#define NV097_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_ALPHA 0x00000001
#define NV097_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_RGBA 0x00000002
#define NV097_SET_TEXTURE_CONTROL0_COLOR_KEY_OPERATION_KILL 0x00000003
#define NV097_SET_TEXTURE_CONTROL1(i) (0x00001b10+(i)*64)
#define NV097_SET_TEXTURE_CONTROL1_IMAGE_PITCH 31:16
#define NV097_SET_TEXTURE_FILTER(i) (0x00001b14+(i)*64)
#define NV097_SET_TEXTURE_FILTER_MIPMAP_LOD_BIAS 12:0
#define NV097_SET_TEXTURE_FILTER_CONVOLUTION_KERNEL 15:13
#define NV097_SET_TEXTURE_FILTER_CONVOLUTION_KERNEL_QUINCUNX 0x00000001
#define NV097_SET_TEXTURE_FILTER_CONVOLUTION_KERNEL_GAUSSIAN_3 0x00000002
#define NV097_SET_TEXTURE_FILTER_MIN 23:16
#define NV097_SET_TEXTURE_FILTER_MIN_BOX_LOD0 0x00000001
#define NV097_SET_TEXTURE_FILTER_MIN_TENT_LOD0 0x00000002
#define NV097_SET_TEXTURE_FILTER_MIN_BOX_NEARESTLOD 0x00000003
#define NV097_SET_TEXTURE_FILTER_MIN_TENT_NEARESTLOD 0x00000004
#define NV097_SET_TEXTURE_FILTER_MIN_BOX_TENT_LOD 0x00000005
#define NV097_SET_TEXTURE_FILTER_MIN_TENT_TENT_LOD 0x00000006
#define NV097_SET_TEXTURE_FILTER_MIN_CONVOLUTION_2D_LOD0 0x00000007
#define NV097_SET_TEXTURE_FILTER_MAG 27:24
#define NV097_SET_TEXTURE_FILTER_MAG_BOX_LOD0 0x00000001
#define NV097_SET_TEXTURE_FILTER_MAG_TENT_LOD0 0x00000002
#define NV097_SET_TEXTURE_FILTER_MAG_CONVOLUTION_2D_LOD0 0x00000004
#define NV097_SET_TEXTURE_FILTER_ASIGNED 28:28
#define NV097_SET_TEXTURE_FILTER_ASIGNED_BIT_DISABLED 0x00000000
#define NV097_SET_TEXTURE_FILTER_ASIGNED_BIT_ENABLED 0x00000001
#define NV097_SET_TEXTURE_FILTER_RSIGNED 29:29
#define NV097_SET_TEXTURE_FILTER_RSIGNED_BIT_DISABLED 0x00000000
#define NV097_SET_TEXTURE_FILTER_RSIGNED_BIT_ENABLED 0x00000001
#define NV097_SET_TEXTURE_FILTER_GSIGNED 30:30
#define NV097_SET_TEXTURE_FILTER_GSIGNED_BIT_DISABLED 0x00000000
#define NV097_SET_TEXTURE_FILTER_GSIGNED_BIT_ENABLED 0x00000001
#define NV097_SET_TEXTURE_FILTER_BSIGNED 31:31
#define NV097_SET_TEXTURE_FILTER_BSIGNED_BIT_DISABLED 0x00000000
#define NV097_SET_TEXTURE_FILTER_BSIGNED_BIT_ENABLED 0x00000001
#define NV097_SET_TEXTURE_IMAGE_RECT(i) (0x00001b1c+(i)*64)
#define NV097_SET_TEXTURE_IMAGE_RECT_WIDTH 31:16
#define NV097_SET_TEXTURE_IMAGE_RECT_HEIGHT 15:0
#define NV097_SET_TEXTURE_PALETTE(i) (0x00001b20+(i)*64)
#define NV097_SET_TEXTURE_PALETTE_CONTEXT_DMA 1:0
#define NV097_SET_TEXTURE_PALETTE_CONTEXT_DMA_A 0x00000000
#define NV097_SET_TEXTURE_PALETTE_CONTEXT_DMA_B 0x00000001
#define NV097_SET_TEXTURE_PALETTE_LENGTH 5:2
#define NV097_SET_TEXTURE_PALETTE_LENGTH_256 0x00000000
#define NV097_SET_TEXTURE_PALETTE_LENGTH_128 0x00000001
#define NV097_SET_TEXTURE_PALETTE_LENGTH_64 0x00000002
#define NV097_SET_TEXTURE_PALETTE_LENGTH_32 0x00000003
#define NV097_SET_TEXTURE_PALETTE_OFFSET 31:6
#define NV097_SET_TEXTURE_BORDER_COLOR(i) (0x00001b24+(i)*64)
#define NV097_SET_TEXTURE_BORDER_COLOR_V 31:0
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT00(i) (0x00001b28+(i)*64)
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT00_V 31:0
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT01(i) (0x00001b2c+(i)*64)
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT01_V 31:0
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT11(i) (0x00001b30+(i)*64)
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT11_V 31:0
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT10(i) (0x00001b34+(i)*64)
#define NV097_SET_TEXTURE_SET_BUMP_ENV_MAT10_V 31:0
#define NV097_SET_TEXTURE_SET_BUMP_ENV_SCALE(i) (0x00001b38+(i)*64)
#define NV097_SET_TEXTURE_SET_BUMP_ENV_SCALE_V 31:0
#define NV097_SET_TEXTURE_SET_BUMP_ENV_OFFSET(i) (0x00001b3c+(i)*64)
#define NV097_SET_TEXTURE_SET_BUMP_ENV_OFFSET_V 31:0
#define NV097_PARK_ATTRIBUTE 0x00001d64
#define NV097_UNPARK_ATTRIBUTE 0x00001d68
#define NV097_SET_SEMAPHORE_OFFSET 0x00001d6c
#define NV097_SET_SEMAPHORE_OFFSET_V 31:0
#define NV097_BACK_END_WRITE_SEMAPHORE_RELEASE 0x00001d70
#define NV097_BACK_END_WRITE_SEMAPHORE_RELEASE_V 31:0
#define NV097_TEXTURE_READ_SEMAPHORE_RELEASE 0x00001d74
#define NV097_TEXTURE_READ_SEMAPHORE_RELEASE_V 31:0
#define NV097_SET_ZMIN_MAX_CONTROL 0x00001d78
#define NV097_SET_ZMIN_MAX_CONTROL_CULL_NEAR_FAR_EN 3:0
#define NV097_SET_ZMIN_MAX_CONTROL_CULL_NEAR_FAR_EN_FALSE 0x00000000
#define NV097_SET_ZMIN_MAX_CONTROL_CULL_NEAR_FAR_EN_TRUE 0x00000001
#define NV097_SET_ZMIN_MAX_CONTROL_ZCLAMP_EN 7:4
#define NV097_SET_ZMIN_MAX_CONTROL_ZCLAMP_EN_CULL 0x00000000
#define NV097_SET_ZMIN_MAX_CONTROL_ZCLAMP_EN_CLAMP 0x00000001
#define NV097_SET_ZMIN_MAX_CONTROL_CULL_IGNORE_W 11:8
#define NV097_SET_ZMIN_MAX_CONTROL_CULL_IGNORE_W_FALSE 0x00000000
#define NV097_SET_ZMIN_MAX_CONTROL_CULL_IGNORE_W_TRUE 0x00000001
#define NV097_SET_ANTI_ALIASING_CONTROL 0x00001d7c
#define NV097_SET_ANTI_ALIASING_CONTROL_ENABLE 3:0
#define NV097_SET_ANTI_ALIASING_CONTROL_ENABLE_FALSE 0x00000000
#define NV097_SET_ANTI_ALIASING_CONTROL_ENABLE_TRUE 0x00000001
#define NV097_SET_ANTI_ALIASING_CONTROL_ALPHA_TO_COVERAGE 7:4
#define NV097_SET_ANTI_ALIASING_CONTROL_ALPHA_TO_COVERAGE_DISABLE 0x00000000
#define NV097_SET_ANTI_ALIASING_CONTROL_ALPHA_TO_COVERAGE_ENABLE 0x00000001
#define NV097_SET_ANTI_ALIASING_CONTROL_ALPHA_TO_ONE 11:8
#define NV097_SET_ANTI_ALIASING_CONTROL_ALPHA_TO_ONE_DISABLE 0x00000000
#define NV097_SET_ANTI_ALIASING_CONTROL_ALPHA_TO_ONE_ENABLE 0x00000001
#define NV097_SET_ANTI_ALIASING_CONTROL_SAMPLE_MASK 31:16
#define NV097_SET_COMPRESS_ZBUFFER_EN 0x00001d80
#define NV097_SET_COMPRESS_ZBUFFER_EN_V 31:0
#define NV097_SET_COMPRESS_ZBUFFER_EN_V_DISABLE 0x00000000
#define NV097_SET_COMPRESS_ZBUFFER_EN_V_ENABLE 0x00000001
#define NV097_SET_OCCLUDE_ZSTENCIL_EN 0x00001d84
#define NV097_SET_OCCLUDE_ZSTENCIL_EN_OCCLUDE_ZEN 0:0
#define NV097_SET_OCCLUDE_ZSTENCIL_EN_OCCLUDE_ZEN_DISABLE 0x00000000
#define NV097_SET_OCCLUDE_ZSTENCIL_EN_OCCLUDE_ZEN_ENABLE 0x00000001
#define NV097_SET_OCCLUDE_ZSTENCIL_EN_OCCLUDE_STENCIL_EN 1:1
#define NV097_SET_OCCLUDE_ZSTENCIL_EN_OCCLUDE_STENCIL_EN_DISABLE 0x00000000
#define NV097_SET_OCCLUDE_ZSTENCIL_EN_OCCLUDE_STENCIL_EN_ENABLE 0x00000001
#define NV097_SET_SURFACE_FORMAT 0x00000208
#define NV097_SET_SURFACE_FORMAT_COLOR 3:0
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 0x00000001
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 0x00000002
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_R5G6B5 0x00000003
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 0x00000004
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 0x00000005
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 0x00000006
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 0x00000007
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_A8R8G8B8 0x00000008
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_B8 0x00000009
#define NV097_SET_SURFACE_FORMAT_COLOR_LE_G8B8 0x0000000A
#define NV097_SET_SURFACE_FORMAT_ZETA 7:4
#define NV097_SET_SURFACE_FORMAT_ZETA_Z16 0x00000001
#define NV097_SET_SURFACE_FORMAT_ZETA_Z24S8 0x00000002
#define NV097_SET_SURFACE_FORMAT_TYPE 11:8
#define NV097_SET_SURFACE_FORMAT_TYPE_PITCH 0x00000001
#define NV097_SET_SURFACE_FORMAT_TYPE_SWIZZLE 0x00000002
#define NV097_SET_SURFACE_FORMAT_ANTI_ALIASING 15:12
#define NV097_SET_SURFACE_FORMAT_ANTI_ALIASING_CENTER_1 0x00000000
#define NV097_SET_SURFACE_FORMAT_ANTI_ALIASING_CENTER_CORNER_2 0x00000001
#define NV097_SET_SURFACE_FORMAT_ANTI_ALIASING_SQUARE_OFFSET_4 0x00000002
#define NV097_SET_SURFACE_FORMAT_WIDTH 23:16
#define NV097_SET_SURFACE_FORMAT_WIDTH_1 0x00000000
#define NV097_SET_SURFACE_FORMAT_WIDTH_2 0x00000001
#define NV097_SET_SURFACE_FORMAT_WIDTH_4 0x00000002
#define NV097_SET_SURFACE_FORMAT_WIDTH_8 0x00000003
#define NV097_SET_SURFACE_FORMAT_WIDTH_16 0x00000004
#define NV097_SET_SURFACE_FORMAT_WIDTH_32 0x00000005
#define NV097_SET_SURFACE_FORMAT_WIDTH_64 0x00000006
#define NV097_SET_SURFACE_FORMAT_WIDTH_128 0x00000007
#define NV097_SET_SURFACE_FORMAT_WIDTH_256 0x00000008
#define NV097_SET_SURFACE_FORMAT_WIDTH_512 0x00000009
#define NV097_SET_SURFACE_FORMAT_WIDTH_1024 0x0000000A
#define NV097_SET_SURFACE_FORMAT_WIDTH_2048 0x0000000B
#define NV097_SET_SURFACE_FORMAT_WIDTH_4096 0x0000000C
#define NV097_SET_SURFACE_FORMAT_HEIGHT 31:24
#define NV097_SET_SURFACE_FORMAT_HEIGHT_1 0x00000000
#define NV097_SET_SURFACE_FORMAT_HEIGHT_2 0x00000001
#define NV097_SET_SURFACE_FORMAT_HEIGHT_4 0x00000002
#define NV097_SET_SURFACE_FORMAT_HEIGHT_8 0x00000003
#define NV097_SET_SURFACE_FORMAT_HEIGHT_16 0x00000004
#define NV097_SET_SURFACE_FORMAT_HEIGHT_32 0x00000005
#define NV097_SET_SURFACE_FORMAT_HEIGHT_64 0x00000006
#define NV097_SET_SURFACE_FORMAT_HEIGHT_128 0x00000007
#define NV097_SET_SURFACE_FORMAT_HEIGHT_256 0x00000008
#define NV097_SET_SURFACE_FORMAT_HEIGHT_512 0x00000009
#define NV097_SET_SURFACE_FORMAT_HEIGHT_1024 0x0000000A
#define NV097_SET_SURFACE_FORMAT_HEIGHT_2048 0x0000000B
#define NV097_SET_SURFACE_FORMAT_HEIGHT_4096 0x0000000C
#define NV097_SET_ZSTENCIL_CLEAR_VALUE 0x00001d8c
#define NV097_SET_ZSTENCIL_CLEAR_VALUE_V 31:0
#define NV097_SET_COLOR_CLEAR_VALUE 0x00001d90
#define NV097_SET_COLOR_CLEAR_VALUE_V 31:0
#define NV097_CLEAR_SURFACE 0x00001d94
#define NV097_CLEAR_SURFACE_Z 0:0
#define NV097_CLEAR_SURFACE_Z_DISABLE 0x00000000
#define NV097_CLEAR_SURFACE_Z_ENABLE 0x00000001
#define NV097_CLEAR_SURFACE_STENCIL 1:1
#define NV097_CLEAR_SURFACE_STENCIL_DISABLE 0x00000000
#define NV097_CLEAR_SURFACE_STENCIL_ENABLE 0x00000001
#define NV097_CLEAR_SURFACE_R 4:4
#define NV097_CLEAR_SURFACE_R_DISABLE 0x00000000
#define NV097_CLEAR_SURFACE_R_ENABLE 0x00000001
#define NV097_CLEAR_SURFACE_G 5:5
#define NV097_CLEAR_SURFACE_G_DISABLE 0x00000000
#define NV097_CLEAR_SURFACE_G_ENABLE 0x00000001
#define NV097_CLEAR_SURFACE_B 6:6
#define NV097_CLEAR_SURFACE_B_DISABLE 0x00000000
#define NV097_CLEAR_SURFACE_B_ENABLE 0x00000001
#define NV097_CLEAR_SURFACE_A 7:7
#define NV097_CLEAR_SURFACE_A_DISABLE 0x00000000
#define NV097_CLEAR_SURFACE_A_ENABLE 0x00000001
#define NV097_SET_CLEAR_RECT_HORIZONTAL 0x00001d98
#define NV097_SET_CLEAR_RECT_HORIZONTAL_XMIN 15:0
#define NV097_SET_CLEAR_RECT_HORIZONTAL_XMAX 31:16
#define NV097_SET_CLEAR_RECT_VERTICAL 0x00001d9c
#define NV097_SET_CLEAR_RECT_VERTICAL_YMIN 15:0
#define NV097_SET_CLEAR_RECT_VERTICAL_YMAX 31:16
#define NV097_SET_BEGIN_PATCH0 0x00001de0
#define NV097_SET_BEGIN_PATCH0_POSITION_DEGREE 3:0
#define NV097_SET_BEGIN_PATCH0_PARAM1_DEGREE 7:4
#define NV097_SET_BEGIN_PATCH0_PARAM2_DEGREE 11:8
#define NV097_SET_BEGIN_PATCH0_PARAM3_DEGREE 15:12
#define NV097_SET_BEGIN_PATCH0_PARAM4_DEGREE 19:16
#define NV097_SET_BEGIN_PATCH0_PARAM5_DEGREE 23:20
#define NV097_SET_BEGIN_PATCH0_PARAM6_DEGREE 27:24
#define NV097_SET_BEGIN_PATCH0_PARAM7_DEGREE 31:28
#define NV097_SET_BEGIN_PATCH1 0x00001de4
#define NV097_SET_BEGIN_PATCH1_PARAM8_DEGREE 3:0
#define NV097_SET_BEGIN_PATCH1_PARAM9_DEGREE 7:4
#define NV097_SET_BEGIN_PATCH1_PARAM10_DEGREE 11:8
#define NV097_SET_BEGIN_PATCH1_PARAM11_DEGREE 15:12
#define NV097_SET_BEGIN_PATCH1_PARAM12_DEGREE 19:16
#define NV097_SET_BEGIN_PATCH1_PARAM13_DEGREE 23:20
#define NV097_SET_BEGIN_PATCH1_PARAM14_DEGREE 27:24
#define NV097_SET_BEGIN_PATCH1_PARAM15_DEGREE 31:28
#define NV097_SET_BEGIN_PATCH2 0x00001de8
#define NV097_SET_BEGIN_PATCH2_SWATCH_ROWS 7:0
#define NV097_SET_BEGIN_PATCH2_SWATCH_COLS 15:8
#define NV097_SET_BEGIN_PATCH2_SWATCH_SIZE 20:16
#define NV097_SET_BEGIN_PATCH2_PARTIAL_SWATCH_WIDTH 25:21
#define NV097_SET_BEGIN_PATCH2_PARTIAL_SWATCH_HEIGHT 30:26
#define NV097_SET_BEGIN_PATCH2_PATCH_TYPE 31:31
#define NV097_SET_BEGIN_PATCH2_PATCH_TYPE_SQUARE 0x00000000
#define NV097_SET_BEGIN_PATCH3 0x00001dec
#define NV097_SET_BEGIN_PATCH3_ROW_TRNS 2:0
#define NV097_SET_BEGIN_PATCH3_ROW_TRNS_NONE 0x00000000
#define NV097_SET_BEGIN_PATCH3_ROW_TRNS_FIRST 0x00000001
#define NV097_SET_BEGIN_PATCH3_ROW_TRNS_LAST 0x00000002
#define NV097_SET_BEGIN_PATCH3_ROW_TRNS_FIRST_AND_LAST 0x00000003
#define NV097_SET_BEGIN_PATCH3_ROW_TRNS_REV_FIRST 0x00000005
#define NV097_SET_BEGIN_PATCH3_ROW_TRNS_REV_LAST 0x00000006
#define NV097_SET_BEGIN_PATCH3_COL_TRNS 5:3
#define NV097_SET_BEGIN_PATCH3_COL_TRNS_NONE 0x00000000
#define NV097_SET_BEGIN_PATCH3_COL_TRNS_FIRST 0x00000001
#define NV097_SET_BEGIN_PATCH3_COL_TRNS_LAST 0x00000002
#define NV097_SET_BEGIN_PATCH3_COL_TRNS_FIRST_AND_LAST 0x00000003
#define NV097_SET_BEGIN_PATCH3_COL_TRNS_REV_FIRST 0x00000005
#define NV097_SET_BEGIN_PATCH3_COL_TRNS_REV_LAST 0x00000006
#define NV097_SET_BEGIN_PATCH3_POSITION_GUARD_CURVE_DEGREE 9:6
#define NV097_SET_BEGIN_PATCH3_NORMAL_GUARD_CURVE_DEGREE 13:10
#define NV097_SET_BEGIN_PATCH3_PRIMITIVE 15:14
#define NV097_SET_BEGIN_PATCH3_PRIMITIVE_TRI_STRIP 0x00000000
#define NV097_SET_BEGIN_PATCH3_PRIMITIVE_REVERSED_TRI_STRIP 0x00000001
#define NV097_SET_BEGIN_PATCH3_PRIMITIVE_BW_TRI_STRIP 0x00000002
#define NV097_SET_BEGIN_PATCH3_PRIMITIVE_BW_REVERSED_TRI_STRIP 0x00000003
#define NV097_SET_BEGIN_PATCH3_TESSELATION 16:16
#define NV097_SET_BEGIN_PATCH3_TESSELATION_ADAPTIVE_STITCH 0x00000000
#define NV097_SET_BEGIN_PATCH3_TESSELATION_FIXED_STITCH 0x00000001
#define NV097_SET_BEGIN_PATCH3_NUM_COEFFS 31:24
#define NV097_SET_END_PATCH 0x00001df0
#define NV097_SET_BEGIN_END_SWATCH 0x00001df4
#define NV097_SET_BEGIN_END_SWATCH_SWATCH_CMD 3:0
#define NV097_SET_BEGIN_END_SWATCH_SWATCH_CMD_END 0x00000000
#define NV097_SET_BEGIN_END_SWATCH_SWATCH_CMD_BEGIN 0x00000001
#define NV097_SET_BEGIN_END_SWATCH_NEW_SWATH 7:4
#define NV097_SET_BEGIN_END_SWATCH_NEW_SWATH_CONTINUE 0x00000000
#define NV097_SET_BEGIN_END_SWATCH_NEW_SWATH_NEW 0x00000001
#define NV097_SET_BEGIN_END_SWATCH_SKIP_FIRST_ROW 11:8
#define NV097_SET_BEGIN_END_SWATCH_SKIP_FIRST_ROW_FALSE 0x00000000
#define NV097_SET_BEGIN_END_SWATCH_SKIP_FIRST_ROW_TRUE 0x00000001
#define NV097_SET_BEGIN_END_SWATCH_SKIP_FIRST_COL 15:12
#define NV097_SET_BEGIN_END_SWATCH_SKIP_FIRST_COL_FALSE 0x00000000
#define NV097_SET_BEGIN_END_SWATCH_SKIP_FIRST_COL_TRUE 0x00000001
#define NV097_SET_BEGIN_END_SWATCH_SHORT_SWATCH 19:16
#define NV097_SET_BEGIN_END_SWATCH_SHORT_SWATCH_FULL_HEIGHT 0x00000000
#define NV097_SET_BEGIN_END_SWATCH_SHORT_SWATCH_PARTIAL_HEIGHT 0x00000001
#define NV097_SET_BEGIN_END_SWATCH_NARROW_SWATCH 31:20
#define NV097_SET_BEGIN_END_SWATCH_NARROW_SWATCH_FULL_WIDTH 0x00000000
#define NV097_SET_BEGIN_END_SWATCH_NARROW_SWATCH_PARTIAL_WIDTH 0x00000001
#define NV097_SET_BEGIN_END_CURVE 0x00001df8
#define NV097_SET_BEGIN_END_CURVE_CMD 3:0
#define NV097_SET_BEGIN_END_CURVE_CMD_END_CURVE_DATA 0x00000000
#define NV097_SET_BEGIN_END_CURVE_CMD_STRIP_CURVE 0x00000001
#define NV097_SET_BEGIN_END_CURVE_CMD_LEFT_GUARD_CURVE 0x00000002
#define NV097_SET_BEGIN_END_CURVE_CMD_RIGHT_GUARD_CURVE 0x00000003
#define NV097_SET_BEGIN_END_CURVE_CMD_OUTER_TRANSITION_CURVE 0x00000004
#define NV097_SET_BEGIN_END_CURVE_CMD_INNER_TRANSITION_CURVE 0x00000005
#define NV097_SET_BEGIN_END_CURVE_CMD_OUTER_END_PT 0x00000006
#define NV097_SET_BEGIN_END_CURVE_CMD_INNER_END_PT 0x00000007
#define NV097_SET_CURVE_COEFFICIENTS(i) (0x00001e00+(i)*4)
#define NV097_SET_CURVE_COEFFICIENTS_V 31:0
#define NV097_SET_BEGIN_TRANSITION0 0x00001e10
#define NV097_SET_BEGIN_TRANSITION0_POSITION_DEGREE 3:0
#define NV097_SET_BEGIN_TRANSITION0_PARAM1_DEGREE 7:4
#define NV097_SET_BEGIN_TRANSITION0_PARAM2_DEGREE 11:8
#define NV097_SET_BEGIN_TRANSITION0_PARAM3_DEGREE 15:12
#define NV097_SET_BEGIN_TRANSITION0_PARAM4_DEGREE 19:16
#define NV097_SET_BEGIN_TRANSITION0_PARAM5_DEGREE 23:20
#define NV097_SET_BEGIN_TRANSITION0_PARAM6_DEGREE 27:24
#define NV097_SET_BEGIN_TRANSITION0_PARAM7_DEGREE 31:28
#define NV097_SET_BEGIN_TRANSITION1 0x00001e14
#define NV097_SET_BEGIN_TRANSITION1_PARAM8_DEGREE 3:0
#define NV097_SET_BEGIN_TRANSITION1_PARAM9_DEGREE 7:4
#define NV097_SET_BEGIN_TRANSITION1_PARAM10_DEGREE 11:8
#define NV097_SET_BEGIN_TRANSITION1_PARAM11_DEGREE 15:12
#define NV097_SET_BEGIN_TRANSITION1_PARAM12_DEGREE 19:16
#define NV097_SET_BEGIN_TRANSITION1_PARAM13_DEGREE 23:20
#define NV097_SET_BEGIN_TRANSITION1_PARAM14_DEGREE 27:24
#define NV097_SET_BEGIN_TRANSITION1_PARAM15_DEGREE 31:28
#define NV097_SET_BEGIN_TRANSITION2 0x00001e18
#define NV097_SET_BEGIN_TRANSITION2_INSIDE_SEGMENTS 9:0
#define NV097_SET_BEGIN_TRANSITION2_OUTSIDE_SEGMENTS 19:10
#define NV097_SET_BEGIN_TRANSITION2_NUM_COEFFS 31:24
#define NV097_SET_END_TRANSITION 0x00001e1c
#define NV097_SET_SHADOW_ZSLOPE_THRESHOLD 0x00001e68
#define NV097_SET_SHADOW_ZSLOPE_THRESHOLD_V 31:0
#define NV097_SET_SHADOW_DEPTH_FUNC 0x00001e6c
#define NV097_SET_SHADOW_DEPTH_FUNC_V 31:0
#define NV097_SET_SHADOW_DEPTH_FUNC_V_NEVER 0x00000000
#define NV097_SET_SHADOW_DEPTH_FUNC_V_LESS 0x00000001
#define NV097_SET_SHADOW_DEPTH_FUNC_V_EQUAL 0x00000002
#define NV097_SET_SHADOW_DEPTH_FUNC_V_LEQUAL 0x00000003
#define NV097_SET_SHADOW_DEPTH_FUNC_V_GREATER 0x00000004
#define NV097_SET_SHADOW_DEPTH_FUNC_V_NOTEQUAL 0x00000005
#define NV097_SET_SHADOW_DEPTH_FUNC_V_GEQUAL 0x00000006
#define NV097_SET_SHADOW_DEPTH_FUNC_V_ALWAYS 0x00000007
#define NV097_SET_SHADER_STAGE_PROGRAM 0x00001e70
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE0 4:0
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE0_PROGRAM_NONE 0x00000000
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE0_2D_PROJECTIVE 0x00000001
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE0_3D_PROJECTIVE 0x00000002
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE0_CUBE_MAP 0x00000003
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE0_PASS_THROUGH 0x00000004
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE0_CLIP_PLANE 0x00000005
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1 9:5
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_PROGRAM_NONE 0x00000000
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_2D_PROJECTIVE 0x00000001
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_3D_PROJECTIVE 0x00000002
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_CUBE_MAP 0x00000003
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_PASS_THROUGH 0x00000004
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_CLIP_PLANE 0x00000005
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_BUMPENVMAP 0x00000006
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_BUMPENVMAP_LUMINANCE 0x00000007
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_DEPENDENT_AR 0x0000000F
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_DEPENDENT_GB 0x00000010
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE1_DOT_PRODUCT 0x00000011
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2 14:10
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_PROGRAM_NONE 0x00000000
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_2D_PROJECTIVE 0x00000001
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_3D_PROJECTIVE 0x00000002
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_CUBE_MAP 0x00000003
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_PASS_THROUGH 0x00000004
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_CLIP_PLANE 0x00000005
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_BUMPENVMAP 0x00000006
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_BUMPENVMAP_LUMINANCE 0x00000007
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_BRDF 0x00000008
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_DOT_ST 0x00000009
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_DOT_ZW 0x0000000A
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_DOT_REFLECT_DIFFUSE 0x0000000B
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_DEPENDENT_AR 0x0000000F
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_DEPENDENT_GB 0x00000010
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE2_DOT_PRODUCT 0x00000011
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3 19:15
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_PROGRAM_NONE 0x00000000
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_2D_PROJECTIVE 0x00000001
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_3D_PROJECTIVE 0x00000002
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_CUBE_MAP 0x00000003
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_PASS_THROUGH 0x00000004
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_CLIP_PLANE 0x00000005
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_BUMPENVMAP 0x00000006
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_BUMPENVMAP_LUMINANCE 0x00000007
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_BRDF 0x00000008
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DOT_ST 0x00000009
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DOT_ZW 0x0000000A
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DOT_REFLECT_SPECULAR 0x0000000C
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DOT_STR_3D 0x0000000D
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DOT_STR_CUBE 0x0000000E
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DEPENDENT_AR 0x0000000F
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DEPENDENT_GB 0x00000010
#define NV097_SET_SHADER_STAGE_PROGRAM_STAGE3_DOT_REFLECT_SPECULAR_CONST 0x00000012
#define NV097_SET_EYE_VECTOR(i) (0x0000181c+(i)*4)
#define NV097_SET_EYE_VECTOR_V 31:0
#define NV097_SET_DOT_RGBMAPPING 0x00001e74
#define NV097_SET_DOT_RGBMAPPING_STAGE1 3:0
#define NV097_SET_DOT_RGBMAPPING_STAGE1_ZERO_TO_1 0x00000000
#define NV097_SET_DOT_RGBMAPPING_STAGE1_MINUS_1_TO_1_MS 0x00000001
#define NV097_SET_DOT_RGBMAPPING_STAGE1_MINUS_1_TO_1_GL 0x00000002
#define NV097_SET_DOT_RGBMAPPING_STAGE1_MINUS_1_TO_1_NV 0x00000003
#define NV097_SET_DOT_RGBMAPPING_STAGE1_HILO_1 0x00000004
#define NV097_SET_DOT_RGBMAPPING_STAGE1_HILO_HEMISPHERE_MS 0x00000005
#define NV097_SET_DOT_RGBMAPPING_STAGE1_HILO_HEMISPHERE_GL 0x00000006
#define NV097_SET_DOT_RGBMAPPING_STAGE1_HILO_HEMISPHERE_NV 0x00000007
#define NV097_SET_DOT_RGBMAPPING_STAGE2 7:4
#define NV097_SET_DOT_RGBMAPPING_STAGE2_ZERO_TO_1 0x00000000
#define NV097_SET_DOT_RGBMAPPING_STAGE2_MINUS_1_TO_1_MS 0x00000001
#define NV097_SET_DOT_RGBMAPPING_STAGE2_MINUS_1_TO_1_GL 0x00000002
#define NV097_SET_DOT_RGBMAPPING_STAGE2_MINUS_1_TO_1_NV 0x00000003
#define NV097_SET_DOT_RGBMAPPING_STAGE2_HILO_1 0x00000004
#define NV097_SET_DOT_RGBMAPPING_STAGE2_HILO_HEMISPHERE_MS 0x00000005
#define NV097_SET_DOT_RGBMAPPING_STAGE2_HILO_HEMISPHERE_GL 0x00000006
#define NV097_SET_DOT_RGBMAPPING_STAGE2_HILO_HEMISPHERE_NV 0x00000007
#define NV097_SET_DOT_RGBMAPPING_STAGE3 11:8
#define NV097_SET_DOT_RGBMAPPING_STAGE3_ZERO_TO_1 0x00000000
#define NV097_SET_DOT_RGBMAPPING_STAGE3_MINUS_1_TO_1_MS 0x00000001
#define NV097_SET_DOT_RGBMAPPING_STAGE3_MINUS_1_TO_1_GL 0x00000002
#define NV097_SET_DOT_RGBMAPPING_STAGE3_MINUS_1_TO_1_NV 0x00000003
#define NV097_SET_DOT_RGBMAPPING_STAGE3_HILO_1 0x00000004
#define NV097_SET_DOT_RGBMAPPING_STAGE3_HILO_HEMISPHERE_MS 0x00000005
#define NV097_SET_DOT_RGBMAPPING_STAGE3_HILO_HEMISPHERE_GL 0x00000006
#define NV097_SET_DOT_RGBMAPPING_STAGE3_HILO_HEMISPHERE_NV 0x00000007
#define NV097_SET_SHADER_CLIP_PLANE_MODE 0x000017f8
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_S 0:0
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_S_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_S_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_T 1:1
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_T_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_T_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_R 2:2
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_R_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_R_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_Q 3:3
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_Q_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE0_Q_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_S 4:4
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_S_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_S_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_T 5:5
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_T_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_T_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_R 6:6
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_R_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_R_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_Q 7:7
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_Q_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE1_Q_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_S 8:8
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_S_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_S_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_T 9:9
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_T_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_T_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_R 10:10
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_R_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_R_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_Q 11:11
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_Q_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE2_Q_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_S 12:12
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_S_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_S_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_T 13:13
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_T_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_T_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_R 14:14
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_R_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_R_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_Q 15:15
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_Q_CLIPLTZ 0x00000000
#define NV097_SET_SHADER_CLIP_PLANE_MODE_STAGE3_Q_CLIPGEZ 0x00000001
#define NV097_SET_SHADER_OTHER_STAGE_INPUT 0x00001e78
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE1 15:0
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE1_INSTAGE_0 0x00000000
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE2 19:16
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE2_INSTAGE_0 0x00000000
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE2_INSTAGE_1 0x00000001
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE3 23:20
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE3_INSTAGE_0 0x00000000
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE3_INSTAGE_1 0x00000001
#define NV097_SET_SHADER_OTHER_STAGE_INPUT_STAGE3_INSTAGE_2 0x00000002
#define NV097_SET_SPECULAR_FOG_FACTOR(i) (0x00001e20+(i)*4)
#define NV097_SET_SPECULAR_FOG_FACTOR_BLUE 7:0
#define NV097_SET_SPECULAR_FOG_FACTOR_GREEN 15:8
#define NV097_SET_SPECULAR_FOG_FACTOR_RED 23:16
#define NV097_SET_SPECULAR_FOG_FACTOR_ALPHA 31:24
#define NV097_SET_COMBINER_CONTROL 0x00001e60
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT 7:0
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_ONE 0x00000001
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_TWO 0x00000002
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_THREE 0x00000003
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_FOUR 0x00000004
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_FIVE 0x00000005
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_SIX 0x00000006
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_SEVEN 0x00000007
#define NV097_SET_COMBINER_CONTROL_ITERATION_COUNT_EIGHT 0x00000008
#define NV097_SET_COMBINER_CONTROL_MUX_SELECT 11:8
#define NV097_SET_COMBINER_CONTROL_MUX_SELECT_LSB 0x00000000
#define NV097_SET_COMBINER_CONTROL_MUX_SELECT_MSB 0x00000001
#define NV097_SET_COMBINER_CONTROL_FACTOR0 15:12
#define NV097_SET_COMBINER_CONTROL_FACTOR0_SAME_FACTOR_ALL 0x00000000
#define NV097_SET_COMBINER_CONTROL_FACTOR0_EACH_STAGE 0x00000001
#define NV097_SET_COMBINER_CONTROL_FACTOR1 31:16
#define NV097_SET_COMBINER_CONTROL_FACTOR1_SAME_FACTOR_ALL 0x00000000
#define NV097_SET_COMBINER_CONTROL_FACTOR1_EACH_STAGE 0x00000001
#define NV097_SET_COMBINER_COLOR_OCW(i) (0x00001e40+(i)*4)
#define NV097_SET_COMBINER_COLOR_OCW_BLUETOALPHA_AB 31:19
#define NV097_SET_COMBINER_COLOR_OCW_BLUETOALPHA_AB_DISABLE 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_BLUETOALPHA_AB_AB_DST_ENABLE 0x00000001
#define NV097_SET_COMBINER_COLOR_OCW_BLUETOALPHA_CD 18:18
#define NV097_SET_COMBINER_COLOR_OCW_BLUETOALPHA_CD_DISABLE 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_BLUETOALPHA_CD_CD_DST_ENABLE 0x00000001
#define NV097_SET_COMBINER_COLOR_OCW_OP 17:15
#define NV097_SET_COMBINER_COLOR_OCW_OP_NOSHIFT 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_OP_NOSHIFT_BIAS 0x00000001
#define NV097_SET_COMBINER_COLOR_OCW_OP_SHIFTLEFTBY1 0x00000002
#define NV097_SET_COMBINER_COLOR_OCW_OP_SHIFTLEFTBY1_BIAS 0x00000003
#define NV097_SET_COMBINER_COLOR_OCW_OP_SHIFTLEFTBY2 0x00000004
#define NV097_SET_COMBINER_COLOR_OCW_OP_SHIFTRIGHTBY1 0x00000006
#define NV097_SET_COMBINER_COLOR_OCW_MUX_ENABLE 14:14
#define NV097_SET_COMBINER_COLOR_OCW_MUX_ENABLE_FALSE 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_MUX_ENABLE_TRUE 0x00000001
#define NV097_SET_COMBINER_COLOR_OCW_AB_DOT_ENABLE 13:13
#define NV097_SET_COMBINER_COLOR_OCW_AB_DOT_ENABLE_FALSE 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_AB_DOT_ENABLE_TRUE 0x00000001
#define NV097_SET_COMBINER_COLOR_OCW_CD_DOT_ENABLE 12:12
#define NV097_SET_COMBINER_COLOR_OCW_CD_DOT_ENABLE_FALSE 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_CD_DOT_ENABLE_TRUE 0x00000001
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST 11:8
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_0 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_4 0x00000004
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_5 0x00000005
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_8 0x00000008
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_9 0x00000009
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_A 0x0000000A
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_B 0x0000000B
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_C 0x0000000C
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_D 0x0000000D
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST 7:4
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_0 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_4 0x00000004
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_5 0x00000005
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_8 0x00000008
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_9 0x00000009
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_A 0x0000000A
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_B 0x0000000B
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_C 0x0000000C
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_D 0x0000000D
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST 3:0
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_0 0x00000000
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_4 0x00000004
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_5 0x00000005
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_8 0x00000008
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_9 0x00000009
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_A 0x0000000A
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_B 0x0000000B
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_C 0x0000000C
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_D 0x0000000D
#define NV097_SET_TRANSFORM_EXECUTION_MODE 0x00001e94
#define NV097_SET_TRANSFORM_EXECUTION_MODE_MODE 1:0
#define NV097_SET_TRANSFORM_EXECUTION_MODE_MODE_FIXED 0x00000000
#define NV097_SET_TRANSFORM_EXECUTION_MODE_MODE_PROGRAM 0x00000002
#define NV097_SET_TRANSFORM_EXECUTION_MODE_RANGE_MODE 31:2
#define NV097_SET_TRANSFORM_EXECUTION_MODE_RANGE_MODE_USER 0x00000000
#define NV097_SET_TRANSFORM_EXECUTION_MODE_RANGE_MODE_PRIV 0x00000001
#define NV097_SET_TRANSFORM_PROGRAM_CXT_WRITE_EN 0x00001e98
#define NV097_SET_TRANSFORM_PROGRAM_CXT_WRITE_EN_V 31:0
#define NV097_SET_TRANSFORM_PROGRAM_CXT_WRITE_EN_V_READ_ONLY 0x00000000
#define NV097_SET_TRANSFORM_PROGRAM_CXT_WRITE_EN_V_READ_WRITE 0x00000001
#define NV097_SET_TRANSFORM_PROGRAM_LOAD 0x00001e9c
#define NV097_SET_TRANSFORM_PROGRAM_LOAD_PROG_LD_PTR 31:0
#define NV097_SET_TRANSFORM_PROGRAM_START 0x00001ea0
#define NV097_SET_TRANSFORM_PROGRAM_START_V 31:0
#define NV097_SET_TRANSFORM_PROGRAM(i) (0x00000b00+(i)*4)
#define NV097_SET_TRANSFORM_PROGRAM_V 31:0
#define NV097_SET_TRANSFORM_CONSTANT_LOAD 0x00001ea4
#define NV097_SET_TRANSFORM_CONSTANT_LOAD_CONST_LD_PTR 31:0
#define NV097_SET_TRANSFORM_CONSTANT(i) (0x00000b80+(i)*4)
#define NV097_SET_TRANSFORM_CONSTANT_V 31:0
#define NV097_SET_TRANSFORM_DATA(i) (0x00001e80+(i)*4)
#define NV097_SET_TRANSFORM_DATA_V 31:0
#define NV097_LAUNCH_TRANSFORM_PROGRAM 0x00001e90
#define NV097_LAUNCH_TRANSFORM_PROGRAM_V 31:0
#define NV097_SET_TWO_SIDE_LIGHT_EN 0x000017c4
#define NV097_SET_TWO_SIDE_LIGHT_EN_V 31:0
#define NV097_SET_TWO_SIDE_LIGHT_EN_V_FALSE 0x00000000
#define NV097_SET_TWO_SIDE_LIGHT_EN_V_TRUE 0x00000001
#define NV097_SET_BACK_SCENE_AMBIENT_COLOR(i) (0x000017a0+(i)*4)
#define NV097_SET_BACK_SCENE_AMBIENT_COLOR_V 31:0
#define NV097_SET_BACK_MATERIAL_EMISSION(i) (0x000017b0+(i)*4)
#define NV097_SET_BACK_MATERIAL_EMISSION_V 31:0
#define NV097_CLEAR_REPORT_VALUE 0x000017c8
#define NV097_CLEAR_REPORT_VALUE_TYPE 31:0
#define NV097_CLEAR_REPORT_VALUE_TYPE_ZPASS_PIXEL_CNT 0x00000001
#define NV097_SET_ZPASS_PIXEL_COUNT_ENABLE 0x000017cc
#define NV097_SET_ZPASS_PIXEL_COUNT_ENABLE_V 31:0
#define NV097_SET_ZPASS_PIXEL_COUNT_ENABLE_V_FALSE 0x00000000
#define NV097_SET_ZPASS_PIXEL_COUNT_ENABLE_V_TRUE 0x00000001
#define NV097_GET_REPORT 0x000017d0
#define NV097_GET_REPORT_OFFSET 23:0
#define NV097_GET_REPORT_TYPE 31:24
#define NV097_GET_REPORT_TYPE_ZPASS_PIXEL_CNT 0x00000001
#define NV097_DEBUG_INIT(i) (0x00001fc0+(i)*4)
#define NV097_DEBUG_INIT_V 31:0
#define NV097_TYPEDEF Nv20KelvinPrimitive
#define NV097_SET_OBJECT (0x00000000)
// XXXmjc Shaun Ho and John Montrym will roll these into the master file at some point.
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_ZERO NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_0
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_CONST0 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_1
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_CONST1 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_2
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_FOG NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_3
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_4
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_SPECULAR NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_5
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_TEX0 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_8
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_TEX1 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_9
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_TEX2 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_A
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_TEX3 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_B
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_SPARE0 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_C
#define NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_SPARE1 NV097_SET_COMBINER_ALPHA_ICW_A_SOURCE_REG_D
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_ZERO NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_0
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_CONST0 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_1
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_CONST1 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_2
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_FOG NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_3
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_4
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_SPECULAR NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_5
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_TEX0 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_8
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_TEX1 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_9
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_TEX2 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_A
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_TEX3 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_B
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_SPARE0 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_C
#define NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_SPARE1 NV097_SET_COMBINER_ALPHA_ICW_B_SOURCE_REG_D
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_ZERO NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_0
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_CONST0 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_1
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_CONST1 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_2
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_FOG NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_3
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_4
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_SPECULAR NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_5
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_TEX0 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_8
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_TEX1 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_9
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_TEX2 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_A
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_TEX3 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_B
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_SPARE0 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_C
#define NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_SPARE1 NV097_SET_COMBINER_ALPHA_ICW_C_SOURCE_REG_D
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_ZERO NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_0
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_CONST0 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_1
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_CONST1 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_2
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_FOG NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_3
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_4
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_SPECULAR NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_5
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_TEX0 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_8
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_TEX1 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_9
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_TEX2 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_A
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_TEX3 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_B
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_SPARE0 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_C
#define NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_SPARE1 NV097_SET_COMBINER_ALPHA_ICW_D_SOURCE_REG_D
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_ZERO NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_0
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_CONST0 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_1
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_CONST1 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_2
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_FOG NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_3
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_4
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_SPECULAR NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_5
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_TEX0 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_8
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_TEX1 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_9
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_TEX2 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_A
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_TEX3 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_B
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_SPARE0 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_C
#define NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_SPARE1 NV097_SET_COMBINER_COLOR_ICW_A_SOURCE_REG_D
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_ZERO NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_0
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_CONST0 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_1
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_CONST1 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_2
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_FOG NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_3
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_4
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_SPECULAR NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_5
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_TEX0 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_8
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_TEX1 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_9
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_TEX2 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_A
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_TEX3 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_B
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_SPARE0 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_C
#define NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_SPARE1 NV097_SET_COMBINER_COLOR_ICW_B_SOURCE_REG_D
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_ZERO NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_0
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_CONST0 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_1
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_CONST1 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_2
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_FOG NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_3
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_4
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_SPECULAR NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_5
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_TEX0 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_8
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_TEX1 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_9
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_TEX2 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_A
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_TEX3 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_B
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_SPARE0 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_C
#define NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_SPARE1 NV097_SET_COMBINER_COLOR_ICW_C_SOURCE_REG_D
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_ZERO NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_0
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_CONST0 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_1
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_CONST1 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_2
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_FOG NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_3
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_4
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_SPECULAR NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_5
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_TEX0 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_8
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_TEX1 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_9
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_TEX2 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_A
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_TEX3 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_B
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_SPARE0 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_C
#define NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_SPARE1 NV097_SET_COMBINER_COLOR_ICW_D_SOURCE_REG_D
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_ZERO NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_0
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_DIFFUSE NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_4
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_SPECULAR NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_5
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_TEX0 NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_8
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_TEX1 NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_9
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_TEX2 NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_A
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_TEX3 NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_B
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_SPARE0 NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_C
#define NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_SPARE1 NV097_SET_COMBINER_ALPHA_OCW_SUM_DST_REG_D
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_ZERO NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_0
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_DIFFUSE NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_4
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_SPECULAR NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_5
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_TEX0 NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_8
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_TEX1 NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_9
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_TEX2 NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_A
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_TEX3 NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_B
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_SPARE0 NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_C
#define NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_SPARE1 NV097_SET_COMBINER_ALPHA_OCW_AB_DST_REG_D
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_ZERO NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_0
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_DIFFUSE NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_4
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_SPECULAR NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_5
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_TEX0 NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_8
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_TEX1 NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_9
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_TEX2 NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_A
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_TEX3 NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_B
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_SPARE0 NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_C
#define NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_SPARE1 NV097_SET_COMBINER_ALPHA_OCW_CD_DST_REG_D
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_ZERO NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_0
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_DIFFUSE NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_4
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_SPECULAR NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_5
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_TEX0 NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_8
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_TEX1 NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_9
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_TEX2 NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_A
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_TEX3 NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_B
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_SPARE0 NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_C
#define NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_SPARE1 NV097_SET_COMBINER_COLOR_OCW_SUM_DST_REG_D
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_ZERO NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_0
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_DIFFUSE NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_4
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_SPECULAR NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_5
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_TEX0 NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_8
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_TEX1 NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_9
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_TEX2 NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_A
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_TEX3 NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_B
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_SPARE0 NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_C
#define NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_SPARE1 NV097_SET_COMBINER_COLOR_OCW_AB_DST_REG_D
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_ZERO NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_0
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_DIFFUSE NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_4
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_SPECULAR NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_5
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_TEX0 NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_8
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_TEX1 NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_9
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_TEX2 NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_A
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_TEX3 NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_B
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_SPARE0 NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_C
#define NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_SPARE1 NV097_SET_COMBINER_COLOR_OCW_CD_DST_REG_D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_ZERO NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_CONST0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_1
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_CONST1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_2
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_FOG NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_3
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_SPECULAR NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_TEX0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_TEX1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_9
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_TEX2 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_TEX3 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_SPARE0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_SPARE1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_A_SOURCE_REG_D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_ZERO NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_CONST0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_1
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_CONST1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_2
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_FOG NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_3
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_SPECULAR NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_TEX0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_TEX1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_9
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_TEX2 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_TEX3 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_SPARE0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_SPARE1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_B_SOURCE_REG_D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_ZERO NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_CONST0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_1
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_CONST1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_2
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_FOG NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_3
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_SPECULAR NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_TEX0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_TEX1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_9
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_TEX2 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_TEX3 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_SPARE0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_SPARE1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_C_SOURCE_REG_D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_ZERO NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_CONST0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_1
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_CONST1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_2
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_FOG NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_3
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_SPECULAR NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_TEX0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_TEX1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_9
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_TEX2 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_TEX3 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_SPARE0 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_SPARE1 NV097_SET_COMBINER_SPECULAR_FOG_CW0_D_SOURCE_REG_D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_ZERO NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_CONST0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_1
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_CONST1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_2
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_FOG NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_3
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_SPECULAR NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_TEX0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_TEX1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_9
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_TEX2 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_TEX3 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_SPARE0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_SPARE1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_E_SOURCE_REG_D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_ZERO NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_CONST0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_1
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_CONST1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_2
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_FOG NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_3
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_SPECULAR NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_TEX0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_TEX1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_9
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_TEX2 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_TEX3 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_SPARE0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_SPARE1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_F_SOURCE_REG_D
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_ZERO NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_0
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_CONST0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_1
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_CONST1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_2
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_FOG NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_3
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_DIFFUSE NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_4
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_SPECULAR NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_5
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_TEX0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_8
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_TEX1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_9
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_TEX2 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_A
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_TEX3 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_B
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_SPARE0 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_C
#define NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_SPARE1 NV097_SET_COMBINER_SPECULAR_FOG_CW1_G_SOURCE_REG_D
/* class NV15_CONTEXT_SURFACE_SWIZZLED */
#define NV15_CONTEXT_SURFACE_SWIZZLED (0x0000009E)
/* NvNotification[] elements */
#define NV09E_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV09E_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV09E_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV09E_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV09E_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV09E_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV09E_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV09E_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x01e];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextDmaImage; /* NV01_CONTEXT_DMA 0184-0187*/
NvV32 Reserved01[0x05e];
NvV32 SetFormat; /* height_width_color V8_V8_V16 0300-0303*/
NvU32 SetOffset; /* byte offset of top-left pixel 0304-0307*/
NvV32 Reserved02[0x73e];
} Nv09eTypedef, Nv15ContextSurfaceSwizzled;
#define NV09E_TYPEDEF Nv15ContextSurfaceSwizzled
/* dma method offsets, fields, and values */
#define NV09E_SET_OBJECT (0x00000000)
#define NV09E_NO_OPERATION (0x00000100)
#define NV09E_NOTIFY (0x00000104)
#define NV09E_NOTIFY_WRITE_ONLY (0x00000000)
#define NV09E_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV09E_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV09E_SET_CONTEXT_DMA_IMAGE (0x00000184)
#define NV09E_SET_FORMAT (0x00000300)
#define NV09E_SET_FORMAT_COLOR 15:0
#define NV09E_SET_FORMAT_COLOR_LE_Y8 (0x00000001)
#define NV09E_SET_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 (0x00000002)
#define NV09E_SET_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 (0x00000003)
#define NV09E_SET_FORMAT_COLOR_LE_R5G6B5 (0x00000004)
#define NV09E_SET_FORMAT_COLOR_LE_Y16 (0x00000005)
#define NV09E_SET_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 (0x00000006)
#define NV09E_SET_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 (0x00000007)
#define NV09E_SET_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 (0x00000008)
#define NV09E_SET_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 (0x00000009)
#define NV09E_SET_FORMAT_COLOR_LE_A8R8G8B8 (0x0000000A)
#define NV09E_SET_FORMAT_COLOR_LE_Y32 (0x0000000B)
#define NV09E_SET_FORMAT_WIDTH 23:16
#define NV09E_SET_FORMAT_WIDTH_2 (0x00000001)
#define NV09E_SET_FORMAT_WIDTH_4 (0x00000002)
#define NV09E_SET_FORMAT_WIDTH_8 (0x00000003)
#define NV09E_SET_FORMAT_WIDTH_16 (0x00000004)
#define NV09E_SET_FORMAT_WIDTH_32 (0x00000005)
#define NV09E_SET_FORMAT_WIDTH_64 (0x00000006)
#define NV09E_SET_FORMAT_WIDTH_128 (0x00000007)
#define NV09E_SET_FORMAT_WIDTH_256 (0x00000008)
#define NV09E_SET_FORMAT_WIDTH_512 (0x00000009)
#define NV09E_SET_FORMAT_WIDTH_1024 (0x0000000A)
#define NV09E_SET_FORMAT_WIDTH_2048 (0x0000000B)
#define NV09E_SET_FORMAT_HEIGHT 31:24
#define NV09E_SET_FORMAT_HEIGHT_2 (0x00000001)
#define NV09E_SET_FORMAT_HEIGHT_4 (0x00000002)
#define NV09E_SET_FORMAT_HEIGHT_8 (0x00000003)
#define NV09E_SET_FORMAT_HEIGHT_16 (0x00000004)
#define NV09E_SET_FORMAT_HEIGHT_32 (0x00000005)
#define NV09E_SET_FORMAT_HEIGHT_64 (0x00000006)
#define NV09E_SET_FORMAT_HEIGHT_128 (0x00000007)
#define NV09E_SET_FORMAT_HEIGHT_256 (0x00000008)
#define NV09E_SET_FORMAT_HEIGHT_512 (0x00000009)
#define NV09E_SET_FORMAT_HEIGHT_1024 (0x0000000A)
#define NV09E_SET_FORMAT_HEIGHT_2048 (0x0000000B)
#define NV09E_SET_OFFSET (0x00000304)
/* class NV15_IMAGE_BLIT */
#define NV15_IMAGE_BLIT (0x0000009F)
/* NvNotification[] elements */
#define NV09F_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV09F_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV09F_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV09F_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV09F_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV09F_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV09F_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV09F_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x006];
NvV32 SyncSetRead; /* 0120-0123*/
NvV32 SyncSetWrite; /* 0124-0127*/
NvV32 SyncSetModulo; /* 0128-012b*/
NvV32 SyncIncrementWrite; /* ignored 012c-012f*/
NvV32 SyncStall; /* ignored 0130-0133*/
NvV32 SyncIncrementReadRange; /* scanline range to check 0 or 1 0134-0137*/
NvV32 Reserved02[0x012];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0198-019b*/
NvV32 SetContextSurfaces; /* NV04_CONTEXT_SURFACES_2D 019c-019f*/
NvV32 Reserved03[0x057];
NvV32 SetOperation; /* NV09F_SET_OPERATION_* 02fc-02ff*/
NvV32 ControlPointIn; /* y_x U16_U16, pixels 0300-0303*/
NvV32 ControlPointOut; /* y_x S16_S16, pixels 0304-0307*/
NvV32 Size; /* height_width U16_U16 in pixels 0308-030b*/
NvV32 Reserved04[0x73d];
} Nv09fTypedef, Nv12ImageBlit;
#define NV09F_TYPEDEF Nv12ImageBlit
/* dma method offsets, fields, and values */
#define NV09F_SET_OBJECT (0x00000000)
#define NV09F_NO_OPERATION (0x00000100)
#define NV09F_NOTIFY (0x00000104)
#define NV09F_NOTIFY_WRITE_ONLY (0x00000000)
#define NV09F_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV09F_SYNC_SET_READ (0x00000120)
#define NV09F_SYNC_SET_WRITE (0x00000124)
#define NV09F_SYNC_SET_MODULO (0x00000128)
#define NV09F_SYNC_INCREMENT_WRITE (0x0000012C)
#define NV09F_SYNC_STALL (0x00000130)
#define NV09F_SYNC_INCREMENT_READ_RANGE (0x00000134)
#define NV09F_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV09F_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV09F_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV09F_SET_CONTEXT_PATTERN (0x0000018C)
#define NV09F_SET_CONTEXT_ROP (0x00000190)
#define NV09F_SET_CONTEXT_BETA1 (0x00000194)
#define NV09F_SET_CONTEXT_BETA4 (0x00000198)
#define NV09F_SET_CONTEXT_SURFACES (0x0000019C)
#define NV09F_SET_OPERATION (0x000002FC)
#define NV09F_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV09F_SET_OPERATION_ROP_AND (0x00000001)
#define NV09F_SET_OPERATION_BLEND_AND (0x00000002)
#define NV09F_SET_OPERATION_SRCCOPY (0x00000003)
#define NV09F_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV09F_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV09F_CONTROL_POINT_IN (0x00000300)
#define NV09F_CONTROL_POINT_IN_X 15:0
#define NV09F_CONTROL_POINT_IN_Y 31:16
#define NV09F_CONTROL_POINT_OUT (0x00000304)
#define NV09F_CONTROL_POINT_OUT_X 15:0
#define NV09F_CONTROL_POINT_OUT_Y 31:16
#define NV09F_SIZE (0x00000308)
#define NV09F_SIZE_WIDTH 15:0
#define NV09F_SIZE_HEIGHT 31:16
/* class NV20_IMAGE_BLIT */
#define NV20_IMAGE_BLIT (0x0000205F)
/* NvNotification[] elements */
#define NV205F_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NV205F_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV205F_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV205F_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV205F_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV205F_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV205F_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 NoOperation; /* ignored 0100-0103*/
NvV32 Notify; /* NV205F_NOTIFY_* 0104-0107*/
NvV32 Reserved00[0x006];
NvV32 SyncSetRead; /* 0120-0123*/
NvV32 SyncSetWrite; /* 0124-0127*/
NvV32 SyncSetModulo; /* 0128-012b*/
NvV32 SyncIncrementWrite; /* ignored 012c-012f*/
NvV32 SyncStall; /* ignored 0130-0133*/
NvV32 SyncIncrementReadRange; /* ignored 0134-0137*/
NvV32 Reserved02[0x012];
NvV32 SetContextDmaNotifies; /* NV01_CONTEXT_DMA 0180-0183*/
NvV32 SetContextColorKey; /* NV04_CONTEXT_COLOR_KEY 0184-0187*/
NvV32 SetContextClipRectangle; /* NV01_CONTEXT_CLIP_RECTANGLE 0188-018b*/
NvV32 SetContextPattern; /* NV04_CONTEXT_PATTERN 018c-018f*/
NvV32 SetContextRop; /* NV03_CONTEXT_ROP 0190-0193*/
NvV32 SetContextBeta1; /* NV01_CONTEXT_BETA 0194-0197*/
NvV32 SetContextBeta4; /* NV04_CONTEXT_BETA 0198-019b*/
NvV32 SetContextSurfaces; /* NV04_CONTEXT_SURFACES_2D 019c-019f*/
NvV32 Reserved03[0x057];
NvV32 SetOperation; /* NV205F_SET_OPERATION_* 02fc-02ff*/
NvV32 ControlPointIn; /* y_x U16_U16, pixels 0300-0303*/
NvV32 ControlPointOut; /* y_x S16_S16, pixels 0304-0307*/
NvV32 Size; /* height_width U16_U16 in pixels 0308-030b*/
NvV32 Reserved04[0x73d];
} Nv205fTypedef, Nv20ImageBlit;
#define NV205F_TYPEDEF Nv20ImageBlit
/* dma method offsets, fields, and values */
#define NV205F_SET_OBJECT (0x00000000)
#define NV205F_NO_OPERATION (0x00000100)
#define NV205F_NOTIFY (0x00000104)
#define NV205F_NOTIFY_WRITE_ONLY (0x00000000)
#define NV205F_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NV205F_SYNC_SET_READ (0x00000120)
#define NV205F_SYNC_SET_WRITE (0x00000124)
#define NV205F_SYNC_SET_MODULO (0x00000128)
#define NV205F_SYNC_INCREMENT_WRITE (0x0000012C)
#define NV205F_SYNC_STALL (0x00000130)
#define NV205F_SYNC_INCREMENT_READ_RANGE (0x00000134)
#define NV205F_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
#define NV205F_SET_CONTEXT_COLOR_KEY (0x00000184)
#define NV205F_SET_CONTEXT_CLIP_RECTANGLE (0x00000188)
#define NV205F_SET_CONTEXT_PATTERN (0x0000018C)
#define NV205F_SET_CONTEXT_ROP (0x00000190)
#define NV205F_SET_CONTEXT_BETA1 (0x00000194)
#define NV205F_SET_CONTEXT_BETA4 (0x00000198)
#define NV205F_SET_CONTEXT_SURFACES (0x0000019C)
#define NV205F_SET_OPERATION (0x000002FC)
#define NV205F_SET_OPERATION_SRCCOPY_AND (0x00000000)
#define NV205F_SET_OPERATION_ROP_AND (0x00000001)
#define NV205F_SET_OPERATION_BLEND_AND (0x00000002)
#define NV205F_SET_OPERATION_SRCCOPY (0x00000003)
#define NV205F_SET_OPERATION_SRCCOPY_PREMULT (0x00000004)
#define NV205F_SET_OPERATION_BLEND_PREMULT (0x00000005)
#define NV205F_CONTROL_POINT_IN (0x00000300)
#define NV205F_CONTROL_POINT_IN_X 15:0
#define NV205F_CONTROL_POINT_IN_Y 31:16
#define NV205F_CONTROL_POINT_OUT (0x00000304)
#define NV205F_CONTROL_POINT_OUT_X 15:0
#define NV205F_CONTROL_POINT_OUT_Y 31:16
#define NV205F_SIZE (0x00000308)
#define NV205F_SIZE_WIDTH 15:0
#define NV205F_SIZE_HEIGHT 31:16
/* class NV03_DEVICE_XX */
#define NV03_DEVICE_XX (0x000000FF)
/* NvNotification[] fields and values */
#define NV0FF_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv0FFTypedef, Nv03DeviceXX;
#define NV0FF_TYPEDEF Nv03DeviceXX
typedef V032 Nvff0Typedef;
typedef V032 Nvff1Typedef;
typedef V032 Nvff2Typedef;
typedef V032 Nvff3Typedef;
typedef V032 Nvff4Typedef;
/* class NV_CONTEXT_ERROR_TO_MEMORY */
#define NV_CONTEXT_ERROR_TO_MEMORY (0x00000FF5)
/* NvNotification[] elements */
#define NVFF5_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFF5_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFF5_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFF5_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFF5_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFF5_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFF5_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFF5_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x05f];
struct { /* start of method 0300- */
V032 address[2]; /* address[1] is selector on X86 0- 7*/
U032 limit; /* size of data region in bytes-1 8- b*/
} SetDmaSpecifier; /* end of method -030b*/
V032 Reserved02[0x73d];
} Nvff5Typedef, NvContextErrorToMemory;
#define NVFF5_TYPEDEF NvContextErrorToMemory
/* dma method offsets, fields, and values */
#define NVFF5_SET_OBJECT(s) (0x00040000+8192*(s))
#define NVFF5_NO_OPERATION(s) (0x00040100+8192*(s))
#define NVFF5_NOTIFY(s) (0x00040104+8192*(s))
#define NVFF5_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFF5_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFF5_SET_CONTEXT_DMA_NOTIFIES(s) (0x00040180+8192*(s))
#define NVFF5_SET_DMA_SPECIFIER(s) (0x000C0300+8192*(s))
/* obsolete stuff */
#define nvContextErrorToMemory NvContextErrorToMemory
/* class NV_VIDEO_COLOR_KEY */
#define NV_VIDEO_COLOR_KEY (0x00000FF6)
/* NvNotification[] elements */
#define NVFF6_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFF6_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFF6_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFF6_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFF6_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFF6_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFF6_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFF6_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV1_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x01f];
V032 SetVideoOutput; /* NV1_PATCHCORD_VIDEO 0200-0203*/
V032 SetVideoInput[3]; /* NV1_PATCHCORD_VIDEO 0204-020b*/
V032 Reserved02[0x03c];
V032 SetColorFormat; /* NVFF6_SET_COLOR_FORMAT_* 0300-0303*/
V032 SetColorKey; /* color to compare with 0304-0307*/
V032 SetPoint; /* y_x, S16_S16 in pixels, top-left 0308-030b*/
V032 SetSize; /* height_width U16_U16 in pixels 030c-030f*/
V032 Reserved03[0x73c];
} Nvff6Typedef, NvVideoColorKey;
#define NVFF6_TYPEDEF NvVideoColorKey
/* dma method offsets, fields, and values */
#define NVFF6_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFF6_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFF6_NOTIFY(s) (0x00000104+8192*(s))
#define NVFF6_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFF6_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFF6_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFF6_SET_VIDEO_OUTPUT(s) (0x00000200+8192*(s))
#define NVFF6_SET_VIDEO_INPUT(s,i) (0x00000204+8192*(s)+\
4*(i))
#define NVFF6_SET_COLOR_FORMAT(s) (0x00000300+8192*(s))
#define NVFF6_SET_COLOR_FORMAT_LE_X16A8Y8 (0x00000001)
#define NVFF6_SET_COLOR_FORMAT_LE_X24Y8 (0x00000002)
#define NVFF6_SET_COLOR_FORMAT_LE_X16A1R5G5B5 (0x00000003)
#define NVFF6_SET_COLOR_FORMAT_LE_X17R5G5B5 (0x00000004)
#define NVFF6_SET_COLOR_FORMAT_LE_A16R5G6B5 (0x00000005)
#define NVFF6_SET_COLOR_FORMAT_LE_A8R8G8B8 (0x00000006)
#define NVFF6_SET_COLOR_FORMAT_LE_X8R8G8B8 (0x00000007)
#define NVFF6_SET_COLOR_FORMAT_LE_A16Y16 (0x00000008)
#define NVFF6_SET_COLOR_FORMAT_LE_X16Y16 (0x00000009)
#define NVFF6_SET_COLOR_KEY(s) (0x00000304+8192*(s))
#define NVFF6_SET_POINT(s) (0x00000308+8192*(s))
#define NVFF6_SET_POINT_X 15:0
#define NVFF6_SET_POINT_Y 31:16
#define NVFF6_SET_SIZE(s) (0x0000030C+8192*(s))
#define NVFF6_SET_SIZE_WIDTH 15:0
#define NVFF6_SET_SIZE_HEIGHT 31:16
/* obsolete stuff */
#define nvVideoColorKey NvVideoColorKey
/* class NV_VIDEO_SCALER */
#define NV_VIDEO_SCALER (0x00000FF7)
/* NvNotification[] elements */
#define NVFF7_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFF7_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFF7_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFF7_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFF7_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFF7_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFF7_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFF7_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV1_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x01f];
V032 SetVideoOutput; /* NV1_PATCHCORD_VIDEO 0200-0203*/
V032 SetVideoInput; /* NV1_PATCHCORD_VIDEO 0204-0207*/
V032 Reserved02[0x03e];
V032 SetDeltaDuDx; /* S12d20 ratio du/dx 0300-0303*/
V032 SetDeltaDvDy; /* S12d20 ratio dv/dy 0304-0307*/
V032 SetPoint; /* y_x S16_S16 in pixels, top-left 0308-030b*/
V032 Reserved03[0x73d];
} Nvff7Typedef, NvVideoScaler;
#define NVFF7_TYPEDEF NvVideoScaler
/* dma method offsets, fields, and values */
#define NVFF7_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFF7_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFF7_NOTIFY(s) (0x00000104+8192*(s))
#define NVFF7_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFF7_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFF7_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFF7_SET_VIDEO_OUTPUT(s) (0x00000200+8192*(s))
#define NVFF7_SET_VIDEO_INPUT(s) (0x00000204+8192*(s))
#define NVFF7_SET_DELTA_DU_DX(s) (0x00000300+8192*(s))
#define NVFF7_SET_DELTA_DV_DY(s) (0x00000304+8192*(s))
#define NVFF7_SET_POINT(s) (0x00000308+8192*(s))
#define NVFF7_SET_POINT_X 15:0
#define NVFF7_SET_POINT_Y 31:16
/* obsolete stuff */
#define nvVideoScaler NvVideoScaler
/* class NV_VIDEO_FROM_MEMORY */
#define NV_VIDEO_FROM_MEMORY (0x00000FF8)
/* NvNotification[] elements */
#define NVFF8_NOTIFIERS_NOTIFY (0)
#define NVFF8_NOTIFIERS_IMAGE_SCAN(b) (1+(b))
#define NVFF8_NOTIFIERS_GET_OFFSET_NOTIFY(b) (3+(b))
/* NvNotification[] fields and values */
#define NVFF8_NOTIFICATION_INFO16_BUFFER_NOT_STARTED (0x0001)
#define NVFF8_NOTIFICATION_INFO16_BUFFER_OFFSET_VALID (0x0002)
#define NVFF8_NOTIFICATION_INFO16_BUFFER_DONE (0x0003)
#define NVFF8_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFF8_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFF8_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFF8_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFF8_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFF8_NOTIFICATION_STATUS_ERROR_BAD_PATCH (0x0400)
#define NVFF8_NOTIFICATION_STATUS_WARNING_INVALID_DATA (0x0001)
#define NVFF8_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFF8_NOTIFY_* 0104-0107*/
V032 StopTransfer; /* NVFF8_STOP_TRANSFER_VALUE 0108-010b*/
V032 SetPatch; /* NVFF8_SET_PATCH_* 010c-010f*/
V032 Reserved00[0x01c];
V032 SetContextDmaNotifies; /* NV1_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 SetContextDmaImage[2]; /* NV1_CONTEXT_DMA_FROM_MEMORY 0184-018b*/
V032 Reserved01[0x01d];
V032 SetVideoOutput; /* NV1_PATCHCORD_VIDEO 0200-0203*/
V032 Reserved02[0x03f];
struct { /* start of methods in array 0300- */
U032 offset; /* byte offset of top-left pixel 00- 03*/
U032 pitch; /* bytes, vertical pixel delta 04- 07*/
V032 size; /* height_width U16_U16 in pixels 08- 0b*/
V032 format; /* field_color V16_V16 0c- 0f*/
V032 notify; /* NVFF8_IMAGE_SCAN_NOTIFY_* 10- 13*/
} ImageScan[2]; /* end of methods in array -0327*/
V032 GetOffsetNotify[2]; /* NVFF8_GET_OFFSET_NOTIFY_* 0328-032f*/
V032 Reserved03[0x734];
} Nvff8Typedef, NvVideoFromMemory;
#define NVFF8_TYPEDEF NvVideoFromMemory
/* dma method offsets, fields, and values */
#define NVFF8_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFF8_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFF8_NOTIFY(s) (0x00000104+8192*(s))
#define NVFF8_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFF8_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFF8_STOP_TRANSFER(s) (0x00000108+8192*(s))
#define NVFF8_STOP_TRANSFER_VALUE (0x00000000)
#define NVFF8_SET_PATCH(s) (0x0000010C+8192*(s))
#define NVFF8_SET_PATCH_INVALIDATE (0x00000000)
#define NVFF8_SET_PATCH_VALIDATE (0x00000001)
#define NVFF8_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFF8_SET_CONTEXT_DMA_IMAGE(s,b) (0x00000184+8192*(s)+\
4*(b))
#define NVFF8_SET_VIDEO_OUTPUT(s) (0x00000200+8192*(s))
#define NVFF8_IMAGE_SCAN(s,b) (0x00000300+8192*(s)+\
20*(b))
#define NVFF8_IMAGE_SCAN_OFFSET(s,b) (0x00000300+8192*(s)+\
20*(b))
#define NVFF8_IMAGE_SCAN_PITCH(s,b) (0x00000304+8192*(s)+\
20*(b))
#define NVFF8_IMAGE_SCAN_SIZE(s,b) (0x00000308+8192*(s)+\
20*(b))
#define NVFF8_IMAGE_SCAN_SIZE_WIDTH 15:0
#define NVFF8_IMAGE_SCAN_SIZE_HEIGHT 31:16
#define NVFF8_IMAGE_SCAN_FORMAT(s,b) (0x0000030C+8192*(s)+\
20*(b))
#define NVFF8_IMAGE_SCAN_FORMAT_COLOR 15:0
#define NVFF8_IMAGE_SCAN_FORMAT_COLOR_LE_Y8 (0x00000001)
#define NV_VFM_FORMAT_COLOR_LE_Y8_P4 0x00000001
#define NVFF8_IMAGE_SCAN_FORMAT_COLOR_LE_V8YB8U8YA8 (0x00000002)
#define NV_VFM_FORMAT_COLOR_LE_V8Y8U8Y8 0x00000002
#define NVFF8_IMAGE_SCAN_FORMAT_COLOR_LE_YB8V8YA8U8 (0x00000003)
#define NV_VFM_FORMAT_COLOR_LE_Y8V8Y8U8 0x00000003
#define NVFF8_IMAGE_SCAN_FORMAT_COLOR_LE_GY1R5G5B5 (0x00000004)
#define NV_VFM_FORMAT_COLOR_LE_X1R5G5B5_P2 0x00000004
#define NVFF8_IMAGE_SCAN_FORMAT_COLOR_LE_R5G6B5 (0x00000005)
#define NV_VFM_FORMAT_COLOR_LE_R5G6B5_P2 0x00000005
#define NVFF8_IMAGE_SCAN_FORMAT_COLOR_LE_GY1X7R8G8B8 (0x00000006)
#define NV_VFM_FORMAT_COLOR_LE_X8R8G8B8 0x00000006
#define NVFF8_IMAGE_SCAN_FORMAT_FIELD 31:16
#define NVFF8_IMAGE_SCAN_FORMAT_FIELD_PROGRESSIVE (0x00000001)
#define NVFF8_IMAGE_SCAN_FORMAT_FIELD_EVEN_FIELD (0x00000002)
#define NVFF8_IMAGE_SCAN_FORMAT_FIELD_ODD_FIELD (0x00000003)
#define NVFF8_IMAGE_SCAN_NOTIFY(s,b) (0x00000310+8192*(s)+\
20*(b))
#define NVFF8_IMAGE_SCAN_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFF8_IMAGE_SCAN_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFF8_GET_OFFSET_NOTIFY(s,b) (0x00000328+8192*(s)+\
4*(b))
#define NVFF8_GET_OFFSET_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFF8_GET_OFFSET_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
/* obsolete stuff */
#define nvVideoFromMemory NvVideoFromMemory
#define SetImageCtxDma SetContextDmaImage
#define SetImageNotifyCtxDma SetContextDmaNotifies
/* class NV_VIDEO_COLORMAP */
#define NV_VIDEO_COLORMAP (0x00000FF9)
/* NvNotification[] elements */
#define NVFF9_NOTIFIERS_NOTIFY (0)
#define NVFF9_NOTIFIERS_COLORMAP_DIRTY_NOTIFY (1)
/* NvNotification[] fields and values */
#define NVFF9_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFF9_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFF9_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFF9_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFF9_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFF9_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFF9_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 SetContextDmaColormap; /* NV_CONTEXT_DMA_FROM_MEMORY 0184-0187*/
V032 Reserved01[0x01e];
V032 SetVideoOutput; /* NV1_PATCHCORD_VIDEO 0200-0203*/
V032 SetVideoInput; /* NV1_PATCHCORD_VIDEO 0204-0207*/
V032 Reserved02[0x040];
U032 SetColormapStart; /* offset in bytes 0308-030b*/
U032 SetColormapLength; /* in bytes 030c-030f*/
U032 ColormapDirtyStart; /* start of region to update 0310-0313*/
U032 ColormapDirtyLength; /* in bytes, starts transfer 0314-0317*/
V032 Reserved03[0x73a];
} Nvff9Typedef, NvVideoColormap;
#define NVFF9_TYPEDEF NvVideoColormap
/* dma method offsets, fields, and values */
#define NVFF9_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFF9_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFF9_NOTIFY(s) (0x00000104+8192*(s))
#define NVFF9_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFF9_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFF9_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFF9_SET_CONTEXT_DMA_COLORMAP(s) (0x00000184+8192*(s))
#define NVFF9_SET_VIDEO_OUTPUT(s) (0x00000200+8192*(s))
#define NVFF9_SET_VIDEO_INPUT(s) (0x00000204+8192*(s))
#define NVFF9_SET_COLORMAP_START(s) (0x00000308+8192*(s))
#define NVFF9_SET_COLORMAP_LENGTH(s) (0x0000030C+8192*(s))
#define NVFF9_COLORMAP_DIRTY_START(s) (0x00000310+8192*(s))
#define NVFF9_COLORMAP_DIRTY_LENGTH(s) (0x00000314+8192*(s))
/* obsolete stuff */
#define nvVideoColormap NvVideoColormap
/* class NV_VIDEO_SINK */
#define NV_VIDEO_SINK (0x00000FFA)
/* NvNotification[] elements */
#define NVFFA_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFFA_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFFA_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFFA_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFFA_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFFA_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFFA_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFFA_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x01f];
V032 SetVideoInput[64]; /* NV1_PATCHCORD_VIDEO 0200-02ff*/
V032 Reserved02[0x740];
} NvffaTypedef, NvVideoSink;
#define NVFFA_TYPEDEF NvVideoSink
/* dma method offsets, fields, and values */
#define NVFFA_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFFA_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFFA_NOTIFY(s) (0x00000104+8192*(s))
#define NVFFA_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFFA_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFFA_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFFA_SET_VIDEO_INPUT(s,i) (0x00000200+8192*(s)+\
4*(i))
/* obsolete stuff */
#define nvVideoSink NvVideoSink
/* class NV_PATCHCORD_VIDEO */
#define NV_PATCHCORD_VIDEO (0x00000FFB)
/* NvNotification[] entries, values, errors, warnings */
#define NVFFB_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
V032 Reserved00[0x7c0];
} NvffbTypedef, NvPatchcordVideo;
#define NVFFB_TYPEDEF NvPatchcordVideo
/* obsolete stuff */
#define nvPatchcordVideo NvPatchcordVideo
/* class NV_CONTEXT_DMA_IN_MEMORY */
#define NV_CONTEXT_DMA_IN_MEMORY (0x00000FFC)
/* NvNotification[] elements */
#define NVFFC_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFFC_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFFC_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFFC_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFFC_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFFC_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFFC_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFFC_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x05f];
struct { /* start of method 0300- */
V032 address[2]; /* On X86 address[1] is the selector 0- 7*/
U032 limit; /* size of data region in bytes-1 8- b*/
} SetDmaSpecifier; /* end of method -030b*/
V032 Reserved02[0x73d];
} NvffcTypedef, NvContextDmaInMemory;
#define NVFFC_TYPEDEF NvContextDmaInMemory
/* dma method offsets, fields, and values */
#define NVFFC_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFFC_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFFC_NOTIFY(s) (0x00000104+8192*(s))
#define NVFFC_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFFC_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFFC_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFFC_SET_DMA_SPECIFIER(s) (0x00000300+8192*(s))
/* obsolete stuff */
#define nvContextDmaInMemory NvContextDmaInMemory
/* class NV_CONTEXT_DMA_TO_MEMORY */
#define NV_CONTEXT_DMA_TO_MEMORY (0x00000FFD)
/* NvNotification[] elements */
#define NVFFD_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFFD_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFFD_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFFD_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFFD_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFFD_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFFD_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFFD_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x05f];
struct { /* start of method 0300- */
V032 address[2]; /* address[1] is selector on X86 0- 7*/
U032 limit; /* size of data region in bytes-1 8- b*/
} SetDmaSpecifier; /* end of method -030b*/
V032 Reserved02[0x73d];
} NvffdTypedef, NvContextDmaToMemory;
#define NVFFD_TYPEDEF NvContextDmaToMemory
/* dma method offsets, fields, and values */
#define NVFFD_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFFD_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFFD_NOTIFY(s) (0x00000104+8192*(s))
#define NVFFD_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFFD_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFFD_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFFD_SET_DMA_SPECIFIER(s) (0x00000300+8192*(s))
/* obsolete stuff */
#define nvContextDmaToMemory NvContextDmaToMemory
/* class NV_CONTEXT_DMA_FROM_MEMORY */
#define NV_CONTEXT_DMA_FROM_MEMORY (0x00000FFE)
/* NvNotification[] elements */
#define NVFFE_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFFE_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFFE_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFFE_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFFE_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFFE_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFFE_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFFE_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x05f];
struct { /* start of method 0300- */
V032 address[2]; /* address[1] is selector on X86 0- 7*/
U032 limit; /* size of data region in bytes-1 8- b*/
} SetDmaSpecifier; /* end of method -030b*/
V032 Reserved02[0x73d];
} NvffeTypedef, NvContextDmaFromMemory;
#define NVFFE_TYPEDEF NvContextDmaFromMemory
/* dma method offsets, fields, and values */
#define NVFFE_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFFE_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFFE_NOTIFY(s) (0x00000104+8192*(s))
#define NVFFE_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFFE_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFFE_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFFE_SET_DMA_SPECIFIER(s) (0x00000300+8192*(s))
/* obsolete stuff */
#define nvContextDmaFromMemory NvContextDmaFromMemory
/* class NV_CLASS */
#define NV_CLASS (0x00000FFF)
/* NvNotification[] elements */
#define NVFFF_NOTIFIERS_NOTIFY (0)
/* NvNotification[] fields and values */
#define NVFFF_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NVFFF_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NVFFF_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NVFFF_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NVFFF_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NVFFF_NOTIFICATION_STATUS_WARNING_UNAVAILABLE (0x0002)
#define NVFFF_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
V032 NoOperation; /* ignored 0100-0103*/
V032 Notify; /* NVFFF_NOTIFY_* 0104-0107*/
V032 Reserved00[0x01e];
V032 SetContextDmaNotifies; /* NV_CONTEXT_DMA_TO_MEMORY 0180-0183*/
V032 Reserved01[0x05f];
V032 Create; /* 32-bit handle of new object 0300-0303*/
V032 Destroy; /* 32-bit handle of object 0304-0307*/
V032 Reserved02[0x73e];
} NvfffTypedef, NvClass;
#define NVFFF_TYPEDEF NvClass
/* dma method offsets, fields, and values */
#define NVFFF_SET_OBJECT(s) (0x00000000+8192*(s))
#define NVFFF_NO_OPERATION(s) (0x00000100+8192*(s))
#define NVFFF_NOTIFY(s) (0x00000104+8192*(s))
#define NVFFF_NOTIFY_WRITE_ONLY (0x00000000)
#define NVFFF_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
#define NVFFF_SET_CONTEXT_DMA_NOTIFIES(s) (0x00000180+8192*(s))
#define NVFFF_CREATE(s) (0x00000300+8192*(s))
#define NVFFF_DESTROY(s) (0x00000304+8192*(s))
/* obsolete stuff */
#define nvClass NvClass
/***************************************************************************\
|* Channels *|
\***************************************************************************/
typedef NvV32 Nv068Typedef;
typedef NvV32 Nv069Typedef;
/* class NV03_CHANNEL_PIO */
#define NV03_CHANNEL_PIO (0x0000006A)
/* NvNotification[] fields and values */
#define NV06A_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV06A_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV06A_NOTIFICATION_STATUS_ERROR_FLOW_CONTROL (0x0200)
/* pio subchannel method data structure */
typedef volatile struct {
NvV32 Reserved00[0x003];
#ifdef NV_BIG_ENDIAN
NvU32 Free; /* 32 bit free count, read only 0010-0013*/
NvU32 Zero; /* zeroes, read only 0014-0017*/
#else
NvU16 Free; /* free count, read only 0010-0011*/
NvU16 Zero[3]; /* zeroes, read only 0012-0017*/
#endif
NvV32 Reserved01[0x03A];
} Nv03ControlPio;
typedef volatile struct {
NvV32 SetObject; /* handle of current object 0000-0003*/
Nv03ControlPio control; /* flow control 0000-00ff*/
union { /* start of class methods 0100- */
Nv000Typedef NV000_TYPEDEF;
Nv001Typedef NV001_TYPEDEF;
Nv002Typedef NV002_TYPEDEF;
Nv003Typedef NV003_TYPEDEF;
Nv004Typedef NV004_TYPEDEF;
Nv005Typedef NV005_TYPEDEF;
Nv006Typedef NV006_TYPEDEF;
Nv007Typedef NV007_TYPEDEF;
Nv008Typedef NV008_TYPEDEF;
Nv009Typedef NV009_TYPEDEF;
Nv00aTypedef NV00A_TYPEDEF;
Nv00bTypedef NV00B_TYPEDEF;
Nv00cTypedef NV00C_TYPEDEF;
Nv00dTypedef NV00D_TYPEDEF;
Nv00eTypedef NV00E_TYPEDEF;
Nv00fTypedef NV00F_TYPEDEF;
Nv010Typedef NV010_TYPEDEF;
Nv011Typedef NV011_TYPEDEF;
Nv012Typedef NV012_TYPEDEF;
Nv013Typedef NV013_TYPEDEF;
Nv014Typedef NV014_TYPEDEF;
Nv015Typedef NV015_TYPEDEF;
Nv016Typedef NV016_TYPEDEF;
Nv017Typedef NV017_TYPEDEF;
Nv018Typedef NV018_TYPEDEF;
Nv019Typedef NV019_TYPEDEF;
Nv01aTypedef NV01A_TYPEDEF;
Nv01bTypedef NV01B_TYPEDEF;
Nv01cTypedef NV01C_TYPEDEF;
Nv01dTypedef NV01D_TYPEDEF;
Nv01eTypedef NV01E_TYPEDEF;
Nv01fTypedef NV01F_TYPEDEF;
Nv020Typedef NV020_TYPEDEF;
Nv021Typedef NV021_TYPEDEF;
Nv022Typedef NV022_TYPEDEF;
Nv023Typedef NV023_TYPEDEF;
Nv024Typedef NV024_TYPEDEF;
Nv025Typedef NV025_TYPEDEF;
Nv026Typedef NV026_TYPEDEF;
Nv027Typedef NV027_TYPEDEF;
Nv028Typedef NV028_TYPEDEF;
Nv029Typedef NV029_TYPEDEF;
Nv02aTypedef NV02A_TYPEDEF;
Nv02bTypedef NV02B_TYPEDEF;
Nv02cTypedef NV02C_TYPEDEF;
Nv02dTypedef NV02D_TYPEDEF;
Nv02eTypedef NV02E_TYPEDEF;
Nv02fTypedef NV02F_TYPEDEF;
Nv030Typedef NV030_TYPEDEF;
Nv031Typedef NV031_TYPEDEF;
Nv032Typedef NV032_TYPEDEF;
Nv033Typedef NV033_TYPEDEF;
Nv034Typedef NV034_TYPEDEF;
Nv035Typedef NV035_TYPEDEF;
Nv036Typedef NV036_TYPEDEF;
Nv037Typedef NV037_TYPEDEF;
Nv038Typedef NV038_TYPEDEF;
Nv039Typedef NV039_TYPEDEF;
Nv03aTypedef NV03A_TYPEDEF;
Nv03bTypedef NV03B_TYPEDEF;
Nv03cTypedef NV03C_TYPEDEF;
Nv03dTypedef NV03D_TYPEDEF;
Nv03eTypedef NV03E_TYPEDEF;
Nv03fTypedef NV03F_TYPEDEF;
Nv040Typedef NV040_TYPEDEF;
Nv041Typedef NV041_TYPEDEF;
Nv042Typedef NV042_TYPEDEF;
Nv043Typedef NV043_TYPEDEF;
Nv044Typedef NV044_TYPEDEF;
Nv045Typedef NV045_TYPEDEF;
Nv046Typedef NV046_TYPEDEF;
Nv047Typedef NV047_TYPEDEF;
Nv048Typedef NV048_TYPEDEF;
Nv049Typedef NV049_TYPEDEF;
Nv04aTypedef NV04A_TYPEDEF;
Nv04bTypedef NV04B_TYPEDEF;
Nv04cTypedef NV04C_TYPEDEF;
Nv04dTypedef NV04D_TYPEDEF;
Nv04eTypedef NV04E_TYPEDEF;
Nv04fTypedef NV04F_TYPEDEF;
Nv050Typedef NV050_TYPEDEF;
Nv051Typedef NV051_TYPEDEF;
Nv052Typedef NV052_TYPEDEF;
Nv053Typedef NV053_TYPEDEF;
Nv054Typedef NV054_TYPEDEF;
Nv055Typedef NV055_TYPEDEF;
Nv096Typedef NV096_TYPEDEF;
Nv057Typedef NV057_TYPEDEF;
Nv058Typedef NV058_TYPEDEF;
Nv059Typedef NV059_TYPEDEF;
Nv05aTypedef NV05A_TYPEDEF;
Nv05bTypedef NV05B_TYPEDEF;
Nv05cTypedef NV05C_TYPEDEF;
Nv05dTypedef NV05D_TYPEDEF;
Nv05eTypedef NV05E_TYPEDEF;
Nv05fTypedef NV05F_TYPEDEF;
Nv060Typedef NV060_TYPEDEF;
Nv061Typedef NV061_TYPEDEF;
Nv062Typedef NV062_TYPEDEF;
Nv063Typedef NV063_TYPEDEF;
Nv064Typedef NV064_TYPEDEF;
Nv065Typedef NV065_TYPEDEF;
Nv066Typedef NV066_TYPEDEF;
Nv067Typedef NV067_TYPEDEF;
/*Nv068Typedef NV068_TYPEDEF;*/
/*Nv069Typedef NV069_TYPEDEF;*/
/*Nv06aTypedef NV06A_TYPEDEF;*/
/*Nv06bTypedef NV06B_TYPEDEF;*/
/*Nv06cTypedef NV06C_TYPEDEF;*/
/*Nv06dTypedef NV06D_TYPEDEF;*/
/*Nv06eTypedef NV06E_TYPEDEF;*/
Nv06fTypedef NV06F_TYPEDEF;
Nv070Typedef NV070_TYPEDEF;
Nv071Typedef NV071_TYPEDEF;
Nv072Typedef NV072_TYPEDEF;
Nv073Typedef NV073_TYPEDEF;
Nv074Typedef NV074_TYPEDEF;
Nv075Typedef NV075_TYPEDEF;
Nv076Typedef NV076_TYPEDEF;
Nv077Typedef NV077_TYPEDEF;
Nv078Typedef NV078_TYPEDEF;
Nv079Typedef NV079_TYPEDEF;
Nv07aTypedef NV07A_TYPEDEF;
Nv07bTypedef NV07B_TYPEDEF;
Nv07cTypedef NV07C_TYPEDEF;
Nv07dTypedef NV07D_TYPEDEF;
Nv07eTypedef NV07E_TYPEDEF;
Nv07fTypedef NV07F_TYPEDEF;
Nv080Typedef NV080_TYPEDEF;
Nv081Typedef NV081_TYPEDEF;
Nv082Typedef NV082_TYPEDEF;
Nv083Typedef NV083_TYPEDEF;
Nv084Typedef NV084_TYPEDEF;
Nv085Typedef NV085_TYPEDEF;
Nv086Typedef NV086_TYPEDEF;
Nv087Typedef NV087_TYPEDEF;
Nv088Typedef NV088_TYPEDEF;
Nv089Typedef NV089_TYPEDEF;
Nv093Typedef NV093_TYPEDEF;
Nv094Typedef NV094_TYPEDEF;
Nv095Typedef NV095_TYPEDEF;
Nvff0Typedef NVFF0_TYPEDEF;
Nvff1Typedef NVFF1_TYPEDEF;
Nvff2Typedef NVFF2_TYPEDEF;
Nvff3Typedef NVFF3_TYPEDEF;
Nvff4Typedef NVFF4_TYPEDEF;
Nvff5Typedef NVFF5_TYPEDEF;
Nvff6Typedef NVFF6_TYPEDEF;
Nvff7Typedef NVFF7_TYPEDEF;
Nvff8Typedef NVFF8_TYPEDEF;
Nvff9Typedef NVFF9_TYPEDEF;
NvffaTypedef NVFFA_TYPEDEF;
NvffbTypedef NVFFB_TYPEDEF;
NvffcTypedef NVFFC_TYPEDEF;
NvffdTypedef NVFFD_TYPEDEF;
NvffeTypedef NVFFE_TYPEDEF;
NvfffTypedef NVFFF_TYPEDEF;
#ifdef __GNUC__ /* anon union does not work on GCC */
} cls ; /* end of class methods -1fff*/
#else /* __GNUC__ */
} /* cls */ ; /* end of class methods -1fff*/
#endif /* __GNUC__ */
} Nv03SubchannelPio;
/* pio channel */
typedef volatile struct { /* start of array of subchannels 0000- */
Nv03SubchannelPio subchannel[8];/*subchannel 0000-1fff*/
} Nv03ChannelPio; /* end of array of subchannels -ffff*/
/* fields and values */
#define NV06A_FIFO_GUARANTEED_SIZE (0x007C)
#define NV06A_FIFO_EMPTY (0x007C)
#define NV06A_FIFO_FULL (0x0000)
/* obsolete stuff */
#define NV3_CHANNEL_PIO (0x0000006A)
#define Nv3ControlPio Nv03ControlPio
#define Nv3SubchannelPio Nv03SubchannelPio
#define Nv3ChannelPio Nv03ChannelPio
#define NvChannel Nv03ChannelPio
#define nv03ChannelPio Nv03ChannelPio
/* class NV03_CHANNEL_DMA */
#define NV03_CHANNEL_DMA (0x0000006B)
/* NvNotification[] fields and values */
#define NV06B_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv06bTypedef, Nv03ChannelDma;
#define NV06B_TYPEDEF Nv03ChannelDma
#define nv03ChannelDma Nv03ChannelDma
/* class NV04_CHANNEL_PIO */
#define NV04_CHANNEL_PIO (0x0000006D)
/* NvNotification[] fields and values */
#define NV06D_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV06D_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV06D_NOTIFICATION_STATUS_ERROR_FLOW_CONTROL (0x0200)
/* pio subchannel method data structure */
typedef volatile struct {
NvV32 Reserved00[0x003];
#ifdef NV_BIG_ENDIAN
NvU32 Free; /* 32 bit free count, read only 0010-0013*/
NvU32 Zero; /* zeroes, read only 0014-0017*/
#else
NvU16 Free; /* free count, read only 0010-0011*/
NvU16 Zero[3]; /* zeroes, read only 0012-0017*/
#endif
NvV32 Reserved01[0x03A];
} Nv04ControlPio;
typedef volatile struct {
NvV32 SetObject; /* handle of current object 0000-0003*/
Nv04ControlPio control; /* flow control 0000-00ff*/
union { /* start of class methods 0100- */
Nv000Typedef NV000_TYPEDEF;
Nv001Typedef NV001_TYPEDEF;
Nv002Typedef NV002_TYPEDEF;
Nv003Typedef NV003_TYPEDEF;
Nv004Typedef NV004_TYPEDEF;
Nv005Typedef NV005_TYPEDEF;
Nv006Typedef NV006_TYPEDEF;
Nv007Typedef NV007_TYPEDEF;
Nv008Typedef NV008_TYPEDEF;
Nv009Typedef NV009_TYPEDEF;
Nv00aTypedef NV00A_TYPEDEF;
Nv00bTypedef NV00B_TYPEDEF;
Nv00cTypedef NV00C_TYPEDEF;
Nv00dTypedef NV00D_TYPEDEF;
Nv00eTypedef NV00E_TYPEDEF;
Nv00fTypedef NV00F_TYPEDEF;
Nv010Typedef NV010_TYPEDEF;
Nv011Typedef NV011_TYPEDEF;
Nv012Typedef NV012_TYPEDEF;
Nv013Typedef NV013_TYPEDEF;
Nv014Typedef NV014_TYPEDEF;
Nv015Typedef NV015_TYPEDEF;
Nv016Typedef NV016_TYPEDEF;
Nv017Typedef NV017_TYPEDEF;
Nv018Typedef NV018_TYPEDEF;
Nv019Typedef NV019_TYPEDEF;
Nv01aTypedef NV01A_TYPEDEF;
Nv01bTypedef NV01B_TYPEDEF;
Nv01cTypedef NV01C_TYPEDEF;
Nv01dTypedef NV01D_TYPEDEF;
Nv01eTypedef NV01E_TYPEDEF;
Nv01fTypedef NV01F_TYPEDEF;
Nv020Typedef NV020_TYPEDEF;
Nv021Typedef NV021_TYPEDEF;
Nv022Typedef NV022_TYPEDEF;
Nv023Typedef NV023_TYPEDEF;
Nv024Typedef NV024_TYPEDEF;
Nv025Typedef NV025_TYPEDEF;
Nv026Typedef NV026_TYPEDEF;
Nv027Typedef NV027_TYPEDEF;
Nv028Typedef NV028_TYPEDEF;
Nv029Typedef NV029_TYPEDEF;
Nv02aTypedef NV02A_TYPEDEF;
Nv02bTypedef NV02B_TYPEDEF;
Nv02cTypedef NV02C_TYPEDEF;
Nv02dTypedef NV02D_TYPEDEF;
Nv02eTypedef NV02E_TYPEDEF;
Nv02fTypedef NV02F_TYPEDEF;
Nv030Typedef NV030_TYPEDEF;
Nv031Typedef NV031_TYPEDEF;
Nv032Typedef NV032_TYPEDEF;
Nv033Typedef NV033_TYPEDEF;
Nv034Typedef NV034_TYPEDEF;
Nv035Typedef NV035_TYPEDEF;
Nv036Typedef NV036_TYPEDEF;
Nv037Typedef NV037_TYPEDEF;
Nv038Typedef NV038_TYPEDEF;
Nv039Typedef NV039_TYPEDEF;
Nv03aTypedef NV03A_TYPEDEF;
Nv03bTypedef NV03B_TYPEDEF;
Nv03cTypedef NV03C_TYPEDEF;
Nv03dTypedef NV03D_TYPEDEF;
Nv03eTypedef NV03E_TYPEDEF;
Nv03fTypedef NV03F_TYPEDEF;
Nv040Typedef NV040_TYPEDEF;
Nv041Typedef NV041_TYPEDEF;
Nv042Typedef NV042_TYPEDEF;
Nv043Typedef NV043_TYPEDEF;
Nv044Typedef NV044_TYPEDEF;
Nv045Typedef NV045_TYPEDEF;
Nv046Typedef NV046_TYPEDEF;
Nv047Typedef NV047_TYPEDEF;
Nv048Typedef NV048_TYPEDEF;
Nv049Typedef NV049_TYPEDEF;
Nv04aTypedef NV04A_TYPEDEF;
Nv04bTypedef NV04B_TYPEDEF;
Nv04cTypedef NV04C_TYPEDEF;
Nv04dTypedef NV04D_TYPEDEF;
Nv04eTypedef NV04E_TYPEDEF;
Nv04fTypedef NV04F_TYPEDEF;
Nv050Typedef NV050_TYPEDEF;
Nv051Typedef NV051_TYPEDEF;
Nv052Typedef NV052_TYPEDEF;
Nv053Typedef NV053_TYPEDEF;
Nv054Typedef NV054_TYPEDEF;
Nv055Typedef NV055_TYPEDEF;
Nv096Typedef NV096_TYPEDEF;
Nv057Typedef NV057_TYPEDEF;
Nv058Typedef NV058_TYPEDEF;
Nv059Typedef NV059_TYPEDEF;
Nv05aTypedef NV05A_TYPEDEF;
Nv05bTypedef NV05B_TYPEDEF;
Nv05cTypedef NV05C_TYPEDEF;
Nv05dTypedef NV05D_TYPEDEF;
Nv05eTypedef NV05E_TYPEDEF;
Nv05fTypedef NV05F_TYPEDEF;
Nv060Typedef NV060_TYPEDEF;
Nv061Typedef NV061_TYPEDEF;
Nv062Typedef NV062_TYPEDEF;
Nv063Typedef NV063_TYPEDEF;
Nv064Typedef NV064_TYPEDEF;
Nv065Typedef NV065_TYPEDEF;
Nv066Typedef NV066_TYPEDEF;
Nv067Typedef NV067_TYPEDEF;
/*Nv068Typedef NV068_TYPEDEF;*/
/*Nv069Typedef NV069_TYPEDEF;*/
/*Nv06aTypedef NV06A_TYPEDEF;*/
/*Nv06bTypedef NV06B_TYPEDEF;*/
/*Nv06cTypedef NV06C_TYPEDEF;*/
/*Nv06dTypedef NV06D_TYPEDEF;*/
/*Nv06eTypedef NV06E_TYPEDEF;*/
Nv06fTypedef NV06F_TYPEDEF;
Nv070Typedef NV070_TYPEDEF;
Nv071Typedef NV071_TYPEDEF;
Nv072Typedef NV072_TYPEDEF;
Nv073Typedef NV073_TYPEDEF;
Nv074Typedef NV074_TYPEDEF;
Nv075Typedef NV075_TYPEDEF;
Nv076Typedef NV076_TYPEDEF;
Nv077Typedef NV077_TYPEDEF;
Nv078Typedef NV078_TYPEDEF;
Nv079Typedef NV079_TYPEDEF;
Nv07aTypedef NV07A_TYPEDEF;
Nv07bTypedef NV07B_TYPEDEF;
Nv07cTypedef NV07C_TYPEDEF;
Nv07dTypedef NV07D_TYPEDEF;
Nv07eTypedef NV07E_TYPEDEF;
Nv07fTypedef NV07F_TYPEDEF;
Nv080Typedef NV080_TYPEDEF;
Nv081Typedef NV081_TYPEDEF;
Nv082Typedef NV082_TYPEDEF;
Nv083Typedef NV083_TYPEDEF;
Nv084Typedef NV084_TYPEDEF;
Nv085Typedef NV085_TYPEDEF;
Nv086Typedef NV086_TYPEDEF;
Nv087Typedef NV087_TYPEDEF;
Nv088Typedef NV088_TYPEDEF;
Nv089Typedef NV089_TYPEDEF;
Nv093Typedef NV093_TYPEDEF;
Nv094Typedef NV094_TYPEDEF;
Nv095Typedef NV095_TYPEDEF;
Nv097Typedef NV097_TYPEDEF;
Nv1189Typedef NV1189_TYPEDEF;
Nv205fTypedef NV205F_TYPEDEF;
Nvff0Typedef NVFF0_TYPEDEF;
Nvff1Typedef NVFF1_TYPEDEF;
Nvff2Typedef NVFF2_TYPEDEF;
Nvff3Typedef NVFF3_TYPEDEF;
Nvff4Typedef NVFF4_TYPEDEF;
Nvff5Typedef NVFF5_TYPEDEF;
Nvff6Typedef NVFF6_TYPEDEF;
Nvff7Typedef NVFF7_TYPEDEF;
Nvff8Typedef NVFF8_TYPEDEF;
Nvff9Typedef NVFF9_TYPEDEF;
NvffaTypedef NVFFA_TYPEDEF;
NvffbTypedef NVFFB_TYPEDEF;
NvffcTypedef NVFFC_TYPEDEF;
NvffdTypedef NVFFD_TYPEDEF;
NvffeTypedef NVFFE_TYPEDEF;
NvfffTypedef NVFFF_TYPEDEF;
#ifdef __GNUC__ /* anon union does not work on GCC */
} cls ; /* end of class methods -1fff*/
#else /* __GNUC__ */
} /* cls */ ; /* end of class methods -1fff*/
#endif /* __GNUC__ */
} Nv04SubchannelPio;
/* pio channel */
typedef volatile struct { /* start of array of subchannels 0000- */
Nv04SubchannelPio subchannel[8];/*subchannel 0000-1fff*/
} Nv04ChannelPio; /* end of array of subchannels -ffff*/
/* fields and values */
#define NV06D_FIFO_GUARANTEED_SIZE (0x0200)
#define NV06D_FIFO_EMPTY (0x0200)
#define NV06D_FIFO_FULL (0x0000)
/* class NV04_CHANNEL_DMA */
#define NV04_CHANNEL_DMA (0x0000006C)
/* NvNotification[] fields and values */
#define NV06C_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV06C_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv06cTypedef, Nv04ChannelDma;
#define NV06C_TYPEDEF Nv04ChannelDma
/* pio flow control data structure */
typedef volatile struct {
NvV32 Ignored00[0x010];
NvU32 Put; /* put offset, write only 0040-0043*/
NvU32 Get; /* get offset, read only 0044-0047*/
NvV32 Ignored01[0x002];
NvU32 StallNotifier; /* Set stall notifier 0050-0053*/
NvU32 StallChannel; /* Stall the channel 0054-0057*/
NvV32 Ignored02[0x7EA];
} Nv04ControlDma;
/* obsolete stuff */
#define NV4_CHANNEL_DMA (0x0000006C)
#define Nv4ChannelDma Nv04ChannelDma
#define nv4ChannelDma Nv04ChannelDma
#define Nv4ControlDma Nv04ControlDma
/* class NV10_CHANNEL_DMA */
#define NV10_CHANNEL_DMA (0x0000006E)
/* NvNotification[] fields and values */
#define NV06E_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV06E_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv06eTypedef, Nv10ChannelDma;
#define NV06E_TYPEDEF Nv10ChannelDma
/* pio flow control data structure */
typedef volatile struct {
NvV32 Ignored00[0x010];
NvU32 Put; /* put offset, write only 0040-0043*/
NvU32 Get; /* get offset, read only 0044-0047*/
NvU32 Reference; /* reference value, read only 0048-004b*/
NvV32 Ignored01[0x7ed];
} Nv06eControl, Nv10ControlDma;
/* fields and values */
#define NV06E_NUMBER_OF_SUBCHANNELS (8)
#define NV06E_SET_OBJECT (0x00000000)
#define NV06E_SET_REFERENCE (0x00000050)
/* class NV20_CHANNEL_DMA */
#define NV20_CHANNEL_DMA (0x0000206E)
/* NvNotification[] fields and values */
#define NV206E_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV206E_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv206eTypedef, Nv20ChannelDma;
#define NV206E_TYPEDEF Nv20ChannelDma
/* pio flow control data structure */
typedef volatile struct {
NvV32 Ignored00[0x010];
NvU32 Put; /* put offset, write only 0040-0043*/
NvU32 Get; /* get offset, read only 0044-0047*/
NvU32 Reference; /* reference value, read only 0048-004b*/
NvV32 Ignored01[0x7ed];
} Nv206eControl, Nv20ControlDma;
/* fields and values */
#define NV206E_NUMBER_OF_SUBCHANNELS (8)
#define NV206E_SET_OBJECT (0x00000000)
#define NV206E_SET_REFERENCE (0x00000050)
#define NV206E_SET_CONTEXT_DMA_SEMAPHORE (0x00000060)
#define NV206E_SEMAPHORE_OFFSET (0x00000064)
#define NV206E_SEMAPHORE_ACQUIRE (0x00000068)
#define NV206E_SEMAPHORE_RELEASE (0x0000006c)
/***************************************************************************\
|* Well Known Objects *|
\***************************************************************************/
/* object NV01_NULL_OBJECT */
#define NV01_NULL_OBJECT (0x00000000)
/* obsolete stuff */
#define NV1_NULL_OBJECT (0x00000000)
/***************************************************************************\
|* Notification *|
\***************************************************************************/
/***** NvNotification Structure *****/
/*
* NV objects return information about method completion to clients via an
* array of notification structures in main memory.
*
* The client sets the status field to NV???_NOTIFICATION_STATUS_IN_PROGRESS.
* NV fills in the NvNotification[] data structure in the following order:
* timeStamp, otherInfo32, otherInfo16, and then status.
*/
/* memory data structures */
typedef volatile struct {
struct { /* 0000- */
NvU32 nanoseconds[2]; /* nanoseconds since Jan. 1, 1970 0- 7*/
} timeStamp; /* -0007*/
NvV32 info32; /* info returned depends on method 0008-000b*/
NvV16 info16; /* info returned depends on method 000c-000d*/
NvV16 status; /* user sets bit 15, NV sets status 000e-000f*/
} NvNotification;
/* status values */
/***************************************************************************\
|* NvGraphicsState *|
\***************************************************************************/
/***** NvGraphicsState Structure *****/
/*
* This represents the state structure that's passed between the Celsius
* GetState method and the RM (in nv10 and eventually the HW). The context
* DMA passed to NV056_SET_CONTEXT_DMA_STATE should be at least this size.
*/
typedef volatile struct {
struct _PerFragmentState {
// *** dword 0
NvU32 pad0 : 8;
NvU32 alphaFunc : 4;
NvU32 pad1 : 4;
NvU32 depthFunc : 4;
NvU32 pad2 : 4;
NvU32 depthMask : 1;
NvU32 pad3 : 1;
NvU32 alphaMask : 1;
NvU32 redMask : 1;
NvU32 greenMask : 1;
NvU32 blueMask : 1;
NvU32 pad4 : 2;
// *** dword 1
NvU32 pad5 : 4;
NvU32 stencilFunc : 4;
NvU32 stencilRef : 8;
NvU32 pad6 : 8;
NvU32 stencilMask : 8;
// *** dword 2
NvU32 sfailOp : 4;
NvU32 zfailOp : 4;
NvU32 zpassOp : 4;
NvU32 pad7 : 20;
// *** dword 3
NvU32 blendEquation : 3;
NvU32 pad8 : 1;
NvU32 srcBlend : 4;
NvU32 destBlend : 4;
NvU32 pad9 : 20;
} PerFragmentState;
struct _PerVertexState {
NvF32 pad0[4];
NvF32 primaryColor[4];
NvF32 secondaryColor[3];
NvF32 fogCoord;
NvF32 texCoord[2][4];
NvF32 normal[3];
NvF32 pad1;
NvF32 vertexWeight;
NvU32 pad2[7];
NvU32 pad3;
NvU32 edgeFlag : 8;
NvU32 pad4 : 24;
NvU32 pad5[2];
} PerVertexState;
struct _VertexArrayState {
NvU32 vertexOffset;
NvU32 vertexFormat;
NvU32 diffuseOffset;
NvU32 diffuseFormat;
NvU32 specularOffset;
NvU32 specularFormat;
NvU32 texCoord0Offset;
NvU32 texCoord0Format;
NvU32 texCoord1Offset;
NvU32 texCoord1Format;
NvU32 normalOffset;
NvU32 normalFormat;
NvU32 weightOffset;
NvU32 weightFormat;
NvU32 fogOffset;
NvU32 fogFormat;
} VertexArrayState;
struct _PrimitiveAssmState {
NvU32 primAssm[3*16];
} PrimitiveAssmState;
} NvGraphicsState;
/***************************************************************************\
|* Object Allocation Parameters *|
\***************************************************************************/
// class 0x07c creation parameters
typedef struct
{
NvU32 version;
NvP64 pInfo;
NvU32 logicalHeadId;
} NV07C_ALLOCATION_PARAMETERS;
// class 0x07a creation parameters
typedef struct
{
NvU32 version;
NvP64 pInfo;
NvU32 logicalHeadId;
} NV07A_ALLOCATION_PARAMETERS;
/***************************************************************************\
|* NVIDIA Debug Extensions *|
\***************************************************************************/
/*
* These class numbers are a temporary hack to allow the debugger
* client to use the NvAlloc interface to access debugger services.
*/
#define NVDE_REGISTER_DEBUGGER (0xDE000001)
#define NVDE_UNREGISTER_DEBUGGER (0xDE000002)
#define NVDE_READ_MEMORY (0xDE000003)
#define NVDE_WRITE_MEMORY (0xDE000004)
#define NVDE_GET_EVENT_INFORMATION (0xDE000005)
#define NVDE_TEST (0xDE00ffff)
#define NVDE_DEBUGGER (0xDE000000)
/*
* Status codes.
*/
#define NVDE_STATUS_SUCCESS (0x0000)
#define NVDE_STATUS_ERROR_STATE_IN_USE (0x0001)
#define NVDE_STATUS_ERROR_BAD_ARGUMENT (0x0002)
/*
* Class-specific parameter blocks.
*/
typedef struct
{
NvU64 EventHandle;
NvU32 EventClass;
} NVDE_ALLOCATION_PARAMETERS;
// must be replaced by NVDE class
typedef struct
{
NvU32 TrapEvent;
} NVDE_REGISTER_DEBUGGER_PARAMETERS;
// must be replaced by NVDE class
typedef struct
{
NvU32 foo;
} NVDE_UNREGISTER_DEBUGGER_PARAMETERS;
// depreciated
typedef struct
{
NvU32 Address;
NvU32 Size;
NvU32 Data;
} NVDE_READ_MEMORY_PARAMETERS;
// depreciated
typedef struct
{
NvU32 Address;
NvU32 Size;
NvU32 Data;
} NVDE_WRITE_MEMORY_PARAMETERS;
// depreciated
typedef struct
{
NvU32 CallBackAddress;
} NVDE_TEST_PARAMETERS;
typedef NvU32 (*NVDE_TEST_FUNC)();
// must be moved to NVDE class
typedef struct
{
U032 Count;
U032 Event[32][8];
} NVDE_GET_EVENT_INFORMATION_PARAMETERS;
/* class NV01_DEVICE_AUDIO */
#define NV01_DEVICE_AUDIO (0x000000A0)
/* NvNotification[] fields and values */
#define NV0A0_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV0A0_NOTIFICATION_STATUS_INSUFFICIENT_BANDWIDTH (0x0400)
#define NV0A0_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv0A0Typedef, Nv01DeviceAudio;
#define NV0A0_TYPEDEF Nv01DeviceAudio
#define NV01_CONTEXT_DMA_AUDIO (0x000000A1)
/* NvNotification[] fields and values */
#define NV0A1_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV0A1_NOTIFICATION_STATUS_INSUFFICIENT_BANDWIDTH (0x0400)
#define NV0A1_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
#define NV1B_AUDIO_OBJECT (0x000000A2)
/* NvNotification[] fields and values */
#define NV0A2_NOTIFICATION_STATUS_NOT_IMPLEMENTED (0x0000)
#define NV0A2_NOTIFICATION_STATUS_REQUESTED (0x0001)
#define NV0A2_NOTIFICATION_STATUS_METHOD_UNKNOWN (0x0002)
#define NV0A2_NOTIFICATION_STATUS_BAD_ARGUMENT (0x2000)
#define NV0A2_NOTIFICATION_STATUS_CURRENT_NOT_SET (0x0004)
#define NV0A2_NOTIFICATION_STATUS_ANTECEDENT_NOT_SET (0x0005)
#define NV0A2_NOTIFICATION_STATUS_VOICE_ACTIVE (0x0006)
#define NV0A2_NOTIFICATION_STATUS_NOT_DATA_TYPE_BUFFER (0x0007)
/* class NV01_DEVICE_EXTERNAL_CODEC */
#define NV01_DEVICE_EXTERNAL_CODEC (0x000000A3)
/* NvNotification[] fields and values */
#define NV0A0_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV0A0_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV0A0_NOTIFICATION_STATUS_INSUFFICIENT_BANDWIDTH (0x0400)
#define NV0A0_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
/* pio method data structure */
typedef volatile struct {
NvV32 Reserved00[0x7c0];
} Nv0A3Typedef, Nv03DeviceExternalCodec;
#define NV0A3_TYPEDEF Nv01DeviceCodec
#define NV01_CONTEXT_DMA_EXTERNAL_CODEC (0x000000A4)
/* NvNotification[] fields and values */
#define NV0A1_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT (0x4000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT (0x2000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_INVALID_STATE (0x1000)
#define NV0A1_NOTIFICATION_STATUS_ERROR_STATE_IN_USE (0x0800)
#define NV0A1_NOTIFICATION_STATUS_INSUFFICIENT_BANDWIDTH (0x0400)
#define NV0A1_NOTIFICATION_STATUS_DONE_SUCCESS (0x0000)
#define NV01_EXTERNAL_CODEC_OBJECT (0x000000A5)
/* NvNotification[] fields and values */
#define NV0A2_NOTIFICATION_STATUS_NOT_IMPLEMENTED (0x0000)
#define NV0A2_NOTIFICATION_STATUS_REQUESTED (0x0001)
#define NV0A2_NOTIFICATION_STATUS_METHOD_UNKNOWN (0x0002)
#define NV0A2_NOTIFICATION_STATUS_BAD_ARGUMENT (0x2000)
#define NV0A2_NOTIFICATION_STATUS_CURRENT_NOT_SET (0x0004)
#define NV0A2_NOTIFICATION_STATUS_ANTECEDENT_NOT_SET (0x0005)
#define NV0A2_NOTIFICATION_STATUS_VOICE_ACTIVE (0x0006)
#define NV0A2_NOTIFICATION_STATUS_NOT_DATA_TYPE_BUFFER (0x0007)
#define NV01_EXTERNAL_CODEC_WRITE (0x000000A6)
// define the errors here later
#define NV01_EXTERNAL_CODEC_READ (0x000000A7)
// define the errors here later
// this IOCTL manages system memory for the client - see AUDIO_ALLOC_MEMORY / AUDIO_FREE_MEMORY
#define NV01_MEMORY_AUDIO (0x000000A8)
// class 0x0A1 creation params (NV01_CONTEXT_DMA_AUDIO)
typedef union
{
struct
{
NvU32 : 32;
}codec;
struct
{
NvU32 : 27;
// interrupts originating from FE/SE
NvU32 FEMethodOverFlow : 1; // user method fifo has been overwritten
NvU32 FEVoice : 1; // end-of-buffer / end-of-stream
NvU32 FENotify : 1; // notifier originating from the FE has been written
NvU32 DeltaPanic : 1; // delta panic
NvU32 DeltaWarning : 1; // delta warning
}apu;
NvU32 uValue; // set to ~0x0 (for codec) if the ISR fn is to be called regardless
} INTR_MASK;
typedef void (*PISRCALLBACK)(NvV32, /* service context*/
NvU32, /* interrupt mask (INTR_MASK.uValue) with bits of triggered intr set */
NvV32); /* info based on reason */
typedef struct
{
NvV32 pResList; /* address of resource structure */
NvU8 uRevisionID; /* HW Revision ID of the chip - byte 0x8 in the PCI config */
NvV32 pDevObj; /* address of device object */
PISRCALLBACK pISRFn; /* address to an optional ISR */
NvV32 pServiceContext;/* service context for the ISR */
INTR_MASK IntrMask; /* set the bits for which pISRFn needs to be called */
NvU32 uDeviceRef; /* device reference */
} AUDIO_INIT_DEVICE;
/*
Arguments:
IN pResourceList - of type PCM_RESOURCE_LIST (WDM) - translated resource list got in IRP_MN_START_DEVICE
of type CM_CONFIG (Win9X VxD)
of type PCI_COMMON_CONFIG (NT4)
TBD for linux.
IN pDeviceObject - only valid in NT and WDM, ignored in Win9X VxD
IN pISRFn (optional) - not recommended unless it is absolutely necessary.
The driver can install it to handle interrupts from the codec if it needs to.
Type - void pISRFn(U032 ServiceContext);
IN uServiceContext (optional) - value passed back to the pISRFn if installed.
OUT pDeviceRef - device ref returned by the RM
*/
// defines the "type" for context DMA
#define AUDIO_CONTEXT_DMA_SESGE 0x1
#define AUDIO_CONTEXT_DMA_SESSL 0x2
#define AUDIO_CONTEXT_DMA_GPSGE 0x3
#define AUDIO_CONTEXT_DMA_FENOTIFIER 0x4
#define AUDIO_CONTEXT_DMA_EPSGE 0x5
typedef struct
{
NvU32 uDeviceRef; // device reference
NvU8 uType; // one of the values defined above
NvU32 uBaseAddress; // base address for the type. (must be 4K aligned)
NvU32 uMaxOffset; // max offset for the type. (must be 4K aligned)
NvU32 uHandle; // OUT: handle of the context DMA
} APU_AP_ALLOC_CONTEXT_DMA;
typedef struct
{
NvU32 uDeviceRef; // device reference
NvU32 uHandle; // handle of the context DMA
} APU_AP_FREE_CONTEXT_DMA;
#define GSCNT_FREE_RUNNING 0
#define GSCNT_ACSYNC 1 /* updated for every AC_SYNC pulse (48KHz) */
#define GSCNT_SW 2 /* client will update it */
// class 0x0A2 creation parameters (NV1B_AUDIO_PROCESSOR)
typedef union
{
struct
{
NvU32 : 29;
NvU32 GSCNT : 2; // see values defined above
NvU32 ISO : 1; // set if ISO (takes care of all ISO flags in the HW)
}fields;
NvU32 uValue;
} APU_AP_FLAGS;
typedef struct
{
NvV32 pObjectDmaBuffer; // in buffer for global effects dma commands.
NvV32 pObjectNotifiesBuffer; // in buffer for voice notifies
NvV32 pObjectGlobalNotifiesBuffer; // in buffer for global notifies
APU_AP_FLAGS flags;
VOID_PTR pioBase;
NvU32 limitFifo;
NvU32 limitBandwidth;
NvU32 limitBlockClock;
NvU32 overhead;
NvU32 uVoiceCount; // in/out req # of voices , return #
NvU32 uVoice3dCount; // in/out req # of 3d voices , return #
NvU32 uHRTFCount; // in/out req # of HRTFs, return #
NvU32 uSubmixCount; // in/out req # of Submixes, return #
NvU32 uSegInCount; // in/out req # of segments for input, return #
NvU32 uSGEInCount; // in/out req # of 4K SGE for input, return #
NvU32 uSGEOutCount; // in/out req # of 4K SGE for output, return #
NvU32 uGPScratch; // in/out reg # of PRDs for GP scratch memory
// global sample count values - ignored if GSCNT = GSCNT_FREE_RUNNING
NvU32 uExternalGSCNT; // in updated according to the GSCNT flag above
NvU32 uInternalGSCNT; // in updated by HW, by frame_size everytime output is made to sys mem
NvU32 uDeltaGSCNT; // in if (uInternalGSCNT - uExternalGSCNT) < uDeltaGSCNT, HW renders
VOID_PTR pVoiceList; // out (DEBUG ONLY) - linear address of the voice structure
}APU_AP_CREATE;
typedef struct
{
VOID_PTR pioBase;
NvU32 uSGEOutCount; // in/out req # of 4K SGE for output, return #
NvU32 uScratch; // in/out reg # of PRDs for EP scratch memory
// global sample counts applied only to teh EP
NvU32 uInternalGSCNT; // in updated by HW, by frame_size everytime output is made to sys mem
NvU32 uDeltaGSCNT; // in if (uInternalGSCNT - APU_AP_CREATE::uExternalGSCNT) < uDeltaGSCNT, HW renders
NvU32 uStepSize; // in step size added to uInternalGSCNT each frame
} APU_EP_CREATE;
typedef APU_AP_CREATE NV0A2_ALLOCATION_PARAMETERS;
// NV01_EXTERNAL_CODEC_OBJECT
// class 0x0A5 creation parameters (NV01_EXTERNAL_CODEC_OBJECT)
typedef struct
{
VOID_PTR pioBaseMixer;
VOID_PTR pioBaseAci;
} CODEC_AUDIO_CREATE;
// the object alloc structure is used, both for codec and APU object allocation
// uObjectCode codes
#define AUDIO_OBJECT_AP 0x1
#define AUDIO_OBJECT_EP 0x2
#define CODEC_OBJECT_AUDIO 0x3
#define CODEC_OBJECT_MODEM 0x4 /* not supported */
typedef struct
{
NvU32 uDeviceRef; // device reference
NvU8 uObjectCode;
NvV32 pParam;
} APU_OBJECT;
#define CODEC_ACCESS_08 1
#define CODEC_ACCESS_16 2
#define CODEC_ACCESS_32 4
// alloc params for NV01_EXTERNAL_CODEC_READ & NV01_EXTERNAL_CODEC_WRITE
typedef struct
{
NvU32 uDeviceRef; // device reference
VOID_PTR BaseAddr; // base address for which read/write is made
NvU32 Offset; // offset from the base address for which access is to be made
NvV32 AccessType; // hardware access type
/*
for BYTE reads/writes ValidBytes = CODEC_ACCESS_08 valid Val field = u8
for WORD reads/writes ValidBytes = CODEC_ACCESS_16 valid Val field = u16
for DWORD reads/writes ValidBytes = CODEC_ACCESS_32 valid Val Field = u32
any other value for ValidBytes is illegal
*/
union
{
NvU8 u8;
NvU16 u16;
NvU32 u32;
}Val;
}CODEC_ACCESS_PARAMS;
// 0xA8 memory management paramters
#define MEM_ALIGN_4K 0x00000000
#define MEM_ALIGN_8K 0x00000001
#define MEM_ALIGN_16K 0x00000003
#define MEM_ALIGN_32K 0x00000007
#define MEM_ALIGN_64K 0x0000000F
#define MEM_ALIGN_128K 0x0000001F
#define MEM_ALIGN_DONT_CARE 0xFFFFFFFF
// for allocation use:
typedef struct
{
NvU32 uSize; // IN: size of memory to be allocated in bytes
NvU32 uAlignMask; // IN: alignment mask to get physically contiguous memory
// use ALIGN_DONT_CARE if it need not be aligned and physically contiguous
VOID_PTR pLinearAddress; // OUT: linear address of allocated memory (NULL on failure)
} AUDIO_ALLOC_MEMORY;
// for freeing memory use:
typedef struct
{
VOID_PTR pLinearAddress; // IN: linear address of allocated memory
} AUDIO_FREE_MEMORY;
#ifdef __cplusplus
}; // extern "C" {
#endif
#endif /* NV32_INCLUDED */