mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
684 lines
16 KiB
684 lines
16 KiB
/*
|
|
|
|
Copyright (c) 1994, 1995, Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
rx.h
|
|
|
|
Abstract:
|
|
|
|
Defines and types for 3D DDI Extension Interface.
|
|
|
|
If WINDDI.H is to be included, it must be included before this
|
|
file (applies to NT only).
|
|
|
|
*/
|
|
|
|
#ifndef _RX_
|
|
#define _RX_
|
|
|
|
#define RX_VERSION_MAJOR 1
|
|
#define RX_VERSION_MINOR 0
|
|
|
|
/* Escape through which all 3D DDI functionality is accessed */
|
|
|
|
#ifndef RXFUNCS
|
|
#define RXFUNCS 3076
|
|
#endif
|
|
|
|
/* 3D DDI command identifiers */
|
|
|
|
#define RXCMD_ALLOC_TEXTURE 1
|
|
#define RXCMD_CREATE_CONTEXT 2
|
|
#define RXCMD_DELETE_RESOURCE 3
|
|
#define RXCMD_DRAW_PRIM 4
|
|
#define RXCMD_ENABLE_BUFFERS 5
|
|
#define RXCMD_FILL_RECT 6
|
|
#define RXCMD_FLUSH 7
|
|
#define RXCMD_GET_INFO 8
|
|
#define RXCMD_LOAD_TEXTURE 9
|
|
#define RXCMD_MAP_MEM 10
|
|
#define RXCMD_POLY_DRAW_SPAN 11
|
|
#define RXCMD_QUERY_TEXTURE_MEMORY 12
|
|
#define RXCMD_READ_RECT 13
|
|
#define RXCMD_SET_STATE 14
|
|
#define RXCMD_SWAP_BUFFERS 15
|
|
#define RXCMD_TEXTURE_HEAP 16
|
|
#define RXCMD_WRITE_RECT 17
|
|
|
|
|
|
/* 3D DDI structures and type definitions */
|
|
|
|
typedef LONG LONGFIX;
|
|
typedef LONG RXREAL;
|
|
typedef HANDLE RXHANDLE;
|
|
|
|
typedef struct _RXCAPS {
|
|
ULONG miscCaps;
|
|
ULONG rasterCaps;
|
|
ULONG zCmpCaps;
|
|
ULONG srcBlendCaps;
|
|
ULONG dstBlendCaps;
|
|
ULONG alphaCmpCaps;
|
|
ULONG shadeCaps;
|
|
ULONG texCaps;
|
|
ULONG texFilterCaps;
|
|
ULONG texBlendCaps;
|
|
ULONG texMaxWidth;
|
|
ULONG texMaxHeight;
|
|
ULONG texMinWidth;
|
|
ULONG texMinHeight;
|
|
ULONG texMaxBorder;
|
|
ULONG rasterCalcType;
|
|
ULONG fractionalRasterBits;
|
|
} RXCAPS;
|
|
|
|
typedef struct _RXCOLOR {
|
|
UCHAR r;
|
|
UCHAR g;
|
|
UCHAR b;
|
|
UCHAR a;
|
|
UCHAR f;
|
|
UCHAR fr;
|
|
UCHAR fg;
|
|
UCHAR fb;
|
|
} RXCOLOR;
|
|
|
|
typedef struct _RXCOLORREF {
|
|
RXREAL r;
|
|
RXREAL g;
|
|
RXREAL b;
|
|
} RXCOLORREF;
|
|
|
|
typedef struct _RXCOLORREFA {
|
|
RXREAL r;
|
|
RXREAL g;
|
|
RXREAL b;
|
|
RXREAL a;
|
|
} RXCOLORREFA;
|
|
|
|
typedef struct _RXCOLORREFAF {
|
|
RXREAL r;
|
|
RXREAL g;
|
|
RXREAL b;
|
|
RXREAL a;
|
|
RXREAL f;
|
|
} RXCOLORREFAF;
|
|
|
|
typedef struct _RXGLOBALINFO {
|
|
ULONG verMajor;
|
|
ULONG verMinor;
|
|
ULONG verDriver;
|
|
UCHAR idStr[200];
|
|
} RXGLOBALINFO;
|
|
|
|
typedef struct _RXHDR {
|
|
ULONG flags;
|
|
RXHANDLE hrxRC;
|
|
RXHANDLE hrxSharedMem;
|
|
VOID *pSharedMem;
|
|
ULONG sharedMemSize;
|
|
ULONG reserved1;
|
|
ULONG reserved2;
|
|
ULONG reserved3;
|
|
} RXHDR;
|
|
|
|
/* Only NT defines WNDOBJ, and it does it in WINDDI.H, which 3D DDI
|
|
clients will not include, so compile this structure only if
|
|
WINDDI.H has been included */
|
|
#if defined(_WINDDI_)
|
|
|
|
typedef struct _RXHDR_NTPRIVATE {
|
|
WNDOBJ *pwo;
|
|
VOID *pBuffer;
|
|
ULONG bufferSize;
|
|
} RXHDR_NTPRIVATE;
|
|
|
|
#endif
|
|
|
|
typedef struct _RXLINEPAT {
|
|
USHORT repFactor;
|
|
USHORT linePattern;
|
|
} RXLINEPAT;
|
|
|
|
typedef struct _RXPOINT {
|
|
RXREAL x;
|
|
RXREAL y;
|
|
} RXPOINT;
|
|
|
|
typedef struct _RXPOINTINT {
|
|
LONG x;
|
|
LONG y;
|
|
} RXPOINTINT;
|
|
|
|
typedef struct _RXPOINTZ {
|
|
RXREAL x;
|
|
RXREAL y;
|
|
ULONG z;
|
|
} RXPOINTZ;
|
|
|
|
typedef struct _RXPOINTZTEX {
|
|
RXREAL x;
|
|
RXREAL y;
|
|
ULONG z;
|
|
RXREAL w;
|
|
RXREAL s;
|
|
RXREAL t;
|
|
} RXPOINTZTEX;
|
|
|
|
typedef struct _RXRECT {
|
|
LONG x;
|
|
LONG y;
|
|
ULONG width;
|
|
ULONG height;
|
|
} RXRECT;
|
|
|
|
typedef struct _RXSHAREMEM {
|
|
ULONG sourceProcessID;
|
|
HANDLE hSource;
|
|
ULONG offset;
|
|
ULONG size;
|
|
ULONG clientBaseAddress;
|
|
} RXSHAREMEM;
|
|
|
|
typedef struct _RXSPAN {
|
|
SHORT x;
|
|
SHORT y;
|
|
USHORT flags;
|
|
USHORT count;
|
|
} RXSPAN;
|
|
|
|
typedef struct _RXSTIPPLE {
|
|
ULONG stipple[32];
|
|
} RXSTIPPLE;
|
|
|
|
typedef struct _RXSURFACEINFO {
|
|
ULONG flags;
|
|
ULONG colorBytesPerPixel;
|
|
ULONG rDepth;
|
|
ULONG gDepth;
|
|
ULONG bDepth;
|
|
ULONG aDepth;
|
|
ULONG rBitShift;
|
|
ULONG gBitShift;
|
|
ULONG bBitShift;
|
|
ULONG aBitShift;
|
|
ULONG colorPitch;
|
|
ULONG zDepth;
|
|
ULONG zBytesPerPixel;
|
|
ULONG zBitShift;
|
|
ULONG zPitch;
|
|
ULONG ditherPaletteOrigin;
|
|
ULONG totalTextureMemory;
|
|
ULONG perTextureTexmemOverhead;
|
|
ULONG perMipmapTexmemOverhead;
|
|
} RXSURFACEINFO;
|
|
|
|
typedef struct _RXTEX {
|
|
RXREAL w;
|
|
RXREAL s;
|
|
RXREAL t;
|
|
} RXTEX;
|
|
|
|
typedef struct _RXTEXMEMSTATS {
|
|
ULONG totalSystemTextureMemory;
|
|
ULONG freeSystemTextureMemory;
|
|
ULONG totalHeapTextureMemory;
|
|
ULONG freeHeapTextureMemory;
|
|
} RXTEXMEMSTATS;
|
|
|
|
typedef struct _RXTEXTURE {
|
|
ULONG driverPrivate;
|
|
ULONG deviceFormatSize;
|
|
ULONG width;
|
|
ULONG height;
|
|
ULONG border;
|
|
ULONG texelFormat;
|
|
ULONG texels[1];
|
|
} RXTEXTURE;
|
|
|
|
typedef struct _RXZTEX {
|
|
ULONG z;
|
|
RXREAL w;
|
|
RXREAL s;
|
|
RXREAL t;
|
|
} RXZTEX;
|
|
|
|
/* 3D DDI command structures */
|
|
|
|
typedef struct _RXALLOCTEXTURE {
|
|
ULONG command;
|
|
ULONG flags;
|
|
RXHANDLE hrxTextureHeap;
|
|
ULONG numTextures;
|
|
RXHANDLE hrxSharedMem;
|
|
} RXALLOCTEXTURE;
|
|
|
|
typedef struct _RXCREATECONTEXT {
|
|
ULONG command;
|
|
ULONG hwnd;
|
|
ULONG flags;
|
|
} RXCREATECONTEXT;
|
|
|
|
typedef struct _RXDELETERESOURCE {
|
|
ULONG command;
|
|
RXHANDLE hrxResource;
|
|
} RXDELETERESOURCE;
|
|
|
|
typedef struct _RXDRAWPRIM {
|
|
ULONG command;
|
|
ULONG primType;
|
|
ULONG numVertices;
|
|
RXHANDLE hrxSharedMemVertexData;
|
|
RXHANDLE hrxSharedMemVertexPtr;
|
|
VOID *pSharedMem;
|
|
} RXDRAWPRIM;
|
|
|
|
typedef struct _RXENABLEBUFFERS {
|
|
ULONG command;
|
|
ULONG buffers;
|
|
} RXENABLEBUFFERS;
|
|
|
|
typedef struct _RXFILLRECT {
|
|
ULONG command;
|
|
ULONG fillType;
|
|
RXRECT fillRect;
|
|
} RXFILLRECT;
|
|
|
|
typedef struct _RXGETINFO {
|
|
ULONG command;
|
|
ULONG infoType;
|
|
ULONG flags;
|
|
ULONG height;
|
|
ULONG width;
|
|
ULONG bitsPerPixel;
|
|
ULONG refreshRate;
|
|
} RXGETINFO;
|
|
|
|
typedef struct _RXLOADTEXTURE {
|
|
ULONG command;
|
|
ULONG numTextures;
|
|
ULONG numColorComponents;
|
|
ULONG flags;
|
|
RXHANDLE hrxTextureMem;
|
|
RXHANDLE hrxSharedMem;
|
|
} RXLOADTEXTURE;
|
|
|
|
typedef struct _RXMAPMEM {
|
|
ULONG command;
|
|
ULONG action;
|
|
RXHANDLE hrxSharedMem;
|
|
RXSHAREMEM shareMem;
|
|
} RXMAPMEM;
|
|
|
|
typedef struct _RXPOLYDRAWSPAN {
|
|
ULONG command;
|
|
ULONG numSpans;
|
|
RXHANDLE hrxSharedMem;
|
|
VOID *pSharedMem;
|
|
} RXPOLYDRAWSPAN;
|
|
|
|
typedef struct _RXQUERYTEXTUREMEMORY {
|
|
ULONG command;
|
|
RXHANDLE hrxTextureHeap;
|
|
} RXQUERYTEXTUREMEMORY;
|
|
|
|
typedef struct _RXREADRECT {
|
|
ULONG command;
|
|
ULONG sourceX;
|
|
ULONG sourceY;
|
|
RXRECT destRect;
|
|
ULONG sourceBuffer;
|
|
RXHANDLE hrxSharedMem;
|
|
VOID *pSharedMem;
|
|
LONG sharedPitch;
|
|
} RXREADRECT;
|
|
|
|
typedef struct _RXSETSTATE {
|
|
ULONG command;
|
|
ULONG stateToChange;
|
|
ULONG newState[1];
|
|
} RXSETSTATE;
|
|
|
|
typedef struct _RXSWAPBUFFERS {
|
|
ULONG command;
|
|
ULONG flags;
|
|
} RXSWAPBUFFERS;
|
|
|
|
typedef struct _RXTEXTUREHEAP {
|
|
ULONG command;
|
|
ULONG action;
|
|
ULONG size;
|
|
RXHANDLE hrxTextureHeap;
|
|
} RXTEXTUREHEAP;
|
|
|
|
typedef struct _RXWRITERECT {
|
|
ULONG command;
|
|
ULONG sourceX;
|
|
ULONG sourceY;
|
|
RXRECT destRect;
|
|
ULONG destBuffer;
|
|
RXHANDLE hrxSharedMem;
|
|
VOID *pSharedMem;
|
|
LONG sharedPitch;
|
|
} RXWRITERECT;
|
|
|
|
/* Basic 3D DDI command header. There is an
|
|
extended version of this structure for
|
|
each 3D DDI command */
|
|
|
|
typedef struct _RXCMD {
|
|
ULONG command;
|
|
} RXCMD;
|
|
|
|
|
|
/* RXHDR flags */
|
|
|
|
#define RX_FL_CREATE_CONTEXT 0x0001
|
|
#define RX_FL_MAP_MEM 0x0002
|
|
#define RX_NO_CLIPPING_NEEDED 0x0004
|
|
|
|
#define RX_FRONT_LEFT 0x0001
|
|
#define RX_BACK_LEFT 0x0002
|
|
|
|
#define RX_READ_RECT_FRONT_LEFT 1
|
|
#define RX_READ_RECT_BACK_LEFT 2
|
|
#define RX_READ_RECT_Z 3
|
|
|
|
#define RX_WRITE_RECT_PIX 1
|
|
#define RX_WRITE_RECT_Z 2
|
|
|
|
#define RX_FLAT 1
|
|
#define RX_SMOOTH 2
|
|
#define RX_SOLID 3
|
|
|
|
#define RX_SPAN_HORIZONTAL 1
|
|
#define RX_SPAN_VERTICAL 2
|
|
|
|
/* flags in RXCMD_CREATE_CONTEXT */
|
|
|
|
#define RX_FLOAT_COORDS 0x0001
|
|
#define RX_COLOR_INDEXED 0x0002
|
|
|
|
/* RX_ENABLE_BUFFERS flags */
|
|
|
|
#define RX_ENABLE_Z_BUFFER 0x0001
|
|
#define RX_ENABLE_BACK_LEFT_BUFFER 0x0100
|
|
|
|
#define RX_CLEAR_ON_SWAP 0x0001
|
|
|
|
/* stateToChange in RXCMD_SET_STATE */
|
|
|
|
#define RX_LINE_PATTERN 1
|
|
#define RX_STIPPLE_PATTERN 2
|
|
#define RX_ROP2 3
|
|
#define RX_SPAN_TYPE 4
|
|
#define RX_ACTIVE_BUFFER 5
|
|
#define RX_PLANE_MASK 6
|
|
#define RX_Z_WRITE_ENABLE 7
|
|
#define RX_Z_ENABLE 8
|
|
#define RX_ALPHA_TEST_ENABLE 9
|
|
#define RX_LAST_PIXEL 10
|
|
#define RX_TEX_MAG 11
|
|
#define RX_TEX_MIN 12
|
|
#define RX_SRC_BLEND 13
|
|
#define RX_DST_BLEND 14
|
|
#define RX_TEX_MAP_BLEND 15
|
|
#define RX_CULL_MODE 16
|
|
#define RX_SPAN_DIRECTION 17
|
|
#define RX_Z_FUNC 18
|
|
#define RX_ALPHA_REF 19
|
|
#define RX_ALPHA_FUNC 20
|
|
#define RX_DITHER_ENABLE 21
|
|
#define RX_BLEND_ENABLE 22
|
|
#define RX_TEXTURE 23
|
|
#define RX_FILL_COLOR 24
|
|
#define RX_FILL_Z 25
|
|
#define RX_SOLID_COLOR 26
|
|
#define RX_SCISSORS_ENABLE 27
|
|
#define RX_SCISSORS_RECT 28
|
|
#define RX_MASK_START 29
|
|
#define RX_SHADE_MODE 30
|
|
#define RX_VERTEX_TYPE 31
|
|
#define RX_TEXTURE_PERSPECTIVE 32
|
|
#define RX_TEX_TRANSP_ENABLE 33
|
|
#define RX_TEX_TRANSP_COLOR 34
|
|
#define RX_DITHER_ORIGIN 35
|
|
#define RX_FOG_MODE 36
|
|
#define RX_FOG_COLOR 37
|
|
#define RX_VERTEX_COLOR_TYPE 38
|
|
#define RX_SPAN_COLOR_TYPE 39
|
|
#define RX_PRIMLIST_SKIP 40
|
|
#define RX_PRIMSTRIP_SKIP 41
|
|
|
|
#define RX_FILL_RECT_COLOR 0x0001
|
|
#define RX_FILL_RECT_Z 0x0002
|
|
|
|
/* RX_FOG_MODE settings */
|
|
|
|
#define RX_FOG_DISABLE 0x0001
|
|
#define RX_FOG_NORMAL 0x0002
|
|
#define RX_FOG_CONSTANT 0x0004
|
|
|
|
/* Comparison functions. Test passes if new pixel value meets the */
|
|
/* specified condition with the current pixel value. */
|
|
|
|
#define RX_CMP_NEVER 0x0001
|
|
#define RX_CMP_LESS 0x0002
|
|
#define RX_CMP_EQUAL 0x0004
|
|
#define RX_CMP_LEQUAL 0x0008
|
|
#define RX_CMP_GREATER 0x0010
|
|
#define RX_CMP_NOTEQUAL 0x0020
|
|
#define RX_CMP_GEQUAL 0x0040
|
|
#define RX_CMP_ALWAYS 0x0080
|
|
#define RX_CMP_ALLGL 0x00ff
|
|
|
|
/* RXCAPS miscCaps */
|
|
|
|
#define RX_MASK_MSB 0x0001
|
|
#define RX_MASK_LSB 0x0002
|
|
#define RX_MASK_PLANES 0x0004
|
|
#define RX_MASK_Z 0x0008
|
|
#define RX_LINE_PATTERN_REP 0x0010
|
|
#define RX_CULL 0x0020
|
|
#define RX_HORIZONTAL_SPANS 0x0040
|
|
#define RX_VERTICAL_SPANS 0x0080
|
|
|
|
/* Blending flags */
|
|
|
|
#define RX_BLEND_ZERO 0x0001
|
|
#define RX_BLEND_ONE 0x0002
|
|
#define RX_BLEND_SRC_COLOR 0x0004
|
|
#define RX_BLEND_INV_SRC_COLOR 0x0008
|
|
#define RX_BLEND_SRC_ALPHA 0x0010
|
|
#define RX_BLEND_INV_SRC_ALPHA 0x0020
|
|
#define RX_BLEND_DST_ALPHA 0x0040
|
|
#define RX_BLEND_INV_DST_ALPHA 0x0080
|
|
#define RX_BLEND_DST_COLOR 0x0100
|
|
#define RX_BLEND_INV_DST_COLOR 0x0200
|
|
#define RX_BLEND_SRC_ALPHA_SAT 0x0400
|
|
#define RX_BLEND_BOTH_SRC_ALPHA 0x0800
|
|
#define RX_BLEND_BOTH_INV_SRC_ALPHA 0x1000
|
|
#define RX_BLEND_ALLGL 0x07ff
|
|
|
|
/* RXCAPS shadeCaps */
|
|
|
|
#define RX_SHADE_SMOOTH 0x0001
|
|
#define RX_FLAT_ALPHA 0x0002
|
|
#define RX_SMOOTH_ALPHA 0x0004
|
|
#define RX_SOLID_ALPHA 0x0008
|
|
#define RX_NORMAL_FOG 0x0010
|
|
#define RX_CONSTANT_FOG 0x0020
|
|
|
|
/* RXCAPS texCaps */
|
|
|
|
#define RX_TEX_PERSPECTIVE 0x0001
|
|
#define RX_TEX_POW2 0x0002
|
|
#define RX_TEX_ALPHA 0x0004
|
|
#define RX_TEX_TRANSPARENCY 0x0008
|
|
#define RX_TEX_BORDER 0x0010
|
|
#define RX_TEX_8888 0x0020
|
|
#define RX_TEX_4444 0x0040
|
|
#define RX_TEX_1555 0x0080
|
|
#define RX_TEX_0565 0x0100
|
|
#define RX_TEX_0332 0x0200
|
|
|
|
/* Texture-mapping flags */
|
|
|
|
#define RX_TEX_NEAREST 0x0001
|
|
#define RX_TEX_LINEAR 0x0002
|
|
#define RX_TEX_MIP_NEAREST 0x0004
|
|
#define RX_TEX_MIP_LINEAR 0x0008
|
|
#define RX_TEX_LINEAR_MIP_NEAREST 0x0010
|
|
#define RX_TEX_LINEAR_MIP_LINEAR 0x0020
|
|
|
|
/* Texture blending flags */
|
|
|
|
#define RX_TEX_DECAL 0x0001
|
|
#define RX_TEX_MODULATE 0x0002
|
|
#define RX_TEX_DECAL_ALPHA 0x0004
|
|
#define RX_TEX_MODULATE_ALPHA 0x0008
|
|
#define RX_TEX_DECAL_MASK 0x0010
|
|
#define RX_TEX_MODULATE_MASK 0x0020
|
|
|
|
/* RXCAPS rasterCalcType values */
|
|
|
|
#define RX_RASTER_FIXED 1
|
|
#define RX_RASTER_ERROR_TERM 2
|
|
#define RX_RASTER_OTHER 3
|
|
|
|
/* RX_TEX_MAP_BLEND state values */
|
|
|
|
#define RX_TEX_MAP_DECAL 1
|
|
#define RX_TEX_MAP_MODULATE 2
|
|
#define RX_TEX_MAP_DECAL_ALPHA 3
|
|
#define RX_TEX_MAP_MODULATE_ALPHA 4
|
|
#define RX_TEX_MAP_DECAL_MASK 5
|
|
#define RX_TEX_MAP_MODULATE_MASK 6
|
|
|
|
/* RXCAPS rasterCaps flags */
|
|
|
|
#define RX_RASTER_DITHER 0x0001
|
|
#define RX_RASTER_ROP2 0x0002
|
|
#define RX_RASTER_XOR 0x0004
|
|
#define RX_RASTER_PAT 0x0008
|
|
#define RX_RASTER_SUBPIXEL 0x0010
|
|
|
|
/* flags in RXSURFACEINFO */
|
|
|
|
#define RX_SWAP_PRESERVE_BACK 0x0001
|
|
#define RX_BACK_BUFFER 0x0002
|
|
#define RX_MULTIBUFFER_WRITE 0x0004
|
|
#define RX_SWAP_AND_CLEAR 0x0008
|
|
#define RX_LINEAR_TEXMEM 0x0010
|
|
#define RX_LINEAR_PLUS_K_TEXMEM 0x0020
|
|
#define RX_LINEAR_MIPMEM 0x0040
|
|
#define RX_LINEAR_PLUS_K_MIPMEM 0x0080
|
|
#define RX_LINEAR_DWORD_PER_SCAN 0x0100
|
|
#define RX_FLOAT_VALUES 0x0200
|
|
#define RX_VERTEX_COLOR_RXREALS 0x0400
|
|
|
|
/* RX_SPAN_TYPE state values */
|
|
|
|
#define RX_SPAN_COLOR 1
|
|
#define RX_SPAN_COLOR_Z 2
|
|
#define RX_SPAN_COLOR_Z_TEX 3
|
|
|
|
/* RX_CULL_MODE state values */
|
|
|
|
#define RX_CULL_NONE 1
|
|
#define RX_CULL_CW 2
|
|
#define RX_CULL_CCW 3
|
|
|
|
/* flags in RXSPAN */
|
|
|
|
#define RX_SPAN_DELTA 0x0001
|
|
#define RX_SPAN_MASK 0x0002
|
|
|
|
/* flags for driverPrivate field in RXTEXTURE */
|
|
|
|
#define RX_DONT_SET_DEVICE_FORMAT 0x0000
|
|
#define RX_SET_DEVICE_FORMAT 0x0001
|
|
#define RX_IN_DEVICE_FORMAT 0x0002
|
|
#define RX_PRIVATE_DEVICE_FORMAT (~0x0003)
|
|
|
|
/* flags in RXGETINFO */
|
|
|
|
#define RX_QUERY_CURRENT_MODE 0x0001
|
|
#define RX_MATCH_REFRESH 0x0002
|
|
#define RX_GET_INFO_COLOR_INDEX 0x0004
|
|
#define RX_FULLSCREEN_INFO 0x0008
|
|
|
|
/* RXCMD_GET_INFO return values */
|
|
|
|
#define RX_GET_INFO_INVALID_MODE 1
|
|
#define RX_GET_INFO_CI_NOT_SUPPORTED 2
|
|
#define RX_GET_INFO_RGBA_NOT_SUPPORTED 3
|
|
#define RX_GET_INFO_CAP_NOT_SUPPORTED 4
|
|
|
|
/* RXMAPMEM action field values */
|
|
|
|
#define RX_CREATE_MEM_MAP 1
|
|
#define RX_DELETE_MEM_MAP 2
|
|
|
|
/* RXLOADTEXTURE flag values */
|
|
|
|
#define RX_COMPRESS_LOSSY 1
|
|
|
|
/* RXTEXTUREHEAP action field values */
|
|
|
|
#define RX_CREATE_TEXTURE_HEAP 1
|
|
#define RX_DELETE_TEXTURE_HEAP 2
|
|
#define RX_CLEAR_TEXTURE_HEAP 3
|
|
|
|
/* Primitive types for RXDRAWPRIM */
|
|
|
|
#define RX_PRIM_LINESTRIP 1
|
|
#define RX_PRIM_TRISTRIP 2
|
|
#define RX_PRIM_QUADSTRIP 3
|
|
#define RX_PRIM_LINELIST 4
|
|
#define RX_PRIM_TRILIST 5
|
|
#define RX_PRIM_QUADLIST 6
|
|
#define RX_PRIM_INTLINESTRIP 7
|
|
|
|
/* RX_VERTEX_TYPE state values */
|
|
|
|
#define RX_POINT 1
|
|
#define RX_POINTZ 2
|
|
#define RX_POINTZTEX 3
|
|
|
|
/* RX_SPAN_COLOR_TYPE state values */
|
|
|
|
#define RX_SPAN_COLOR_RGB 1
|
|
#define RX_SPAN_COLOR_RGBA 2
|
|
#define RX_SPAN_COLOR_RGBAF 3
|
|
|
|
/* RX_VERTEX_COLOR_TYPE state values */
|
|
|
|
#define RX_VERTEX_COLOR_PACKED 1
|
|
#define RX_VERTEX_COLOR_NONE 2
|
|
#define RX_VERTEX_COLOR_RGB 3
|
|
#define RX_VERTEX_COLOR_RGBA 4
|
|
#define RX_VERTEX_COLOR_RGBAF 5
|
|
|
|
/* Texture formats */
|
|
|
|
#define RX_TEXTURE_8888 1
|
|
#define RX_TEXTURE_4444 2
|
|
#define RX_TEXTURE_1555 3
|
|
#define RX_TEXTURE_0565 4
|
|
#define RX_TEXTURE_0332 5
|
|
|
|
/* RXGETINFO infoType field values */
|
|
|
|
#define RX_INFO_GLOBAL_CAPS 1
|
|
#define RX_INFO_SURFACE_CAPS 2
|
|
#define RX_INFO_SPAN_CAPS 3
|
|
#define RX_INFO_LINE_CAPS 4
|
|
#define RX_INFO_TRIANGLE_CAPS 5
|
|
#define RX_INFO_QUAD_CAPS 6
|
|
#define RX_INFO_INTLINE_CAPS 7
|
|
|
|
#endif // _RX_
|
|
|