diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-12-16 01:02:58 +0100 |
---|---|---|
committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-12-16 01:05:31 +0100 |
commit | 5e4da3451c3c0f645f98fea7fb0ce2629b1bfd2f (patch) | |
tree | f4c9c929e06e2e5d861a3c9c37709b78b8adbde5 | |
parent | 0839041e79dbb0e629326d0f240220b33921db1a (diff) | |
download | xorg-driver-xf86-video-nouveau-5e4da3451c3c0f645f98fea7fb0ce2629b1bfd2f.tar.gz |
nvc0: switch to rnn headers
-rw-r--r-- | src/nouveau_class.h | 978 | ||||
-rw-r--r-- | src/nv50_defs.xml.h | 144 | ||||
-rw-r--r-- | src/nv_3ddefs.xml.h | 93 | ||||
-rw-r--r-- | src/nv_accel_common.c | 2 | ||||
-rw-r--r-- | src/nv_object.xml.h | 246 | ||||
-rw-r--r-- | src/nv_proto.h | 2 | ||||
-rw-r--r-- | src/nvc0_3d.xml.h | 1093 | ||||
-rw-r--r-- | src/nvc0_accel.c | 108 | ||||
-rw-r--r-- | src/nvc0_accel.h | 33 | ||||
-rw-r--r-- | src/nvc0_exa.c | 68 | ||||
-rw-r--r-- | src/nvc0_m2mf.xml.h | 138 | ||||
-rw-r--r-- | src/nvc0_xv.c | 50 |
12 files changed, 1848 insertions, 1107 deletions
diff --git a/src/nouveau_class.h b/src/nouveau_class.h index e0ef4b9..5f4a829 100644 --- a/src/nouveau_class.h +++ b/src/nouveau_class.h @@ -735,44 +735,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x0000023c -#define NVC0_M2MF 0x00009039 - -#define NVC0_M2MF_NOP 0x00000100 -#define NVC0_M2MF_SERIALIZE 0x00000110 -#define NVC0_M2MF_TILING_MODE_IN 0x00000204 -#define NVC0_M2MF_TILING_PITCH_IN 0x00000208 -#define NVC0_M2MF_TILING_HEIGHT_IN 0x0000020c -#define NVC0_M2MF_TILING_DEPTH_IN 0x00000210 -#define NVC0_M2MF_TILING_POSITION_IN_Z 0x00000214 -#define NVC0_M2MF_TILING_MODE_OUT 0x00000220 -#define NVC0_M2MF_TILING_PITCH_OUT 0x00000224 -#define NVC0_M2MF_TILING_HEIGHT_OUT 0x00000228 -#define NVC0_M2MF_TILING_DEPTH_OUT 0x0000022c -#define NVC0_M2MF_TILING_POSITION_OUT_Z 0x00000230 -#define NVC0_M2MF_OFFSET_OUT_HIGH 0x00000238 -#define NVC0_M2MF_OFFSET_OUT_LOW 0x0000023c -#define NVC0_M2MF_EXEC 0x00000300 -#define NVC0_M2MF_EXEC_PUSH (1 << 0) -#define NVC0_M2MF_EXEC_LINEAR_IN (1 << 4) -#define NVC0_M2MF_EXEC_LINEAR_OUT (1 << 8) -#define NVC0_M2MF_EXEC_NOTIFY (1 << 13) -#define NVC0_M2MF_EXEC_INC_SHIFT 20 -#define NVC0_M2MF_EXEC_INC_MASK 0x00f00000 -#define NVC0_M2MF_DATA 0x00000304 -#define NVC0_M2MF_OFFSET_IN_HIGH 0x0000030c -#define NVC0_M2MF_OFFSET_IN_LOW 0x00000310 -#define NVC0_M2MF_PITCH_IN 0x00000314 -#define NVC0_M2MF_PITCH_OUT 0x00000318 -#define NVC0_M2MF_LINE_LENGTH_IN 0x0000031c -#define NVC0_M2MF_LINE_COUNT 0x00000320 -#define NVC0_M2MF_NOTIFY_ADDRESS_HIGH 0x0000032c -#define NVC0_M2MF_NOTIFY_ADDRESS_LOW 0x00000330 -#define NVC0_M2MF_NOTIFY 0x00000334 -#define NVC0_M2MF_TILING_POSITION_IN_X 0x00000344 -#define NVC0_M2MF_TILING_POSITION_IN_Y 0x00000348 -#define NVC0_M2MF_TILING_POSITION_OUT_X 0x0000034c -#define NVC0_M2MF_TILING_POSITION_OUT_Y 0x00000350 - #define NV01_MEMORY_LOCAL_BANKED 0x0000003d @@ -9112,941 +9074,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV50_COMPUTE_USER_PARAM__SIZE 0x00000040 -#define NVC0TCL 0x00009097 - -#define NVC0TCL_SEMAPHORE_ADDRESS_HIGH 0x00000010 -#define NVC0TCL_SEMAPHORE_ADDRESS_LOW 0x00000014 -#define NVC0TCL_NOP 0x00000100 -#define NVC0TCL_NOTIFY_ADDRESS_HIGH 0x00000104 -#define NVC0TCL_NOTIFY_ADDRESS_LOW 0x00000108 -#define NVC0TCL_NOTIFY 0x0000010c -#define NVC0TCL_SERIALIZE 0x00000110 -#define NVC0TCL_EARLY_FRAGMENT_TESTS 0x00000210 -#define NVC0TCL_CODE_FLUSH 0x0000021c -#define NVC0TCL_TESS_MODE 0x00000320 -#define NVC0TCL_TESS_MODE_PRIM_SHIFT 0 -#define NVC0TCL_TESS_MODE_PRIM_MASK 0x0000000f -#define NVC0TCL_TESS_MODE_PRIM_ISOLINES 0x00000000 -#define NVC0TCL_TESS_MODE_PRIM_TRIANGLES 0x00000001 -#define NVC0TCL_TESS_MODE_PRIM_QUADS 0x00000002 -#define NVC0TCL_TESS_MODE_SPACING_SHIFT 4 -#define NVC0TCL_TESS_MODE_SPACING_MASK 0x000000f0 -#define NVC0TCL_TESS_MODE_SPACING_EQUAL 0x00000000 -#define NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_ODD 0x00000010 -#define NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_EVEN 0x00000020 -#define NVC0TCL_TESS_MODE_CW (1 << 8) -#define NVC0TCL_TESS_MODE_CONNECTED (1 << 9) -#define NVC0TCL_TESS_LEVEL_OUTER(x) (0x00000324+((x)*4)) -#define NVC0TCL_TESS_LEVEL_OUTER__SIZE 0x00000004 -#define NVC0TCL_TESS_LEVEL_INNER(x) (0x00000334+((x)*4)) -#define NVC0TCL_TESS_LEVEL_INNER__SIZE 0x00000002 -#define NVC0TCL_RASTERIZE_ENABLE 0x0000037c -#define NVC0TCL_TFB_BUFFER_ENABLE(x) (0x00000380+((x)*32)) -#define NVC0TCL_TFB_BUFFER_ENABLE__SIZE 0x00000004 -#define NVC0TCL_TFB_ADDRESS_HIGH(x) (0x00000384+((x)*32)) -#define NVC0TCL_TFB_ADDRESS_HIGH__SIZE 0x00000004 -#define NVC0TCL_TFB_ADDRESS_LOW(x) (0x00000388+((x)*32)) -#define NVC0TCL_TFB_ADDRESS_LOW__SIZE 0x00000004 -#define NVC0TCL_TFB_BUFFER_SIZE(x) (0x0000038c+((x)*32)) -#define NVC0TCL_TFB_BUFFER_SIZE__SIZE 0x00000004 -#define NVC0TCL_TFB_PRIMITIVE_ID(x) (0x00000390+((x)*32)) -#define NVC0TCL_TFB_PRIMITIVE_ID__SIZE 0x00000004 -#define NVC0TCL_TFB_UNK0700(x) (0x00000700+((x)*16)) -#define NVC0TCL_TFB_UNK0700__SIZE 0x00000004 -#define NVC0TCL_TFB_VARYING_COUNT(x) (0x00000704+((x)*16)) -#define NVC0TCL_TFB_VARYING_COUNT__SIZE 0x00000004 -#define NVC0TCL_TFB_BUFFER_STRIDE(x) (0x00000708+((x)*16)) -#define NVC0TCL_TFB_BUFFER_STRIDE__SIZE 0x00000004 -#define NVC0TCL_TFB_ENABLE 0x00000744 -#define NVC0TCL_LOCAL_BASE 0x0000077c -#define NVC0TCL_UNK0790_ADDRESS_HIGH 0x00000790 -#define NVC0TCL_UNK0790_ADDRESS_LOW 0x00000794 -#define NVC0TCL_RT_ADDRESS_HIGH(x) (0x00000800+((x)*32)) -#define NVC0TCL_RT_ADDRESS_HIGH__SIZE 0x00000008 -#define NVC0TCL_RT_ADDRESS_LOW(x) (0x00000804+((x)*32)) -#define NVC0TCL_RT_ADDRESS_LOW__SIZE 0x00000008 -#define NVC0TCL_RT_HORIZ(x) (0x00000808+((x)*32)) -#define NVC0TCL_RT_HORIZ__SIZE 0x00000008 -#define NVC0TCL_RT_VERT(x) (0x0000080c+((x)*32)) -#define NVC0TCL_RT_VERT__SIZE 0x00000008 -#define NVC0TCL_RT_FORMAT(x) (0x00000810+((x)*32)) -#define NVC0TCL_RT_FORMAT__SIZE 0x00000008 -#define NVC0TCL_RT_FORMAT_R32G32B32A32_FLOAT 0x000000c0 -#define NVC0TCL_RT_FORMAT_R32G32B32A32_SINT 0x000000c1 -#define NVC0TCL_RT_FORMAT_R32G32B32A32_UINT 0x000000c2 -#define NVC0TCL_RT_FORMAT_R32G32B32X32_FLOAT 0x000000c3 -#define NVC0TCL_RT_FORMAT_R16G16B16A16_UNORM 0x000000c6 -#define NVC0TCL_RT_FORMAT_R16G16B16A16_SNORM 0x000000c7 -#define NVC0TCL_RT_FORMAT_R16G16B16A16_SINT 0x000000c8 -#define NVC0TCL_RT_FORMAT_R16G16B16A16_UINT 0x000000c9 -#define NVC0TCL_RT_FORMAT_R16G16B16A16_FLOAT 0x000000ca -#define NVC0TCL_RT_FORMAT_R32G32_FLOAT 0x000000cb -#define NVC0TCL_RT_FORMAT_R32G32_SINT 0x000000cc -#define NVC0TCL_RT_FORMAT_R32G32_UINT 0x000000cd -#define NVC0TCL_RT_FORMAT_R16G16B16X16_FLOAT 0x000000ce -#define NVC0TCL_RT_FORMAT_A8R8G8B8_UNORM 0x000000cf -#define NVC0TCL_RT_FORMAT_A8R8G8B8_SRGB 0x000000d0 -#define NVC0TCL_RT_FORMAT_A2B10G10R10_UNORM 0x000000d1 -#define NVC0TCL_RT_FORMAT_A2B10G10R10_UINT 0x000000d2 -#define NVC0TCL_RT_FORMAT_A8B8G8R8_UNORM 0x000000d5 -#define NVC0TCL_RT_FORMAT_A8B8G8R8_SRGB 0x000000d6 -#define NVC0TCL_RT_FORMAT_A8B8G8R8_SNORM 0x000000d7 -#define NVC0TCL_RT_FORMAT_A8B8G8R8_SINT 0x000000d8 -#define NVC0TCL_RT_FORMAT_A8B8G8R8_UINT 0x000000d9 -#define NVC0TCL_RT_FORMAT_R16G16_UNORM 0x000000da -#define NVC0TCL_RT_FORMAT_R16G16_SNORM 0x000000db -#define NVC0TCL_RT_FORMAT_R16G16_SINT 0x000000dc -#define NVC0TCL_RT_FORMAT_R16G16_UINT 0x000000dd -#define NVC0TCL_RT_FORMAT_R16G16_FLOAT 0x000000de -#define NVC0TCL_RT_FORMAT_A2R10G10B10_UNORM 0x000000df -#define NVC0TCL_RT_FORMAT_B10G11R11_FLOAT 0x000000e0 -#define NVC0TCL_RT_FORMAT_R32_FLOAT 0x000000e5 -#define NVC0TCL_RT_FORMAT_X8R8G8B8_UNORM 0x000000e6 -#define NVC0TCL_RT_FORMAT_X8R8G8B8_SRGB 0x000000e7 -#define NVC0TCL_RT_FORMAT_R5G6B5_UNORM 0x000000e8 -#define NVC0TCL_RT_FORMAT_A1R5G5B5_UNORM 0x000000e9 -#define NVC0TCL_RT_FORMAT_R8G8_UNORM 0x000000ea -#define NVC0TCL_RT_FORMAT_R8G8_SNORM 0x000000eb -#define NVC0TCL_RT_FORMAT_R8G8_SINT 0x000000ec -#define NVC0TCL_RT_FORMAT_R8G8_UINT 0x000000ed -#define NVC0TCL_RT_FORMAT_R16_UNORM 0x000000ee -#define NVC0TCL_RT_FORMAT_R16_SNORM 0x000000ef -#define NVC0TCL_RT_FORMAT_R16_SINT 0x000000f0 -#define NVC0TCL_RT_FORMAT_R16_UINT 0x000000f1 -#define NVC0TCL_RT_FORMAT_R16_FLOAT 0x000000f2 -#define NVC0TCL_RT_FORMAT_R8_UNORM 0x000000f3 -#define NVC0TCL_RT_FORMAT_R8_SNORM 0x000000f4 -#define NVC0TCL_RT_FORMAT_R8_SINT 0x000000f5 -#define NVC0TCL_RT_FORMAT_R8_UINT 0x000000f6 -#define NVC0TCL_RT_FORMAT_A8_UNORM 0x000000f7 -#define NVC0TCL_RT_FORMAT_X1R5G5B5_UNORM 0x000000f8 -#define NVC0TCL_RT_FORMAT_X8B8G8R8_UNORM 0x000000f9 -#define NVC0TCL_RT_FORMAT_X8B8G8R8_SRGB 0x000000fa -#define NVC0TCL_RT_TILE_MODE(x) (0x00000814+((x)*32)) -#define NVC0TCL_RT_TILE_MODE__SIZE 0x00000008 -#define NVC0TCL_RT_ARRAY_MODE(x) (0x00000818+((x)*32)) -#define NVC0TCL_RT_ARRAY_MODE__SIZE 0x00000008 -#define NVC0TCL_RT_ARRAY_MODE_LAYERS_SHIFT 0 -#define NVC0TCL_RT_ARRAY_MODE_LAYERS_MASK 0x0000ffff -#define NVC0TCL_RT_ARRAY_MODE_VOLUME (1 << 16) -#define NVC0TCL_RT_LAYER_STRIDE(x) (0x0000081c+((x)*32)) -#define NVC0TCL_RT_LAYER_STRIDE__SIZE 0x00000008 -#define NVC0TCL_VIEWPORT_SCALE_X(x) (0x00000a00+((x)*32)) -#define NVC0TCL_VIEWPORT_SCALE_X__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_SCALE_Y(x) (0x00000a04+((x)*32)) -#define NVC0TCL_VIEWPORT_SCALE_Y__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_SCALE_Z(x) (0x00000a08+((x)*32)) -#define NVC0TCL_VIEWPORT_SCALE_Z__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_TRANSLATE_X(x) (0x00000a0c+((x)*32)) -#define NVC0TCL_VIEWPORT_TRANSLATE_X__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_TRANSLATE_Y(x) (0x00000a10+((x)*32)) -#define NVC0TCL_VIEWPORT_TRANSLATE_Y__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_TRANSLATE_Z(x) (0x00000a14+((x)*32)) -#define NVC0TCL_VIEWPORT_TRANSLATE_Z__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_HORIZ(x) (0x00000c00+((x)*16)) -#define NVC0TCL_VIEWPORT_HORIZ__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_HORIZ_X_SHIFT 0 -#define NVC0TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff -#define NVC0TCL_VIEWPORT_HORIZ_W_SHIFT 16 -#define NVC0TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000 -#define NVC0TCL_VIEWPORT_VERT(x) (0x00000c04+((x)*16)) -#define NVC0TCL_VIEWPORT_VERT__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_VERT_Y_SHIFT 0 -#define NVC0TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff -#define NVC0TCL_VIEWPORT_VERT_H_SHIFT 16 -#define NVC0TCL_VIEWPORT_VERT_H_MASK 0xffff0000 -#define NVC0TCL_DEPTH_RANGE_NEAR(x) (0x00000c08+((x)*16)) -#define NVC0TCL_DEPTH_RANGE_NEAR__SIZE 0x00000010 -#define NVC0TCL_DEPTH_RANGE_FAR(x) (0x00000c0c+((x)*16)) -#define NVC0TCL_DEPTH_RANGE_FAR__SIZE 0x00000010 -#define NVC0TCL_VIEWPORT_CLIP_HORIZ(x) (0x00000d00+((x)*8)) -#define NVC0TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008 -#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_SHIFT 0 -#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_MASK 0x0000ffff -#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_SHIFT 16 -#define NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_MASK 0xffff0000 -#define NVC0TCL_VIEWPORT_CLIP_VERT(x) (0x00000d04+((x)*8)) -#define NVC0TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008 -#define NVC0TCL_VIEWPORT_CLIP_VERT_MIN_SHIFT 0 -#define NVC0TCL_VIEWPORT_CLIP_VERT_MIN_MASK 0x0000ffff -#define NVC0TCL_VIEWPORT_CLIP_VERT_MAX_SHIFT 16 -#define NVC0TCL_VIEWPORT_CLIP_VERT_MAX_MASK 0xffff0000 -#define NVC0TCL_CLIPID_REGION_HORIZ(x) (0x00000d40+((x)*8)) -#define NVC0TCL_CLIPID_REGION_HORIZ__SIZE 0x00000004 -#define NVC0TCL_CLIPID_REGION_VERT(x) (0x00000d44+((x)*8)) -#define NVC0TCL_CLIPID_REGION_VERT__SIZE 0x00000004 -#define NVC0TCL_VERTEX_BUFFER_FIRST 0x00000d74 -#define NVC0TCL_VERTEX_BUFFER_COUNT 0x00000d78 -#define NVC0TCL_CLEAR_COLOR(x) (0x00000d80+((x)*4)) -#define NVC0TCL_CLEAR_COLOR__SIZE 0x00000004 -#define NVC0TCL_CLEAR_DEPTH 0x00000d90 -#define NVC0TCL_STACK_ADDRESS_HIGH 0x00000d94 -#define NVC0TCL_STACK_ADDRESS_LOW 0x00000d98 -#define NVC0TCL_STACK_SIZE_LOG 0x00000d9c -#define NVC0TCL_CLEAR_STENCIL 0x00000da0 -#define NVC0TCL_POLYGON_SMOOTH_ENABLE 0x00000db4 -#define NVC0TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0 -#define NVC0TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4 -#define NVC0TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000dc8 -#define NVC0TCL_PATCH_VERTICES 0x00000dcc -#define NVC0TCL_WATCHDOG_TIMER 0x00000de4 -#define NVC0TCL_WINDOW_OFFSET_X 0x00000df8 -#define NVC0TCL_WINDOW_OFFSET_Y 0x00000dfc -#define NVC0TCL_SCISSOR_ENABLE(x) (0x00000e00+((x)*16)) -#define NVC0TCL_SCISSOR_ENABLE__SIZE 0x00000010 -#define NVC0TCL_SCISSOR_HORIZ(x) (0x00000e04+((x)*16)) -#define NVC0TCL_SCISSOR_HORIZ__SIZE 0x00000010 -#define NVC0TCL_SCISSOR_HORIZ_MIN_SHIFT 0 -#define NVC0TCL_SCISSOR_HORIZ_MIN_MASK 0x0000ffff -#define NVC0TCL_SCISSOR_HORIZ_MAX_SHIFT 16 -#define NVC0TCL_SCISSOR_HORIZ_MAX_MASK 0xffff0000 -#define NVC0TCL_SCISSOR_VERT(x) (0x00000e08+((x)*16)) -#define NVC0TCL_SCISSOR_VERT__SIZE 0x00000010 -#define NVC0TCL_SCISSOR_VERT_MIN_SHIFT 0 -#define NVC0TCL_SCISSOR_VERT_MIN_MASK 0x0000ffff -#define NVC0TCL_SCISSOR_VERT_MAX_SHIFT 16 -#define NVC0TCL_SCISSOR_VERT_MAX_MASK 0xffff0000 -#define NVC0TCL_LOCAL_WARPS_LOG_ALLOC 0x00000f44 -#define NVC0TCL_LOCAL_WARPS_NO_CLAMP 0x00000f48 -#define NVC0TCL_STACK_WARPS_LOG_ALLOC 0x00000f4c -#define NVC0TCL_STACK_WARPS_NO_CLAMP 0x00000f50 -#define NVC0TCL_STENCIL_BACK_FUNC_REF 0x00000f54 -#define NVC0TCL_STENCIL_BACK_MASK 0x00000f58 -#define NVC0TCL_STENCIL_BACK_FUNC_MASK 0x00000f5c -#define NVC0TCL_VERTEX_RUNOUT_HIGH 0x00000f84 -#define NVC0TCL_VERTEX_RUNOUT_LOW 0x00000f88 -#define NVC0TCL_DEPTH_BOUNDS(x) (0x00000f9c+((x)*4)) -#define NVC0TCL_DEPTH_BOUNDS__SIZE 0x00000002 -#define NVC0TCL_MSAA_MASK(x) (0x00000fbc+((x)*4)) -#define NVC0TCL_MSAA_MASK__SIZE 0x00000004 -#define NVC0TCL_CLIPID_ADDRESS_HIGH 0x00000fcc -#define NVC0TCL_CLIPID_ADDRESS_LOW 0x00000fd0 -#define NVC0TCL_ZETA_ADDRESS_HIGH 0x00000fe0 -#define NVC0TCL_ZETA_ADDRESS_LOW 0x00000fe4 -#define NVC0TCL_ZETA_FORMAT 0x00000fe8 -#define NVC0TCL_ZETA_FORMAT_Z32_FLOAT 0x0000000a -#define NVC0TCL_ZETA_FORMAT_Z16_UNORM 0x00000013 -#define NVC0TCL_ZETA_FORMAT_Z24S8_UNORM 0x00000014 -#define NVC0TCL_ZETA_FORMAT_X8Z24_UNORM 0x00000015 -#define NVC0TCL_ZETA_FORMAT_S8Z24_UNORM 0x00000016 -#define NVC0TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM 0x00000019 -#define NVC0TCL_ZETA_TILE_MODE 0x00000fec -#define NVC0TCL_ZETA_LAYER_STRIDE 0x00000ff0 -#define NVC0TCL_SCREEN_SCISSOR_HORIZ 0x00000ff4 -#define NVC0TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT 16 -#define NVC0TCL_SCREEN_SCISSOR_HORIZ_W_MASK 0xffff0000 -#define NVC0TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT 0 -#define NVC0TCL_SCREEN_SCISSOR_HORIZ_X_MASK 0x0000ffff -#define NVC0TCL_SCREEN_SCISSOR_VERT 0x00000ff8 -#define NVC0TCL_SCREEN_SCISSOR_VERT_H_SHIFT 16 -#define NVC0TCL_SCREEN_SCISSOR_VERT_H_MASK 0xffff0000 -#define NVC0TCL_SCREEN_SCISSOR_VERT_Y_SHIFT 0 -#define NVC0TCL_SCREEN_SCISSOR_VERT_Y_MASK 0x0000ffff -#define NVC0TCL_VTX_ATTR_DEFINE 0x0000114c -#define NVC0TCL_VTX_ATTR_DEFINE_ATTR_SHIFT 0 -#define NVC0TCL_VTX_ATTR_DEFINE_ATTR_MASK 0x0000003f -#define NVC0TCL_VTX_ATTR_DEFINE_COMP_SHIFT 8 -#define NVC0TCL_VTX_ATTR_DEFINE_COMP_MASK 0x00000f00 -#define NVC0TCL_VTX_ATTR_DEFINE_SIZE_SHIFT 12 -#define NVC0TCL_VTX_ATTR_DEFINE_SIZE_MASK 0x0000f000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SHIFT 16 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_MASK 0x000f0000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_FLOAT 0x00070000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_UNORM 0x00010000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SNORM 0x00020000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_USCALED 0x00050000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SSCALED 0x00060000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_UINT 0x00040000 -#define NVC0TCL_VTX_ATTR_DEFINE_TYPE_SINT 0x00030000 -#define NVC0TCL_VTX_ATTR_DATA(x) (0x00001150+((x)*4)) -#define NVC0TCL_VTX_ATTR_DATA__SIZE 0x00000004 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT(x) (0x00001160+((x)*4)) -#define NVC0TCL_VERTEX_ATTRIB_FORMAT__SIZE 0x00000020 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_SHIFT 0 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_MASK 0x0000003f -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_CONST (1 << 6) -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_SHIFT 7 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_MASK 0x001fff80 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_SHIFT 21 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_MASK 0x07e00000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32_32 0x00200000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32 0x00400000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16_16 0x00600000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32 0x00800000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16 0x00a00000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8_8 0x01400000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16 0x01e00000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32 0x02400000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8 0x02600000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8 0x03000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16 0x03600000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8 0x03a00000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_2_10_10_10 0x06000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SHIFT 27 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_MASK 0x78000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT 0x38000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_UNORM 0x08000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SNORM 0x10000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_USCALED 0x28000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED 0x30000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_UINT 0x20000000 -#define NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SINT 0x18000000 -#define NVC0TCL_RT_CONTROL 0x0000121c -#define NVC0TCL_RT_CONTROL_COUNT_SHIFT 0 -#define NVC0TCL_RT_CONTROL_COUNT_MASK 0x0000000f -#define NVC0TCL_RT_CONTROL_MAP0_SHIFT 4 -#define NVC0TCL_RT_CONTROL_MAP0_MASK 0x00000070 -#define NVC0TCL_RT_CONTROL_MAP1_SHIFT 7 -#define NVC0TCL_RT_CONTROL_MAP1_MASK 0x00000380 -#define NVC0TCL_RT_CONTROL_MAP2_SHIFT 10 -#define NVC0TCL_RT_CONTROL_MAP2_MASK 0x00001c00 -#define NVC0TCL_RT_CONTROL_MAP3_SHIFT 13 -#define NVC0TCL_RT_CONTROL_MAP3_MASK 0x0000e000 -#define NVC0TCL_RT_CONTROL_MAP4_SHIFT 16 -#define NVC0TCL_RT_CONTROL_MAP4_MASK 0x00070000 -#define NVC0TCL_RT_CONTROL_MAP5_SHIFT 19 -#define NVC0TCL_RT_CONTROL_MAP5_MASK 0x00380000 -#define NVC0TCL_RT_CONTROL_MAP6_SHIFT 22 -#define NVC0TCL_RT_CONTROL_MAP6_MASK 0x01c00000 -#define NVC0TCL_RT_CONTROL_MAP7_SHIFT 25 -#define NVC0TCL_RT_CONTROL_MAP7_MASK 0x0e000000 -#define NVC0TCL_ZETA_HORIZ 0x00001228 -#define NVC0TCL_ZETA_VERT 0x0000122c -#define NVC0TCL_ZETA_ARRAY_MODE 0x00001230 -#define NVC0TCL_ZETA_ARRAY_MODE_LAYERS_SHIFT 0 -#define NVC0TCL_ZETA_ARRAY_MODE_LAYERS_MASK 0x0000ffff -#define NVC0TCL_ZETA_ARRAY_MODE_UNK (1 << 16) -#define NVC0TCL_LINKED_TSC 0x00001234 -#define NVC0TCL_FP_RESULT_COUNT 0x00001298 -#define NVC0TCL_DEPTH_TEST_ENABLE 0x000012cc -#define NVC0TCL_SHADE_MODEL 0x000012d4 -#define NVC0TCL_SHADE_MODEL_FLAT 0x00001d00 -#define NVC0TCL_SHADE_MODEL_SMOOTH 0x00001d01 -#define NVC0TCL_BLEND_INDEPENDENT 0x000012e4 -#define NVC0TCL_DEPTH_WRITE_ENABLE 0x000012e8 -#define NVC0TCL_ALPHA_TEST_ENABLE 0x000012ec -#define NVC0TCL_PM_SET(x) (0x000012f0+((x)*4)) -#define NVC0TCL_PM_SET__SIZE 0x00000004 -#define NVC0TCL_VB_ELEMENT_U8_SETUP 0x00001300 -#define NVC0TCL_VB_ELEMENT_U8_SETUP_OFFSET_SHIFT 30 -#define NVC0TCL_VB_ELEMENT_U8_SETUP_OFFSET_MASK 0xc0000000 -#define NVC0TCL_VB_ELEMENT_U8_SETUP_COUNT_SHIFT 0 -#define NVC0TCL_VB_ELEMENT_U8_SETUP_COUNT_MASK 0x3fffffff -#define NVC0TCL_VB_ELEMENT_U8 0x00001304 -#define NVC0TCL_VB_ELEMENT_U8_I0_SHIFT 0 -#define NVC0TCL_VB_ELEMENT_U8_I0_MASK 0x000000ff -#define NVC0TCL_VB_ELEMENT_U8_I1_SHIFT 8 -#define NVC0TCL_VB_ELEMENT_U8_I1_MASK 0x0000ff00 -#define NVC0TCL_VB_ELEMENT_U8_I2_SHIFT 16 -#define NVC0TCL_VB_ELEMENT_U8_I2_MASK 0x00ff0000 -#define NVC0TCL_VB_ELEMENT_U8_I3_SHIFT 24 -#define NVC0TCL_VB_ELEMENT_U8_I3_MASK 0xff000000 -#define NVC0TCL_DEPTH_TEST_FUNC 0x0000130c -#define NVC0TCL_DEPTH_TEST_FUNC_NEVER 0x00000200 -#define NVC0TCL_DEPTH_TEST_FUNC_LESS 0x00000201 -#define NVC0TCL_DEPTH_TEST_FUNC_EQUAL 0x00000202 -#define NVC0TCL_DEPTH_TEST_FUNC_LEQUAL 0x00000203 -#define NVC0TCL_DEPTH_TEST_FUNC_GREATER 0x00000204 -#define NVC0TCL_DEPTH_TEST_FUNC_NOTEQUAL 0x00000205 -#define NVC0TCL_DEPTH_TEST_FUNC_GEQUAL 0x00000206 -#define NVC0TCL_DEPTH_TEST_FUNC_ALWAYS 0x00000207 -#define NVC0TCL_ALPHA_TEST_REF 0x00001310 -#define NVC0TCL_ALPHA_TEST_FUNC 0x00001314 -#define NVC0TCL_ALPHA_TEST_FUNC_NEVER 0x00000200 -#define NVC0TCL_ALPHA_TEST_FUNC_LESS 0x00000201 -#define NVC0TCL_ALPHA_TEST_FUNC_EQUAL 0x00000202 -#define NVC0TCL_ALPHA_TEST_FUNC_LEQUAL 0x00000203 -#define NVC0TCL_ALPHA_TEST_FUNC_GREATER 0x00000204 -#define NVC0TCL_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205 -#define NVC0TCL_ALPHA_TEST_FUNC_GEQUAL 0x00000206 -#define NVC0TCL_ALPHA_TEST_FUNC_ALWAYS 0x00000207 -#define NVC0TCL_BLEND_COLOR(x) (0x0000131c+((x)*4)) -#define NVC0TCL_BLEND_COLOR__SIZE 0x00000004 -#define NVC0TCL_TIC_FLUSH 0x00001330 -#define NVC0TCL_TSC_FLUSH 0x00001334 -#define NVC0TCL_TEX_CACHE_CTL 0x00001338 -#define NVC0TCL_BLEND_EQUATION_RGB 0x00001340 -#define NVC0TCL_BLEND_EQUATION_RGB_FUNC_ADD 0x00008006 -#define NVC0TCL_BLEND_EQUATION_RGB_MIN 0x00008007 -#define NVC0TCL_BLEND_EQUATION_RGB_MAX 0x00008008 -#define NVC0TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a -#define NVC0TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b -#define NVC0TCL_BLEND_FUNC_SRC_RGB 0x00001344 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_BLEND_FUNC_DST_RGB 0x00001348 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNC_DST_RGB_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_BLEND_EQUATION_ALPHA 0x0000134c -#define NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006 -#define NVC0TCL_BLEND_EQUATION_ALPHA_MIN 0x00008007 -#define NVC0TCL_BLEND_EQUATION_ALPHA_MAX 0x00008008 -#define NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a -#define NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA 0x00001350 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA 0x00001358 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_BLEND_ENABLE(x) (0x00001360+((x)*4)) -#define NVC0TCL_BLEND_ENABLE__SIZE 0x00000008 -#define NVC0TCL_STENCIL_ENABLE 0x00001380 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL 0x00001384 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507 -#define NVC0TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL 0x00001388 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507 -#define NVC0TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508 -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS 0x0000138c -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000 -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00 -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01 -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02 -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03 -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507 -#define NVC0TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC 0x00001390 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206 -#define NVC0TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207 -#define NVC0TCL_STENCIL_FRONT_FUNC_REF 0x00001394 -#define NVC0TCL_STENCIL_FRONT_MASK 0x00001398 -#define NVC0TCL_STENCIL_FRONT_FUNC_MASK 0x0000139c -#define NVC0TCL_FRAG_COLOR_CLAMP_EN 0x000013a8 -#define NVC0TCL_Y_ORIGIN_BOTTOM 0x000013ac -#define NVC0TCL_LINE_WIDTH(x) (0x000013b0+((x)*4)) -#define NVC0TCL_LINE_WIDTH__SIZE 0x00000002 -#define NVC0TCL_POINT_COORD_REPLACE_MAP(x) (0x000013c0+((x)*4)) -#define NVC0TCL_POINT_COORD_REPLACE_MAP__SIZE 0x00000008 -#define NVC0TCL_GP_VERTEX_OUTPUT_COUNT 0x00001420 -#define NVC0TCL_FENCE 0x0000142c -#define NVC0TCL_VB_ELEMENT_BASE 0x00001434 -#define NVC0TCL_INSTANCE_BASE 0x00001438 -#define NVC0TCL_CODE_CB_FLUSH 0x00001440 -#define NVC0TCL_CLIPID_HEIGHT 0x00001504 -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE 0x00001510 -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_0 (1 << 0) -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_1 (1 << 1) -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_2 (1 << 2) -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_3 (1 << 3) -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_4 (1 << 4) -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_5 (1 << 5) -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_6 (1 << 6) -#define NVC0TCL_VP_CLIP_DISTANCE_ENABLE_7 (1 << 7) -#define NVC0TCL_SAMPLECNT_ENABLE 0x00001514 -#define NVC0TCL_POINT_SIZE 0x00001518 -#define NVC0TCL_POINT_SPRITE_ENABLE 0x00001520 -#define NVC0TCL_SAMPLECNT_RESET 0x00001530 -#define NVC0TCL_MULTISAMPLE_ZETA_ENABLE 0x00001534 -#define NVC0TCL_ZETA_ENABLE 0x00001538 -#define NVC0TCL_MULTISAMPLE_CTRL 0x0000153c -#define NVC0TCL_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE (1 << 0) -#define NVC0TCL_MULTISAMPLE_CTRL_ALPHA_TO_ONE (1 << 4) -#define NVC0TCL_NOPERSPECTIVE_BITMAP(x) (0x00001540+((x)*4)) -#define NVC0TCL_NOPERSPECTIVE_BITMAP__SIZE 0x00000004 -#define NVC0TCL_COND_ADDRESS_HIGH 0x00001550 -#define NVC0TCL_COND_ADDRESS_LOW 0x00001554 -#define NVC0TCL_COND_MODE 0x00001558 -#define NVC0TCL_COND_MODE_NEVER 0x00000000 -#define NVC0TCL_COND_MODE_ALWAYS 0x00000001 -#define NVC0TCL_COND_MODE_RES 0x00000002 -#define NVC0TCL_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003 -#define NVC0TCL_COND_MODE_RES_OR_ID 0x00000004 -#define NVC0TCL_TSC_ADDRESS_HIGH 0x0000155c -#define NVC0TCL_TSC_ADDRESS_LOW 0x00001560 -#define NVC0TCL_TSC_LIMIT 0x00001564 -#define NVC0TCL_POLYGON_OFFSET_FACTOR 0x0000156c -#define NVC0TCL_LINE_SMOOTH_ENABLE 0x00001570 -#define NVC0TCL_TIC_ADDRESS_HIGH 0x00001574 -#define NVC0TCL_TIC_ADDRESS_LOW 0x00001578 -#define NVC0TCL_TIC_LIMIT 0x0000157c -#define NVC0TCL_PM_CONTROL(x) (0x00001580+((x)*4)) -#define NVC0TCL_PM_CONTROL__SIZE 0x00000004 -#define NVC0TCL_PM_CONTROL_UNK0 (1 << 0) -#define NVC0TCL_PM_CONTROL_UNK1_SHIFT 4 -#define NVC0TCL_PM_CONTROL_UNK1_MASK 0x00000070 -#define NVC0TCL_PM_CONTROL_UNK2_SHIFT 8 -#define NVC0TCL_PM_CONTROL_UNK2_MASK 0xffffff00 -#define NVC0TCL_STENCIL_TWO_SIDE_ENABLE 0x00001594 -#define NVC0TCL_STENCIL_BACK_OP_FAIL 0x00001598 -#define NVC0TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000 -#define NVC0TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a -#define NVC0TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00 -#define NVC0TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01 -#define NVC0TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02 -#define NVC0TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03 -#define NVC0TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507 -#define NVC0TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508 -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL 0x0000159c -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000 -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00 -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01 -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02 -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03 -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507 -#define NVC0TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS 0x000015a0 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507 -#define NVC0TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC 0x000015a4 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206 -#define NVC0TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207 -#define NVC0TCL_MULTISAMPLE_COLOR_ENABLE 0x000015b4 -#define NVC0TCL_FRAMEBUFFER_SRGB 0x000015b8 -#define NVC0TCL_POLYGON_OFFSET_UNITS 0x000015bc -#define NVC0TCL_GP_BUILTIN_RESULT_EN 0x000015cc -#define NVC0TCL_GP_BUILTIN_RESULT_EN_VPORT (1 << 0) -#define NVC0TCL_GP_BUILTIN_RESULT_EN_LAYER (1 << 16) -#define NVC0TCL_MULTISAMPLE_MODE 0x000015d0 -#define NVC0TCL_MULTISAMPLE_MODE_1X 0x00000000 -#define NVC0TCL_MULTISAMPLE_MODE_2XMS 0x00000001 -#define NVC0TCL_MULTISAMPLE_MODE_4XMS 0x00000002 -#define NVC0TCL_MULTISAMPLE_MODE_8XMS 0x00000004 -#define NVC0TCL_MULTISAMPLE_MODE_4XMS_4XCS 0x00000008 -#define NVC0TCL_MULTISAMPLE_MODE_4XMS_12XCS 0x00000009 -#define NVC0TCL_MULTISAMPLE_MODE_8XMS_8XCS 0x0000000a -#define NVC0TCL_EDGEFLAG_ENABLE 0x000015e4 -#define NVC0TCL_VB_ELEMENT_U32 0x000015e8 -#define NVC0TCL_VB_ELEMENT_U16_SETUP 0x000015ec -#define NVC0TCL_VB_ELEMENT_U16_SETUP_OFFSET_SHIFT 30 -#define NVC0TCL_VB_ELEMENT_U16_SETUP_OFFSET_MASK 0xc0000000 -#define NVC0TCL_VB_ELEMENT_U16_SETUP_COUNT_SHIFT 0 -#define NVC0TCL_VB_ELEMENT_U16_SETUP_COUNT_MASK 0x3fffffff -#define NVC0TCL_VB_ELEMENT_U16 0x000015f0 -#define NVC0TCL_VB_ELEMENT_U16_I0_SHIFT 0 -#define NVC0TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff -#define NVC0TCL_VB_ELEMENT_U16_I1_SHIFT 16 -#define NVC0TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000 -#define NVC0TCL_VERTEX_BASE_HIGH 0x000015f4 -#define NVC0TCL_VERTEX_BASE_LOW 0x000015f8 -#define NVC0TCL_CODE_ADDRESS_HIGH 0x00001608 -#define NVC0TCL_CODE_ADDRESS_LOW 0x0000160c -#define NVC0TCL_VERTEX_BEGIN 0x00001618 -#define NVC0TCL_VERTEX_BEGIN_MODE_SHIFT 0 -#define NVC0TCL_VERTEX_BEGIN_MODE_MASK 0x0000000f -#define NVC0TCL_VERTEX_BEGIN_MODE_POINTS 0x00000000 -#define NVC0TCL_VERTEX_BEGIN_MODE_LINES 0x00000001 -#define NVC0TCL_VERTEX_BEGIN_MODE_LINE_LOOP 0x00000002 -#define NVC0TCL_VERTEX_BEGIN_MODE_LINE_STRIP 0x00000003 -#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES 0x00000004 -#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_STRIP 0x00000005 -#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_FAN 0x00000006 -#define NVC0TCL_VERTEX_BEGIN_MODE_QUADS 0x00000007 -#define NVC0TCL_VERTEX_BEGIN_MODE_QUAD_STRIP 0x00000008 -#define NVC0TCL_VERTEX_BEGIN_MODE_POLYGON 0x00000009 -#define NVC0TCL_VERTEX_BEGIN_MODE_LINES_ADJACENCY 0x0000000a -#define NVC0TCL_VERTEX_BEGIN_MODE_LINE_STRIP_ADJACENCY 0x0000000b -#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES_ADJACENCY 0x0000000c -#define NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_STRIP_ADJACENCY 0x0000000d -#define NVC0TCL_VERTEX_BEGIN_MODE_PATCHES 0x0000000e -#define NVC0TCL_VERTEX_BEGIN_INSTANCE (1 << 26) -#define NVC0TCL_VERTEX_END 0x00001614 -#define NVC0TCL_VERTEX_DATA 0x00001640 -#define NVC0TCL_PRIM_RESTART_ENABLE 0x00001644 -#define NVC0TCL_PRIM_RESTART_INDEX 0x00001648 -#define NVC0TCL_POINT_SMOOTH_ENABLE 0x00001658 -#define NVC0TCL_POINT_SPRITE_CTRL 0x00001660 -#define NVC0TCL_LINE_STIPPLE_ENABLE 0x0000166c -#define NVC0TCL_LINE_STIPPLE_PATTERN 0x00001680 -#define NVC0TCL_PROVOKING_VERTEX_LAST 0x00001684 -#define NVC0TCL_VERTEX_TWO_SIDE_ENABLE 0x00001688 -#define NVC0TCL_POLYGON_STIPPLE_ENABLE 0x0000168c -#define NVC0TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001700+((x)*4)) -#define NVC0TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020 -#define NVC0TCL_UNK17BC_ADDRESS_HIGH 0x000017bc -#define NVC0TCL_UNK17BC_ADDRESS_LOW 0x000017c0 -#define NVC0TCL_UNK17BC_LIMIT 0x000017c4 -#define NVC0TCL_VP_POINT_SIZE_EN 0x00001910 -#define NVC0TCL_CULL_FACE_ENABLE 0x00001918 -#define NVC0TCL_FRONT_FACE 0x0000191c -#define NVC0TCL_FRONT_FACE_CW 0x00000900 -#define NVC0TCL_FRONT_FACE_CCW 0x00000901 -#define NVC0TCL_CULL_FACE 0x00001920 -#define NVC0TCL_CULL_FACE_FRONT 0x00000404 -#define NVC0TCL_CULL_FACE_BACK 0x00000405 -#define NVC0TCL_CULL_FACE_FRONT_AND_BACK 0x00000408 -#define NVC0TCL_VIEWPORT_TRANSFORM_EN 0x0000192c -#define NVC0TCL_VIEW_VOLUME_CLIP_CTRL 0x0000193c -#define NVC0TCL_VIEWPORT_CLIP_RECTS_EN 0x0000194c -#define NVC0TCL_VIEWPORT_CLIP_MODE 0x00001950 -#define NVC0TCL_VIEWPORT_CLIP_MODE_INCLUDE 0x00000000 -#define NVC0TCL_VIEWPORT_CLIP_MODE_EXCLUDE 0x00000001 -#define NVC0TCL_VIEWPORT_CLIP_MODE_UNKNOWN 0x00000002 -#define NVC0TCL_FP_ZORDER_CTRL 0x0000196c -#define NVC0TCL_CLIPID_ENABLE 0x0000197c -#define NVC0TCL_CLIPID_WIDTH 0x00001980 -#define NVC0TCL_CLIPID_ID 0x00001984 -#define NVC0TCL_REG_MODE 0x000019a0 -#define NVC0TCL_REG_MODE_PACKED 0x00000001 -#define NVC0TCL_REG_MODE_STRIPED 0x00000002 -#define NVC0TCL_FP_CONTROL 0x000019a8 -#define NVC0TCL_FP_CONTROL_MULTIPLE_RESULTS (1 << 0) -#define NVC0TCL_FP_CONTROL_EXPORTS_Z (1 << 8) -#define NVC0TCL_FP_CONTROL_USES_KIL (1 << 20) -#define NVC0TCL_DEPTH_BOUNDS_EN 0x000019bc -#define NVC0TCL_LOGIC_OP_ENABLE 0x000019c4 -#define NVC0TCL_LOGIC_OP 0x000019c8 -#define NVC0TCL_LOGIC_OP_CLEAR 0x00001500 -#define NVC0TCL_LOGIC_OP_AND 0x00001501 -#define NVC0TCL_LOGIC_OP_AND_REVERSE 0x00001502 -#define NVC0TCL_LOGIC_OP_COPY 0x00001503 -#define NVC0TCL_LOGIC_OP_AND_INVERTED 0x00001504 -#define NVC0TCL_LOGIC_OP_NOOP 0x00001505 -#define NVC0TCL_LOGIC_OP_XOR 0x00001506 -#define NVC0TCL_LOGIC_OP_OR 0x00001507 -#define NVC0TCL_LOGIC_OP_NOR 0x00001508 -#define NVC0TCL_LOGIC_OP_EQUIV 0x00001509 -#define NVC0TCL_LOGIC_OP_INVERT 0x0000150a -#define NVC0TCL_LOGIC_OP_OR_REVERSE 0x0000150b -#define NVC0TCL_LOGIC_OP_COPY_INVERTED 0x0000150c -#define NVC0TCL_LOGIC_OP_OR_INVERTED 0x0000150d -#define NVC0TCL_LOGIC_OP_NAND 0x0000150e -#define NVC0TCL_LOGIC_OP_SET 0x0000150f -#define NVC0TCL_CLEAR_BUFFERS 0x000019d0 -#define NVC0TCL_CLEAR_BUFFERS_Z (1 << 0) -#define NVC0TCL_CLEAR_BUFFERS_S (1 << 1) -#define NVC0TCL_CLEAR_BUFFERS_R (1 << 2) -#define NVC0TCL_CLEAR_BUFFERS_G (1 << 3) -#define NVC0TCL_CLEAR_BUFFERS_B (1 << 4) -#define NVC0TCL_CLEAR_BUFFERS_A (1 << 5) -#define NVC0TCL_CLEAR_BUFFERS_RT_SHIFT 6 -#define NVC0TCL_CLEAR_BUFFERS_RT_MASK 0x000003c0 -#define NVC0TCL_CLEAR_BUFFERS_LAYER_SHIFT 10 -#define NVC0TCL_CLEAR_BUFFERS_LAYER_MASK 0x0007fc00 -#define NVC0TCL_COLOR_MASK(x) (0x00001a00+((x)*4)) -#define NVC0TCL_COLOR_MASK__SIZE 0x00000008 -#define NVC0TCL_COLOR_MASK_R_SHIFT 0 -#define NVC0TCL_COLOR_MASK_R_MASK 0x0000000f -#define NVC0TCL_COLOR_MASK_G_SHIFT 4 -#define NVC0TCL_COLOR_MASK_G_MASK 0x000000f0 -#define NVC0TCL_COLOR_MASK_B_SHIFT 8 -#define NVC0TCL_COLOR_MASK_B_MASK 0x00000f00 -#define NVC0TCL_COLOR_MASK_A_SHIFT 12 -#define NVC0TCL_COLOR_MASK_A_MASK 0x0000f000 -#define NVC0TCL_QUERY_ADDRESS_HIGH 0x00001b00 -#define NVC0TCL_QUERY_ADDRESS_LOW 0x00001b04 -#define NVC0TCL_QUERY_SEQUENCE 0x00001b08 -#define NVC0TCL_QUERY_GET 0x00001b0c -#define NVC0TCL_VERTEX_ARRAY_FETCH(x) (0x00001c00+((x)*16)) -#define NVC0TCL_VERTEX_ARRAY_FETCH__SIZE 0x00000020 -#define NVC0TCL_VERTEX_ARRAY_FETCH_STRIDE_SHIFT 0 -#define NVC0TCL_VERTEX_ARRAY_FETCH_STRIDE_MASK 0x00000fff -#define NVC0TCL_VERTEX_ARRAY_FETCH_ENABLE (1 << 12) -#define NVC0TCL_BLEND_EQUATIONI_RGB(x) (0x00001e04+((x)*32)) -#define NVC0TCL_BLEND_EQUATIONI_RGB__SIZE 0x00000008 -#define NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_ADD 0x00008006 -#define NVC0TCL_BLEND_EQUATIONI_RGB_MIN 0x00008007 -#define NVC0TCL_BLEND_EQUATIONI_RGB_MAX 0x00008008 -#define NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_SUBTRACT 0x0000800a -#define NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b -#define NVC0TCL_BLEND_FUNCI_SRC_RGB(x) (0x00001e08+((x)*32)) -#define NVC0TCL_BLEND_FUNCI_SRC_RGB__SIZE 0x00000008 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_BLEND_FUNCI_DST_RGB(x) (0x00001e0c+((x)*32)) -#define NVC0TCL_BLEND_FUNCI_DST_RGB__SIZE 0x00000008 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_BLEND_EQUATIONI_ALPHA(x) (0x00001e10+((x)*32)) -#define NVC0TCL_BLEND_EQUATIONI_ALPHA__SIZE 0x00000008 -#define NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_ADD 0x00008006 -#define NVC0TCL_BLEND_EQUATIONI_ALPHA_MIN 0x00008007 -#define NVC0TCL_BLEND_EQUATIONI_ALPHA_MAX 0x00008008 -#define NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_SUBTRACT 0x0000800a -#define NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA(x) (0x00001e14+((x)*32)) -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA__SIZE 0x00000008 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA(x) (0x00001e18+((x)*32)) -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA__SIZE 0x00000008 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ZERO 0x00004000 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE 0x00004001 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_COLOR 0x00004300 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00004301 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_ALPHA 0x00004302 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00004303 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_DST_ALPHA 0x00004304 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00004305 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_DST_COLOR 0x00004306 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00004307 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_ALPHA_SATURATE 0x00004308 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_CONSTANT_COLOR 0x0000c001 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x0000c002 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_CONSTANT_ALPHA 0x0000c003 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC1_COLOR 0x0000c900 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC1_COLOR 0x0000c901 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC1_ALPHA 0x0000c902 -#define NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC1_ALPHA 0x0000c903 -#define NVC0TCL_SP_SELECT(x) (0x00002000+((x)*64)) -#define NVC0TCL_SP_SELECT__SIZE 0x00000006 -#define NVC0TCL_SP_SELECT_ENABLE (1 << 0) -#define NVC0TCL_SP_SELECT_PROGRAM_SHIFT 4 -#define NVC0TCL_SP_SELECT_PROGRAM_MASK 0x000000f0 -#define NVC0TCL_SP_START_ID(x) (0x00002004+((x)*64)) -#define NVC0TCL_SP_START_ID__SIZE 0x00000006 -#define NVC0TCL_SP_GPR_ALLOC(x) (0x0000200c+((x)*64)) -#define NVC0TCL_SP_GPR_ALLOC__SIZE 0x00000006 -#define NVC0TCL_CB_SIZE 0x00002380 -#define NVC0TCL_CB_BIND(x) (0x00002410+((x)*32)) -#define NVC0TCL_CB_BIND__SIZE 0x00000005 -#define NVC0TCL_CB_BIND_VALID (1 << 0) -#define NVC0TCL_CB_BIND_INDEX_SHIFT 4 -#define NVC0TCL_CB_BIND_INDEX_MASK 0x000000f0 -#define NVC0TCL_BIND_TIC(x) (0x00002404+((x)*32)) -#define NVC0TCL_BIND_TIC__SIZE 0x00000005 -#define NVC0TCL_BIND_TIC_ACTIVE (1 << 0) -#define NVC0TCL_BIND_TIC_TEXTURE_SHIFT 1 -#define NVC0TCL_BIND_TIC_TEXTURE_MASK 0x000001fe -#define NVC0TCL_BIND_TIC_TIC_SHIFT 9 -#define NVC0TCL_BIND_TIC_TIC_MASK 0x7ffffe00 -#define NVC0TCL_TEX_LIMITS(x) (0x00002200+((x)*16)) -#define NVC0TCL_TEX_LIMITS__SIZE 0x00000005 -#define NVC0TCL_TEX_LIMITS_SAMPLERS_LOG2_SHIFT 0 -#define NVC0TCL_TEX_LIMITS_SAMPLERS_LOG2_MASK 0x0000000f -#define NVC0TCL_TEX_LIMITS_TEXTURES_LOG2_SHIFT 4 -#define NVC0TCL_TEX_LIMITS_TEXTURES_LOG2_MASK 0x000000f0 -#define NVC0TCL_CB_ADDR_HIGH 0x00002384 -#define NVC0TCL_CB_ADDR_LOW 0x00002388 -#define NVC0TCL_CB_POS 0x0000238c -#define NVC0TCL_CB_DATA(x) (0x00002390+((x)*4)) -#define NVC0TCL_CB_DATA__SIZE 0x00000010 -#define NVC0TCL_TFB_VARYING_LOCS(x) (0x00002800+((x)*4)) -#define NVC0TCL_TFB_VARYING_LOCS__SIZE 0x00000080 -#define NVC0TCL_UNK_UPLOAD_POS 0x00003800 -#define NVC0TCL_UNK_UPLOAD_DATA 0x00003804 -#define NVC0TCL_VERTEX_ARRAY_SELECT 0x00003820 -#define NVC0TCL_VERTEX_ARRAY_ADDRESS 0x00003824 -#define NVC0TCL_BLEND_ENABLEI 0x00003858 -#define NVC0TCL_POLYGON_MODE_FRONT 0x00003868 -#define NVC0TCL_POLYGON_MODE_FRONT_POINT 0x00001b00 -#define NVC0TCL_POLYGON_MODE_FRONT_LINE 0x00001b01 -#define NVC0TCL_POLYGON_MODE_FRONT_FILL 0x00001b02 -#define NVC0TCL_POLYGON_MODE_BACK 0x00003870 -#define NVC0TCL_POLYGON_MODE_BACK_POINT 0x00001b00 -#define NVC0TCL_POLYGON_MODE_BACK_LINE 0x00001b01 -#define NVC0TCL_POLYGON_MODE_BACK_FILL 0x00001b02 -#define NVC0TCL_GP_SELECT 0x00003878 -#define NVC0TCL_GP_SELECT_ENABLE (1 << 0) -#define NVC0TCL_GP_SELECT_PROGRAM_SHIFT 4 -#define NVC0TCL_GP_SELECT_PROGRAM_MASK 0x000000f0 -#define NVC0TCL_TEP_SELECT 0x00003880 -#define NVC0TCL_TEP_SELECT_ENABLE (1 << 0) -#define NVC0TCL_TEP_SELECT_PROGRAM_SHIFT 4 -#define NVC0TCL_TEP_SELECT_PROGRAM_MASK 0x000000f0 - - -#define NVC0_COMPUTE 0x000090c0 - -#define NVC0_COMPUTE_NOP 0x00000100 -#define NVC0_COMPUTE_NOTIFY 0x00000104 -#define NVC0_COMPUTE_SERIALIZE 0x00000110 -#define NVC0_COMPUTE_LOCAL_SIZE 0x00000204 -#define NVC0_COMPUTE_SHARED_BASE 0x00000214 -#define NVC0_COMPUTE_GRIDDIM_YX 0x00000238 -#define NVC0_COMPUTE_GRIDDIM_YX_X_SHIFT 0 -#define NVC0_COMPUTE_GRIDDIM_YX_X_MASK 0x0000ffff -#define NVC0_COMPUTE_GRIDDIM_YX_Y_SHIFT 16 -#define NVC0_COMPUTE_GRIDDIM_YX_Y_MASK 0xffff0000 -#define NVC0_COMPUTE_GRIDDIM_Z 0x0000023c -#define NVC0_COMPUTE_SHARED_SIZE 0x0000024c -#define NVC0_COMPUTE_BLOCK_ALLOC 0x00000250 -#define NVC0_COMPUTE_BLOCK_ALLOC_THREADS_SHIFT 0 -#define NVC0_COMPUTE_BLOCK_ALLOC_THREADS_MASK 0x0000ffff -#define NVC0_COMPUTE_BLOCK_ALLOC_BARRIERS_SHIFT 16 -#define NVC0_COMPUTE_BLOCK_ALLOC_BARRIERS_MASK 0xffff0000 -#define NVC0_COMPUTE_CP_GPR_ALLOC 0x000002c0 -#define NVC0_COMPUTE_GLOBAL_BASE 0x000002c8 -#define NVC0_COMPUTE_GLOBAL_BASE_HIGH_SHIFT 0 -#define NVC0_COMPUTE_GLOBAL_BASE_HIGH_MASK 0x000000ff -#define NVC0_COMPUTE_GLOBAL_BASE_INDEX_SHIFT 16 -#define NVC0_COMPUTE_GLOBAL_BASE_INDEX_MASK 0x00ff0000 -#define NVC0_COMPUTE_GLOBAL_BASE_FLAGS_SHIFT 28 -#define NVC0_COMPUTE_GLOBAL_BASE_FLAGS_MASK 0xf0000000 -#define NVC0_COMPUTE_LAUNCH 0x00000368 -#define NVC0_COMPUTE_BLOCKDIM_YX 0x000003ac -#define NVC0_COMPUTE_BLOCKDIM_YX_X_SHIFT 0 -#define NVC0_COMPUTE_BLOCKDIM_YX_X_MASK 0x0000ffff -#define NVC0_COMPUTE_BLOCKDIM_YX_Y_SHIFT 16 -#define NVC0_COMPUTE_BLOCKDIM_YX_Y_MASK 0xffff0000 -#define NVC0_COMPUTE_BLOCKDIM_Z 0x000003b0 -#define NVC0_COMPUTE_CP_START_ID 0x000003b4 -#define NVC0_COMPUTE_LOCAL_BASE 0x0000077c -#define NVC0_COMPUTE_UNK0790_ADDRESS_HIGH 0x00000790 -#define NVC0_COMPUTE_UNK0790_ADDRESS_LOW 0x00000794 -#define NVC0_COMPUTE_LINKED_TSC 0x00001234 -#define NVC0_COMPUTE_TSC_ADDRESS_HIGH 0x0000155c -#define NVC0_COMPUTE_TSC_ADDRESS_LOW 0x00001560 -#define NVC0_COMPUTE_TSC_LIMIT 0x00001564 -#define NVC0_COMPUTE_TIC_ADDRESS_HIGH 0x00001574 -#define NVC0_COMPUTE_TIC_ADDRESS_LOW 0x00001578 -#define NVC0_COMPUTE_TIC_LIMIT 0x0000157c -#define NVC0_COMPUTE_CODE_ADDRESS_HIGH 0x00001608 -#define NVC0_COMPUTE_CODE_ADDRESS_LOW 0x0000160c -#define NVC0_COMPUTE_CB_BIND 0x00001694 -#define NVC0_COMPUTE_CB_BIND_INDEX_SHIFT 1 -#define NVC0_COMPUTE_CB_BIND_INDEX_MASK 0xfffffffe -#define NVC0_COMPUTE_CB_BIND_VALID (1 << 0) -#define NVC0_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00 -#define NVC0_COMPUTE_QUERY_ADDRESS_LOW 0x00001b04 -#define NVC0_COMPUTE_QUERY_SEQUENCE 0x00001b08 -#define NVC0_COMPUTE_QUERY_GET 0x00001b0c -#define NVC0_COMPUTE_CB_ADDRESS_HIGH 0x00002384 -#define NVC0_COMPUTE_CB_ADDRESS_LOW 0x00002388 -#define NVC0_COMPUTE_CB_POS 0x0000238c -#define NVC0_COMPUTE_CB_DATA 0x00002390 +#include "nv_object.xml.h" +#include "nv_3ddefs.xml.h" +#include "nvc0_m2mf.xml.h" +#include "nvc0_3d.xml.h" +#include "nv50_defs.xml.h" #endif /* NOUVEAU_REG_H */ diff --git a/src/nv50_defs.xml.h b/src/nv50_defs.xml.h new file mode 100644 index 0000000..88eca54 --- /dev/null +++ b/src/nv50_defs.xml.h @@ -0,0 +1,144 @@ +#ifndef NV50_DEFS_XML +#define NV50_DEFS_XML + +/* Autogenerated file, DO NOT EDIT manually! + +This file was generated by the rules-ng-ng headergen tool in this git repository: +http://0x04.net/cgit/index.cgi/rules-ng-ng +git clone git://0x04.net/rules-ng-ng + +The rules-ng-ng source files this header was generated from are: +- nv50_defs.xml ( 4487 bytes, from 2010-12-15 16:39:58) +- copyright.xml ( 6452 bytes, from 2010-11-19 01:08:12) + +Copyright (C) 2006-2010 by the following authors: +- Artur Huillet <arthur.huillet@free.fr> (ahuillet) +- Ben Skeggs (darktama, darktama_) +- B. R. <koala_br@users.sourceforge.net> (koala_br) +- Carlos Martin <carlosmn@users.sf.net> (carlosmn) +- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr) +- Dawid Gajownik <gajownik@users.sf.net> (gajownik) +- Dmitry Baryshkov +- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag) +- EdB <edb_@users.sf.net> (edb_) +- Erik Waling <erikwailing@users.sf.net> (erikwaling) +- Francisco Jerez <currojerez@riseup.net> (curro) +- imirkin <imirkin@users.sf.net> (imirkin) +- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome) +- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy) +- Laurent Carlier <lordheavym@gmail.com> (lordheavy) +- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1) +- Maarten Maathuis <madman2003@gmail.com> (stillunknown) +- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin) +- Mark Carey <mark.carey@gmail.com> (careym) +- Matthieu Castet <matthieu.castet@parrot.com> (mat-c) +- nvidiaman <nvidiaman@users.sf.net> (nvidiaman) +- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) +- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) +- Peter Popov <ironpeter@users.sf.net> (ironpeter) +- Richard Hughes <hughsient@users.sf.net> (hughsient) +- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar) +- Serge Martin +- Simon Raffeiner +- Stephane Loeuillet <leroutier@users.sf.net> (leroutier) +- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu) +- sturmflut <sturmflut@users.sf.net> (sturmflut) +- Sylvain Munaut <tnt@246tNt.com> +- Victor Stinner <victor.stinner@haypocalc.com> (haypo) +- Wladmir van der Laan <laanwj@gmail.com> (miathan6) +- Younes Manton <younes.m@gmail.com> (ymanton) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + + +#define NV50_SURFACE_FORMAT_R32G32B32A32_FLOAT 0x000000c0 +#define NV50_SURFACE_FORMAT_R32G32B32A32_SINT 0x000000c1 +#define NV50_SURFACE_FORMAT_R32G32B32A32_UINT 0x000000c2 +#define NV50_SURFACE_FORMAT_R32G32B32X32_FLOAT 0x000000c3 +#define NV50_SURFACE_FORMAT_R32G32B32X32_SINT 0x000000c4 +#define NV50_SURFACE_FORMAT_R32G32B32X32_UINT 0x000000c5 +#define NV50_SURFACE_FORMAT_R16G16B16A16_UNORM 0x000000c6 +#define NV50_SURFACE_FORMAT_R16G16B16A16_SNORM 0x000000c7 +#define NV50_SURFACE_FORMAT_R16G16B16A16_SINT 0x000000c8 +#define NV50_SURFACE_FORMAT_R16G16B16A16_UINT 0x000000c9 +#define NV50_SURFACE_FORMAT_R16G16B16A16_FLOAT 0x000000ca +#define NV50_SURFACE_FORMAT_R32G32_FLOAT 0x000000cb +#define NV50_SURFACE_FORMAT_R32G32_SINT 0x000000cc +#define NV50_SURFACE_FORMAT_R32G32_UINT 0x000000cd +#define NV50_SURFACE_FORMAT_R16G16B16X16_FLOAT 0x000000ce +#define NV50_SURFACE_FORMAT_A8R8G8B8_UNORM 0x000000cf +#define NV50_SURFACE_FORMAT_A8R8G8B8_SRGB 0x000000d0 +#define NV50_SURFACE_FORMAT_A2B10G10R10_UNORM 0x000000d1 +#define NV50_SURFACE_FORMAT_A2B10G10R10_UINT 0x000000d2 +#define NV50_SURFACE_FORMAT_A8B8G8R8_UNORM 0x000000d5 +#define NV50_SURFACE_FORMAT_A8B8G8R8_SRGB 0x000000d6 +#define NV50_SURFACE_FORMAT_A8B8G8R8_SNORM 0x000000d7 +#define NV50_SURFACE_FORMAT_A8B8G8R8_SINT 0x000000d8 +#define NV50_SURFACE_FORMAT_A8B8G8R8_UINT 0x000000d9 +#define NV50_SURFACE_FORMAT_R16G16_UNORM 0x000000da +#define NV50_SURFACE_FORMAT_R16G16_SNORM 0x000000db +#define NV50_SURFACE_FORMAT_R16G16_SINT 0x000000dc +#define NV50_SURFACE_FORMAT_R16G16_UINT 0x000000dd +#define NV50_SURFACE_FORMAT_R16G16_FLOAT 0x000000de +#define NV50_SURFACE_FORMAT_A2R10G10B10_UNORM 0x000000df +#define NV50_SURFACE_FORMAT_B10G11R11_FLOAT 0x000000e0 +#define NV50_SURFACE_FORMAT_R32_FLOAT 0x000000e5 +#define NV50_SURFACE_FORMAT_X8R8G8B8_UNORM 0x000000e6 +#define NV50_SURFACE_FORMAT_X8R8G8B8_SRGB 0x000000e7 +#define NV50_SURFACE_FORMAT_R5G6B5_UNORM 0x000000e8 +#define NV50_SURFACE_FORMAT_A1R5G5B5_UNORM 0x000000e9 +#define NV50_SURFACE_FORMAT_R8G8_UNORM 0x000000ea +#define NV50_SURFACE_FORMAT_R8G8_SNORM 0x000000eb +#define NV50_SURFACE_FORMAT_R8G8_SINT 0x000000ec +#define NV50_SURFACE_FORMAT_R8G8_UINT 0x000000ed +#define NV50_SURFACE_FORMAT_R16_UNORM 0x000000ee +#define NV50_SURFACE_FORMAT_R16_SNORM 0x000000ef +#define NV50_SURFACE_FORMAT_R16_SINT 0x000000f0 +#define NV50_SURFACE_FORMAT_R16_UINT 0x000000f1 +#define NV50_SURFACE_FORMAT_R16_FLOAT 0x000000f2 +#define NV50_SURFACE_FORMAT_R8_UNORM 0x000000f3 +#define NV50_SURFACE_FORMAT_R8_SNORM 0x000000f4 +#define NV50_SURFACE_FORMAT_R8_SINT 0x000000f5 +#define NV50_SURFACE_FORMAT_R8_UINT 0x000000f6 +#define NV50_SURFACE_FORMAT_A8_UNORM 0x000000f7 +#define NV50_SURFACE_FORMAT_X1R5G5B5_UNORM 0x000000f8 +#define NV50_SURFACE_FORMAT_X8B8G8R8_UNORM 0x000000f9 +#define NV50_SURFACE_FORMAT_X8B8G8R8_SRGB 0x000000fa +#define NV50_ZETA_FORMAT_Z32_FLOAT 0x0000000a +#define NV50_ZETA_FORMAT_Z16_UNORM 0x00000013 +#define NV50_ZETA_FORMAT_Z24S8_UNORM 0x00000014 +#define NV50_ZETA_FORMAT_X8Z24_UNORM 0x00000015 +#define NV50_ZETA_FORMAT_S8Z24_UNORM 0x00000016 +#define NV50_ZETA_FORMAT_C8Z24_UNORM 0x00000018 +#define NV50_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM 0x00000019 +#define NV50_ZETA_FORMAT_X16C8S8X8Z24_UNORM 0x0000001d +#define NV50_ZETA_FORMAT_Z32_FLOAT_X16C8X8_UNORM 0x0000001e +#define NV50_ZETA_FORMAT_Z32_FLOAT_X16C8S8_UNORM 0x0000001f +#define NV50_QUERY__SIZE 0x00000010 +#define NV50_QUERY_COUNTER 0x00000000 + +#define NV50_QUERY_RES 0x00000004 + +#define NV50_QUERY_TIME 0x00000008 + + +#endif /* NV50_DEFS_XML */ diff --git a/src/nv_3ddefs.xml.h b/src/nv_3ddefs.xml.h new file mode 100644 index 0000000..04cd11e --- /dev/null +++ b/src/nv_3ddefs.xml.h @@ -0,0 +1,93 @@ +#ifndef NV_3DDEFS_XML +#define NV_3DDEFS_XML + +/* Autogenerated file, DO NOT EDIT manually! + +This file was generated by the rules-ng-ng headergen tool in this git repository: +http://0x04.net/cgit/index.cgi/rules-ng-ng +git clone git://0x04.net/rules-ng-ng + +The rules-ng-ng source files this header was generated from are: +- nv_3ddefs.xml ( 16394 bytes, from 2010-12-15 23:45:18) +- copyright.xml ( 6452 bytes, from 2010-12-15 23:45:18) + +Copyright (C) 2006-2010 by the following authors: +- Artur Huillet <arthur.huillet@free.fr> (ahuillet) +- Ben Skeggs (darktama, darktama_) +- B. R. <koala_br@users.sourceforge.net> (koala_br) +- Carlos Martin <carlosmn@users.sf.net> (carlosmn) +- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr) +- Dawid Gajownik <gajownik@users.sf.net> (gajownik) +- Dmitry Baryshkov +- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag) +- EdB <edb_@users.sf.net> (edb_) +- Erik Waling <erikwailing@users.sf.net> (erikwaling) +- Francisco Jerez <currojerez@riseup.net> (curro) +- imirkin <imirkin@users.sf.net> (imirkin) +- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome) +- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy) +- Laurent Carlier <lordheavym@gmail.com> (lordheavy) +- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1) +- Maarten Maathuis <madman2003@gmail.com> (stillunknown) +- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin) +- Mark Carey <mark.carey@gmail.com> (careym) +- Matthieu Castet <matthieu.castet@parrot.com> (mat-c) +- nvidiaman <nvidiaman@users.sf.net> (nvidiaman) +- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) +- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) +- Peter Popov <ironpeter@users.sf.net> (ironpeter) +- Richard Hughes <hughsient@users.sf.net> (hughsient) +- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar) +- Serge Martin +- Simon Raffeiner +- Stephane Loeuillet <leroutier@users.sf.net> (leroutier) +- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu) +- sturmflut <sturmflut@users.sf.net> (sturmflut) +- Sylvain Munaut <tnt@246tNt.com> +- Victor Stinner <victor.stinner@haypocalc.com> (haypo) +- Wladmir van der Laan <laanwj@gmail.com> (miathan6) +- Younes Manton <younes.m@gmail.com> (ymanton) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + + +#define NV50_BLEND_FACTOR_ZERO 0x00004000 +#define NV50_BLEND_FACTOR_ONE 0x00004001 +#define NV50_BLEND_FACTOR_SRC_COLOR 0x00004300 +#define NV50_BLEND_FACTOR_ONE_MINUS_SRC_COLOR 0x00004301 +#define NV50_BLEND_FACTOR_SRC_ALPHA 0x00004302 +#define NV50_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA 0x00004303 +#define NV50_BLEND_FACTOR_DST_ALPHA 0x00004304 +#define NV50_BLEND_FACTOR_ONE_MINUS_DST_ALPHA 0x00004305 +#define NV50_BLEND_FACTOR_DST_COLOR 0x00004306 +#define NV50_BLEND_FACTOR_ONE_MINUS_DST_COLOR 0x00004307 +#define NV50_BLEND_FACTOR_SRC_ALPHA_SATURATE 0x00004308 +#define NV50_BLEND_FACTOR_CONSTANT_COLOR 0x0000c001 +#define NV50_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR 0x0000c002 +#define NV50_BLEND_FACTOR_CONSTANT_ALPHA 0x0000c003 +#define NV50_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA 0x0000c004 +#define NV50_BLEND_FACTOR_SRC1_COLOR 0x0000c900 +#define NV50_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR 0x0000c901 +#define NV50_BLEND_FACTOR_SRC1_ALPHA 0x0000c902 +#define NV50_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA 0x0000c903 + +#endif /* NV_3DDEFS_XML */ diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c index be233ed..57ecd81 100644 --- a/src/nv_accel_common.c +++ b/src/nv_accel_common.c @@ -644,7 +644,7 @@ NVAccelCommonInit(ScrnInfoPtr pScrn) /* 3D init */ switch (pNv->Architecture) { case NV_ARCH_C0: - INIT_CONTEXT_OBJECT(NVC0TCL); + INIT_CONTEXT_OBJECT(3D_NVC0); break; case NV_ARCH_50: INIT_CONTEXT_OBJECT(NV50TCL); diff --git a/src/nv_object.xml.h b/src/nv_object.xml.h new file mode 100644 index 0000000..af1096b --- /dev/null +++ b/src/nv_object.xml.h @@ -0,0 +1,246 @@ +#ifndef NV_OBJECT_XML +#define NV_OBJECT_XML + +/* Autogenerated file, DO NOT EDIT manually! + +This file was generated by the rules-ng-ng headergen tool in this git repository: +http://0x04.net/cgit/index.cgi/rules-ng-ng +git clone git://0x04.net/rules-ng-ng + +The rules-ng-ng source files this header was generated from are: +- nv_object.xml ( 11092 bytes, from 2010-12-15 23:45:18) +- copyright.xml ( 6452 bytes, from 2010-12-15 23:45:18) +- nvchipsets.xml ( 3074 bytes, from 2010-12-15 23:45:18) +- nv_defs.xml ( 4437 bytes, from 2010-12-15 23:45:18) + +Copyright (C) 2006-2010 by the following authors: +- Artur Huillet <arthur.huillet@free.fr> (ahuillet) +- Ben Skeggs (darktama, darktama_) +- B. R. <koala_br@users.sourceforge.net> (koala_br) +- Carlos Martin <carlosmn@users.sf.net> (carlosmn) +- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr) +- Dawid Gajownik <gajownik@users.sf.net> (gajownik) +- Dmitry Baryshkov +- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag) +- EdB <edb_@users.sf.net> (edb_) +- Erik Waling <erikwailing@users.sf.net> (erikwaling) +- Francisco Jerez <currojerez@riseup.net> (curro) +- imirkin <imirkin@users.sf.net> (imirkin) +- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome) +- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy) +- Laurent Carlier <lordheavym@gmail.com> (lordheavy) +- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1) +- Maarten Maathuis <madman2003@gmail.com> (stillunknown) +- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin) +- Mark Carey <mark.carey@gmail.com> (careym) +- Matthieu Castet <matthieu.castet@parrot.com> (mat-c) +- nvidiaman <nvidiaman@users.sf.net> (nvidiaman) +- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) +- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) +- Peter Popov <ironpeter@users.sf.net> (ironpeter) +- Richard Hughes <hughsient@users.sf.net> (hughsient) +- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar) +- Serge Martin +- Simon Raffeiner +- Stephane Loeuillet <leroutier@users.sf.net> (leroutier) +- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu) +- sturmflut <sturmflut@users.sf.net> (sturmflut) +- Sylvain Munaut <tnt@246tNt.com> +- Victor Stinner <victor.stinner@haypocalc.com> (haypo) +- Wladmir van der Laan <laanwj@gmail.com> (miathan6) +- Younes Manton <younes.m@gmail.com> (ymanton) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + + +#define NV01_ROOT 0x00000001 +#define NV01_CONTEXT_DMA 0x00000002 +#define NV01_DEVICE 0x00000003 +#define NV01_TIMER 0x00000004 +#define NV01_NULL 0x00000030 +#define NV01_MEMORY_LOCAL_BANKED 0x0000003d +#define NV01_MAPPING_SYSTEM 0x0000003e +#define NV03_MEMORY_LOCAL_CURSOR 0x0000003f +#define NV01_MEMORY_LOCAL_LINEAR 0x00000040 +#define NV01_MAPPING_LOCAL 0x00000041 +#define NV03_VIDEO_LUT_CURSOR_DAC 0x00000046 +#define NV03_CHANNEL_PIO 0x0000006a +#define NV03_CHANNEL_DMA 0x0000006b +#define NV10_VIDEO_DISPLAY 0x0000007c +#define NV01_CONTEXT_BETA1 0x00000012 +#define NV04_BETA_SOLID 0x00000072 +#define NV01_CONTEXT_COLOR_KEY 0x00000017 +#define NV04_CONTEXT_COLOR_KEY 0x00000057 +#define NV01_CONTEXT_PATTERN 0x00000018 +#define NV01_CONTEXT_CLIP_RECTANGLE 0x00000019 +#define NV03_CONTEXT_ROP 0x00000043 +#define NV04_IMAGE_PATTERN 0x00000044 +#define NV01_RENDER_SOLID_LINE 0x0000001c +#define NV04_RENDER_SOLID_LINE 0x0000005c +#define NV30_RENDER_SOLID_LINE 0x0000035c +#define NV40_RENDER_SOLID_LINE 0x0000305c +#define NV01_RENDER_SOLID_TRIANGLE 0x0000001d +#define NV04_RENDER_SOLID_TRIANGLE 0x0000005d +#define NV01_RENDER_SOLID_RECTANGLE 0x0000001e +#define NV04_RENDER_SOLID_RECTANGLE 0x0000005e +#define NV01_IMAGE_BLIT 0x0000001f +#define NV04_IMAGE_BLIT 0x0000005f +#define NV11_IMAGE_BLIT 0x0000009f +#define NV01_IMAGE_FROM_CPU 0x00000021 +#define NV04_IMAGE_FROM_CPU 0x00000061 +#define NV05_IMAGE_FROM_CPU 0x00000065 +#define NV10_IMAGE_FROM_CPU 0x0000008a +#define NV30_IMAGE_FROM_CPU 0x0000038a +#define NV40_IMAGE_FROM_CPU 0x0000308a +#define NV03_STRETCHED_IMAGE_FROM_CPU 0x00000036 +#define NV04_STRETCHED_IMAGE_FROM_CPU 0x00000076 +#define NV05_STRETCHED_IMAGE_FROM_CPU 0x00000066 +#define NV30_STRETCHED_IMAGE_FROM_CPU 0x00000366 +#define NV40_STRETCHED_IMAGE_FROM_CPU 0x00003066 +#define NV03_SCALED_IMAGE_FROM_MEMORY 0x00000037 +#define NV04_SCALED_IMAGE_FROM_MEMORY 0x00000077 +#define NV05_SCALED_IMAGE_FROM_MEMORY 0x00000063 +#define NV10_SCALED_IMAGE_FROM_MEMORY 0x00000089 +#define NV30_SCALED_IMAGE_FROM_MEMORY 0x00000389 +#define NV40_SCALED_IMAGE_FROM_MEMORY 0x00003089 +#define NV50_SCALED_IMAGE_FROM_MEMORY 0x00005089 +#define NV04_DVD_SUBPICTURE 0x00000038 +#define NV10_DVD_SUBPICTURE 0x00000088 +#define NV03_GDI_RECTANGLE_TEXT 0x0000004b +#define NV04_GDI_RECTANGLE_TEXT 0x0000004a +#define NV04_SWIZZLED_SURFACE 0x00000052 +#define NV20_SWIZZLED_SURFACE 0x0000009e +#define NV30_SWIZZLED_SURFACE 0x0000039e +#define NV40_SWIZZLED_SURFACE 0x0000309e +#define NV03_CONTEXT_SURFACE_DST 0x00000058 +#define NV03_CONTEXT_SURFACE_SRC 0x00000059 +#define NV04_CONTEXT_SURFACES_2D 0x00000042 +#define NV10_CONTEXT_SURFACES_2D 0x00000062 +#define NV30_CONTEXT_SURFACES_2D 0x00000362 +#define NV40_CONTEXT_SURFACES_2D 0x00003062 +#define NV50_CONTEXT_SURFACES_2D 0x00005062 +#define NV04_INDEXED_IMAGE_FROM_CPU 0x00000060 +#define NV05_INDEXED_IMAGE_FROM_CPU 0x00000064 +#define NV30_INDEXED_IMAGE_FROM_CPU 0x00000364 +#define NV40_INDEXED_IMAGE_FROM_CPU 0x00003064 +#define NV10_TEXTURE_FROM_CPU 0x0000007b +#define NV30_TEXTURE_FROM_CPU 0x0000037b +#define NV40_TEXTURE_FROM_CPU 0x0000307b +#define NV04_M2MF 0x00000039 +#define NV50_M2MF 0x00005039 +#define NVC0_M2MF 0x00009039 +#define NV03_TEXTURED_TRIANGLE 0x00000048 +#define NV04_TEXTURED_TRIANGLE 0x00000054 +#define NV10_TEXTURED_TRIANGLE 0x00000094 +#define NV04_MULTITEX_TRIANGLE 0x00000055 +#define NV10_MULTITEX_TRIANGLE 0x00000095 +#define NV03_CONTEXT_SURFACE_COLOR 0x0000005a +#define NV03_CONTEXT_SURFACE_ZETA 0x0000005b +#define NV04_CONTEXT_SURFACES_3D 0x00000053 +#define NV10_CONTEXT_SURFACES_3D 0x00000093 +#define NV10_3D 0x00000056 +#define NV11_3D 0x00000096 +#define NV17_3D 0x00000099 +#define NV20_3D 0x00000097 +#define NV25_3D 0x00000597 +#define NV30_3D 0x00000397 +#define NV35_3D 0x00000497 +#define NV34_3D 0x00000697 +#define NV40_3D 0x00004097 +#define NV44_3D 0x00004497 +#define NV50_3D 0x00005097 +#define NV84_3D 0x00008297 +#define NVA0_3D 0x00008397 +#define NVA3_3D 0x00008597 +#define NVAF_3D 0x00008697 +#define NVC0_3D 0x00009097 +#define NV50_2D 0x0000502d +#define NVC0_2D 0x0000902d +#define NV50_COMPUTE 0x000050c0 +#define NVA3_COMPUTE 0x000085c0 +#define NVC0_COMPUTE 0x000090c0 +#define NV84_CRYPT 0x000074c1 +#define NV01_SUBCHAN__SIZE 0x00008000 +#define NV01_SUBCHAN 0x00000000 + +#define NV01_SUBCHAN_OBJECT 0x00000000 + + +#define NV84_SUBCHAN_QUERY_ADDRESS_HIGH 0x00000010 + +#define NV84_SUBCHAN_QUERY_ADDRESS_LOW 0x00000014 + +#define NV84_SUBCHAN_QUERY_SEQUENCE 0x00000018 + +#define NV84_SUBCHAN_QUERY_GET 0x0000001c + +#define NV84_SUBCHAN_QUERY_INTR 0x00000020 + +#define NV84_SUBCHAN_WRCACHE_FLUSH 0x00000024 + +#define NV10_SUBCHAN_REF_CNT 0x00000050 + + +#define NV11_SUBCHAN_DMA_SEMAPHORE 0x00000060 + +#define NV11_SUBCHAN_SEMAPHORE_OFFSET 0x00000064 + +#define NV11_SUBCHAN_SEMAPHORE_ACQUIRE 0x00000068 + +#define NV11_SUBCHAN_SEMAPHORE_RELEASE 0x0000006c + +#define NV40_SUBCHAN_YIELD 0x00000080 + +#define NV01_GRAPH 0x00000000 + +#define NV04_GRAPH_NOP 0x00000100 + +#define NV04_GRAPH_NOTIFY 0x00000104 +#define NV04_GRAPH_NOTIFY_WRITE 0x00000000 +#define NV04_GRAPH_NOTIFY_WRITE_AND_AWAKEN 0x00000001 + +#define NVC0_GRAPH_NOTIFY_ADDRESS_HIGH 0x00000104 + +#define NVC0_GRAPH_NOTIFY_ADDRESS_LOW 0x00000108 + +#define NVC0_GRAPH_NOTIFY 0x0000010c +#define NVC0_GRAPH_NOTIFY_WRITE 0x00000000 +#define NVC0_GRAPH_NOTIFY_WRITE_AND_AWAKEN 0x00000001 + +#define NV50_GRAPH_WAIT_FOR_IDLE 0x00000110 + +#define NVC0_GRAPH_MACRO_UPLOAD_POS 0x00000114 + +#define NVC0_GRAPH_MACRO_UPLOAD_DATA 0x00000118 + +#define NVC0_GRAPH_MACRO_ID 0x0000011c + +#define NVC0_GRAPH_MACRO_POS 0x00000120 + +#define NVA3_GRAPH_UNK0120 0x00000120 + +#define NVA3_GRAPH_UNK0124 0x00000124 + +#define NV40_GRAPH_PM_TRIGGER 0x00000140 + + +#endif /* NV_OBJECT_XML */ diff --git a/src/nv_proto.h b/src/nv_proto.h index 4df559e..5eebf29 100644 --- a/src/nv_proto.h +++ b/src/nv_proto.h @@ -136,9 +136,9 @@ void NV50SyncToVBlank(PixmapPtr ppix, BoxPtr box); Bool NVAccelInitNV50TCL(ScrnInfoPtr pScrn); /* in nvc0_accel.c */ -Bool NVAccelInitNVC0TCL(ScrnInfoPtr pScrn); Bool NVAccelInitM2MF_NVC0(ScrnInfoPtr pScrn); Bool NVAccelInit2D_NVC0(ScrnInfoPtr pScrn); +Bool NVAccelInit3D_NVC0(ScrnInfoPtr pScrn); /* in nv50_exa.c */ Bool NV50EXAPrepareSolid(PixmapPtr, int, Pixel, Pixel); diff --git a/src/nvc0_3d.xml.h b/src/nvc0_3d.xml.h new file mode 100644 index 0000000..f170d71 --- /dev/null +++ b/src/nvc0_3d.xml.h @@ -0,0 +1,1093 @@ +#ifndef NVC0_3D_XML +#define NVC0_3D_XML + +/* Autogenerated file, DO NOT EDIT manually! + +This file was generated by the rules-ng-ng headergen tool in this git repository: +http://0x04.net/cgit/index.cgi/rules-ng-ng +git clone git://0x04.net/rules-ng-ng + +The rules-ng-ng source files this header was generated from are: +- nvc0_3d.xml ( 28127 bytes, from 2010-12-15 16:39:58) +- copyright.xml ( 6452 bytes, from 2010-11-19 01:08:12) +- nv_defs.xml ( 4437 bytes, from 2010-07-24 13:13:40) +- nv_3ddefs.xml ( 16394 bytes, from 2010-10-11 14:37:46) +- nv_object.xml ( 11547 bytes, from 2010-11-19 01:08:12) +- nvchipsets.xml ( 3074 bytes, from 2010-11-19 01:08:12) +- nv50_defs.xml ( 4487 bytes, from 2010-12-15 16:39:58) + +Copyright (C) 2006-2010 by the following authors: +- Artur Huillet <arthur.huillet@free.fr> (ahuillet) +- Ben Skeggs (darktama, darktama_) +- B. R. <koala_br@users.sourceforge.net> (koala_br) +- Carlos Martin <carlosmn@users.sf.net> (carlosmn) +- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr) +- Dawid Gajownik <gajownik@users.sf.net> (gajownik) +- Dmitry Baryshkov +- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag) +- EdB <edb_@users.sf.net> (edb_) +- Erik Waling <erikwailing@users.sf.net> (erikwaling) +- Francisco Jerez <currojerez@riseup.net> (curro) +- imirkin <imirkin@users.sf.net> (imirkin) +- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome) +- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy) +- Laurent Carlier <lordheavym@gmail.com> (lordheavy) +- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1) +- Maarten Maathuis <madman2003@gmail.com> (stillunknown) +- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin) +- Mark Carey <mark.carey@gmail.com> (careym) +- Matthieu Castet <matthieu.castet@parrot.com> (mat-c) +- nvidiaman <nvidiaman@users.sf.net> (nvidiaman) +- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) +- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) +- Peter Popov <ironpeter@users.sf.net> (ironpeter) +- Richard Hughes <hughsient@users.sf.net> (hughsient) +- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar) +- Serge Martin +- Simon Raffeiner +- Stephane Loeuillet <leroutier@users.sf.net> (leroutier) +- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu) +- sturmflut <sturmflut@users.sf.net> (sturmflut) +- Sylvain Munaut <tnt@246tNt.com> +- Victor Stinner <victor.stinner@haypocalc.com> (haypo) +- Wladmir van der Laan <laanwj@gmail.com> (miathan6) +- Younes Manton <younes.m@gmail.com> (ymanton) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + + + +#define NVC0_3D_EARLY_FRAGMENT_TESTS 0x00000210 + +#define NVC0_3D_TESS_MODE 0x00000320 +#define NVC0_3D_TESS_MODE_PRIM__MASK 0x0000000f +#define NVC0_3D_TESS_MODE_PRIM__SHIFT 0 +#define NVC0_3D_TESS_MODE_PRIM_ISOLINES 0x00000000 +#define NVC0_3D_TESS_MODE_PRIM_TRIANGLES 0x00000001 +#define NVC0_3D_TESS_MODE_PRIM_QUADS 0x00000002 +#define NVC0_3D_TESS_MODE_SPACING__MASK 0x000000f0 +#define NVC0_3D_TESS_MODE_SPACING__SHIFT 4 +#define NVC0_3D_TESS_MODE_SPACING_EQUAL 0x00000000 +#define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_ODD 0x00000010 +#define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_EVEN 0x00000020 +#define NVC0_3D_TESS_MODE_CW 0x00000100 +#define NVC0_3D_TESS_MODE_CONNECTED 0x00000200 + +#define NVC0_3D_TESS_LEVEL_OUTER(i0) (0x00000324 + 0x4*(i0)) +#define NVC0_3D_TESS_LEVEL_OUTER__ESIZE 0x00000004 +#define NVC0_3D_TESS_LEVEL_OUTER__LEN 0x00000004 + +#define NVC0_3D_TESS_LEVEL_INNER(i0) (0x00000334 + 0x4*(i0)) +#define NVC0_3D_TESS_LEVEL_INNER__ESIZE 0x00000004 +#define NVC0_3D_TESS_LEVEL_INNER__LEN 0x00000002 + +#define NVC0_3D_RASTERIZE_ENABLE 0x0000037c + +#define NVC0_3D_TFB(i0) (0x00000380 + 0x20*(i0)) +#define NVC0_3D_TFB__ESIZE 0x00000020 +#define NVC0_3D_TFB__LEN 0x00000004 + +#define NVC0_3D_TFB_BUFFER_ENABLE(i0) (0x00000380 + 0x20*(i0)) + +#define NVC0_3D_TFB_ADDRESS_HIGH(i0) (0x00000384 + 0x20*(i0)) + +#define NVC0_3D_TFB_ADDRESS_LOW(i0) (0x00000388 + 0x20*(i0)) + +#define NVC0_3D_TFB_BUFFER_SIZE(i0) (0x0000038c + 0x20*(i0)) + +#define NVC0_3D_TFB_PRIMITIVE_ID(i0) (0x00000390 + 0x20*(i0)) + +#define NVC0_3D_TFB_UNK0700(i0) (0x00000700 + 0x10*(i0)) + +#define NVC0_3D_TFB_VARYING_COUNT(i0) (0x00000704 + 0x10*(i0)) + +#define NVC0_3D_TFB_BUFFER_STRIDE(i0) (0x00000708 + 0x10*(i0)) + +#define NVC0_3D_TFB_ENABLE 0x00000744 + +#define NVC0_3D_LOCAL_BASE 0x0000077c + +#define NVC0_3D_LOCAL_ADDRESS_HIGH 0x00000790 + +#define NVC0_3D_LOCAL_ADDRESS_LOW 0x00000794 + +#define NVC0_3D_LOCAL_SIZE_HIGH 0x00000798 + +#define NVC0_3D_LOCAL_SIZE_LOW 0x0000079c + +#define NVC0_3D_RT(i0) (0x00000800 + 0x20*(i0)) +#define NVC0_3D_RT__ESIZE 0x00000020 +#define NVC0_3D_RT__LEN 0x00000008 + +#define NVC0_3D_RT_ADDRESS_HIGH(i0) (0x00000800 + 0x20*(i0)) + +#define NVC0_3D_RT_ADDRESS_LOW(i0) (0x00000804 + 0x20*(i0)) + +#define NVC0_3D_RT_HORIZ(i0) (0x00000808 + 0x20*(i0)) + +#define NVC0_3D_RT_VERT(i0) (0x0000080c + 0x20*(i0)) + +#define NVC0_3D_RT_FORMAT(i0) (0x00000810 + 0x20*(i0)) + +#define NVC0_3D_RT_TILE_MODE(i0) (0x00000814 + 0x20*(i0)) +#define NVC0_3D_RT_TILE_MODE_UNK0 0x00000001 +#define NVC0_3D_RT_TILE_MODE_Y__MASK 0x00000070 +#define NVC0_3D_RT_TILE_MODE_Y__SHIFT 4 +#define NVC0_3D_RT_TILE_MODE_Z__MASK 0x00000700 +#define NVC0_3D_RT_TILE_MODE_Z__SHIFT 8 + +#define NVC0_3D_RT_ARRAY_MODE(i0) (0x00000818 + 0x20*(i0)) +#define NVC0_3D_RT_ARRAY_MODE_LAYERS__MASK 0x0000ffff +#define NVC0_3D_RT_ARRAY_MODE_LAYERS__SHIFT 0 +#define NVC0_3D_RT_ARRAY_MODE_VOLUME 0x00010000 + +#define NVC0_3D_RT_LAYER_STRIDE(i0) (0x0000081c + 0x20*(i0)) + +#define NVC0_3D_VIEWPORT_SCALE_X(i0) (0x00000a00 + 0x20*(i0)) +#define NVC0_3D_VIEWPORT_SCALE_X__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_SCALE_X__LEN 0x00000010 + +#define NVC0_3D_VIEWPORT_SCALE_Y(i0) (0x00000a04 + 0x20*(i0)) +#define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_SCALE_Y__LEN 0x00000010 + +#define NVC0_3D_VIEWPORT_SCALE_Z(i0) (0x00000a08 + 0x20*(i0)) +#define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_SCALE_Z__LEN 0x00000010 + +#define NVC0_3D_VIEWPORT_TRANSLATE_X(i0) (0x00000a0c + 0x20*(i0)) +#define NVC0_3D_VIEWPORT_TRANSLATE_X__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_TRANSLATE_X__LEN 0x00000010 + +#define NVC0_3D_VIEWPORT_TRANSLATE_Y(i0) (0x00000a10 + 0x20*(i0)) +#define NVC0_3D_VIEWPORT_TRANSLATE_Y__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_TRANSLATE_Y__LEN 0x00000010 + +#define NVC0_3D_VIEWPORT_TRANSLATE_Z(i0) (0x00000a14 + 0x20*(i0)) +#define NVC0_3D_VIEWPORT_TRANSLATE_Z__ESIZE 0x00000020 +#define NVC0_3D_VIEWPORT_TRANSLATE_Z__LEN 0x00000010 + +#define NVC0_3D_VIEWPORT_HORIZ(i0) (0x00000c00 + 0x10*(i0)) +#define NVC0_3D_VIEWPORT_HORIZ__ESIZE 0x00000010 +#define NVC0_3D_VIEWPORT_HORIZ__LEN 0x00000010 +#define NVC0_3D_VIEWPORT_HORIZ_X__MASK 0x0000ffff +#define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT 0 +#define NVC0_3D_VIEWPORT_HORIZ_W__MASK 0xffff0000 +#define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT 16 + +#define NVC0_3D_VIEWPORT_VERT(i0) (0x00000c04 + 0x10*(i0)) +#define NVC0_3D_VIEWPORT_VERT__ESIZE 0x00000010 +#define NVC0_3D_VIEWPORT_VERT__LEN 0x00000010 +#define NVC0_3D_VIEWPORT_VERT_Y__MASK 0x0000ffff +#define NVC0_3D_VIEWPORT_VERT_Y__SHIFT 0 +#define NVC0_3D_VIEWPORT_VERT_H__MASK 0xffff0000 +#define NVC0_3D_VIEWPORT_VERT_H__SHIFT 16 + +#define NVC0_3D_DEPTH_RANGE_NEAR(i0) (0x00000c08 + 0x10*(i0)) +#define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE 0x00000010 +#define NVC0_3D_DEPTH_RANGE_NEAR__LEN 0x00000010 + +#define NVC0_3D_DEPTH_RANGE_FAR(i0) (0x00000c0c + 0x10*(i0)) +#define NVC0_3D_DEPTH_RANGE_FAR__ESIZE 0x00000010 +#define NVC0_3D_DEPTH_RANGE_FAR__LEN 0x00000010 + +#define NVC0_3D_VIEWPORT_CLIP_HORIZ(i0) (0x00000d00 + 0x8*(i0)) +#define NVC0_3D_VIEWPORT_CLIP_HORIZ__ESIZE 0x00000008 +#define NVC0_3D_VIEWPORT_CLIP_HORIZ__LEN 0x00000008 +#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MIN__MASK 0x0000ffff +#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MIN__SHIFT 0 +#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MAX__MASK 0xffff0000 +#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MAX__SHIFT 16 + +#define NVC0_3D_VIEWPORT_CLIP_VERT(i0) (0x00000d04 + 0x8*(i0)) +#define NVC0_3D_VIEWPORT_CLIP_VERT__ESIZE 0x00000008 +#define NVC0_3D_VIEWPORT_CLIP_VERT__LEN 0x00000008 +#define NVC0_3D_VIEWPORT_CLIP_VERT_MIN__MASK 0x0000ffff +#define NVC0_3D_VIEWPORT_CLIP_VERT_MIN__SHIFT 0 +#define NVC0_3D_VIEWPORT_CLIP_VERT_MAX__MASK 0xffff0000 +#define NVC0_3D_VIEWPORT_CLIP_VERT_MAX__SHIFT 16 + +#define NVC0_3D_CLIPID_REGION_HORIZ(i0) (0x00000d40 + 0x8*(i0)) +#define NVC0_3D_CLIPID_REGION_HORIZ__ESIZE 0x00000008 +#define NVC0_3D_CLIPID_REGION_HORIZ__LEN 0x00000004 +#define NVC0_3D_CLIPID_REGION_HORIZ_X__MASK 0x0000ffff +#define NVC0_3D_CLIPID_REGION_HORIZ_X__SHIFT 0 +#define NVC0_3D_CLIPID_REGION_HORIZ_W__MASK 0xffff0000 +#define NVC0_3D_CLIPID_REGION_HORIZ_W__SHIFT 16 + +#define NVC0_3D_CLIPID_REGION_VERT(i0) (0x00000d44 + 0x8*(i0)) +#define NVC0_3D_CLIPID_REGION_VERT__ESIZE 0x00000008 +#define NVC0_3D_CLIPID_REGION_VERT__LEN 0x00000004 +#define NVC0_3D_CLIPID_REGION_VERT_Y__MASK 0x0000ffff +#define NVC0_3D_CLIPID_REGION_VERT_Y__SHIFT 0 +#define NVC0_3D_CLIPID_REGION_VERT_H__MASK 0xffff0000 +#define NVC0_3D_CLIPID_REGION_VERT_H__SHIFT 16 + +#define NVC0_3D_VERTEX_BUFFER_FIRST 0x00000d74 + +#define NVC0_3D_VERTEX_BUFFER_COUNT 0x00000d78 + +#define NVC0_3D_CLEAR_COLOR(i0) (0x00000d80 + 0x4*(i0)) +#define NVC0_3D_CLEAR_COLOR__ESIZE 0x00000004 +#define NVC0_3D_CLEAR_COLOR__LEN 0x00000004 + +#define NVC0_3D_CLEAR_DEPTH 0x00000d90 + +#define NVC0_3D_CLEAR_STENCIL 0x00000da0 + +#define NVC0_3D_POLYGON_SMOOTH_ENABLE 0x00000db4 + +#define NVC0_3D_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0 + +#define NVC0_3D_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4 + +#define NVC0_3D_POLYGON_OFFSET_FILL_ENABLE 0x00000dc8 + +#define NVC0_3D_PATCH_VERTICES 0x00000dcc + +#define NVC0_3D_WINDOW_OFFSET_X 0x00000df8 + +#define NVC0_3D_WINDOW_OFFSET_Y 0x00000dfc + +#define NVC0_3D_SCISSOR_ENABLE(i0) (0x00000e00 + 0x10*(i0)) +#define NVC0_3D_SCISSOR_ENABLE__ESIZE 0x00000010 +#define NVC0_3D_SCISSOR_ENABLE__LEN 0x00000010 + +#define NVC0_3D_SCISSOR_HORIZ(i0) (0x00000e04 + 0x10*(i0)) +#define NVC0_3D_SCISSOR_HORIZ__ESIZE 0x00000010 +#define NVC0_3D_SCISSOR_HORIZ__LEN 0x00000010 +#define NVC0_3D_SCISSOR_HORIZ_MIN__MASK 0x0000ffff +#define NVC0_3D_SCISSOR_HORIZ_MIN__SHIFT 0 +#define NVC0_3D_SCISSOR_HORIZ_MAX__MASK 0xffff0000 +#define NVC0_3D_SCISSOR_HORIZ_MAX__SHIFT 16 + +#define NVC0_3D_SCISSOR_VERT(i0) (0x00000e08 + 0x10*(i0)) +#define NVC0_3D_SCISSOR_VERT__ESIZE 0x00000010 +#define NVC0_3D_SCISSOR_VERT__LEN 0x00000010 +#define NVC0_3D_SCISSOR_VERT_MIN__MASK 0x0000ffff +#define NVC0_3D_SCISSOR_VERT_MIN__SHIFT 0 +#define NVC0_3D_SCISSOR_VERT_MAX__MASK 0xffff0000 +#define NVC0_3D_SCISSOR_VERT_MAX__SHIFT 16 + +#define NVC0_3D_STENCIL_BACK_FUNC_REF 0x00000f54 + +#define NVC0_3D_STENCIL_BACK_MASK 0x00000f58 + +#define NVC0_3D_STENCIL_BACK_FUNC_MASK 0x00000f5c + +#define NVC0_3D_VERTEX_RUNOUT_ADDRESS_HIGH 0x00000f84 + +#define NVC0_3D_VERTEX_RUNOUT_ADDRESS_LOW 0x00000f88 + +#define NVC0_3D_DEPTH_BOUNDS(i0) (0x00000f9c + 0x4*(i0)) +#define NVC0_3D_DEPTH_BOUNDS__ESIZE 0x00000004 +#define NVC0_3D_DEPTH_BOUNDS__LEN 0x00000002 + +#define NVC0_3D_MSAA_MASK(i0) (0x00000fbc + 0x4*(i0)) +#define NVC0_3D_MSAA_MASK__ESIZE 0x00000004 +#define NVC0_3D_MSAA_MASK__LEN 0x00000004 + +#define NVC0_3D_CLIPID_ADDRESS_HIGH 0x00000fcc + +#define NVC0_3D_CLIPID_ADDRESS_LOW 0x00000fd0 + +#define NVC0_3D_ZETA_ADDRESS_HIGH 0x00000fe0 + +#define NVC0_3D_ZETA_ADDRESS_LOW 0x00000fe4 + +#define NVC0_3D_ZETA_FORMAT 0x00000fe8 + +#define NVC0_3D_ZETA_TILE_MODE 0x00000fec + +#define NVC0_3D_ZETA_LAYER_STRIDE 0x00000ff0 + +#define NVC0_3D_SCREEN_SCISSOR_HORIZ 0x00000ff4 +#define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__MASK 0xffff0000 +#define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__SHIFT 16 +#define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__MASK 0x0000ffff +#define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__SHIFT 0 + +#define NVC0_3D_SCREEN_SCISSOR_VERT 0x00000ff8 +#define NVC0_3D_SCREEN_SCISSOR_VERT_H__MASK 0xffff0000 +#define NVC0_3D_SCREEN_SCISSOR_VERT_H__SHIFT 16 +#define NVC0_3D_SCREEN_SCISSOR_VERT_Y__MASK 0x0000ffff +#define NVC0_3D_SCREEN_SCISSOR_VERT_Y__SHIFT 0 + +#define NVC0_3D_VERTEX_ID 0x00001118 + +#define NVC0_3D_VTX_ATTR_DEFINE 0x0000114c +#define NVC0_3D_VTX_ATTR_DEFINE_ATTR__MASK 0x000000ff +#define NVC0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT 0 +#define NVC0_3D_VTX_ATTR_DEFINE_COMP__MASK 0x00000700 +#define NVC0_3D_VTX_ATTR_DEFINE_COMP__SHIFT 8 +#define NVC0_3D_VTX_ATTR_DEFINE_COMP__MIN 0x00000001 +#define NVC0_3D_VTX_ATTR_DEFINE_COMP__MAX 0x00000004 +#define NVC0_3D_VTX_ATTR_DEFINE_SIZE__MASK 0x00007000 +#define NVC0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT 12 +#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_8 0x00001000 +#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16 0x00002000 +#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32 0x00004000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE__MASK 0x00070000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE__SHIFT 16 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SNORM 0x00010000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UNORM 0x00020000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SINT 0x00030000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UINT 0x00040000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_USCALED 0x00050000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SSCALED 0x00060000 +#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_FLOAT 0x00070000 + +#define NVC0_3D_VTX_ATTR_DATA(i0) (0x00001150 + 0x4*(i0)) +#define NVC0_3D_VTX_ATTR_DATA__ESIZE 0x00000004 +#define NVC0_3D_VTX_ATTR_DATA__LEN 0x00000004 + +#define NVC0_3D_VERTEX_ATTRIB_FORMAT(i0) (0x00001160 + 0x4*(i0)) +#define NVC0_3D_VERTEX_ATTRIB_FORMAT__ESIZE 0x00000004 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT__LEN 0x00000020 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__MASK 0x0000003f +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__SHIFT 0 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST 0x00000040 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__MASK 0x001fff80 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__SHIFT 7 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK 0x07e00000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__SHIFT 21 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32_32 0x00200000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32 0x00400000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16_16 0x00600000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32 0x00800000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16 0x00a00000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8_8 0x01400000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16 0x01e00000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32 0x02400000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8 0x02600000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8 0x03000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16 0x03600000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8 0x03a00000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_2_10_10_10 0x06000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK 0x78000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__SHIFT 27 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM 0x08000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM 0x10000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SINT 0x18000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UINT 0x20000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_USCALED 0x28000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED 0x30000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT 0x38000000 +#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BGRA 0x80000000 + +#define NVC0_3D_RT_CONTROL 0x0000121c +#define NVC0_3D_RT_CONTROL_COUNT__MASK 0x0000000f +#define NVC0_3D_RT_CONTROL_COUNT__SHIFT 0 +#define NVC0_3D_RT_CONTROL_MAP0__MASK 0x00000070 +#define NVC0_3D_RT_CONTROL_MAP0__SHIFT 4 +#define NVC0_3D_RT_CONTROL_MAP1__MASK 0x00000380 +#define NVC0_3D_RT_CONTROL_MAP1__SHIFT 7 +#define NVC0_3D_RT_CONTROL_MAP2__MASK 0x00001c00 +#define NVC0_3D_RT_CONTROL_MAP2__SHIFT 10 +#define NVC0_3D_RT_CONTROL_MAP3__MASK 0x0000e000 +#define NVC0_3D_RT_CONTROL_MAP3__SHIFT 13 +#define NVC0_3D_RT_CONTROL_MAP4__MASK 0x00070000 +#define NVC0_3D_RT_CONTROL_MAP4__SHIFT 16 +#define NVC0_3D_RT_CONTROL_MAP5__MASK 0x00380000 +#define NVC0_3D_RT_CONTROL_MAP5__SHIFT 19 +#define NVC0_3D_RT_CONTROL_MAP6__MASK 0x01c00000 +#define NVC0_3D_RT_CONTROL_MAP6__SHIFT 22 +#define NVC0_3D_RT_CONTROL_MAP7__MASK 0x0e000000 +#define NVC0_3D_RT_CONTROL_MAP7__SHIFT 25 + +#define NVC0_3D_ZETA_HORIZ 0x00001228 + +#define NVC0_3D_ZETA_VERT 0x0000122c + +#define NVC0_3D_ZETA_ARRAY_MODE 0x00001230 +#define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__MASK 0x0000ffff +#define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__SHIFT 0 +#define NVC0_3D_ZETA_ARRAY_MODE_UNK 0x00010000 + +#define NVC0_3D_LINKED_TSC 0x00001234 + +#define NVC0_3D_FP_RESULT_COUNT 0x00001298 + +#define NVC0_3D_DEPTH_TEST_ENABLE 0x000012cc + +#define NVC0_3D_D3D_FILL_MODE 0x000012d0 +#define NVC0_3D_D3D_FILL_MODE_POINT 0x00000001 +#define NVC0_3D_D3D_FILL_MODE_WIREFRAME 0x00000002 +#define NVC0_3D_D3D_FILL_MODE_SOLID 0x00000003 + +#define NVC0_3D_SHADE_MODEL 0x000012d4 +#define NVC0_3D_SHADE_MODEL_FLAT 0x00001d00 +#define NVC0_3D_SHADE_MODEL_SMOOTH 0x00001d01 + +#define NVC0_3D_BLEND_INDEPENDENT 0x000012e4 + +#define NVC0_3D_DEPTH_WRITE_ENABLE 0x000012e8 + +#define NVC0_3D_ALPHA_TEST_ENABLE 0x000012ec + +#define NVC0_3D_VB_ELEMENT_U8_SETUP 0x00001300 +#define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK 0xc0000000 +#define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT 30 +#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK 0x3fffffff +#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT 0 + +#define NVC0_3D_VB_ELEMENT_U8 0x00001304 +#define NVC0_3D_VB_ELEMENT_U8_I0__MASK 0x000000ff +#define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT 0 +#define NVC0_3D_VB_ELEMENT_U8_I1__MASK 0x0000ff00 +#define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT 8 +#define NVC0_3D_VB_ELEMENT_U8_I2__MASK 0x00ff0000 +#define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT 16 +#define NVC0_3D_VB_ELEMENT_U8_I3__MASK 0xff000000 +#define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT 24 + +#define NVC0_3D_D3D_CULL_MODE 0x00001308 +#define NVC0_3D_D3D_CULL_MODE_NONE 0x00000001 +#define NVC0_3D_D3D_CULL_MODE_FRONT 0x00000002 +#define NVC0_3D_D3D_CULL_MODE_BACK 0x00000003 + +#define NVC0_3D_DEPTH_TEST_FUNC 0x0000130c +#define NVC0_3D_DEPTH_TEST_FUNC_NEVER 0x00000200 +#define NVC0_3D_DEPTH_TEST_FUNC_LESS 0x00000201 +#define NVC0_3D_DEPTH_TEST_FUNC_EQUAL 0x00000202 +#define NVC0_3D_DEPTH_TEST_FUNC_LEQUAL 0x00000203 +#define NVC0_3D_DEPTH_TEST_FUNC_GREATER 0x00000204 +#define NVC0_3D_DEPTH_TEST_FUNC_NOTEQUAL 0x00000205 +#define NVC0_3D_DEPTH_TEST_FUNC_GEQUAL 0x00000206 +#define NVC0_3D_DEPTH_TEST_FUNC_ALWAYS 0x00000207 + +#define NVC0_3D_ALPHA_TEST_REF 0x00001310 + +#define NVC0_3D_ALPHA_TEST_FUNC 0x00001314 +#define NVC0_3D_ALPHA_TEST_FUNC_NEVER 0x00000200 +#define NVC0_3D_ALPHA_TEST_FUNC_LESS 0x00000201 +#define NVC0_3D_ALPHA_TEST_FUNC_EQUAL 0x00000202 +#define NVC0_3D_ALPHA_TEST_FUNC_LEQUAL 0x00000203 +#define NVC0_3D_ALPHA_TEST_FUNC_GREATER 0x00000204 +#define NVC0_3D_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205 +#define NVC0_3D_ALPHA_TEST_FUNC_GEQUAL 0x00000206 +#define NVC0_3D_ALPHA_TEST_FUNC_ALWAYS 0x00000207 + +#define NVC0_3D_BLEND_COLOR(i0) (0x0000131c + 0x4*(i0)) +#define NVC0_3D_BLEND_COLOR__ESIZE 0x00000004 +#define NVC0_3D_BLEND_COLOR__LEN 0x00000004 + +#define NVC0_3D_TSC_FLUSH 0x00001330 +#define NVC0_3D_TSC_FLUSH_UNK0 0x00000001 +#define NVC0_3D_TSC_FLUSH_UNK1__MASK 0x03fffff0 +#define NVC0_3D_TSC_FLUSH_UNK1__SHIFT 4 + +#define NVC0_3D_TIC_FLUSH 0x00001334 +#define NVC0_3D_TIC_FLUSH_UNK0 0x00000001 +#define NVC0_3D_TIC_FLUSH_UNK1__MASK 0x03fffff0 +#define NVC0_3D_TIC_FLUSH_UNK1__SHIFT 4 + +#define NVC0_3D_TEX_CACHE_CTL 0x00001338 +#define NVC0_3D_TEX_CACHE_CTL_UNK1__MASK 0x00000030 +#define NVC0_3D_TEX_CACHE_CTL_UNK1__SHIFT 4 + +#define NVC0_3D_BLEND_EQUATION_RGB 0x00001340 +#define NVC0_3D_BLEND_EQUATION_RGB_FUNC_ADD 0x00008006 +#define NVC0_3D_BLEND_EQUATION_RGB_MIN 0x00008007 +#define NVC0_3D_BLEND_EQUATION_RGB_MAX 0x00008008 +#define NVC0_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a +#define NVC0_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b + +#define NVC0_3D_BLEND_FUNC_SRC_RGB 0x00001344 + +#define NVC0_3D_BLEND_FUNC_DST_RGB 0x00001348 + +#define NVC0_3D_BLEND_EQUATION_ALPHA 0x0000134c +#define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006 +#define NVC0_3D_BLEND_EQUATION_ALPHA_MIN 0x00008007 +#define NVC0_3D_BLEND_EQUATION_ALPHA_MAX 0x00008008 +#define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a +#define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b + +#define NVC0_3D_BLEND_FUNC_SRC_ALPHA 0x00001350 + +#define NVC0_3D_BLEND_FUNC_DST_ALPHA 0x00001358 + +#define NVC0_3D_BLEND_ENABLE(i0) (0x00001360 + 0x4*(i0)) +#define NVC0_3D_BLEND_ENABLE__ESIZE 0x00000004 +#define NVC0_3D_BLEND_ENABLE__LEN 0x00000008 + +#define NVC0_3D_STENCIL_FRONT_ENABLE 0x00001380 + +#define NVC0_3D_STENCIL_FRONT_OP_FAIL 0x00001384 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508 + +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL 0x00001388 +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000 +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00 +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01 +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02 +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03 +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508 + +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS 0x0000138c +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000 +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00 +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01 +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02 +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03 +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508 + +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC 0x00001390 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206 +#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207 + +#define NVC0_3D_STENCIL_FRONT_FUNC_REF 0x00001394 + +#define NVC0_3D_STENCIL_FRONT_MASK 0x00001398 + +#define NVC0_3D_STENCIL_FRONT_FUNC_MASK 0x0000139c + +#define NVC0_3D_FRAG_COLOR_CLAMP_EN 0x000013a8 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_0 0x00000001 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_1 0x00000010 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_2 0x00000100 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_3 0x00001000 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_4 0x00010000 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_5 0x00100000 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_6 0x01000000 +#define NVC0_3D_FRAG_COLOR_CLAMP_EN_7 0x10000000 + +#define NVC0_3D_Y_ORIGIN_BOTTOM 0x000013ac + +#define NVC0_3D_LINE_WIDTH 0x000013b0 + +#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT 0x00001420 +#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MIN 0x00000001 +#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MAX 0x00000400 + +#define NVC0_3D_FENCE_UNK 0x0000142c + +#define NVC0_3D_VB_ELEMENT_BASE 0x00001434 + +#define NVC0_3D_VB_INSTANCE_BASE 0x00001438 + +#define NVC0_3D_CODE_CB_FLUSH 0x00001440 + +#define NVC0_3D_CLIPID_HEIGHT 0x00001504 +#define NVC0_3D_CLIPID_HEIGHT__MAX 0x00002000 + +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE 0x00001510 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_0 0x00000001 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_1 0x00000002 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_2 0x00000004 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_3 0x00000008 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_4 0x00000010 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_5 0x00000020 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_6 0x00000040 +#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_7 0x00000080 + +#define NVC0_3D_SAMPLECNT_ENABLE 0x00001514 + +#define NVC0_3D_POINT_SIZE 0x00001518 + +#define NVC0_3D_POINT_SPRITE_ENABLE 0x00001520 + +#define NVC0_3D_SAMPLECNT_RESET 0x00001530 + +#define NVC0_3D_MULTISAMPLE_ZETA_ENABLE 0x00001534 + +#define NVC0_3D_ZETA_ENABLE 0x00001538 + +#define NVC0_3D_MULTISAMPLE_CTRL 0x0000153c +#define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE 0x00000001 +#define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE 0x00000010 + +#define NVC0_3D_COND_ADDRESS_HIGH 0x00001550 + +#define NVC0_3D_COND_ADDRESS_LOW 0x00001554 + +#define NVC0_3D_COND_MODE 0x00001558 +#define NVC0_3D_COND_MODE_NEVER 0x00000000 +#define NVC0_3D_COND_MODE_ALWAYS 0x00000001 +#define NVC0_3D_COND_MODE_RES_NON_ZERO 0x00000002 +#define NVC0_3D_COND_MODE_EQUAL 0x00000003 +#define NVC0_3D_COND_MODE_NOT_EQUAL 0x00000004 + +#define NVC0_3D_TSC_ADDRESS_HIGH 0x0000155c + +#define NVC0_3D_TSC_ADDRESS_LOW 0x00001560 +#define NVC0_3D_TSC_ADDRESS_LOW__ALIGN 0x00000020 + +#define NVC0_3D_TSC_LIMIT 0x00001564 +#define NVC0_3D_TSC_LIMIT__MAX 0x00001fff + +#define NVC0_3D_POLYGON_OFFSET_FACTOR 0x0000156c + +#define NVC0_3D_LINE_SMOOTH_ENABLE 0x00001570 + +#define NVC0_3D_TIC_ADDRESS_HIGH 0x00001574 + +#define NVC0_3D_TIC_ADDRESS_LOW 0x00001578 + +#define NVC0_3D_TIC_LIMIT 0x0000157c + +#define NVC0_3D_STENCIL_TWO_SIDE_ENABLE 0x00001594 + +#define NVC0_3D_STENCIL_BACK_OP_FAIL 0x00001598 +#define NVC0_3D_STENCIL_BACK_OP_FAIL_ZERO 0x00000000 +#define NVC0_3D_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a +#define NVC0_3D_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00 +#define NVC0_3D_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01 +#define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR 0x00001e02 +#define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR 0x00001e03 +#define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508 + +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL 0x0000159c +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508 + +#define NVC0_3D_STENCIL_BACK_OP_ZPASS 0x000015a0 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507 +#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508 + +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC 0x000015a4 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206 +#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207 + +#define NVC0_3D_MULTISAMPLE_COLOR_ENABLE 0x000015b4 + +#define NVC0_3D_FRAMEBUFFER_SRGB 0x000015b8 + +#define NVC0_3D_POLYGON_OFFSET_UNITS 0x000015bc + +#define NVC0_3D_GP_BUILTIN_RESULT_EN 0x000015cc +#define NVC0_3D_GP_BUILTIN_RESULT_EN_LAYER 0x00010000 + +#define NVC0_3D_MULTISAMPLE_MODE 0x000015d0 +#define NVC0_3D_MULTISAMPLE_MODE_1X 0x00000000 +#define NVC0_3D_MULTISAMPLE_MODE_2XMS 0x00000001 +#define NVC0_3D_MULTISAMPLE_MODE_4XMS 0x00000002 +#define NVC0_3D_MULTISAMPLE_MODE_8XMS 0x00000003 +#define NVC0_3D_MULTISAMPLE_MODE_4XMS_4XCS 0x00000008 +#define NVC0_3D_MULTISAMPLE_MODE_4XMS_12XCS 0x00000009 +#define NVC0_3D_MULTISAMPLE_MODE_8XMS_8XCS 0x0000000a + +#define NVC0_3D_VERTEX_BEGIN_D3D 0x000015d4 +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__MASK 0x0fffffff +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__SHIFT 0 +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_POINTS 0x00000001 +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES 0x00000002 +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP 0x00000003 +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES 0x00000004 +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP 0x00000005 +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES_ADJACENCY 0x0000000a +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP_ADJACENCY 0x0000000b +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES_ADJACENCY 0x0000000c +#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY 0x0000000d +#define NVC0_3D_VERTEX_BEGIN_D3D_INSTANCE_NEXT 0x10000000 + +#define NVC0_3D_VERTEX_END_D3D 0x000015d8 +#define NVC0_3D_VERTEX_END_D3D_UNK0 0x00000001 +#define NVC0_3D_VERTEX_END_D3D_UNK1 0x00000002 + +#define NVC0_3D_EDGEFLAG_ENABLE 0x000015e4 + +#define NVC0_3D_VB_ELEMENT_U32 0x000015e8 + +#define NVC0_3D_VB_ELEMENT_U16_SETUP 0x000015ec +#define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__MASK 0xc0000000 +#define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__SHIFT 30 +#define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__MASK 0x3fffffff +#define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT 0 + +#define NVC0_3D_VB_ELEMENT_U16 0x000015f0 +#define NVC0_3D_VB_ELEMENT_U16_I0__MASK 0x0000ffff +#define NVC0_3D_VB_ELEMENT_U16_I0__SHIFT 0 +#define NVC0_3D_VB_ELEMENT_U16_I1__MASK 0xffff0000 +#define NVC0_3D_VB_ELEMENT_U16_I1__SHIFT 16 + +#define NVC0_3D_VERTEX_BASE_HIGH 0x000015f4 + +#define NVC0_3D_VERTEX_BASE_LOW 0x000015f8 + +#define NVC0_3D_POINT_COORD_REPLACE 0x00001604 +#define NVC0_3D_POINT_COORD_REPLACE_BITS__MASK 0x00001fff +#define NVC0_3D_POINT_COORD_REPLACE_BITS__SHIFT 0 + +#define NVC0_3D_CODE_ADDRESS_HIGH 0x00001608 + +#define NVC0_3D_CODE_ADDRESS_LOW 0x0000160c + +#define NVC0_3D_VERTEX_END_GL 0x00001614 +#define NVC0_3D_VERTEX_END_GL_UNK0 0x00000001 +#define NVC0_3D_VERTEX_END_GL_UNK1 0x00000002 + +#define NVC0_3D_VERTEX_BEGIN_GL 0x00001618 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK 0x0fffffff +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT 0 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS 0x00000000 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES 0x00000001 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP 0x00000002 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP 0x00000003 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES 0x00000004 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP 0x00000005 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN 0x00000006 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS 0x00000007 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP 0x00000008 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POLYGON 0x00000009 +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES_ADJACENCY 0x0000000a +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP_ADJACENCY 0x0000000b +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES_ADJACENCY 0x0000000c +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY 0x0000000d +#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_PATCHES 0x0000000e +#define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT 0x10000000 + +#define NVC0_3D_VERTEX_DATA 0x00001640 + +#define NVC0_3D_PRIM_RESTART_ENABLE 0x00001644 + +#define NVC0_3D_PRIM_RESTART_INDEX 0x00001648 + +#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN 0x0000164c +#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID 0x00000001 +#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID 0x00000010 +#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID 0x00000100 +#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_UNK12 0x00001000 + +#define NVC0_3D_POINT_SMOOTH_ENABLE 0x00001658 + +#define NVC0_3D_POINT_SPRITE_CTRL 0x00001660 + +#define NVC0_3D_TEX_MISC 0x00001664 +#define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP 0x00000004 + +#define NVC0_3D_LINE_STIPPLE_ENABLE 0x0000166c + +#define NVC0_3D_LINE_STIPPLE_PATTERN 0x00001680 + +#define NVC0_3D_PROVOKING_VERTEX_LAST 0x00001684 + +#define NVC0_3D_VERTEX_TWO_SIDE_ENABLE 0x00001688 + +#define NVC0_3D_POLYGON_STIPPLE_ENABLE 0x0000168c + +#define NVC0_3D_POLYGON_STIPPLE_PATTERN(i0) (0x00001700 + 0x4*(i0)) +#define NVC0_3D_POLYGON_STIPPLE_PATTERN__ESIZE 0x00000004 +#define NVC0_3D_POLYGON_STIPPLE_PATTERN__LEN 0x00000020 + +#define NVC0_3D_STRMOUT_UNK1780(i0) (0x00001780 + 0x4*(i0)) +#define NVC0_3D_STRMOUT_UNK1780__ESIZE 0x00000004 +#define NVC0_3D_STRMOUT_UNK1780__LEN 0x00000004 + +#define NVC0_3D_UNK17BC_ADDRESS_HIGH 0x000017bc + +#define NVC0_3D_UNK17BC_ADDRESS_LOW 0x000017c0 + +#define NVC0_3D_UNK17BC_LIMIT 0x000017c4 + +#define NVC0_3D_INDEX_ARRAY_START_HIGH 0x000017c8 + +#define NVC0_3D_INDEX_ARRAY_START_LOW 0x000017cc + +#define NVC0_3D_INDEX_ARRAY_LIMIT_HIGH 0x000017d0 + +#define NVC0_3D_INDEX_ARRAY_LIMIT_LOW 0x000017d4 + +#define NVC0_3D_INDEX_LOG2_SIZE 0x000017d8 + +#define NVC0_3D_INDEX_BATCH_FIRST 0x000017dc + +#define NVC0_3D_INDEX_BATCH_COUNT 0x000017e0 + +#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE(i0) (0x00001880 + 0x4*(i0)) +#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE 0x00000004 +#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__LEN 0x00000020 + +#define NVC0_3D_VP_POINT_SIZE_EN 0x00001910 + +#define NVC0_3D_CULL_FACE_ENABLE 0x00001918 + +#define NVC0_3D_FRONT_FACE 0x0000191c +#define NVC0_3D_FRONT_FACE_CW 0x00000900 +#define NVC0_3D_FRONT_FACE_CCW 0x00000901 + +#define NVC0_3D_CULL_FACE 0x00001920 +#define NVC0_3D_CULL_FACE_FRONT 0x00000404 +#define NVC0_3D_CULL_FACE_BACK 0x00000405 +#define NVC0_3D_CULL_FACE_FRONT_AND_BACK 0x00000408 + +#define NVC0_3D_VIEWPORT_TRANSFORM_EN 0x0000192c + +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL 0x0000193c +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK0 0x00000001 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1 0x00000002 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK2 0x00000004 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK3 0x00000008 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK4 0x00000010 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK7 0x00000080 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK10 0x00000400 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK11 0x00000800 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12 0x00001000 +#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK13 0x00002000 + +#define NVC0_3D_VIEWPORT_CLIP_RECTS_EN 0x0000194c + +#define NVC0_3D_VIEWPORT_CLIP_MODE 0x00001950 +#define NVC0_3D_VIEWPORT_CLIP_MODE_INSIDE_ANY 0x00000000 +#define NVC0_3D_VIEWPORT_CLIP_MODE_OUTSIDE_ALL 0x00000001 +#define NVC0_3D_VIEWPORT_CLIP_MODE_NEVER 0x00000002 + +#define NVC0_3D_FP_ZORDER_CTRL 0x0000196c +#define NVC0_3D_FP_ZORDER_CTRL_0 0x00000001 +#define NVC0_3D_FP_ZORDER_CTRL_1 0x00000010 + +#define NVC0_3D_CLIPID_ENABLE 0x0000197c + +#define NVC0_3D_CLIPID_WIDTH 0x00001980 +#define NVC0_3D_CLIPID_WIDTH__MAX 0x00002000 +#define NVC0_3D_CLIPID_WIDTH__ALIGN 0x00000040 + +#define NVC0_3D_CLIPID_ID 0x00001984 + +#define NVC0_3D_FP_CONTROL 0x000019a8 +#define NVC0_3D_FP_CONTROL_MULTIPLE_RESULTS 0x00000001 +#define NVC0_3D_FP_CONTROL_EXPORTS_Z 0x00000100 +#define NVC0_3D_FP_CONTROL_USES_KIL 0x00100000 + +#define NVC0_3D_DEPTH_BOUNDS_EN 0x000019bc + +#define NVC0_3D_LOGIC_OP_ENABLE 0x000019c4 + +#define NVC0_3D_LOGIC_OP 0x000019c8 +#define NVC0_3D_LOGIC_OP_CLEAR 0x00001500 +#define NVC0_3D_LOGIC_OP_AND 0x00001501 +#define NVC0_3D_LOGIC_OP_AND_REVERSE 0x00001502 +#define NVC0_3D_LOGIC_OP_COPY 0x00001503 +#define NVC0_3D_LOGIC_OP_AND_INVERTED 0x00001504 +#define NVC0_3D_LOGIC_OP_NOOP 0x00001505 +#define NVC0_3D_LOGIC_OP_XOR 0x00001506 +#define NVC0_3D_LOGIC_OP_OR 0x00001507 +#define NVC0_3D_LOGIC_OP_NOR 0x00001508 +#define NVC0_3D_LOGIC_OP_EQUIV 0x00001509 +#define NVC0_3D_LOGIC_OP_INVERT 0x0000150a +#define NVC0_3D_LOGIC_OP_OR_REVERSE 0x0000150b +#define NVC0_3D_LOGIC_OP_COPY_INVERTED 0x0000150c +#define NVC0_3D_LOGIC_OP_OR_INVERTED 0x0000150d +#define NVC0_3D_LOGIC_OP_NAND 0x0000150e +#define NVC0_3D_LOGIC_OP_SET 0x0000150f + +#define NVC0_3D_CLEAR_BUFFERS 0x000019d0 +#define NVC0_3D_CLEAR_BUFFERS_Z 0x00000001 +#define NVC0_3D_CLEAR_BUFFERS_S 0x00000002 +#define NVC0_3D_CLEAR_BUFFERS_R 0x00000004 +#define NVC0_3D_CLEAR_BUFFERS_G 0x00000008 +#define NVC0_3D_CLEAR_BUFFERS_B 0x00000010 +#define NVC0_3D_CLEAR_BUFFERS_A 0x00000020 +#define NVC0_3D_CLEAR_BUFFERS_RT__MASK 0x000003c0 +#define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT 6 +#define NVC0_3D_CLEAR_BUFFERS_LAYER__MASK 0x001ffc00 +#define NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT 10 + +#define NVC0_3D_COLOR_MASK(i0) (0x00001a00 + 0x4*(i0)) +#define NVC0_3D_COLOR_MASK__ESIZE 0x00000004 +#define NVC0_3D_COLOR_MASK__LEN 0x00000008 +#define NVC0_3D_COLOR_MASK_R 0x0000000f +#define NVC0_3D_COLOR_MASK_G 0x000000f0 +#define NVC0_3D_COLOR_MASK_B 0x00000f00 +#define NVC0_3D_COLOR_MASK_A 0x0000f000 + +#define NVC0_3D_QUERY_ADDRESS_HIGH 0x00001b00 + +#define NVC0_3D_QUERY_ADDRESS_LOW 0x00001b04 + +#define NVC0_3D_QUERY_SEQUENCE 0x00001b08 + +#define NVC0_3D_QUERY_GET 0x00001b0c +#define NVC0_3D_QUERY_GET_FENCE 0x1000f010 +#define NVC0_3D_QUERY_GET_SAMPLE_COUNT 0x0100f002 +#define NVC0_3D_QUERY_GET_TFB 0x05805002 +#define NVC0_3D_QUERY_GET_GENERATED_PRIMS 0x06805002 +#define NVC0_3D_QUERY_GET_UNK00005002 0x00005002 + +#define NVC0_3D_VERTEX_ARRAY_FETCH(i0) (0x00001c00 + 0x10*(i0)) +#define NVC0_3D_VERTEX_ARRAY_FETCH__ESIZE 0x00000010 +#define NVC0_3D_VERTEX_ARRAY_FETCH__LEN 0x00000020 +#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK 0x00000fff +#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT 0 +#define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE 0x00001000 + +#define NVC0_3D_VERTEX_ARRAY_DIVISOR(i0) (0x00001c0c + 0x10*(i0)) +#define NVC0_3D_VERTEX_ARRAY_DIVISOR__ESIZE 0x00000010 +#define NVC0_3D_VERTEX_ARRAY_DIVISOR__LEN 0x00000020 + +#define NVC0_3D_IBLEND(i0) (0x00001e00 + 0x20*(i0)) +#define NVC0_3D_IBLEND__ESIZE 0x00000020 +#define NVC0_3D_IBLEND__LEN 0x00000008 + +#define NVC0_3D_IBLEND_EQUATION_RGB(i0) (0x00001e04 + 0x20*(i0)) +#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_ADD 0x00008006 +#define NVC0_3D_IBLEND_EQUATION_RGB_MIN 0x00008007 +#define NVC0_3D_IBLEND_EQUATION_RGB_MAX 0x00008008 +#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a +#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b + +#define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0) (0x00001e08 + 0x20*(i0)) + +#define NVC0_3D_IBLEND_FUNC_DST_RGB(i0) (0x00001e0c + 0x20*(i0)) + +#define NVC0_3D_IBLEND_EQUATION_ALPHA(i0) (0x00001e10 + 0x20*(i0)) +#define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006 +#define NVC0_3D_IBLEND_EQUATION_ALPHA_MIN 0x00008007 +#define NVC0_3D_IBLEND_EQUATION_ALPHA_MAX 0x00008008 +#define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a +#define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b + +#define NVC0_3D_IBLEND_FUNC_SRC_ALPHA(i0) (0x00001e14 + 0x20*(i0)) + +#define NVC0_3D_IBLEND_FUNC_DST_ALPHA(i0) (0x00001e18 + 0x20*(i0)) + +#define NVC0_3D_SP(i0) (0x00002000 + 0x40*(i0)) +#define NVC0_3D_SP__ESIZE 0x00000040 +#define NVC0_3D_SP__LEN 0x00000006 + +#define NVC0_3D_SP_SELECT(i0) (0x00002000 + 0x40*(i0)) +#define NVC0_3D_SP_SELECT_ENABLE 0x00000001 +#define NVC0_3D_SP_SELECT_PROGRAM__MASK 0x00000070 +#define NVC0_3D_SP_SELECT_PROGRAM__SHIFT 4 +#define NVC0_3D_SP_SELECT_PROGRAM_VP_A 0x00000000 +#define NVC0_3D_SP_SELECT_PROGRAM_VP_B 0x00000010 +#define NVC0_3D_SP_SELECT_PROGRAM_TCP 0x00000020 +#define NVC0_3D_SP_SELECT_PROGRAM_TEP 0x00000030 +#define NVC0_3D_SP_SELECT_PROGRAM_GP 0x00000040 +#define NVC0_3D_SP_SELECT_PROGRAM_FP 0x00000050 + +#define NVC0_3D_SP_START_ID(i0) (0x00002004 + 0x40*(i0)) + +#define NVC0_3D_SP_GPR_ALLOC(i0) (0x0000200c + 0x40*(i0)) + +#define NVC0_3D_TEX_LIMITS(i0) (0x00002200 + 0x10*(i0)) +#define NVC0_3D_TEX_LIMITS__ESIZE 0x00000010 +#define NVC0_3D_TEX_LIMITS__LEN 0x00000005 + +#define NVC0_3D_CB_SIZE 0x00002380 + +#define NVC0_3D_CB_ADDRESS_HIGH 0x00002384 + +#define NVC0_3D_CB_ADDRESS_LOW 0x00002388 + +#define NVC0_3D_CB_POS 0x0000238c + +#define NVC0_3D_CB_DATA(i0) (0x00002390 + 0x4*(i0)) +#define NVC0_3D_CB_DATA__ESIZE 0x00000004 +#define NVC0_3D_CB_DATA__LEN 0x00000010 + +#define NVC0_3D_BIND_TSC(i0) (0x00002400 + 0x20*(i0)) +#define NVC0_3D_BIND_TSC__ESIZE 0x00000020 +#define NVC0_3D_BIND_TSC__LEN 0x00000005 +#define NVC0_3D_BIND_TSC_ACTIVE 0x00000001 +#define NVC0_3D_BIND_TSC_SAMPLER__MASK 0x00000ff0 +#define NVC0_3D_BIND_TSC_SAMPLER__SHIFT 4 +#define NVC0_3D_BIND_TSC_TSC__MASK 0x01fff000 +#define NVC0_3D_BIND_TSC_TSC__SHIFT 12 + +#define NVC0_3D_BIND_TIC(i0) (0x00002404 + 0x20*(i0)) +#define NVC0_3D_BIND_TIC__ESIZE 0x00000020 +#define NVC0_3D_BIND_TIC__LEN 0x00000005 +#define NVC0_3D_BIND_TIC_ACTIVE 0x00000001 +#define NVC0_3D_BIND_TIC_TEXTURE__MASK 0x000001fe +#define NVC0_3D_BIND_TIC_TEXTURE__SHIFT 1 +#define NVC0_3D_BIND_TIC_TIC__MASK 0x7ffffe00 +#define NVC0_3D_BIND_TIC_TIC__SHIFT 9 + +#define NVC0_3D_CB_BIND(i0) (0x00002410 + 0x20*(i0)) +#define NVC0_3D_CB_BIND__ESIZE 0x00000020 +#define NVC0_3D_CB_BIND__LEN 0x00000005 +#define NVC0_3D_CB_BIND_VALID 0x00000001 +#define NVC0_3D_CB_BIND_INDEX__MASK 0x000000f0 +#define NVC0_3D_CB_BIND_INDEX__SHIFT 4 + +#define NVC0_3D_VERT_COLOR_CLAMP_EN 0x00002600 + +#define NVC0_3D_TFB_VARYING_LOCS(i0) (0x00002800 + 0x4*(i0)) +#define NVC0_3D_TFB_VARYING_LOCS__ESIZE 0x00000004 +#define NVC0_3D_TFB_VARYING_LOCS__LEN 0x00000080 + +#define NVC0_3D_VERTEX_ARRAY_SELECT 0x00003820 + +#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH 0x00003824 + +#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW 0x00003828 + +#define NVC0_3D_VERTEX_ARRAY_START_HIGH 0x0000382c + +#define NVC0_3D_VERTEX_ARRAY_START_LOW 0x00003830 + +#define NVC0_3D_BLEND_ENABLES 0x00003858 + +#define NVC0_3D_POLYGON_MODE_FRONT 0x00003868 +#define NVC0_3D_POLYGON_MODE_FRONT_POINT 0x00001b00 +#define NVC0_3D_POLYGON_MODE_FRONT_LINE 0x00001b01 +#define NVC0_3D_POLYGON_MODE_FRONT_FILL 0x00001b02 + +#define NVC0_3D_POLYGON_MODE_BACK 0x00003870 +#define NVC0_3D_POLYGON_MODE_BACK_POINT 0x00001b00 +#define NVC0_3D_POLYGON_MODE_BACK_LINE 0x00001b01 +#define NVC0_3D_POLYGON_MODE_BACK_FILL 0x00001b02 + +#define NVC0_3D_GP_SELECT 0x00003878 + +#define NVC0_3D_TEP_SELECT 0x00003880 + + +#endif /* NVC0_3D_XML */ diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c index 123b04a..c782b5d 100644 --- a/src/nvc0_accel.c +++ b/src/nvc0_accel.c @@ -84,7 +84,7 @@ NVAccelInit2D_NVC0(ScrnInfoPtr pScrn) OUT_RING (chan, 1); BEGIN_RING(chan, NvSub2D, NV50_2D_DRAW_SHAPE, 2); OUT_RING (chan, 4); - OUT_RING (chan, NVC0TCL_RT_FORMAT_R5G6B5_UNORM); + OUT_RING (chan, NV50_SURFACE_FORMAT_R5G6B5_UNORM); BEGIN_RING(chan, NvSub2D, NV50_2D_PATTERN_FORMAT, 2); OUT_RING (chan, 2); OUT_RING (chan, 1); @@ -96,7 +96,7 @@ NVAccelInit2D_NVC0(ScrnInfoPtr pScrn) } Bool -NVAccelInitNVC0TCL(ScrnInfoPtr pScrn) +NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) { NVPtr pNv = NVPTR(pScrn); struct nouveau_channel *chan = pNv->chan; @@ -127,93 +127,93 @@ NVAccelInitNVC0TCL(ScrnInfoPtr pScrn) } bo = pNv->tesla_scratch; - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "init NVC0TCL (%x)\n", tclClass); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "init NVC0_3D (%x)\n", tclClass); if (MARK_RING(chan, 512, 32)) return FALSE; BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_NOTIFY_ADDRESS_HIGH, 3); - OUT_RELOCh(chan, bo, NTFY_OFST, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); - OUT_RELOCl(chan, bo, NTFY_OFST, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); + OUT_RELOCh(chan, bo, NTFY_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); + OUT_RELOCl(chan, bo, NTFY_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); OUT_RING (chan, 0); BEGIN_RING(chan, NvSub3D, 0x0000, 1); OUT_RING (chan, tclClass); - BEGIN_RING(chan, NvSub3D, NVC0TCL_NOTIFY_ADDRESS_HIGH, 3); - OUT_RELOCh(chan, bo, NTFY_OFST, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); - OUT_RELOCl(chan, bo, NTFY_OFST, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); + BEGIN_RING(chan, NvSub3D, NVC0_GRAPH_NOTIFY_ADDRESS_HIGH, 3); + OUT_RELOCh(chan, bo, NTFY_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); + OUT_RELOCl(chan, bo, NTFY_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_MULTISAMPLE_COLOR_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_MULTISAMPLE_COLOR_ENABLE, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_MULTISAMPLE_ZETA_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_MULTISAMPLE_ZETA_ENABLE, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_MULTISAMPLE_MODE, 1); - OUT_RING (chan, NVC0TCL_MULTISAMPLE_MODE_1X); + BEGIN_RING(chan, NvSub3D, NVC0_3D_MULTISAMPLE_MODE, 1); + OUT_RING (chan, NVC0_3D_MULTISAMPLE_MODE_1X); - BEGIN_RING(chan, NvSub3D, NVC0TCL_COND_MODE, 1); - OUT_RING (chan, NVC0TCL_COND_MODE_ALWAYS); - BEGIN_RING(chan, NvSub3D, NVC0TCL_RT_CONTROL, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_COND_MODE, 1); + OUT_RING (chan, NVC0_3D_COND_MODE_ALWAYS); + BEGIN_RING(chan, NvSub3D, NVC0_3D_RT_CONTROL, 1); OUT_RING (chan, 1); - BEGIN_RING(chan, NvSub3D, NVC0TCL_ZETA_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_ZETA_ENABLE, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VIEWPORT_CLIP_RECTS_EN, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VIEWPORT_CLIP_RECTS_EN, 2); OUT_RING (chan, 0); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_CLIPID_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CLIPID_ENABLE, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VERTEX_TWO_SIDE_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VERTEX_TWO_SIDE_ENABLE, 1); OUT_RING (chan, 0); BEGIN_RING(chan, NvSub3D, 0x0fac, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_COLOR_MASK(0), 8); + BEGIN_RING(chan, NvSub3D, NVC0_3D_COLOR_MASK(0), 8); OUT_RING (chan, 0x1111); for (i = 1; i < 8; ++i) OUT_RING(chan, 0); FIRE_RING (chan); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SCREEN_SCISSOR_HORIZ, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SCREEN_SCISSOR_HORIZ, 2); OUT_RING (chan, (8192 << 16) | 0); OUT_RING (chan, (8192 << 16) | 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_Y_ORIGIN_BOTTOM, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_Y_ORIGIN_BOTTOM, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_WINDOW_OFFSET_X, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_WINDOW_OFFSET_X, 2); OUT_RING (chan, 0); OUT_RING (chan, 0); BEGIN_RING(chan, NvSub3D, 0x1590, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_LINKED_TSC, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_LINKED_TSC, 1); OUT_RING (chan, 1); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VIEWPORT_TRANSFORM_EN, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VIEWPORT_TRANSFORM_EN, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VIEW_VOLUME_CLIP_CTRL, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VIEW_VOLUME_CLIP_CTRL, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_DEPTH_RANGE_NEAR(0), 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_DEPTH_RANGE_NEAR(0), 2); OUT_RINGf (chan, 0.0f); OUT_RINGf (chan, 1.0f); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TEX_LIMITS(4), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TEX_LIMITS(4), 1); OUT_RING (chan, 0x54); - BEGIN_RING(chan, NvSub3D, NVC0TCL_BLEND_ENABLE(0), 8); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_ENABLE(0), 8); OUT_RING (chan, 1); for (i = 1; i < 8; ++i) OUT_RING(chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_BLEND_INDEPENDENT, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_INDEPENDENT, 1); OUT_RING (chan, 0); BEGIN_RING(chan, NvSub3D, 0x17bc, 3); - OUT_RELOCh(chan, bo, MISC_OFST, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); - OUT_RELOCl(chan, bo, MISC_OFST, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); + OUT_RELOCh(chan, bo, MISC_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); + OUT_RELOCl(chan, bo, MISC_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); OUT_RING (chan, 1); FIRE_RING (chan); - BEGIN_RING(chan, NvSub3D, NVC0TCL_CODE_ADDRESS_HIGH, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CODE_ADDRESS_HIGH, 2); OUT_RELOCh(chan, bo, CODE_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD); OUT_RELOCl(chan, bo, CODE_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD); @@ -264,10 +264,10 @@ NVAccelInitNVC0TCL(ScrnInfoPtr pScrn) OUT_RING (chan, 0x00001de7); OUT_RING (chan, 0x80000000); /* exit */ - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_SELECT(1), 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_SELECT(1), 2); OUT_RING (chan, 0x11); OUT_RING (chan, PVP_PASS); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_GPR_ALLOC(1), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_GPR_ALLOC(1), 1); OUT_RING (chan, 8); BEGIN_RING(chan, NvSub3D, 0x163c, 1); OUT_RING (chan, 0); @@ -694,28 +694,28 @@ NVAccelInitNVC0TCL(ScrnInfoPtr pScrn) OUT_RING (chan, 0x00001de7); OUT_RING (chan, 0x80000000); - BEGIN_RING(chan, NvSub3D, NVC0TCL_CODE_FLUSH, 1); + BEGIN_RING(chan, NvSub3D, 0x021c, 1); /* CODE_FLUSH ? */ OUT_RING (chan, 0x1111); FIRE_RING (chan); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_SELECT(5), 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_SELECT(5), 2); OUT_RING (chan, 0x51); OUT_RING (chan, PFP_S); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_GPR_ALLOC(5), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_GPR_ALLOC(5), 1); OUT_RING (chan, 8); - BEGIN_RING(chan, NvSub3D, NVC0TCL_CB_SIZE, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CB_SIZE, 3); OUT_RING (chan, 256); if (OUT_RELOCh(chan, bo, CB_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR) || OUT_RELOCl(chan, bo, CB_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR)) { MARK_UNDO(chan); return FALSE; } - BEGIN_RING(chan, NvSub3D, NVC0TCL_CB_BIND(4), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CB_BIND(4), 1); OUT_RING (chan, 0x01); - BEGIN_RING(chan, NvSub3D, NVC0TCL_EARLY_FRAGMENT_TESTS, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_EARLY_FRAGMENT_TESTS, 1); OUT_RING (chan, 0); BEGIN_RING(chan, NvSub3D, 0x0360, 2); OUT_RING (chan, 0x20164010); @@ -724,42 +724,42 @@ NVAccelInitNVC0TCL(ScrnInfoPtr pScrn) OUT_RING (chan, 0); BEGIN_RING(chan, NvSub3D, 0x1664, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_FRAG_COLOR_CLAMP_EN, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_FRAG_COLOR_CLAMP_EN, 1); OUT_RING (chan, 0x11111111); - BEGIN_RING(chan, NvSub3D, NVC0TCL_DEPTH_TEST_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_DEPTH_TEST_ENABLE, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_RASTERIZE_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_RASTERIZE_ENABLE, 1); OUT_RING (chan, 1); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_SELECT(4), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_SELECT(4), 1); OUT_RING (chan, 0x40); - BEGIN_RING(chan, NvSub3D, NVC0TCL_GP_BUILTIN_RESULT_EN, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_GP_BUILTIN_RESULT_EN, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_SELECT(3), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_SELECT(3), 1); OUT_RING (chan, 0x30); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_SELECT(2), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_SELECT(2), 1); OUT_RING (chan, 0x20); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_SELECT(0), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_SELECT(0), 1); OUT_RING (chan, 0x00); BEGIN_RING(chan, NvSub3D, 0x1604, 1); OUT_RING (chan, 4); - BEGIN_RING(chan, NvSub3D, NVC0TCL_POINT_SPRITE_ENABLE, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_POINT_SPRITE_ENABLE, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SCISSOR_ENABLE(0), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SCISSOR_ENABLE(0), 1); OUT_RING (chan, 1); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VIEWPORT_HORIZ(0), 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VIEWPORT_HORIZ(0), 2); OUT_RING (chan, (8192 << 16) | 0); OUT_RING (chan, (8192 << 16) | 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SCISSOR_HORIZ(0), 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SCISSOR_HORIZ(0), 2); OUT_RING (chan, (8192 << 16) | 0); OUT_RING (chan, (8192 << 16) | 0); FIRE_RING (chan); usleep(50); - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "NVC0TCL has been initialized\n"); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "NVC0_3D has been initialized\n"); return TRUE; } diff --git a/src/nvc0_accel.h b/src/nvc0_accel.h index 1d72695..e56d12a 100644 --- a/src/nvc0_accel.h +++ b/src/nvc0_accel.h @@ -5,12 +5,11 @@ #define BEGIN_RING_NI(c, g, m, s) BEGIN_RING_NI_NVC0(c, g, m, s) /* scratch buffer offsets */ -#define CODE_OFFSET 0x00000000 /* Code */ -#define TIC_OFFSET 0x00002000 /* Texture Image Control */ -#define TSC_OFFSET 0x00003000 /* Texture Sampler Control */ - -#define NTFY_OFST 0x08000 -#define MISC_OFST 0x10000 +#define CODE_OFFSET 0x00000 /* Code */ +#define TIC_OFFSET 0x02000 /* Texture Image Control */ +#define TSC_OFFSET 0x03000 /* Texture Sampler Control */ +#define NTFY_OFFSET 0x08000 +#define MISC_OFFSET 0x01000 /* fragment programs */ #define PFP_S 0x0000 /* (src) */ @@ -28,26 +27,26 @@ #define CB_OFFSET 0x1000 #define VTX_ATTR(a, c, t, s) \ - ((NVC0TCL_VTX_ATTR_DEFINE_TYPE_##t) | \ - ((a) << NVC0TCL_VTX_ATTR_DEFINE_ATTR_SHIFT) | \ - ((c) << NVC0TCL_VTX_ATTR_DEFINE_COMP_SHIFT) | \ - ((s) << NVC0TCL_VTX_ATTR_DEFINE_SIZE_SHIFT)) + ((NVC0_3D_VTX_ATTR_DEFINE_TYPE_##t) | \ + ((a) << NVC0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT) | \ + ((c) << NVC0_3D_VTX_ATTR_DEFINE_COMP__SHIFT) | \ + ((s) << NVC0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT)) static __inline__ void VTX1s(NVPtr pNv, float sx, float sy, unsigned dx, unsigned dy) { struct nouveau_channel *chan = pNv->chan; - BEGIN_RING(chan, NvSub3D, NVC0TCL_VTX_ATTR_DEFINE, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VTX_ATTR_DEFINE, 3); OUT_RING (chan, VTX_ATTR(1, 2, FLOAT, 4)); OUT_RINGf (chan, sx); OUT_RINGf (chan, sy); #if 1 - BEGIN_RING(chan, NvSub3D, NVC0TCL_VTX_ATTR_DEFINE, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VTX_ATTR_DEFINE, 2); OUT_RING (chan, VTX_ATTR(0, 2, USCALED, 2)); OUT_RING (chan, (dy << 16) | dx); #else - BEGIN_RING(chan, NvSub3D, NVC0TCL_VTX_ATTR_DEFINE, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VTX_ATTR_DEFINE, 3); OUT_RING (chan, VTX_ATTR(0, 2, FLOAT, 4)); OUT_RINGf (chan, (float)dx); OUT_RINGf (chan, (float)dy); @@ -60,20 +59,20 @@ VTX2s(NVPtr pNv, float s1x, float s1y, float s2x, float s2y, { struct nouveau_channel *chan = pNv->chan; - BEGIN_RING(chan, NvSub3D, NVC0TCL_VTX_ATTR_DEFINE, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VTX_ATTR_DEFINE, 3); OUT_RING (chan, VTX_ATTR(1, 2, FLOAT, 4)); OUT_RINGf (chan, s1x); OUT_RINGf (chan, s1y); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VTX_ATTR_DEFINE, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VTX_ATTR_DEFINE, 3); OUT_RING (chan, VTX_ATTR(2, 2, FLOAT, 4)); OUT_RINGf (chan, s2x); OUT_RINGf (chan, s2y); #if 1 - BEGIN_RING(chan, NvSub3D, NVC0TCL_VTX_ATTR_DEFINE, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VTX_ATTR_DEFINE, 2); OUT_RING (chan, VTX_ATTR(0, 2, USCALED, 2)); OUT_RING (chan, (dy << 16) | dx); #else - BEGIN_RING(chan, NvSub3D, NVC0TCL_VTX_ATTR_DEFINE, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VTX_ATTR_DEFINE, 3); OUT_RING (chan, VTX_ATTR(0, 2, FLOAT, 4)); OUT_RINGf (chan, (float)dx); OUT_RINGf (chan, (float)dy); diff --git a/src/nvc0_exa.c b/src/nvc0_exa.c index 1938178..338c765 100644 --- a/src/nvc0_exa.c +++ b/src/nvc0_exa.c @@ -220,7 +220,7 @@ static struct nvc0_exa_state exa_state; struct nouveau_channel *chan = pNv->chan; (void)chan; \ struct nvc0_exa_state *state = &exa_state; (void)state -#define BF(f) NVC0TCL_BLEND_FUNC_SRC_RGB_##f +#define BF(f) NV50_BLEND_FACTOR_##f struct nvc0_blend_op { unsigned src_alpha; @@ -647,26 +647,26 @@ NVC0EXARenderTarget(PixmapPtr ppix, PicturePtr ppict) NOUVEAU_FALLBACK("pixmap is scanout buffer\n"); switch (ppict->format) { - case PICT_a8r8g8b8: format = NVC0TCL_RT_FORMAT_A8R8G8B8_UNORM; break; - case PICT_x8r8g8b8: format = NVC0TCL_RT_FORMAT_X8R8G8B8_UNORM; break; - case PICT_r5g6b5: format = NVC0TCL_RT_FORMAT_R5G6B5_UNORM; break; - case PICT_a8: format = NVC0TCL_RT_FORMAT_A8_UNORM; break; - case PICT_x1r5g5b5: format = NVC0TCL_RT_FORMAT_X1R5G5B5_UNORM; break; - case PICT_a1r5g5b5: format = NVC0TCL_RT_FORMAT_A1R5G5B5_UNORM; break; - case PICT_x8b8g8r8: format = NVC0TCL_RT_FORMAT_X8B8G8R8_UNORM; break; + case PICT_a8r8g8b8: format = NV50_SURFACE_FORMAT_A8R8G8B8_UNORM; break; + case PICT_x8r8g8b8: format = NV50_SURFACE_FORMAT_X8R8G8B8_UNORM; break; + case PICT_r5g6b5: format = NV50_SURFACE_FORMAT_R5G6B5_UNORM; break; + case PICT_a8: format = NV50_SURFACE_FORMAT_A8_UNORM; break; + case PICT_x1r5g5b5: format = NV50_SURFACE_FORMAT_X1R5G5B5_UNORM; break; + case PICT_a1r5g5b5: format = NV50_SURFACE_FORMAT_A1R5G5B5_UNORM; break; + case PICT_x8b8g8r8: format = NV50_SURFACE_FORMAT_X8B8G8R8_UNORM; break; case PICT_a2b10g10r10: case PICT_x2b10g10r10: - format = NVC0TCL_RT_FORMAT_A2B10G10R10_UNORM; + format = NV50_SURFACE_FORMAT_A2B10G10R10_UNORM; break; case PICT_a2r10g10b10: case PICT_x2r10g10b10: - format = NVC0TCL_RT_FORMAT_A2R10G10B10_UNORM; + format = NV50_SURFACE_FORMAT_A2R10G10B10_UNORM; break; default: NOUVEAU_FALLBACK("invalid picture format\n"); } - BEGIN_RING(chan, NvSub3D, NVC0TCL_RT_ADDRESS_HIGH(0), 8); + BEGIN_RING(chan, NvSub3D, NVC0_3D_RT_ADDRESS_HIGH(0), 8); if (OUT_RELOCh(chan, bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR) || OUT_RELOCl(chan, bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR)) return FALSE; @@ -759,7 +759,7 @@ NVC0EXATexture(PixmapPtr ppix, PicturePtr ppict, unsigned unit) if (!nv50_style_tiled_pixmap(ppix)) NOUVEAU_FALLBACK("pixmap is scanout buffer\n"); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TIC_ADDRESS_HIGH, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TIC_ADDRESS_HIGH, 3); if (OUT_RELOCh(chan, pNv->tesla_scratch, TIC_OFFSET, tcb_flags) || OUT_RELOCl(chan, pNv->tesla_scratch, TIC_OFFSET, tcb_flags)) return FALSE; @@ -858,7 +858,7 @@ NVC0EXATexture(PixmapPtr ppix, PicturePtr ppict, unsigned unit) OUT_RING (chan, 0x03000000); OUT_RING (chan, 0x00000000); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TSC_ADDRESS_HIGH, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TSC_ADDRESS_HIGH, 3); if (OUT_RELOCh(chan, pNv->tesla_scratch, TSC_OFFSET, tcb_flags) || OUT_RELOCl(chan, pNv->tesla_scratch, TSC_OFFSET, tcb_flags)) return FALSE; @@ -962,18 +962,18 @@ NVC0EXABlend(PixmapPtr ppix, PicturePtr ppict, int op, int component_alpha) } if (sblend == BF(ONE) && dblend == BF(ZERO)) { - BEGIN_RING(chan, NvSub3D, NVC0TCL_BLEND_ENABLE(0), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_ENABLE(0), 1); OUT_RING (chan, 0); } else { - BEGIN_RING(chan, NvSub3D, NVC0TCL_BLEND_ENABLE(0), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_ENABLE(0), 1); OUT_RING (chan, 1); - BEGIN_RING(chan, NvSub3D, NVC0TCL_BLEND_EQUATION_RGB, 5); - OUT_RING (chan, NVC0TCL_BLEND_EQUATION_RGB_FUNC_ADD); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_EQUATION_RGB, 5); + OUT_RING (chan, NVC0_3D_BLEND_EQUATION_RGB_FUNC_ADD); OUT_RING (chan, sblend); OUT_RING (chan, dblend); - OUT_RING (chan, NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_ADD); + OUT_RING (chan, NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_ADD); OUT_RING (chan, sblend); - BEGIN_RING(chan, NvSub3D, NVC0TCL_BLEND_FUNC_DST_ALPHA, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_FUNC_DST_ALPHA, 1); OUT_RING (chan, dblend); } } @@ -1043,7 +1043,7 @@ NVC0EXAPrepareComposite(int op, NVC0EXABlend(pdpix, pdpict, op, pmpict && pmpict->componentAlpha && PICT_FORMAT_RGB(pmpict->format)); - BEGIN_RING(chan, NvSub3D, NVC0TCL_CODE_ADDRESS_HIGH, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CODE_ADDRESS_HIGH, 2); if (OUT_RELOCh(chan, pNv->tesla_scratch, CODE_OFFSET, shd_flags) || OUT_RELOCl(chan, pNv->tesla_scratch, CODE_OFFSET, shd_flags)) { MARK_UNDO(chan); @@ -1054,8 +1054,8 @@ NVC0EXAPrepareComposite(int op, MARK_UNDO(chan); NOUVEAU_FALLBACK("src picture invalid\n"); } - BEGIN_RING(chan, NvSub3D, NVC0TCL_BIND_TIC(4), 1); - OUT_RING (chan, (0 << 9) | (0 << 1) | NVC0TCL_BIND_TIC_ACTIVE); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(4), 1); + OUT_RING (chan, (0 << 9) | (0 << 1) | NVC0_3D_BIND_TIC_ACTIVE); if (pmpict) { if (!NVC0EXATexture(pmpix, pmpict, 1)) { @@ -1064,10 +1064,10 @@ NVC0EXAPrepareComposite(int op, } state->have_mask = TRUE; - BEGIN_RING(chan, NvSub3D, NVC0TCL_BIND_TIC(4), 1); - OUT_RING (chan, (1 << 9) | (1 << 1) | NVC0TCL_BIND_TIC_ACTIVE); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(4), 1); + OUT_RING (chan, (1 << 9) | (1 << 1) | NVC0_3D_BIND_TIC_ACTIVE); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_START_ID(5), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_START_ID(5), 1); if (pdpict->format == PICT_a8) { OUT_RING (chan, PFP_C_A8); } else { @@ -1084,21 +1084,21 @@ NVC0EXAPrepareComposite(int op, } else { state->have_mask = FALSE; - BEGIN_RING(chan, NvSub3D, NVC0TCL_BIND_TIC(4), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(4), 1); OUT_RING (chan, (1 << 1) | 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_START_ID(5), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_START_ID(5), 1); if (pdpict->format == PICT_a8) OUT_RING (chan, PFP_S_A8); else OUT_RING (chan, PFP_S); } - BEGIN_RING(chan, NvSub3D, NVC0TCL_TSC_FLUSH, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TSC_FLUSH, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TIC_FLUSH, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TIC_FLUSH, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TEX_CACHE_CTL, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TEX_CACHE_CTL, 1); OUT_RING (chan, 0); pNv->alu = op; @@ -1143,11 +1143,11 @@ NVC0EXAComposite(PixmapPtr pdpix, float sX0, sX1, sX2, sY0, sY1, sY2; WAIT_RING (chan, 64); - BEGIN_RING(chan, NvSub3D, NVC0TCL_SCISSOR_HORIZ(0), 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SCISSOR_HORIZ(0), 2); OUT_RING (chan, ((dx + w) << 16) | dx); OUT_RING (chan, ((dy + h) << 16) | dy); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VERTEX_BEGIN, 1); - OUT_RING (chan, NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VERTEX_BEGIN_GL, 1); + OUT_RING (chan, NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES); NVC0EXATransform(state->unit[0].transform, sx, sy + (h * 2), state->unit[0].width, state->unit[0].height, @@ -1181,7 +1181,7 @@ NVC0EXAComposite(PixmapPtr pdpix, VTX1s(pNv, sX2, sY2, dx + (w * 2), dy); } - BEGIN_RING(chan, NvSub3D, NVC0TCL_VERTEX_END, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VERTEX_END_GL, 1); OUT_RING (chan, 0); } diff --git a/src/nvc0_m2mf.xml.h b/src/nvc0_m2mf.xml.h new file mode 100644 index 0000000..3bf628d --- /dev/null +++ b/src/nvc0_m2mf.xml.h @@ -0,0 +1,138 @@ +#ifndef NVC0_M2MF_XML +#define NVC0_M2MF_XML + +/* Autogenerated file, DO NOT EDIT manually! + +This file was generated by the rules-ng-ng headergen tool in this git repository: +http://0x04.net/cgit/index.cgi/rules-ng-ng +git clone git://0x04.net/rules-ng-ng + +The rules-ng-ng source files this header was generated from are: +- nvc0_m2mf.xml ( 2227 bytes, from 2010-10-16 16:10:29) +- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37) +- nv_object.xml ( 11379 bytes, from 2010-10-16 11:43:24) +- nvchipsets.xml ( 2907 bytes, from 2010-10-15 16:28:21) +- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58) + +Copyright (C) 2006-2010 by the following authors: +- Artur Huillet <arthur.huillet@free.fr> (ahuillet) +- Ben Skeggs (darktama, darktama_) +- B. R. <koala_br@users.sourceforge.net> (koala_br) +- Carlos Martin <carlosmn@users.sf.net> (carlosmn) +- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr) +- Dawid Gajownik <gajownik@users.sf.net> (gajownik) +- Dmitry Baryshkov +- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag) +- EdB <edb_@users.sf.net> (edb_) +- Erik Waling <erikwailing@users.sf.net> (erikwaling) +- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez) +- imirkin <imirkin@users.sf.net> (imirkin) +- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome) +- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy) +- Laurent Carlier <lordheavym@gmail.com> (lordheavy) +- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1) +- Maarten Maathuis <madman2003@gmail.com> (stillunknown) +- Marcin KoĆcielnicki <koriakin@0x04.net> (mwk, koriakin) +- Mark Carey <mark.carey@gmail.com> (careym) +- Matthieu Castet <matthieu.castet@parrot.com> (mat-c) +- nvidiaman <nvidiaman@users.sf.net> (nvidiaman) +- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata) +- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen) +- Peter Popov <ironpeter@users.sf.net> (ironpeter) +- Richard Hughes <hughsient@users.sf.net> (hughsient) +- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar) +- Serge Martin +- Simon Raffeiner +- Stephane Loeuillet <leroutier@users.sf.net> (leroutier) +- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu) +- sturmflut <sturmflut@users.sf.net> (sturmflut) +- Sylvain Munaut <tnt@246tNt.com> +- Victor Stinner <victor.stinner@haypocalc.com> (haypo) +- Wladmir van der Laan <laanwj@gmail.com> (miathan6) +- Younes Manton <younes.m@gmail.com> (ymanton) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + + + +#define NVC0_M2MF_TILING_MODE_IN 0x00000204 + +#define NVC0_M2MF_TILING_PITCH_IN 0x00000208 + +#define NVC0_M2MF_TILING_HEIGHT_IN 0x0000020c + +#define NVC0_M2MF_TILING_DEPTH_IN 0x00000210 + +#define NVC0_M2MF_TILING_POSITION_IN_Z 0x00000214 + +#define NVC0_M2MF_TILING_MODE_OUT 0x00000220 + +#define NVC0_M2MF_TILING_PITCH_OUT 0x00000224 + +#define NVC0_M2MF_TILING_HEIGHT_OUT 0x00000228 + +#define NVC0_M2MF_TILING_DEPTH_OUT 0x0000022c + +#define NVC0_M2MF_TILING_POSITION_OUT_Z 0x00000230 + +#define NVC0_M2MF_OFFSET_OUT_HIGH 0x00000238 + +#define NVC0_M2MF_OFFSET_OUT_LOW 0x0000023c + +#define NVC0_M2MF_EXEC 0x00000300 +#define NVC0_M2MF_EXEC_PUSH 0x00000001 +#define NVC0_M2MF_EXEC_LINEAR_IN 0x00000010 +#define NVC0_M2MF_EXEC_LINEAR_OUT 0x00000100 +#define NVC0_M2MF_EXEC_NOTIFY 0x00002000 +#define NVC0_M2MF_EXEC_INC__MASK 0x00f00000 +#define NVC0_M2MF_EXEC_INC__SHIFT 20 + +#define NVC0_M2MF_DATA 0x00000304 + +#define NVC0_M2MF_OFFSET_IN_HIGH 0x0000030c + +#define NVC0_M2MF_OFFSET_IN_LOW 0x00000310 + +#define NVC0_M2MF_PITCH_IN 0x00000314 + +#define NVC0_M2MF_PITCH_OUT 0x00000318 + +#define NVC0_M2MF_LINE_LENGTH_IN 0x0000031c + +#define NVC0_M2MF_LINE_COUNT 0x00000320 + +#define NVC0_M2MF_NOTIFY_ADDRESS_HIGH 0x0000032c + +#define NVC0_M2MF_NOTIFY_ADDRESS_LOW 0x00000330 + +#define NVC0_M2MF_NOTIFY 0x00000334 + +#define NVC0_M2MF_TILING_POSITION_IN_X 0x00000344 + +#define NVC0_M2MF_TILING_POSITION_IN_Y 0x00000348 + +#define NVC0_M2MF_TILING_POSITION_OUT_X 0x0000034c + +#define NVC0_M2MF_TILING_POSITION_OUT_Y 0x00000350 + + +#endif /* NVC0_M2MF_XML */ diff --git a/src/nvc0_xv.c b/src/nvc0_xv.c index 12daaf3..efcb380 100644 --- a/src/nvc0_xv.c +++ b/src/nvc0_xv.c @@ -121,7 +121,7 @@ nvc0_xv_state_emit(PixmapPtr ppix, int id, struct nouveau_bo *src, if (MARK_RING(chan, 256, 18)) return FALSE; - BEGIN_RING(chan, NvSub3D, NVC0TCL_RT_ADDRESS_HIGH(0), 8); + BEGIN_RING(chan, NvSub3D, NVC0_3D_RT_ADDRESS_HIGH(0), 8); if (OUT_RELOCh(chan, bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR) || OUT_RELOCl(chan, bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR)) { MARK_UNDO(chan); @@ -130,19 +130,19 @@ nvc0_xv_state_emit(PixmapPtr ppix, int id, struct nouveau_bo *src, OUT_RING (chan, ppix->drawable.width); OUT_RING (chan, ppix->drawable.height); switch (ppix->drawable.bitsPerPixel) { - case 32: OUT_RING (chan, NVC0TCL_RT_FORMAT_A8R8G8B8_UNORM); break; - case 24: OUT_RING (chan, NVC0TCL_RT_FORMAT_X8R8G8B8_UNORM); break; - case 16: OUT_RING (chan, NVC0TCL_RT_FORMAT_R5G6B5_UNORM); break; - case 15: OUT_RING (chan, NVC0TCL_RT_FORMAT_X1R5G5B5_UNORM); break; + case 32: OUT_RING (chan, NV50_SURFACE_FORMAT_A8R8G8B8_UNORM); break; + case 24: OUT_RING (chan, NV50_SURFACE_FORMAT_X8R8G8B8_UNORM); break; + case 16: OUT_RING (chan, NV50_SURFACE_FORMAT_R5G6B5_UNORM); break; + case 15: OUT_RING (chan, NV50_SURFACE_FORMAT_X1R5G5B5_UNORM); break; } OUT_RING (chan, bo->tile_mode); OUT_RING (chan, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_BLEND_ENABLE(0), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_ENABLE(0), 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TIC_ADDRESS_HIGH, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TIC_ADDRESS_HIGH, 3); if (OUT_RELOCh(chan, pNv->tesla_scratch, TIC_OFFSET, tcb_flags) || OUT_RELOCl(chan, pNv->tesla_scratch, TIC_OFFSET, tcb_flags)) { MARK_UNDO(chan); @@ -246,7 +246,7 @@ nvc0_xv_state_emit(PixmapPtr ppix, int id, struct nouveau_bo *src, OUT_RING (chan, 0x00000000); } - BEGIN_RING(chan, NvSub3D, NVC0TCL_TSC_ADDRESS_HIGH, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TSC_ADDRESS_HIGH, 3); if (OUT_RELOCh(chan, pNv->tesla_scratch, TSC_OFFSET, tcb_flags) || OUT_RELOCl(chan, pNv->tesla_scratch, TSC_OFFSET, tcb_flags)) { MARK_UNDO(chan); @@ -291,26 +291,26 @@ nvc0_xv_state_emit(PixmapPtr ppix, int id, struct nouveau_bo *src, OUT_RING (chan, 0x00000000); OUT_RING (chan, 0x00000000); - BEGIN_RING(chan, NvSub3D, NVC0TCL_CODE_ADDRESS_HIGH, 2); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CODE_ADDRESS_HIGH, 2); if (OUT_RELOCh(chan, pNv->tesla_scratch, CODE_OFFSET, shd_flags) || OUT_RELOCl(chan, pNv->tesla_scratch, CODE_OFFSET, shd_flags)) { MARK_UNDO(chan); return FALSE; } - BEGIN_RING(chan, NvSub3D, NVC0TCL_SP_START_ID(5), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_START_ID(5), 1); OUT_RING (chan, PFP_NV12); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TSC_FLUSH, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TSC_FLUSH, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TIC_FLUSH, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TIC_FLUSH, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_TEX_CACHE_CTL, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_TEX_CACHE_CTL, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, NvSub3D, NVC0TCL_BIND_TIC(2), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(2), 1); OUT_RING (chan, 1); - BEGIN_RING(chan, NvSub3D, NVC0TCL_BIND_TIC(2), 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(2), 1); OUT_RING (chan, 0x203); return TRUE; @@ -371,20 +371,16 @@ nvc0_xv_image_put(ScrnInfoPtr pScrn, return BadAlloc; } - /* NVC0TCL_SCISSOR_VERT_T_SHIFT is wrong, because it was deducted with - * origin lying at the bottom left. This will be changed to _MIN_ and _MAX_ - * later, because it is origin dependent. - */ - BEGIN_RING(chan, NvSub3D, NVC0TCL_SCISSOR_HORIZ(0), 2); - OUT_RING (chan, sx2 << NVC0TCL_SCISSOR_HORIZ_MAX_SHIFT | sx1); - OUT_RING (chan, sy2 << NVC0TCL_SCISSOR_VERT_MAX_SHIFT | sy1 ); + BEGIN_RING(chan, NvSub3D, NVC0_3D_SCISSOR_HORIZ(0), 2); + OUT_RING (chan, sx2 << NVC0_3D_SCISSOR_HORIZ_MAX__SHIFT | sx1); + OUT_RING (chan, sy2 << NVC0_3D_SCISSOR_VERT_MAX__SHIFT | sy1 ); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VERTEX_BEGIN, 1); - OUT_RING (chan, NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VERTEX_BEGIN_GL, 1); + OUT_RING (chan, NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES); VTX2s(pNv, tx1, ty1, tx1, ty1, sx1, sy1); VTX2s(pNv, tx2+(tx2-tx1), ty1, tx2+(tx2-tx1), ty1, sx2+(sx2-sx1), sy1); VTX2s(pNv, tx1, ty2+(ty2-ty1), tx1, ty2+(ty2-ty1), sx1, sy2+(sy2-sy1)); - BEGIN_RING(chan, NvSub3D, NVC0TCL_VERTEX_END, 1); + BEGIN_RING(chan, NvSub3D, NVC0_3D_VERTEX_END_GL, 1); OUT_RING (chan, 0); pbox++; @@ -403,14 +399,14 @@ nvc0_xv_csc_update(NVPtr pNv, float yco, float *off, float *uco, float *vco) if (MARK_RING(chan, 64, 2)) return; - BEGIN_RING(chan, NvSub3D, NVC0TCL_CB_SIZE, 3); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CB_SIZE, 3); OUT_RING (chan, 256); if (OUT_RELOCh(chan, bo, CB_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR) || OUT_RELOCl(chan, bo, CB_OFFSET, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR)) { MARK_UNDO(chan); return; } - BEGIN_RING(chan, NvSub3D, NVC0TCL_CB_POS, 11); + BEGIN_RING(chan, NvSub3D, NVC0_3D_CB_POS, 11); OUT_RING (chan, 0); OUT_RINGf (chan, yco); OUT_RINGf (chan, off[0]); |