299#define PVR_LIST_OP_POLY 0
300#define PVR_LIST_OP_MOD 1
301#define PVR_LIST_TR_POLY 2
302#define PVR_LIST_TR_MOD 3
303#define PVR_LIST_PT_POLY 4
321#define PVR_SHADE_FLAT 0
322#define PVR_SHADE_GOURAUD 1
338#define PVR_DEPTHCMP_NEVER 0
339#define PVR_DEPTHCMP_LESS 1
340#define PVR_DEPTHCMP_EQUAL 2
341#define PVR_DEPTHCMP_LEQUAL 3
342#define PVR_DEPTHCMP_GREATER 4
343#define PVR_DEPTHCMP_NOTEQUAL 5
344#define PVR_DEPTHCMP_GEQUAL 6
345#define PVR_DEPTHCMP_ALWAYS 7
358#define PVR_CULLING_NONE 0
359#define PVR_CULLING_SMALL 1
360#define PVR_CULLING_CCW 2
361#define PVR_CULLING_CW 3
369#define PVR_DEPTHWRITE_ENABLE 0
370#define PVR_DEPTHWRITE_DISABLE 1
384#define PVR_TEXTURE_DISABLE 0
385#define PVR_TEXTURE_ENABLE 1
402#define PVR_BLEND_ZERO 0
403#define PVR_BLEND_ONE 1
404#define PVR_BLEND_DESTCOLOR 2
405#define PVR_BLEND_INVDESTCOLOR 3
406#define PVR_BLEND_SRCALPHA 4
407#define PVR_BLEND_INVSRCALPHA 5
408#define PVR_BLEND_DESTALPHA 6
409#define PVR_BLEND_INVDESTALPHA 7
418#define PVR_BLEND_DISABLE 0
419#define PVR_BLEND_ENABLE 1
431#define PVR_FOG_TABLE 0
432#define PVR_FOG_VERTEX 1
433#define PVR_FOG_DISABLE 2
434#define PVR_FOG_TABLE2 3
445#define PVR_USERCLIP_DISABLE 0
446#define PVR_USERCLIP_INSIDE 2
447#define PVR_USERCLIP_OUTSIDE 3
464#define PVR_CLRCLAMP_DISABLE 0
465#define PVR_CLRCLAMP_ENABLE 1
483#define PVR_SPECULAR_DISABLE 0
484#define PVR_SPECULAR_ENABLE 1
496#define PVR_ALPHA_DISABLE 0
497#define PVR_ALPHA_ENABLE 1
509#define PVR_TXRALPHA_ENABLE 0
510#define PVR_TXRALPHA_DISABLE 1
530#define PVR_UVFLIP_NONE 0
531#define PVR_UVFLIP_V 1
532#define PVR_UVFLIP_U 2
533#define PVR_UVFLIP_UV 3
546#define PVR_UVCLAMP_NONE 0
547#define PVR_UVCLAMP_V 1
548#define PVR_UVCLAMP_U 2
549#define PVR_UVCLAMP_UV 3
558#define PVR_FILTER_NONE 0
559#define PVR_FILTER_NEAREST 0
560#define PVR_FILTER_BILINEAR 2
561#define PVR_FILTER_TRILINEAR1 4
562#define PVR_FILTER_TRILINEAR2 6
571#define PVR_MIPBIAS_NORMAL PVR_MIPBIAS_1_00
572#define PVR_MIPBIAS_0_25 1
573#define PVR_MIPBIAS_0_50 2
574#define PVR_MIPBIAS_0_75 3
575#define PVR_MIPBIAS_1_00 4
576#define PVR_MIPBIAS_1_25 5
577#define PVR_MIPBIAS_1_50 6
578#define PVR_MIPBIAS_1_75 7
579#define PVR_MIPBIAS_2_00 8
580#define PVR_MIPBIAS_2_25 9
581#define PVR_MIPBIAS_2_50 10
582#define PVR_MIPBIAS_2_75 11
583#define PVR_MIPBIAS_3_00 12
584#define PVR_MIPBIAS_3_25 13
585#define PVR_MIPBIAS_3_50 14
586#define PVR_MIPBIAS_3_75 15
595#define PVR_TXRENV_REPLACE 0
596#define PVR_TXRENV_MODULATE 1
597#define PVR_TXRENV_DECAL 2
598#define PVR_TXRENV_MODULATEALPHA 3
607#define PVR_MIPMAP_DISABLE 0
608#define PVR_MIPMAP_ENABLE 1
620#define PVR_TXRFMT_NONE 0
621#define PVR_TXRFMT_VQ_DISABLE (0 << 30)
622#define PVR_TXRFMT_VQ_ENABLE (1 << 30)
623#define PVR_TXRFMT_ARGB1555 (0 << 27)
624#define PVR_TXRFMT_RGB565 (1 << 27)
625#define PVR_TXRFMT_ARGB4444 (2 << 27)
626#define PVR_TXRFMT_YUV422 (3 << 27)
627#define PVR_TXRFMT_BUMP (4 << 27)
628#define PVR_TXRFMT_PAL4BPP (5 << 27)
629#define PVR_TXRFMT_PAL8BPP (6 << 27)
630#define PVR_TXRFMT_TWIDDLED (0 << 26)
631#define PVR_TXRFMT_NONTWIDDLED (1 << 26)
632#define PVR_TXRFMT_NOSTRIDE (0 << 21)
633#define PVR_TXRFMT_STRIDE (1 << 21)
642#define PVR_TXRFMT_8BPP_PAL(x) ((x) << 25)
647#define PVR_TXRFMT_4BPP_PAL(x) ((x) << 21)
658#define PVR_CLRFMT_ARGBPACKED 0
659#define PVR_CLRFMT_4FLOATS 1
660#define PVR_CLRFMT_INTENSITY 2
661#define PVR_CLRFMT_INTENSITY_PREV 3
669#define PVR_UVFMT_32BIT 0
670#define PVR_UVFMT_16BIT 1
683#define PVR_MODIFIER_DISABLE 0
684#define PVR_MODIFIER_ENABLE 1
692#define PVR_MODIFIER_CHEAP_SHADOW 0
693#define PVR_MODIFIER_NORMAL 1
706#define PVR_MODIFIER_OTHER_POLY 0
707#define PVR_MODIFIER_INCLUDE_LAST_POLY 1
708#define PVR_MODIFIER_EXCLUDE_LAST_POLY 2
725typedef struct pvr_poly_hdr {
743typedef struct pvr_poly_ic_hdr {
762typedef struct pvr_poly_mod_hdr {
781typedef struct pvr_sprite_hdr {
800typedef struct pvr_mod_hdr {
829typedef struct pvr_vertex {
849typedef struct pvr_vertex_pcm {
869typedef struct pvr_vertex_tpcm {
901typedef struct pvr_sprite_txr {
926typedef struct pvr_sprite_col {
951typedef struct pvr_modifier_vol {
982#define PVR_CMD_POLYHDR 0x80840000
984#define PVR_CMD_VERTEX 0xe0000000
985#define PVR_CMD_VERTEX_EOL 0xf0000000
986#define PVR_CMD_USERCLIP 0x20000000
987#define PVR_CMD_MODIFIER 0x80000000
988#define PVR_CMD_SPRITE 0xA0000000
994#define PVR_TA_CMD_TYPE_SHIFT 24
995#define PVR_TA_CMD_TYPE_MASK (7 << PVR_TA_CMD_TYPE_SHIFT)
997#define PVR_TA_CMD_USERCLIP_SHIFT 16
998#define PVR_TA_CMD_USERCLIP_MASK (3 << PVR_TA_CMD_USERCLIP_SHIFT)
1000#define PVR_TA_CMD_CLRFMT_SHIFT 4
1001#define PVR_TA_CMD_CLRFMT_MASK (7 << PVR_TA_CMD_CLRFMT_SHIFT)
1003#define PVR_TA_CMD_SPECULAR_SHIFT 2
1004#define PVR_TA_CMD_SPECULAR_MASK (1 << PVR_TA_CMD_SPECULAR_SHIFT)
1006#define PVR_TA_CMD_SHADE_SHIFT 1
1007#define PVR_TA_CMD_SHADE_MASK (1 << PVR_TA_CMD_SHADE_SHIFT)
1009#define PVR_TA_CMD_UVFMT_SHIFT 0
1010#define PVR_TA_CMD_UVFMT_MASK (1 << PVR_TA_CMD_UVFMT_SHIFT)
1012#define PVR_TA_CMD_MODIFIER_SHIFT 7
1013#define PVR_TA_CMD_MODIFIER_MASK (1 << PVR_TA_CMD_MODIFIER_SHIFT)
1015#define PVR_TA_CMD_MODIFIERMODE_SHIFT 6
1016#define PVR_TA_CMD_MODIFIERMODE_MASK (1 << PVR_TA_CMD_MODIFIERMODE_SHIFT)
1018#define PVR_TA_PM1_DEPTHCMP_SHIFT 29
1019#define PVR_TA_PM1_DEPTHCMP_MASK (7 << PVR_TA_PM1_DEPTHCMP_SHIFT)
1021#define PVR_TA_PM1_CULLING_SHIFT 27
1022#define PVR_TA_PM1_CULLING_MASK (3 << PVR_TA_PM1_CULLING_SHIFT)
1024#define PVR_TA_PM1_DEPTHWRITE_SHIFT 26
1025#define PVR_TA_PM1_DEPTHWRITE_MASK (1 << PVR_TA_PM1_DEPTHWRITE_SHIFT)
1027#define PVR_TA_PM1_TXRENABLE_SHIFT 25
1028#define PVR_TA_PM1_TXRENABLE_MASK (1 << PVR_TA_PM1_TXRENABLE_SHIFT)
1030#define PVR_TA_PM1_MODIFIERINST_SHIFT 29
1031#define PVR_TA_PM1_MODIFIERINST_MASK (3 << PVR_TA_PM1_MODIFIERINST_SHIFT)
1033#define PVR_TA_PM2_SRCBLEND_SHIFT 29
1034#define PVR_TA_PM2_SRCBLEND_MASK (7 << PVR_TA_PM2_SRCBLEND_SHIFT)
1036#define PVR_TA_PM2_DSTBLEND_SHIFT 26
1037#define PVR_TA_PM2_DSTBLEND_MASK (7 << PVR_TA_PM2_DSTBLEND_SHIFT)
1039#define PVR_TA_PM2_SRCENABLE_SHIFT 25
1040#define PVR_TA_PM2_SRCENABLE_MASK (1 << PVR_TA_PM2_SRCENABLE_SHIFT)
1042#define PVR_TA_PM2_DSTENABLE_SHIFT 24
1043#define PVR_TA_PM2_DSTENABLE_MASK (1 << PVR_TA_PM2_DSTENABLE_SHIFT)
1045#define PVR_TA_PM2_FOG_SHIFT 22
1046#define PVR_TA_PM2_FOG_MASK (3 << PVR_TA_PM2_FOG_SHIFT)
1048#define PVR_TA_PM2_CLAMP_SHIFT 21
1049#define PVR_TA_PM2_CLAMP_MASK (1 << PVR_TA_PM2_CLAMP_SHIFT)
1051#define PVR_TA_PM2_ALPHA_SHIFT 20
1052#define PVR_TA_PM2_ALPHA_MASK (1 << PVR_TA_PM2_ALPHA_SHIFT)
1054#define PVR_TA_PM2_TXRALPHA_SHIFT 19
1055#define PVR_TA_PM2_TXRALPHA_MASK (1 << PVR_TA_PM2_TXRALPHA_SHIFT)
1057#define PVR_TA_PM2_UVFLIP_SHIFT 17
1058#define PVR_TA_PM2_UVFLIP_MASK (3 << PVR_TA_PM2_UVFLIP_SHIFT)
1060#define PVR_TA_PM2_UVCLAMP_SHIFT 15
1061#define PVR_TA_PM2_UVCLAMP_MASK (3 << PVR_TA_PM2_UVCLAMP_SHIFT)
1063#define PVR_TA_PM2_FILTER_SHIFT 12
1064#define PVR_TA_PM2_FILTER_MASK (7 << PVR_TA_PM2_FILTER_SHIFT)
1066#define PVR_TA_PM2_MIPBIAS_SHIFT 8
1067#define PVR_TA_PM2_MIPBIAS_MASK (15 << PVR_TA_PM2_MIPBIAS_SHIFT)
1069#define PVR_TA_PM2_TXRENV_SHIFT 6
1070#define PVR_TA_PM2_TXRENV_MASK (3 << PVR_TA_PM2_TXRENV_SHIFT)
1072#define PVR_TA_PM2_USIZE_SHIFT 3
1073#define PVR_TA_PM2_USIZE_MASK (7 << PVR_TA_PM2_USIZE_SHIFT)
1075#define PVR_TA_PM2_VSIZE_SHIFT 0
1076#define PVR_TA_PM2_VSIZE_MASK (7 << PVR_TA_PM2_VSIZE_SHIFT)
1078#define PVR_TA_PM3_MIPMAP_SHIFT 31
1079#define PVR_TA_PM3_MIPMAP_MASK (1 << PVR_TA_PM3_MIPMAP_SHIFT)
1081#define PVR_TA_PM3_TXRFMT_SHIFT 0
1082#define PVR_TA_PM3_TXRFMT_MASK 0xffffffff
1094#define PVR_TA_CMD_TYPE GENMASK(26, 24)
1095#define PVR_TA_CMD_USERCLIP GENMASK(17, 16)
1096#define PVR_TA_CMD_MODIFIER BIT(7)
1097#define PVR_TA_CMD_MODIFIERMODE BIT(6)
1098#define PVR_TA_CMD_CLRFMT GENMASK(5, 4)
1099#define PVR_TA_CMD_TXRENABLE BIT(3)
1100#define PVR_TA_CMD_SPECULAR BIT(2)
1101#define PVR_TA_CMD_SHADE BIT(1)
1102#define PVR_TA_CMD_UVFMT BIT(0)
1103#define PVR_TA_PM1_DEPTHCMP GENMASK(31, 29)
1104#define PVR_TA_PM1_CULLING GENMASK(28, 27)
1105#define PVR_TA_PM1_DEPTHWRITE BIT(26)
1106#define PVR_TA_PM1_TXRENABLE BIT(25)
1107#define PVR_TA_PM1_MODIFIERINST GENMASK(30, 29)
1108#define PVR_TA_PM2_SRCBLEND GENMASK(31, 29)
1109#define PVR_TA_PM2_DSTBLEND GENMASK(28, 26)
1110#define PVR_TA_PM2_SRCENABLE BIT(25)
1111#define PVR_TA_PM2_DSTENABLE BIT(24)
1112#define PVR_TA_PM2_FOG GENMASK(23, 22)
1113#define PVR_TA_PM2_CLAMP BIT(21)
1114#define PVR_TA_PM2_ALPHA BIT(20)
1115#define PVR_TA_PM2_TXRALPHA BIT(19)
1116#define PVR_TA_PM2_UVFLIP GENMASK(18, 17)
1117#define PVR_TA_PM2_UVCLAMP GENMASK(16, 15)
1118#define PVR_TA_PM2_FILTER GENMASK(14, 12)
1119#define PVR_TA_PM2_MIPBIAS GENMASK(11, 8)
1120#define PVR_TA_PM2_TXRENV GENMASK(7, 6)
1121#define PVR_TA_PM2_USIZE GENMASK(5, 3)
1122#define PVR_TA_PM2_VSIZE GENMASK(2, 0)
1123#define PVR_TA_PM3_MIPMAP BIT(31)
1124#define PVR_TA_PM3_TXRFMT GENMASK(30, 21)
1141#define PVR_BINSIZE_0 0
1142#define PVR_BINSIZE_8 8
1143#define PVR_BINSIZE_16 16
1144#define PVR_BINSIZE_32 32
1475#define pvr_dr_target(vtx_buf_ptr) \
1476 ({ (vtx_buf_ptr) ^= 32; \
1477 (pvr_vertex_t *)(MEM_AREA_SQ_BASE | (vtx_buf_ptr)); \
1485#define pvr_dr_commit(addr) sq_flush(addr)
1642 int textureformat,
int tw,
int th,
pvr_ptr_t textureaddr,
1686 int textureformat,
int tw,
int th,
pvr_ptr_t textureaddr,
1759 int textureformat,
int tw,
int th,
1761 int textureformat2,
int tw2,
int th2,
1762 pvr_ptr_t textureaddr2,
int filtering2);
Cache management functionality.
void pvr_sprite_cxt_txr(pvr_sprite_cxt_t *dst, pvr_list_t list, int textureformat, int tw, int th, pvr_ptr_t textureaddr, int filtering)
Fill in a sprite context for a textured sprite.
void pvr_poly_cxt_col_mod(pvr_poly_cxt_t *dst, pvr_list_t list)
Fill in a polygon context for non-textured polygons affected by a modifier volume.
void pvr_poly_cxt_txr_mod(pvr_poly_cxt_t *dst, pvr_list_t list, int textureformat, int tw, int th, pvr_ptr_t textureaddr, int filtering, int textureformat2, int tw2, int th2, pvr_ptr_t textureaddr2, int filtering2)
Fill in a polygon context for a textured polygon affected by modifier volumes.
void pvr_poly_cxt_txr(pvr_poly_cxt_t *dst, pvr_list_t list, int textureformat, int tw, int th, pvr_ptr_t textureaddr, int filtering)
Fill in a polygon context for a textured polygon.
void pvr_poly_cxt_col(pvr_poly_cxt_t *dst, pvr_list_t list)
Fill in a polygon context for non-textured polygons.
void pvr_sprite_cxt_col(pvr_sprite_cxt_t *dst, pvr_list_t list)
Fill in a sprite context for non-textured sprites.
void pvr_send_to_ta(void *data)
Upload a 32-byte payload to the Tile Accelerator.
void pvr_dr_init(pvr_dr_state_t *vtx_buf_ptr)
Initialize a state variable for Direct Rendering.
uint32_t pvr_dr_state_t
Direct Rendering state variable type.
Definition pvr.h:1455
void pvr_dr_finish(void)
Finish work with Direct Rendering.
int pvr_shutdown(void)
Shut down the PVR chip from ready status.
int pvr_init_defaults(void)
Simple PVR initialization.
int pvr_init(const pvr_init_params_t *params)
Initialize the PVR chip to ready status.
void * pvr_set_vertbuf(pvr_list_t list, void *buffer, size_t len)
Setup a vertex buffer for one of the list types.
int pvr_list_flush(pvr_list_t list)
Flush the buffered data of the given list type to the TA.
int pvr_prim(const void *data, size_t size)
Submit a primitive of the current list type.
int pvr_list_finish(void)
End collecting data for the current list type.
int pvr_list_prim(pvr_list_t list, const void *data, size_t size)
Submit a primitive of the given list type.
int pvr_list_begin(pvr_list_t list)
Begin collecting data for the given list type.
uint32_t pvr_list_t
PVR list specification.
Definition pvr.h:77
void pvr_mod_compile(pvr_mod_hdr_t *dst, pvr_list_t list, uint32_t mode, uint32_t cull)
Create a modifier volume header.
void pvr_poly_compile(pvr_poly_hdr_t *dst, const pvr_poly_cxt_t *src)
Compile a polygon context into a polygon header.
void pvr_poly_mod_compile(pvr_poly_mod_hdr_t *dst, const pvr_poly_cxt_t *src)
Compile a polygon context into a polygon header that is affected by modifier volumes.
void pvr_sprite_compile(pvr_sprite_hdr_t *dst, const pvr_sprite_cxt_t *src)
Compile a sprite context into a sprite header.
int pvr_scene_finish(void)
Call this after you have finished submitting all data for a frame.
void pvr_scene_begin_txr(pvr_ptr_t txr, uint32_t *rx, uint32_t *ry)
Begin collecting data for a frame of 3D output to the specified texture.
void pvr_scene_begin(void)
Begin collecting data for a frame of 3D output to the off-screen frame buffer.
int pvr_check_ready(void)
Check if the PVR system is ready for another frame to be submitted.
int pvr_wait_ready(void)
Block the caller until the PVR system is ready for another frame to be submitted.
int pvr_wait_render_done(void)
Block the caller until the PVR has finished rendering the previous frame.
pvr_ptr_t pvr_get_front_buffer(void)
Get a pointer to the front buffer.
void pvr_vertbuf_written(pvr_list_t list, size_t amt)
Notify the PVR system that data have been written into the output buffer for the given list.
int pvr_vertex_dma_enabled(void)
Is vertex DMA enabled?
void * pvr_vertbuf_tail(pvr_list_t list)
Retrieve a pointer to the current output location in the DMA buffer for the requested list.
void * pvr_ptr_t
PVR texture memory pointer.
Definition pvr_mem.h:45
Platform-independent image type.
Constants for areas of the system memory map.
API for utilizing the DMA with the PVR for rendering.
Public API for the PVR's hardware fog.
VRAM Management and Access.
Miscellaneous utilities for the PVR API.
Palette API for the PowerVR.
Texture management with the PVR 3D API.
Macros to help dealing with register fields.
Functions to access the SH4 Store Queues.
PVR initialization structure.
Definition pvr.h:1158
int fsaa_enabled
Enable horizontal scaling?
Definition pvr.h:1182
int vbuf_doublebuf_disabled
Disable vertex buffer double-buffering.
Definition pvr.h:1208
int dma_enabled
Enable vertex DMA?
Definition pvr.h:1175
int vertex_buf_size
Vertex buffer size (should be a nice round number)
Definition pvr.h:1167
int autosort_disabled
Disable translucent polygon autosort?
Definition pvr.h:1190
int opb_overflow_count
OPB Overflow Count.
Definition pvr.h:1201
Modifier volume header.
Definition pvr.h:800
uint32_t d4
Dummy value.
Definition pvr.h:807
uint32_t mode1
Parameter word 1.
Definition pvr.h:803
uint32_t d5
Dummy value.
Definition pvr.h:808
uint32_t d2
Dummy value.
Definition pvr.h:805
uint32_t d3
Dummy value.
Definition pvr.h:806
uint32_t d1
Dummy value.
Definition pvr.h:804
uint32_t d6
Dummy value.
Definition pvr.h:809
PVR vertex type: Modifier volume.
Definition pvr.h:951
uint32_t d1
Dummy value.
Definition pvr.h:963
uint32_t d4
Dummy value.
Definition pvr.h:966
float by
Second Y coordinate.
Definition pvr.h:958
float ay
First Y coordinate.
Definition pvr.h:955
float ax
First X coordinate.
Definition pvr.h:954
uint32_t d3
Dummy value.
Definition pvr.h:965
float cz
Third Z coordinate.
Definition pvr.h:962
float bz
Second Z coordinate.
Definition pvr.h:959
float cy
Third Y coordinate.
Definition pvr.h:961
uint32_t d6
Dummy value.
Definition pvr.h:968
uint32_t d2
Dummy value.
Definition pvr.h:964
uint32_t d5
Dummy value.
Definition pvr.h:967
float bx
Second X coordinate.
Definition pvr.h:957
float az
First Z coordinate.
Definition pvr.h:956
float cx
Third X coordinate.
Definition pvr.h:960
PVR polygon context.
Definition pvr.h:111
int clip_mode
Clipping mode.
Definition pvr.h:125
int modifier_mode
Modifier mode.
Definition pvr.h:127
int mipmap_bias
Mipmap bias.
Definition pvr.h:176
int src2
Source blending mode inside modifier.
Definition pvr.h:146
int write
Enable or disable depth writes.
Definition pvr.h:166
int dst_enable
Dest blending enable outside modifier.
Definition pvr.h:144
int dst
Dest blending mode outside modifier.
Definition pvr.h:140
int fog_type2
Fog type inside modifier.
Definition pvr.h:132
int src
Source blending mode outside modifier.
Definition pvr.h:138
int color_clamp2
Color clamp enable/disable inside modifier.
Definition pvr.h:134
int alpha2
Enable/disable alpha inside modifier.
Definition pvr.h:130
int env
Texture color contribution.
Definition pvr.h:184
pvr_ptr_t base
Texture pointer.
Definition pvr.h:190
int culling
Culling mode.
Definition pvr.h:121
int width
Texture width (requires a power of 2)
Definition pvr.h:186
int color
Color format in vertex.
Definition pvr.h:156
int specular
Offset color enable/disable outside modifier.
Definition pvr.h:128
int height
Texture height (requires a power of 2)
Definition pvr.h:187
int comparison
Depth comparison mode.
Definition pvr.h:164
int src_enable
Source blending enable outside modifier.
Definition pvr.h:142
int dst2
Dest blending mode inside modifier.
Definition pvr.h:148
int fog_type
Fog type outside modifier.
Definition pvr.h:119
int shading
Shading type.
Definition pvr.h:117
int modifier
Enable or disable modifier effect.
Definition pvr.h:160
int uv_flip
Enable/disable U/V flipping.
Definition pvr.h:178
int list_type
Primitive list.
Definition pvr.h:112
int mipmap
Enable/disable mipmaps.
Definition pvr.h:174
int dst_enable2
Dest blending mode inside modifier.
Definition pvr.h:152
int filter
Filtering mode.
Definition pvr.h:172
int src_enable2
Source blending mode inside modifier.
Definition pvr.h:150
int color_clamp
Color clamp enable/disable outside modifier.
Definition pvr.h:123
int uv_clamp
Enable/disable U/V clamping.
Definition pvr.h:180
int alpha
Enable or disable alpha outside modifier.
Definition pvr.h:115
int format
Texture format.
Definition pvr.h:188
int enable
Enable/disable texturing.
Definition pvr.h:170
int uv
U/V data format in vertex.
Definition pvr.h:158
PVR polygon header.
Definition pvr.h:725
uint32_t d1
Dummy value.
Definition pvr.h:731
uint32_t mode3
Parameter word 3.
Definition pvr.h:730
uint32_t mode1
Parameter word 1.
Definition pvr.h:728
uint32_t mode2
Parameter word 2.
Definition pvr.h:729
uint32_t d2
Dummy value.
Definition pvr.h:732
uint32_t d3
Dummy value.
Definition pvr.h:733
uint32_t d4
Dummy value.
Definition pvr.h:734
PVR polygon header with intensity color.
Definition pvr.h:743
float b
Face color blue component.
Definition pvr.h:752
uint32_t mode3
Parameter word 3.
Definition pvr.h:748
float r
Face color red component.
Definition pvr.h:750
uint32_t mode1
Parameter word 1.
Definition pvr.h:746
float a
Face color alpha component.
Definition pvr.h:749
uint32_t mode2
Parameter word 2.
Definition pvr.h:747
float g
Face color green component.
Definition pvr.h:751
PVR polygon header to be used with modifier volumes.
Definition pvr.h:762
uint32_t mode3_1
Parameter word 3 (inside volume)
Definition pvr.h:769
uint32_t d2
Dummy value.
Definition pvr.h:771
uint32_t mode2_0
Parameter word 2 (outside volume)
Definition pvr.h:766
uint32_t d1
Dummy value.
Definition pvr.h:770
uint32_t mode2_1
Parameter word 2 (inside volume)
Definition pvr.h:768
uint32_t mode1
Parameter word 1.
Definition pvr.h:765
uint32_t mode3_0
Parameter word 3 (outside volume)
Definition pvr.h:767
PVR vertex type: Untextured sprite.
Definition pvr.h:926
float bz
Second Z coordinate.
Definition pvr.h:934
float ay
First Y coordinate.
Definition pvr.h:930
uint32_t d3
Dummy value.
Definition pvr.h:942
float cz
Third Z coordinate.
Definition pvr.h:937
float bx
Second X coordinate.
Definition pvr.h:932
uint32_t d1
Dummy value.
Definition pvr.h:940
float cy
Third Y coordinate.
Definition pvr.h:936
float ax
First X coordinate.
Definition pvr.h:929
float by
Second Y coordinate.
Definition pvr.h:933
uint32_t d4
Dummy value.
Definition pvr.h:943
float dy
Fourth Y coordinate.
Definition pvr.h:939
uint32_t d2
Dummy value.
Definition pvr.h:941
float cx
Third X coordinate.
Definition pvr.h:935
float az
First Z coordinate.
Definition pvr.h:931
float dx
Fourth X coordinate.
Definition pvr.h:938
PVR sprite context.
Definition pvr.h:230
int color_clamp
Color clamp enable/disable.
Definition pvr.h:240
int write
Enable or disable depth writes.
Definition pvr.h:260
int env
Texture color contribution.
Definition pvr.h:278
int enable
Enable/disable texturing.
Definition pvr.h:264
int src_enable
Source blending enable.
Definition pvr.h:252
int dst
Dest blending mode.
Definition pvr.h:250
int clip_mode
Clipping mode.
Definition pvr.h:242
int list_type
Primitive list.
Definition pvr.h:231
int dst_enable
Dest blending enable.
Definition pvr.h:254
int specular
Offset color enable/disable.
Definition pvr.h:244
int src
Source blending mode.
Definition pvr.h:248
int alpha
Enable or disable alpha.
Definition pvr.h:234
int width
Texture width (requires a power of 2)
Definition pvr.h:280
int filter
Filtering mode.
Definition pvr.h:266
int comparison
Depth comparison mode.
Definition pvr.h:258
pvr_ptr_t base
Texture pointer.
Definition pvr.h:284
int mipmap
Enable/disable mipmaps.
Definition pvr.h:268
int mipmap_bias
Mipmap bias.
Definition pvr.h:270
int uv_flip
Enable/disable U/V flipping.
Definition pvr.h:272
int uv_clamp
Enable/disable U/V clamping.
Definition pvr.h:274
int fog_type
Fog type.
Definition pvr.h:236
int height
Texture height (requires a power of 2)
Definition pvr.h:281
int format
Texture format.
Definition pvr.h:282
int culling
Culling mode.
Definition pvr.h:238
PVR polygon header specifically for sprites.
Definition pvr.h:781
uint32_t oargb
Sprite offset color.
Definition pvr.h:788
uint32_t d2
Dummy value.
Definition pvr.h:790
uint32_t mode1
Parameter word 1.
Definition pvr.h:784
uint32_t mode2
Parameter word 2.
Definition pvr.h:785
uint32_t d1
Dummy value.
Definition pvr.h:789
uint32_t mode3
Parameter word 3.
Definition pvr.h:786
uint32_t argb
Sprite face color.
Definition pvr.h:787
PVR vertex type: Textured sprite.
Definition pvr.h:901
float bz
Second Z coordinate.
Definition pvr.h:909
float dx
Fourth X coordinate.
Definition pvr.h:913
float az
First Z coordinate.
Definition pvr.h:906
float ax
First X coordinate.
Definition pvr.h:904
uint32_t buv
Second U/V texture coordinates.
Definition pvr.h:917
float cz
Third Z coordinate.
Definition pvr.h:912
uint32_t dummy
Dummy value.
Definition pvr.h:915
float by
Second Y coordinate.
Definition pvr.h:908
uint32_t auv
First U/V texture coordinates.
Definition pvr.h:916
float dy
Fourth Y coordinate.
Definition pvr.h:914
float cx
Third X coordinate.
Definition pvr.h:910
uint32_t cuv
Third U/V texture coordinates.
Definition pvr.h:918
float bx
Second X coordinate.
Definition pvr.h:907
float cy
Third Y coordinate.
Definition pvr.h:911
float ay
First Y coordinate.
Definition pvr.h:905
PVR vertex type: Non-textured, packed color, affected by modifier volume.
Definition pvr.h:849
float z
Z coordinate.
Definition pvr.h:854
uint32_t d1
Dummy value.
Definition pvr.h:857
uint32_t argb0
Vertex color (outside volume)
Definition pvr.h:855
float x
X coordinate.
Definition pvr.h:852
float y
Y coordinate.
Definition pvr.h:853
uint32_t d2
Dummy value.
Definition pvr.h:858
uint32_t argb1
Vertex color (inside volume)
Definition pvr.h:856
Generic PVR vertex type.
Definition pvr.h:829
float z
Z coordinate.
Definition pvr.h:834
float y
Y coordinate.
Definition pvr.h:833
float u
Texture U coordinate.
Definition pvr.h:835
uint32_t oargb
Vertex offset color.
Definition pvr.h:838
float x
X coordinate.
Definition pvr.h:832
float v
Texture V coordinate.
Definition pvr.h:836
uint32_t argb
Vertex color.
Definition pvr.h:837
PVR vertex type: Textured, packed color, affected by modifier volume.
Definition pvr.h:869
float z
Z coordinate.
Definition pvr.h:874
uint32_t oargb1
Vertex offset color (inside)
Definition pvr.h:882
uint32_t oargb0
Vertex offset color (outside)
Definition pvr.h:878
float x
X coordinate.
Definition pvr.h:872
float u0
Texture U coordinate (outside)
Definition pvr.h:875
uint32_t d2
Dummy value.
Definition pvr.h:884
float v0
Texture V coordinate (outside)
Definition pvr.h:876
uint32_t d4
Dummy value.
Definition pvr.h:886
float u1
Texture U coordinate (inside)
Definition pvr.h:879
float y
Y coordinate.
Definition pvr.h:873
float v1
Texture V coordinate (inside)
Definition pvr.h:880
uint32_t argb0
Vertex color (outside)
Definition pvr.h:877
uint32_t argb1
Vertex color (inside)
Definition pvr.h:881
uint32_t d1
Dummy value.
Definition pvr.h:883
uint32_t d3
Dummy value.
Definition pvr.h:885