LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
Data Structures | Macros | Functions | Variables
xe.h File Reference
#include <xetypes.h>
Include dependency graph for xe.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  XenosLock
 
struct  XenosShader
 
struct  XenosShaderHeader
 
struct  XenosShaderData
 
struct  XenosShaderVertex
 
struct  XenosVBFElement
 
struct  XenosVBFFormat
 
struct  XenosSurface
 
struct  XenosVertexBuffer
 
struct  XenosIndexBuffer
 
struct  XenosDevice
 

Macros

#define XE_MAX_INDICES_PER_DRAW   65535
 
#define SHADER_TYPE_PIXEL   1
 
#define SHADER_TYPE_VERTEX   0
 
#define XE_PRIMTYPE_POINTLIST   1
 
#define XE_PRIMTYPE_LINELIST   2
 
#define XE_PRIMTYPE_LINESTRIP   3
 
#define XE_PRIMTYPE_TRIANGLELIST   4
 
#define XE_PRIMTYPE_TRIANGLEFAN   5
 
#define XE_PRIMTYPE_TRIANGLESTRIP   6
 
#define XE_PRIMTYPE_RECTLIST   8
 
#define XE_PRIMTYPE_QUADLIST   13
 
#define XE_CMP_NEVER   0
 
#define XE_CMP_LESS   1
 
#define XE_CMP_EQUAL   2
 
#define XE_CMP_LESSEQUAL   3
 
#define XE_CMP_GREATER   4
 
#define XE_CMP_NOTEQUAL   5
 
#define XE_CMP_GREATEREQUAL   6
 
#define XE_CMP_ALWAYS   7
 
#define XE_BLEND_ZERO   0
 
#define XE_BLEND_ONE   1
 
#define XE_BLEND_SRCCOLOR   4
 
#define XE_BLEND_INVSRCCOLOR   5
 
#define XE_BLEND_SRCALPHA   6
 
#define XE_BLEND_INVSRCALPHA   7
 
#define XE_BLEND_DESTCOLOR   8
 
#define XE_BLEND_INVDESTCOLOR   9
 
#define XE_BLEND_DESTALPHA   10
 
#define XE_BLEND_INVDESTALPHA   11
 
#define XE_BLEND_BLENDFACTOR   12
 
#define XE_BLEND_INVBLENDFACTOR   13
 
#define XE_BLEND_CONSTANTALPHA   14
 
#define XE_BLEND_INVCONSTANTALPHA   15
 
#define XE_BLEND_SRCALPHASAT   16
 
#define XE_CULL_NONE   0
 
#define XE_CULL_CW   2
 
#define XE_CULL_CCW   6
 
#define XE_BLENDOP_ADD   0
 
#define XE_BLENDOP_SUBTRACT   1
 
#define XE_BLENDOP_REVSUBTRACT   4
 
#define XE_BLENDOP_MIN   2
 
#define XE_BLENDOP_MAX   3
 
#define XE_STENCILOP_KEEP   0
 
#define XE_STENCILOP_ZERO   1
 
#define XE_STENCILOP_REPLACE   2
 
#define XE_STENCILOP_INCRSAT   3
 
#define XE_STENCILOP_DECRSAT   4
 
#define XE_STENCILOP_INVERT   5
 
#define XE_STENCILOP_INCR   6
 
#define XE_STENCILOP_DECR   7
 
#define XE_TEXADDR_WRAP   0
 
#define XE_TEXADDR_MIRROR   1
 
#define XE_TEXADDR_CLAMP   2
 
#define XE_TEXADDR_MIRRORONCE   3
 
#define XE_TEXADDR_BORDER_HALF   4
 
#define XE_TEXADDR_MIRRORONCE_BORDER_HALF   5
 
#define XE_TEXADDR_BORDER   6
 
#define XE_TEXADDR_MIRRORONCE_BORDER   7
 
#define XE_CLIP_ENABLE_PLANE0   0x0001
 
#define XE_CLIP_ENABLE_PLANE1   0x0002
 
#define XE_CLIP_ENABLE_PLANE2   0x0004
 
#define XE_CLIP_ENABLE_PLANE3   0x0008
 
#define XE_CLIP_ENABLE_PLANE4   0x0010
 
#define XE_CLIP_ENABLE_PLANE5   0x0020
 
#define XE_CLIP_MASTER_DISABLE   0x10000
 
#define XE_FILL_POINT   0x01
 
#define XE_FILL_WIREFRAME   0x25
 
#define XE_FILL_SOLID   0x00
 
#define XE_SHADER_MAX_INSTANCES   16
 
#define SWIZZLE_XYZW   0x688
 
#define SWIZZLE_XYZ1   0xA88
 
#define SWIZZLE_XY01   0xA08
 
#define SWIZZLE_XY__   0xFC8
 
#define SWIZZLE_XYZ_   0xEC8
 
#define SWIZZLE_XYZ0   0x0C8
 
#define SWIZZLE_XY0_   0xE08
 
#define XE_TYPE_FLOAT2   37
 
#define XE_TYPE_FLOAT3   57
 
#define XE_TYPE_FLOAT4   38
 
#define XE_TYPE_UBYTE4   6
 
#define XE_USAGE_POSITION   0
 
#define XE_USAGE_BLENDWEIGHTS   1
 
#define XE_USAGE_BLENDINDICES   2
 
#define XE_USAGE_NORMAL   3
 
#define XE_USAGE_PSIZE   4
 
#define XE_USAGE_TEXCOORD   5
 
#define XE_USAGE_TANGENT   6
 
#define XE_USAGE_BINORMAL   7
 
#define XE_USAGE_TESSFACTOR   8
 
#define XE_USAGE_POSITIONT   9
 
#define XE_USAGE_COLOR   10
 
#define XE_USAGE_FOG   11
 
#define XE_USAGE_DEPTH   12
 
#define XE_USAGE_SAMPLE   13
 
#define XE_FMT_MASK   0x3F
 
#define XE_FMT_8   2
 
#define XE_FMT_8888   6
 
#define XE_FMT_5551   3
 
#define XE_FMT_565   4
 
#define XE_FMT_16161616   26
 
#define XE_FMT_ARGB   0x80
 
#define XE_FMT_BGRA   0x00
 
#define XE_FMT_16BE   0x40
 
#define XE_FMT_INDEX16   0
 
#define XE_FMT_INDEX32   1
 
#define DIRTY_ALU   0x0001
 
#define DIRTY_FETCH   0x0002
 
#define DIRTY_CLIP   0x0004
 
#define DIRTY_INTEGER   0x0008
 
#define DIRTY_CONTROL   0x0010
 
#define DIRTY_SHADER   0x0020
 
#define DIRTY_MISC   0x0040
 
#define XE_SOURCE_COLOR   0
 
#define XE_SOURCE_DS   4
 
#define XE_CLEAR_COLOR   1
 
#define XE_CLEAR_DS   2
 
#define XE_LOCK_READ   1
 
#define XE_LOCK_WRITE   2
 

Functions

void Xe_Init (struct XenosDevice *xe)
 
void __attribute__ ((noreturn)) Xe_Fatal(struct XenosDevice *xe
 
void const char void Xe_SetRenderTarget (struct XenosDevice *xe, struct XenosSurface *rt)
 
void Xe_Resolve (struct XenosDevice *xe)
 
void Xe_ResolveInto (struct XenosDevice *xe, struct XenosSurface *surface, int source, int clear)
 
void Xe_Clear (struct XenosDevice *xe, int flags)
 
struct XenosSurfaceXe_GetFramebufferSurface (struct XenosDevice *xe)
 
void Xe_SetFrameBufferSurface (struct XenosDevice *xe, struct XenosSurface *fb)
 
void Xe_Execute (struct XenosDevice *xe)
 
void Xe_Sync (struct XenosDevice *xe)
 
void Xe_SetClearColor (struct XenosDevice *xe, u32 clearcolor)
 
void Xe_DirtyAluConstant (struct XenosDevice *xe, int base, int len)
 
void Xe_DirtyFetch (struct XenosDevice *xe, int base, int len)
 
struct XenosShaderXe_LoadShader (struct XenosDevice *xe, const char *filename)
 
struct XenosShaderXe_LoadShaderFromMemory (struct XenosDevice *xe, void *shader)
 
void Xe_InstantiateShader (struct XenosDevice *xe, struct XenosShader *sh, unsigned int index)
 
int Xe_GetShaderLength (struct XenosDevice *xe, void *sh)
 
void Xe_ShaderApplyVFetchPatches (struct XenosDevice *xe, struct XenosShader *sh, unsigned int index, const struct XenosVBFFormat *fmt)
 
int Xe_VBFCalcStride (struct XenosDevice *xe, const struct XenosVBFFormat *fmt)
 
int Xe_VBFCalcSize (struct XenosDevice *xe, const struct XenosVBFElement *fmt)
 
void Xe_SetZFunc (struct XenosDevice *xe, int z_func)
 
void Xe_SetZWrite (struct XenosDevice *xe, int zw)
 
void Xe_SetZEnable (struct XenosDevice *xe, int zw)
 
void Xe_SetFillMode (struct XenosDevice *xe, int front, int back)
 
void Xe_SetBlendControl (struct XenosDevice *xe, int col_src, int col_op, int col_dst, int alpha_src, int alpha_op, int alpha_dst)
 
void Xe_SetSrcBlend (struct XenosDevice *xe, unsigned int blend)
 
void Xe_SetDestBlend (struct XenosDevice *xe, unsigned int blend)
 
void Xe_SetBlendOp (struct XenosDevice *xe, unsigned int blendop)
 
void Xe_SetSrcBlendAlpha (struct XenosDevice *xe, unsigned int blend)
 
void Xe_SetDestBlendAlpha (struct XenosDevice *xe, unsigned int blend)
 
void Xe_SetBlendOpAlpha (struct XenosDevice *xe, unsigned int blendop)
 
void Xe_SetCullMode (struct XenosDevice *xe, unsigned int cullmode)
 
void Xe_SetAlphaTestEnable (struct XenosDevice *xe, int enable)
 
void Xe_SetAlphaFunc (struct XenosDevice *xe, unsigned int func)
 
void Xe_SetAlphaRef (struct XenosDevice *xe, float alpharef)
 
void Xe_SetScissor (struct XenosDevice *xe, int enable, int left, int top, int right, int bottom)
 
void Xe_SetStencilEnable (struct XenosDevice *xe, unsigned int enable)
 
void Xe_SetStencilFunc (struct XenosDevice *xe, int bfff, unsigned int func)
 
void Xe_SetStencilOp (struct XenosDevice *xe, int bfff, int fail, int zfail, int pass)
 
void Xe_SetStencilRef (struct XenosDevice *xe, int bfff, int ref)
 
void Xe_SetStencilMask (struct XenosDevice *xe, int bfff, int mask)
 
void Xe_SetStencilWriteMask (struct XenosDevice *xe, int bfff, int writemask)
 
void Xe_SetClipPlaneEnables (struct XenosDevice *xe, int enables)
 
void Xe_SetClipPlane (struct XenosDevice *xe, int idx, float *plane)
 
void Xe_InvalidateState (struct XenosDevice *xe)
 
void Xe_SetShader (struct XenosDevice *xe, int type, struct XenosShader *sh, int instance)
 
void Xe_SetTexture (struct XenosDevice *xe, int index, struct XenosSurface *tex)
 
struct XenosVertexBufferXe_VBPoolAlloc (struct XenosDevice *xe, int size)
 
void Xe_VBPoolAdd (struct XenosDevice *xe, struct XenosVertexBuffer *vb)
 
void Xe_VBReclaim (struct XenosDevice *xe)
 
void Xe_VBBegin (struct XenosDevice *xe, int pitch)
 
void Xe_VBPut (struct XenosDevice *xe, void *data, int len)
 
struct XenosVertexBufferXe_VBEnd (struct XenosDevice *xe)
 
void Xe_Draw (struct XenosDevice *xe, struct XenosVertexBuffer *vb, struct XenosIndexBuffer *ib)
 
void Xe_SetIndices (struct XenosDevice *de, struct XenosIndexBuffer *ib)
 
void Xe_DrawIndexedPrimitive (struct XenosDevice *xe, int type, int base_index, int min_index, int num_vertices, int start_index, int primitive_count)
 
void Xe_DrawPrimitive (struct XenosDevice *xe, int type, int start, int primitive_count)
 
void Xe_SetStreamSource (struct XenosDevice *xe, int index, struct XenosVertexBuffer *vb, int offset, int stride)
 
struct XenosIndexBufferXe_CreateIndexBuffer (struct XenosDevice *xe, int length, int format)
 
void Xe_DestroyIndexBuffer (struct XenosDevice *xe, struct XenosIndexBuffer *ib)
 
struct XenosVertexBufferXe_CreateVertexBuffer (struct XenosDevice *xe, int length)
 
void Xe_DestroyVertexBuffer (struct XenosDevice *xe, struct XenosVertexBuffer *vb)
 
void * Xe_VB_Lock (struct XenosDevice *xe, struct XenosVertexBuffer *vb, int offset, int size, int flags)
 
void Xe_VB_Unlock (struct XenosDevice *xe, struct XenosVertexBuffer *vb)
 
void * Xe_IB_Lock (struct XenosDevice *xe, struct XenosIndexBuffer *ib, int offset, int size, int flags)
 
void Xe_IB_Unlock (struct XenosDevice *xe, struct XenosIndexBuffer *ib)
 
void Xe_SetVertexShaderConstantF (struct XenosDevice *xe, int start, const float *data, int count)
 
void Xe_SetPixelShaderConstantF (struct XenosDevice *xe, int start, const float *data, int count)
 
void Xe_SetVertexShaderConstantB (struct XenosDevice *xe, int index, int value)
 
void Xe_SetPixelShaderConstantB (struct XenosDevice *xe, int index, int value)
 
struct XenosSurfaceXe_CreateTexture (struct XenosDevice *xe, unsigned int width, unsigned int height, unsigned int levels, int format, int tiled)
 
void Xe_DestroyTexture (struct XenosDevice *xe, struct XenosSurface *surface)
 
void * Xe_Surface_LockRect (struct XenosDevice *xe, struct XenosSurface *surface, int x, int y, int w, int h, int flags)
 
void Xe_Surface_Unlock (struct XenosDevice *xe, struct XenosSurface *surface)
 
int Xe_IsVBlank (struct XenosDevice *xe)
 

Variables

void const char * fmt
 

Macro Definition Documentation

◆ DIRTY_ALU

#define DIRTY_ALU   0x0001

Definition at line 256 of file xe.h.

◆ DIRTY_CLIP

#define DIRTY_CLIP   0x0004

Definition at line 258 of file xe.h.

◆ DIRTY_CONTROL

#define DIRTY_CONTROL   0x0010

Definition at line 260 of file xe.h.

◆ DIRTY_FETCH

#define DIRTY_FETCH   0x0002

Definition at line 257 of file xe.h.

◆ DIRTY_INTEGER

#define DIRTY_INTEGER   0x0008

Definition at line 259 of file xe.h.

◆ DIRTY_MISC

#define DIRTY_MISC   0x0040

Definition at line 262 of file xe.h.

◆ DIRTY_SHADER

#define DIRTY_SHADER   0x0020

Definition at line 261 of file xe.h.

◆ SHADER_TYPE_PIXEL

#define SHADER_TYPE_PIXEL   1

Definition at line 12 of file xe.h.

◆ SHADER_TYPE_VERTEX

#define SHADER_TYPE_VERTEX   0

Definition at line 13 of file xe.h.

◆ SWIZZLE_XY01

#define SWIZZLE_XY01   0xA08

Definition at line 140 of file xe.h.

◆ SWIZZLE_XY0_

#define SWIZZLE_XY0_   0xE08

Definition at line 144 of file xe.h.

◆ SWIZZLE_XY__

#define SWIZZLE_XY__   0xFC8

Definition at line 141 of file xe.h.

◆ SWIZZLE_XYZ0

#define SWIZZLE_XYZ0   0x0C8

Definition at line 143 of file xe.h.

◆ SWIZZLE_XYZ1

#define SWIZZLE_XYZ1   0xA88

Definition at line 139 of file xe.h.

◆ SWIZZLE_XYZ_

#define SWIZZLE_XYZ_   0xEC8

Definition at line 142 of file xe.h.

◆ SWIZZLE_XYZW

#define SWIZZLE_XYZW   0x688

Definition at line 138 of file xe.h.

◆ XE_BLEND_BLENDFACTOR

#define XE_BLEND_BLENDFACTOR   12

Definition at line 43 of file xe.h.

◆ XE_BLEND_CONSTANTALPHA

#define XE_BLEND_CONSTANTALPHA   14

Definition at line 45 of file xe.h.

◆ XE_BLEND_DESTALPHA

#define XE_BLEND_DESTALPHA   10

Definition at line 41 of file xe.h.

◆ XE_BLEND_DESTCOLOR

#define XE_BLEND_DESTCOLOR   8

Definition at line 39 of file xe.h.

◆ XE_BLEND_INVBLENDFACTOR

#define XE_BLEND_INVBLENDFACTOR   13

Definition at line 44 of file xe.h.

◆ XE_BLEND_INVCONSTANTALPHA

#define XE_BLEND_INVCONSTANTALPHA   15

Definition at line 46 of file xe.h.

◆ XE_BLEND_INVDESTALPHA

#define XE_BLEND_INVDESTALPHA   11

Definition at line 42 of file xe.h.

◆ XE_BLEND_INVDESTCOLOR

#define XE_BLEND_INVDESTCOLOR   9

Definition at line 40 of file xe.h.

◆ XE_BLEND_INVSRCALPHA

#define XE_BLEND_INVSRCALPHA   7

Definition at line 38 of file xe.h.

◆ XE_BLEND_INVSRCCOLOR

#define XE_BLEND_INVSRCCOLOR   5

Definition at line 36 of file xe.h.

◆ XE_BLEND_ONE

#define XE_BLEND_ONE   1

Definition at line 34 of file xe.h.

◆ XE_BLEND_SRCALPHA

#define XE_BLEND_SRCALPHA   6

Definition at line 37 of file xe.h.

◆ XE_BLEND_SRCALPHASAT

#define XE_BLEND_SRCALPHASAT   16

Definition at line 47 of file xe.h.

◆ XE_BLEND_SRCCOLOR

#define XE_BLEND_SRCCOLOR   4

Definition at line 35 of file xe.h.

◆ XE_BLEND_ZERO

#define XE_BLEND_ZERO   0

Definition at line 33 of file xe.h.

◆ XE_BLENDOP_ADD

#define XE_BLENDOP_ADD   0

Definition at line 53 of file xe.h.

◆ XE_BLENDOP_MAX

#define XE_BLENDOP_MAX   3

Definition at line 57 of file xe.h.

◆ XE_BLENDOP_MIN

#define XE_BLENDOP_MIN   2

Definition at line 56 of file xe.h.

◆ XE_BLENDOP_REVSUBTRACT

#define XE_BLENDOP_REVSUBTRACT   4

Definition at line 55 of file xe.h.

◆ XE_BLENDOP_SUBTRACT

#define XE_BLENDOP_SUBTRACT   1

Definition at line 54 of file xe.h.

◆ XE_CLEAR_COLOR

#define XE_CLEAR_COLOR   1

Definition at line 311 of file xe.h.

◆ XE_CLEAR_DS

#define XE_CLEAR_DS   2

Definition at line 312 of file xe.h.

◆ XE_CLIP_ENABLE_PLANE0

#define XE_CLIP_ENABLE_PLANE0   0x0001

Definition at line 77 of file xe.h.

◆ XE_CLIP_ENABLE_PLANE1

#define XE_CLIP_ENABLE_PLANE1   0x0002

Definition at line 78 of file xe.h.

◆ XE_CLIP_ENABLE_PLANE2

#define XE_CLIP_ENABLE_PLANE2   0x0004

Definition at line 79 of file xe.h.

◆ XE_CLIP_ENABLE_PLANE3

#define XE_CLIP_ENABLE_PLANE3   0x0008

Definition at line 80 of file xe.h.

◆ XE_CLIP_ENABLE_PLANE4

#define XE_CLIP_ENABLE_PLANE4   0x0010

Definition at line 81 of file xe.h.

◆ XE_CLIP_ENABLE_PLANE5

#define XE_CLIP_ENABLE_PLANE5   0x0020

Definition at line 82 of file xe.h.

◆ XE_CLIP_MASTER_DISABLE

#define XE_CLIP_MASTER_DISABLE   0x10000

Definition at line 83 of file xe.h.

◆ XE_CMP_ALWAYS

#define XE_CMP_ALWAYS   7

Definition at line 31 of file xe.h.

◆ XE_CMP_EQUAL

#define XE_CMP_EQUAL   2

Definition at line 26 of file xe.h.

◆ XE_CMP_GREATER

#define XE_CMP_GREATER   4

Definition at line 28 of file xe.h.

◆ XE_CMP_GREATEREQUAL

#define XE_CMP_GREATEREQUAL   6

Definition at line 30 of file xe.h.

◆ XE_CMP_LESS

#define XE_CMP_LESS   1

Definition at line 25 of file xe.h.

◆ XE_CMP_LESSEQUAL

#define XE_CMP_LESSEQUAL   3

Definition at line 27 of file xe.h.

◆ XE_CMP_NEVER

#define XE_CMP_NEVER   0

Definition at line 24 of file xe.h.

◆ XE_CMP_NOTEQUAL

#define XE_CMP_NOTEQUAL   5

Definition at line 29 of file xe.h.

◆ XE_CULL_CCW

#define XE_CULL_CCW   6

Definition at line 51 of file xe.h.

◆ XE_CULL_CW

#define XE_CULL_CW   2

Definition at line 50 of file xe.h.

◆ XE_CULL_NONE

#define XE_CULL_NONE   0

Definition at line 49 of file xe.h.

◆ XE_FILL_POINT

#define XE_FILL_POINT   0x01

Definition at line 85 of file xe.h.

◆ XE_FILL_SOLID

#define XE_FILL_SOLID   0x00

Definition at line 87 of file xe.h.

◆ XE_FILL_WIREFRAME

#define XE_FILL_WIREFRAME   0x25

Definition at line 86 of file xe.h.

◆ XE_FMT_16161616

#define XE_FMT_16161616   26

Definition at line 180 of file xe.h.

◆ XE_FMT_16BE

#define XE_FMT_16BE   0x40

Definition at line 184 of file xe.h.

◆ XE_FMT_5551

#define XE_FMT_5551   3

Definition at line 178 of file xe.h.

◆ XE_FMT_565

#define XE_FMT_565   4

Definition at line 179 of file xe.h.

◆ XE_FMT_8

#define XE_FMT_8   2

Definition at line 176 of file xe.h.

◆ XE_FMT_8888

#define XE_FMT_8888   6

Definition at line 177 of file xe.h.

◆ XE_FMT_ARGB

#define XE_FMT_ARGB   0x80

Definition at line 181 of file xe.h.

◆ XE_FMT_BGRA

#define XE_FMT_BGRA   0x00

Definition at line 182 of file xe.h.

◆ XE_FMT_INDEX16

#define XE_FMT_INDEX16   0

Definition at line 225 of file xe.h.

◆ XE_FMT_INDEX32

#define XE_FMT_INDEX32   1

Definition at line 226 of file xe.h.

◆ XE_FMT_MASK

#define XE_FMT_MASK   0x3F

Definition at line 175 of file xe.h.

◆ XE_LOCK_READ

#define XE_LOCK_READ   1

Definition at line 393 of file xe.h.

◆ XE_LOCK_WRITE

#define XE_LOCK_WRITE   2

Definition at line 394 of file xe.h.

◆ XE_MAX_INDICES_PER_DRAW

#define XE_MAX_INDICES_PER_DRAW   65535

Definition at line 10 of file xe.h.

◆ XE_PRIMTYPE_LINELIST

#define XE_PRIMTYPE_LINELIST   2

Definition at line 16 of file xe.h.

◆ XE_PRIMTYPE_LINESTRIP

#define XE_PRIMTYPE_LINESTRIP   3

Definition at line 17 of file xe.h.

◆ XE_PRIMTYPE_POINTLIST

#define XE_PRIMTYPE_POINTLIST   1

Definition at line 15 of file xe.h.

◆ XE_PRIMTYPE_QUADLIST

#define XE_PRIMTYPE_QUADLIST   13

Definition at line 22 of file xe.h.

◆ XE_PRIMTYPE_RECTLIST

#define XE_PRIMTYPE_RECTLIST   8

Definition at line 21 of file xe.h.

◆ XE_PRIMTYPE_TRIANGLEFAN

#define XE_PRIMTYPE_TRIANGLEFAN   5

Definition at line 19 of file xe.h.

◆ XE_PRIMTYPE_TRIANGLELIST

#define XE_PRIMTYPE_TRIANGLELIST   4

Definition at line 18 of file xe.h.

◆ XE_PRIMTYPE_TRIANGLESTRIP

#define XE_PRIMTYPE_TRIANGLESTRIP   6

Definition at line 20 of file xe.h.

◆ XE_SHADER_MAX_INSTANCES

#define XE_SHADER_MAX_INSTANCES   16

Definition at line 97 of file xe.h.

◆ XE_SOURCE_COLOR

#define XE_SOURCE_COLOR   0

Definition at line 308 of file xe.h.

◆ XE_SOURCE_DS

#define XE_SOURCE_DS   4

Definition at line 309 of file xe.h.

◆ XE_STENCILOP_DECR

#define XE_STENCILOP_DECR   7

Definition at line 66 of file xe.h.

◆ XE_STENCILOP_DECRSAT

#define XE_STENCILOP_DECRSAT   4

Definition at line 63 of file xe.h.

◆ XE_STENCILOP_INCR

#define XE_STENCILOP_INCR   6

Definition at line 65 of file xe.h.

◆ XE_STENCILOP_INCRSAT

#define XE_STENCILOP_INCRSAT   3

Definition at line 62 of file xe.h.

◆ XE_STENCILOP_INVERT

#define XE_STENCILOP_INVERT   5

Definition at line 64 of file xe.h.

◆ XE_STENCILOP_KEEP

#define XE_STENCILOP_KEEP   0

Definition at line 59 of file xe.h.

◆ XE_STENCILOP_REPLACE

#define XE_STENCILOP_REPLACE   2

Definition at line 61 of file xe.h.

◆ XE_STENCILOP_ZERO

#define XE_STENCILOP_ZERO   1

Definition at line 60 of file xe.h.

◆ XE_TEXADDR_BORDER

#define XE_TEXADDR_BORDER   6

Definition at line 74 of file xe.h.

◆ XE_TEXADDR_BORDER_HALF

#define XE_TEXADDR_BORDER_HALF   4

Definition at line 72 of file xe.h.

◆ XE_TEXADDR_CLAMP

#define XE_TEXADDR_CLAMP   2

Definition at line 70 of file xe.h.

◆ XE_TEXADDR_MIRROR

#define XE_TEXADDR_MIRROR   1

Definition at line 69 of file xe.h.

◆ XE_TEXADDR_MIRRORONCE

#define XE_TEXADDR_MIRRORONCE   3

Definition at line 71 of file xe.h.

◆ XE_TEXADDR_MIRRORONCE_BORDER

#define XE_TEXADDR_MIRRORONCE_BORDER   7

Definition at line 75 of file xe.h.

◆ XE_TEXADDR_MIRRORONCE_BORDER_HALF

#define XE_TEXADDR_MIRRORONCE_BORDER_HALF   5

Definition at line 73 of file xe.h.

◆ XE_TEXADDR_WRAP

#define XE_TEXADDR_WRAP   0

Definition at line 68 of file xe.h.

◆ XE_TYPE_FLOAT2

#define XE_TYPE_FLOAT2   37

Definition at line 153 of file xe.h.

◆ XE_TYPE_FLOAT3

#define XE_TYPE_FLOAT3   57

Definition at line 154 of file xe.h.

◆ XE_TYPE_FLOAT4

#define XE_TYPE_FLOAT4   38

Definition at line 155 of file xe.h.

◆ XE_TYPE_UBYTE4

#define XE_TYPE_UBYTE4   6

Definition at line 156 of file xe.h.

◆ XE_USAGE_BINORMAL

#define XE_USAGE_BINORMAL   7

Definition at line 166 of file xe.h.

◆ XE_USAGE_BLENDINDICES

#define XE_USAGE_BLENDINDICES   2

Definition at line 161 of file xe.h.

◆ XE_USAGE_BLENDWEIGHTS

#define XE_USAGE_BLENDWEIGHTS   1

Definition at line 160 of file xe.h.

◆ XE_USAGE_COLOR

#define XE_USAGE_COLOR   10

Definition at line 169 of file xe.h.

◆ XE_USAGE_DEPTH

#define XE_USAGE_DEPTH   12

Definition at line 171 of file xe.h.

◆ XE_USAGE_FOG

#define XE_USAGE_FOG   11

Definition at line 170 of file xe.h.

◆ XE_USAGE_NORMAL

#define XE_USAGE_NORMAL   3

Definition at line 162 of file xe.h.

◆ XE_USAGE_POSITION

#define XE_USAGE_POSITION   0

Definition at line 159 of file xe.h.

◆ XE_USAGE_POSITIONT

#define XE_USAGE_POSITIONT   9

Definition at line 168 of file xe.h.

◆ XE_USAGE_PSIZE

#define XE_USAGE_PSIZE   4

Definition at line 163 of file xe.h.

◆ XE_USAGE_SAMPLE

#define XE_USAGE_SAMPLE   13

Definition at line 172 of file xe.h.

◆ XE_USAGE_TANGENT

#define XE_USAGE_TANGENT   6

Definition at line 165 of file xe.h.

◆ XE_USAGE_TESSFACTOR

#define XE_USAGE_TESSFACTOR   8

Definition at line 167 of file xe.h.

◆ XE_USAGE_TEXCOORD

#define XE_USAGE_TEXCOORD   5

Definition at line 164 of file xe.h.

Function Documentation

◆ __attribute__()

void __attribute__ ( (noreturn)  )

◆ Xe_Clear()

void Xe_Clear ( struct XenosDevice xe,
int  flags 
)

Definition at line 1167 of file xe.c.

◆ Xe_CreateIndexBuffer()

struct XenosIndexBuffer * Xe_CreateIndexBuffer ( struct XenosDevice xe,
int  length,
int  format 
)

Definition at line 1974 of file xe.c.

◆ Xe_CreateTexture()

struct XenosSurface * Xe_CreateTexture ( struct XenosDevice xe,
unsigned int  width,
unsigned int  height,
unsigned int  levels,
int  format,
int  tiled 
)

Definition at line 2066 of file xe.c.

◆ Xe_CreateVertexBuffer()

struct XenosVertexBuffer * Xe_CreateVertexBuffer ( struct XenosDevice xe,
int  length 
)

Definition at line 1763 of file xe.c.

◆ Xe_DestroyIndexBuffer()

void Xe_DestroyIndexBuffer ( struct XenosDevice xe,
struct XenosIndexBuffer ib 
)

Definition at line 1985 of file xe.c.

◆ Xe_DestroyTexture()

void Xe_DestroyTexture ( struct XenosDevice xe,
struct XenosSurface surface 
)

Definition at line 2102 of file xe.c.

◆ Xe_DestroyVertexBuffer()

void Xe_DestroyVertexBuffer ( struct XenosDevice xe,
struct XenosVertexBuffer vb 
)

Definition at line 1777 of file xe.c.

◆ Xe_DirtyAluConstant()

void Xe_DirtyAluConstant ( struct XenosDevice xe,
int  base,
int  len 
)

Definition at line 570 of file xe.c.

◆ Xe_DirtyFetch()

void Xe_DirtyFetch ( struct XenosDevice xe,
int  base,
int  len 
)

Definition at line 583 of file xe.c.

◆ Xe_Draw()

void Xe_Draw ( struct XenosDevice xe,
struct XenosVertexBuffer vb,
struct XenosIndexBuffer ib 
)

Definition at line 1880 of file xe.c.

◆ Xe_DrawIndexedPrimitive()

void Xe_DrawIndexedPrimitive ( struct XenosDevice xe,
int  type,
int  base_index,
int  min_index,
int  num_vertices,
int  start_index,
int  primitive_count 
)

Definition at line 1926 of file xe.c.

◆ Xe_DrawPrimitive()

void Xe_DrawPrimitive ( struct XenosDevice xe,
int  type,
int  start,
int  primitive_count 
)

Definition at line 1943 of file xe.c.

◆ Xe_Execute()

void Xe_Execute ( struct XenosDevice xe)

Definition at line 1278 of file xe.c.

◆ Xe_GetFramebufferSurface()

struct XenosSurface * Xe_GetFramebufferSurface ( struct XenosDevice xe)

Definition at line 1252 of file xe.c.

◆ Xe_GetShaderLength()

int Xe_GetShaderLength ( struct XenosDevice xe,
void *  sh 
)

Definition at line 949 of file xe.c.

◆ Xe_IB_Lock()

void * Xe_IB_Lock ( struct XenosDevice xe,
struct XenosIndexBuffer ib,
int  offset,
int  size,
int  flags 
)

Definition at line 2002 of file xe.c.

◆ Xe_IB_Unlock()

void Xe_IB_Unlock ( struct XenosDevice xe,
struct XenosIndexBuffer ib 
)

Definition at line 2008 of file xe.c.

◆ Xe_Init()

void Xe_Init ( struct XenosDevice xe)

Definition at line 956 of file xe.c.

◆ Xe_InstantiateShader()

void Xe_InstantiateShader ( struct XenosDevice xe,
struct XenosShader sh,
unsigned int  index 
)

Definition at line 935 of file xe.c.

◆ Xe_InvalidateState()

void Xe_InvalidateState ( struct XenosDevice xe)

Definition at line 1657 of file xe.c.

◆ Xe_IsVBlank()

int Xe_IsVBlank ( struct XenosDevice xe)

Definition at line 2141 of file xe.c.

◆ Xe_LoadShader()

struct XenosShader * Xe_LoadShader ( struct XenosDevice xe,
const char *  filename 
)

Definition at line 596 of file xe.c.

◆ Xe_LoadShaderFromMemory()

struct XenosShader * Xe_LoadShaderFromMemory ( struct XenosDevice xe,
void *  shader 
)

Definition at line 613 of file xe.c.

◆ Xe_Resolve()

void Xe_Resolve ( struct XenosDevice xe)

Definition at line 1175 of file xe.c.

◆ Xe_ResolveInto()

void Xe_ResolveInto ( struct XenosDevice xe,
struct XenosSurface surface,
int  source,
int  clear 
)

Definition at line 1069 of file xe.c.

◆ Xe_SetAlphaFunc()

void Xe_SetAlphaFunc ( struct XenosDevice xe,
unsigned int  func 
)

Definition at line 1520 of file xe.c.

◆ Xe_SetAlphaRef()

void Xe_SetAlphaRef ( struct XenosDevice xe,
float  alpharef 
)

Definition at line 1528 of file xe.c.

◆ Xe_SetAlphaTestEnable()

void Xe_SetAlphaTestEnable ( struct XenosDevice xe,
int  enable 
)

Definition at line 1513 of file xe.c.

◆ Xe_SetBlendControl()

void Xe_SetBlendControl ( struct XenosDevice xe,
int  col_src,
int  col_op,
int  col_dst,
int  alpha_src,
int  alpha_op,
int  alpha_dst 
)

Definition at line 1451 of file xe.c.

◆ Xe_SetBlendOp()

void Xe_SetBlendOp ( struct XenosDevice xe,
unsigned int  blendop 
)

Definition at line 1473 of file xe.c.

◆ Xe_SetBlendOpAlpha()

void Xe_SetBlendOpAlpha ( struct XenosDevice xe,
unsigned int  blendop 
)

Definition at line 1497 of file xe.c.

◆ Xe_SetClearColor()

void Xe_SetClearColor ( struct XenosDevice xe,
u32  clearcolor 
)

Definition at line 1758 of file xe.c.

◆ Xe_SetClipPlane()

void Xe_SetClipPlane ( struct XenosDevice xe,
int  idx,
float *  plane 
)

Definition at line 1650 of file xe.c.

◆ Xe_SetClipPlaneEnables()

void Xe_SetClipPlaneEnables ( struct XenosDevice xe,
int  enables 
)

Definition at line 1643 of file xe.c.

◆ Xe_SetCullMode()

void Xe_SetCullMode ( struct XenosDevice xe,
unsigned int  cullmode 
)

Definition at line 1505 of file xe.c.

◆ Xe_SetDestBlend()

void Xe_SetDestBlend ( struct XenosDevice xe,
unsigned int  blend 
)

Definition at line 1465 of file xe.c.

◆ Xe_SetDestBlendAlpha()

void Xe_SetDestBlendAlpha ( struct XenosDevice xe,
unsigned int  blend 
)

Definition at line 1489 of file xe.c.

◆ Xe_SetFillMode()

void Xe_SetFillMode ( struct XenosDevice xe,
int  front,
int  back 
)

Definition at line 1441 of file xe.c.

◆ Xe_SetFrameBufferSurface()

void Xe_SetFrameBufferSurface ( struct XenosDevice xe,
struct XenosSurface fb 
)

Definition at line 1257 of file xe.c.

◆ Xe_SetIndices()

void Xe_SetIndices ( struct XenosDevice de,
struct XenosIndexBuffer ib 
)

Definition at line 1969 of file xe.c.

◆ Xe_SetPixelShaderConstantB()

void Xe_SetPixelShaderConstantB ( struct XenosDevice xe,
int  index,
int  value 
)

Definition at line 2051 of file xe.c.

◆ Xe_SetPixelShaderConstantF()

void Xe_SetPixelShaderConstantF ( struct XenosDevice xe,
int  start,
const float *  data,
int  count 
)

Definition at line 2025 of file xe.c.

◆ Xe_SetRenderTarget()

void const char void Xe_SetRenderTarget ( struct XenosDevice xe,
struct XenosSurface rt 
)

Definition at line 998 of file xe.c.

◆ Xe_SetScissor()

void Xe_SetScissor ( struct XenosDevice xe,
int  enable,
int  left,
int  top,
int  right,
int  bottom 
)

Definition at line 1633 of file xe.c.

◆ Xe_SetShader()

void Xe_SetShader ( struct XenosDevice xe,
int  type,
struct XenosShader sh,
int  instance 
)

Definition at line 1665 of file xe.c.

◆ Xe_SetSrcBlend()

void Xe_SetSrcBlend ( struct XenosDevice xe,
unsigned int  blend 
)

Definition at line 1457 of file xe.c.

◆ Xe_SetSrcBlendAlpha()

void Xe_SetSrcBlendAlpha ( struct XenosDevice xe,
unsigned int  blend 
)

Definition at line 1481 of file xe.c.

◆ Xe_SetStencilEnable()

void Xe_SetStencilEnable ( struct XenosDevice xe,
unsigned int  enable 
)

Definition at line 1550 of file xe.c.

◆ Xe_SetStencilFunc()

void Xe_SetStencilFunc ( struct XenosDevice xe,
int  bfff,
unsigned int  func 
)

Definition at line 1534 of file xe.c.

◆ Xe_SetStencilMask()

void Xe_SetStencilMask ( struct XenosDevice xe,
int  bfff,
int  mask 
)

Definition at line 1613 of file xe.c.

◆ Xe_SetStencilOp()

void Xe_SetStencilOp ( struct XenosDevice xe,
int  bfff,
int  fail,
int  zfail,
int  pass 
)

Definition at line 1558 of file xe.c.

◆ Xe_SetStencilRef()

void Xe_SetStencilRef ( struct XenosDevice xe,
int  bfff,
int  ref 
)

Definition at line 1603 of file xe.c.

◆ Xe_SetStencilWriteMask()

void Xe_SetStencilWriteMask ( struct XenosDevice xe,
int  bfff,
int  writemask 
)

Definition at line 1623 of file xe.c.

◆ Xe_SetStreamSource()

void Xe_SetStreamSource ( struct XenosDevice xe,
int  index,
struct XenosVertexBuffer vb,
int  offset,
int  stride 
)

Definition at line 1959 of file xe.c.

◆ Xe_SetTexture()

void Xe_SetTexture ( struct XenosDevice xe,
int  index,
struct XenosSurface tex 
)

Definition at line 1748 of file xe.c.

◆ Xe_SetVertexShaderConstantB()

void Xe_SetVertexShaderConstantB ( struct XenosDevice xe,
int  index,
int  value 
)

Definition at line 2038 of file xe.c.

◆ Xe_SetVertexShaderConstantF()

void Xe_SetVertexShaderConstantF ( struct XenosDevice xe,
int  start,
const float *  data,
int  count 
)

Definition at line 2013 of file xe.c.

◆ Xe_SetZEnable()

void Xe_SetZEnable ( struct XenosDevice xe,
int  zw 
)

Definition at line 1435 of file xe.c.

◆ Xe_SetZFunc()

void Xe_SetZFunc ( struct XenosDevice xe,
int  z_func 
)

Definition at line 1423 of file xe.c.

◆ Xe_SetZWrite()

void Xe_SetZWrite ( struct XenosDevice xe,
int  zw 
)

Definition at line 1429 of file xe.c.

◆ Xe_ShaderApplyVFetchPatches()

void Xe_ShaderApplyVFetchPatches ( struct XenosDevice xe,
struct XenosShader sh,
unsigned int  index,
const struct XenosVBFFormat fmt 
)

Definition at line 788 of file xe.c.

◆ Xe_Surface_LockRect()

void * Xe_Surface_LockRect ( struct XenosDevice xe,
struct XenosSurface surface,
int  x,
int  y,
int  w,
int  h,
int  flags 
)

Definition at line 2108 of file xe.c.

◆ Xe_Surface_Unlock()

void Xe_Surface_Unlock ( struct XenosDevice xe,
struct XenosSurface surface 
)

Definition at line 2135 of file xe.c.

◆ Xe_Sync()

void Xe_Sync ( struct XenosDevice xe)

Definition at line 1302 of file xe.c.

◆ Xe_VB_Lock()

void * Xe_VB_Lock ( struct XenosDevice xe,
struct XenosVertexBuffer vb,
int  offset,
int  size,
int  flags 
)

Definition at line 1991 of file xe.c.

◆ Xe_VB_Unlock()

void Xe_VB_Unlock ( struct XenosDevice xe,
struct XenosVertexBuffer vb 
)

Definition at line 1997 of file xe.c.

◆ Xe_VBBegin()

void Xe_VBBegin ( struct XenosDevice xe,
int  pitch 
)

Definition at line 1824 of file xe.c.

◆ Xe_VBEnd()

struct XenosVertexBuffer * Xe_VBEnd ( struct XenosDevice xe)

Definition at line 1863 of file xe.c.

◆ Xe_VBFCalcSize()

int Xe_VBFCalcSize ( struct XenosDevice xe,
const struct XenosVBFElement fmt 
)

Definition at line 689 of file xe.c.

◆ Xe_VBFCalcStride()

int Xe_VBFCalcStride ( struct XenosDevice xe,
const struct XenosVBFFormat fmt 
)

Definition at line 723 of file xe.c.

◆ Xe_VBPoolAdd()

void Xe_VBPoolAdd ( struct XenosDevice xe,
struct XenosVertexBuffer vb 
)

Definition at line 1805 of file xe.c.

◆ Xe_VBPoolAlloc()

struct XenosVertexBuffer * Xe_VBPoolAlloc ( struct XenosDevice xe,
int  size 
)

Definition at line 1783 of file xe.c.

◆ Xe_VBPut()

void Xe_VBPut ( struct XenosDevice xe,
void *  data,
int  len 
)

Definition at line 1831 of file xe.c.

◆ Xe_VBReclaim()

void Xe_VBReclaim ( struct XenosDevice xe)

Definition at line 1814 of file xe.c.

Variable Documentation

◆ fmt

void const char* fmt

Definition at line 303 of file xe.h.