RetroArch
shaders.h
Go to the documentation of this file.
1 #pragma once
2 #include <wiiu/types.h>
3 #include <wiiu/gx2r/buffer.h>
4 #include "enum.h"
5 #include "sampler.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 typedef struct GX2FetchShader
12 {
14 
15  struct
16  {
18  } regs;
19 
26 
27 typedef struct GX2UniformBlock
28 {
29  const char *name;
33 
34 typedef struct GX2UniformVar
35 {
36  const char *name;
42 
43 typedef struct GX2UniformInitialValue
44 {
45  float value[4];
48 
49 typedef struct GX2LoopVar
50 {
53 } GX2LoopVar;
54 
55 typedef struct GX2SamplerVar
56 {
57  const char *name;
61 
62 typedef struct GX2AttribVar
63 {
64  const char *name;
68 } GX2AttribVar;
69 
70 typedef struct GX2VertexShader
71 {
72  union
73  {
74  struct
75  {
76  struct
77  {
78  unsigned : 2;
82  unsigned fetch_cache_lines : 3;
85  bool dx10_clamp : 1;
86  unsigned : 5;
87  unsigned stack_size : 8;
88  unsigned num_gprs : 8;
90 
91  struct
92  {
93  unsigned : 31;
94  unsigned enable: 1;
96 
97 
98  struct
99  {
100  unsigned : 18;
101  unsigned vs_out_fog_vec_addr : 5;
102  bool vs_exports_fog : 1;
103  unsigned : 2;
104  unsigned vs_export_count : 5;
107 
109  struct
110  {
115  } spi_vs_out_id[10];
116  struct
117  {
118  bool clip_dist_ena_7 : 1;
119  bool clip_dist_ena_6 : 1;
120  bool clip_dist_ena_5 : 1;
121  bool clip_dist_ena_4 : 1;
122  bool clip_dist_ena_3 : 1;
123  bool clip_dist_ena_2 : 1;
124  bool clip_dist_ena_1 : 1;
125  bool clip_dist_ena_0 : 1;
126  bool cull_dist_ena_7 : 1;
127  bool cull_dist_ena_6 : 1;
128  bool cull_dist_ena_5 : 1;
129  bool cull_dist_ena_0 : 1;
130  bool cull_dist_ena_4 : 1;
131  bool cull_dist_ena_3 : 1;
132  bool cull_dist_ena_2 : 1;
133  bool cull_dist_ena_1 : 1;
142  unsigned : 6;
148  uint32_t sq_vtx_semantic[32]; /* 8 bit */
149  struct
150  {
151  bool buffer_3_en : 1;
152  bool buffer_2_en : 1;
153  bool buffer_1_en : 1;
154  bool buffer_0_en : 1;
156  struct
157  {
158  unsigned : 24;
159  unsigned vtx_reuse_depth : 8;
161  struct
162  {
163  unsigned : 24;
164  unsigned reuse_depth : 8;
166  };
167  u32 vals[52];
168  } regs;
169 
173 
176 
179 
182 
185 
188 
191 
193 
196 
199 
200 typedef enum
201 {
206 
207 typedef enum
208 {
213 } db_z_order;
214 
215 typedef struct GX2PixelShader
216 {
217  union
218  {
219  struct
220  {
221  struct
222  {
223  unsigned : 2;
227  unsigned fetch_cache_lines : 3;
230  bool dx10_clamp : 1;
231  unsigned : 5;
232  unsigned stack_size : 8;
233  unsigned num_gprs : 8;
235 
236  struct
237  {
238  unsigned : 27;
239  unsigned export_mode : 5;
241 
242  struct
243  {
245  bool position_sample : 1;
249  unsigned param_gen_addr : 7;
250  unsigned param_gen : 4;
251  unsigned position_addr : 5;
253  bool position_ena : 1;
254  unsigned : 2;
255  unsigned num_interp : 6;
257 
258  struct
259  {
260  unsigned : 1;
261  bool position_ulc : 1;
264  unsigned fog_addr : 7;
265  unsigned front_face_addr : 5;
267  unsigned front_face_chan : 2;
268  bool front_face_ena : 1;
269  unsigned gen_index_pix_addr : 7;
270  bool gen_index_pix : 1;
272 
274 
275  struct
276  {
277  unsigned : 13;
278  bool sel_sample : 1;
279  bool pt_sprite_tex : 1;
280  unsigned cyl_wrap : 4;
281  bool sel_linear : 1;
282  bool sel_centroid : 1;
283  bool flat_shade : 1;
284  unsigned default_val : 2;
285  unsigned semantic : 8;
286  } spi_ps_input_cntls[32];
287 
288  struct
289  {
290  unsigned output7_enable : 4;
291  unsigned output6_enable : 4;
292  unsigned output5_enable : 4;
293  unsigned output4_enable : 4;
294  unsigned output3_enable : 4;
295  unsigned output2_enable : 4;
296  unsigned output1_enable : 4;
297  unsigned output0_enable : 4;
298  } cb_shader_mask;
299  struct
300  {
301  unsigned : 24;
302  bool rt7_enable : 1;
303  bool rt6_enable : 1;
304  bool rt5_enable : 1;
305  bool rt4_enable : 1;
306  bool rt3_enable : 1;
307  bool rt2_enable : 1;
308  bool rt1_enable : 1;
309  bool rt0_enable : 1;
311  struct
312  {
313  unsigned : 19;
315  bool exec_on_noop : 1;
320  bool kill_enable : 1;
322  unsigned : 2;
323  bool z_export_enable : 1;
326 
328  };
329  u32 vals[41];
330  } regs;
331 
335 
338 
341 
344 
347 
350 
353 
354 typedef enum
355 {
361 
362 typedef enum
363 {
369 
370 typedef enum
371 {
377 
378 typedef struct GX2GeometryShader
379 {
380  union
381  {
382  struct
383  {
384  struct
385  {
386  unsigned : 2;
390  unsigned fetch_cache_lines : 3;
393  bool dx10_clamp : 1;
394  unsigned : 5;
395  unsigned stack_size : 8;
396  unsigned num_gprs : 8;
399  struct
400  {
401  unsigned : 14;
403  bool element_info_en : 1;
405  bool compute_mode : 1;
406  unsigned : 2;
407  bool gs_c_pack_en : 1;
408  unsigned : 2;
409  bool mode_hi : 1;
410  unsigned : 3;
412  bool es_passthru : 1;
414  } vgt_gs_mode;
415  struct
416  {
417  bool clip_dist_ena_7 : 1;
418  bool clip_dist_ena_6 : 1;
419  bool clip_dist_ena_5 : 1;
420  bool clip_dist_ena_4 : 1;
421  bool clip_dist_ena_3 : 1;
422  bool clip_dist_ena_2 : 1;
423  bool clip_dist_ena_1 : 1;
424  bool clip_dist_ena_0 : 1;
425  bool cull_dist_ena_7 : 1;
426  bool cull_dist_ena_6 : 1;
427  bool cull_dist_ena_5 : 1;
428  bool cull_dist_ena_0 : 1;
429  bool cull_dist_ena_4 : 1;
430  bool cull_dist_ena_3 : 1;
431  bool cull_dist_ena_2 : 1;
432  bool cull_dist_ena_1 : 1;
441  unsigned : 6;
445  struct
446  {
447  unsigned : 2;
448  bool prime_cache_on_const : 1;
449  bool prime_cache_enable : 1;
450  bool uncached_first_inst : 1;
451  unsigned fetch_cache_lines : 3;
452  bool prime_cache_on_draw : 1;
453  bool prime_cache_pgm_en : 1;
454  bool dx10_clamp : 1;
455  unsigned : 5;
456  unsigned stack_size : 8;
457  unsigned num_gprs : 8;
459 
461 
462  struct
463  {
464  unsigned : 18;
465  unsigned vs_out_fog_vec_addr : 5;
466  bool vs_exports_fog : 1;
467  unsigned : 2;
468  unsigned vs_export_count : 5;
471 
473 
474  struct
475  {
480  } spi_vs_out_id[10];
481 
482  struct
483  {
484  bool buffer_3_en : 1;
485  bool buffer_2_en : 1;
486  bool buffer_1_en : 1;
487  bool buffer_0_en : 1;
489  };
490  u32 vals[19];
491  } regs;
497 
500 
503 
506 
509 
512 
516 
519 
520 typedef struct GX2AttribStream
521 {
531 
534 
536  GX2TessellationMode tesellationMode);
537 
538 void GX2InitFetchShaderEx(GX2FetchShader *fetchShader, uint8_t *buffer, uint32_t attribCount,
540 
545 
554 
556  uint32_t numVsGpr, uint32_t numVsStackEntries,
557  uint32_t numGsGpr, uint32_t numGsStackEntries,
558  uint32_t numPsGpr, uint32_t numPsStackEntries);
559 
561 {
563  GX2SetShaderModeEx(mode, 44, 32, 64, 48, 76, 176);
564  else
565  GX2SetShaderModeEx(mode, 48, 64, 0, 0, 200, 192);
566 }
567 
571 
578 
579 #ifdef __cplusplus
580 }
581 #endif
582 
unsigned output6_enable
Definition: shaders.h:291
Definition: shaders.h:62
bool spi_input_z
Definition: shaders.h:327
bool vs_per_component
Definition: shaders.h:469
GLuint shader
Definition: glext.h:6670
Definition: shaders.h:43
GX2SamplerVar * samplerVars
Definition: shaders.h:349
uint8_t * copyProgram
Definition: shaders.h:495
Definition: buffer.h:9
uint32_t uniformBlockCount
Definition: shaders.h:174
uint32_t ringItemSize
Definition: shaders.h:192
GX2LoopVar * loopVars
Definition: shaders.h:346
bool clip_dist_ena_2
Definition: shaders.h:123
bool use_vtx_kill_flag
Definition: shaders.h:437
uint32_t size
Definition: shaders.h:332
uint8_t * program
Definition: shaders.h:333
static void GX2SetShaderMode(GX2ShaderMode mode)
Definition: shaders.h:560
uint32_t loopVarCount
Definition: shaders.h:183
GLenum mode
Definition: glext.h:6857
bool cull_dist_ena_4
Definition: shaders.h:429
const char * name
Definition: shaders.h:36
uint32_t size
Definition: shaders.h:492
GX2UniformInitialValue * initialValues
Definition: shaders.h:505
bool es_passthru
Definition: shaders.h:412
GX2AttribIndexType type
Definition: shaders.h:526
unsigned position_addr
Definition: shaders.h:251
void GX2InitFetchShaderEx(GX2FetchShader *fetchShader, uint8_t *buffer, uint32_t attribCount, GX2AttribStream *attribs, GX2FetchShaderType type, GX2TessellationMode tessMode)
uint32_t streamOutStride[4]
Definition: shaders.h:515
uint32_t count
Definition: shaders.h:38
struct GX2VertexShader GX2VertexShader
Definition: shaders.h:11
bool vs_exports_fog
Definition: shaders.h:102
BOOL hasStreamOut
Definition: shaders.h:194
Definition: shaders.h:373
const char * name
Definition: shaders.h:29
uint32_t initialValueCount
Definition: shaders.h:504
uint8_t * program
Definition: shaders.h:493
GX2LoopVar * loopVars
Definition: shaders.h:184
GX2FetchShaderType
Definition: enum.h:154
uint32_t GX2CalcFetchShaderSizeEx(uint32_t attribs, GX2FetchShaderType fetchShaderType, GX2TessellationMode tesellationMode)
bool clip_dist_ena_1
Definition: shaders.h:423
vgt_gs_out_primitive_type vgt_gs_out_prim_type
Definition: shaders.h:398
Definition: shaders.h:55
uint32_t sq_pgm_resources_fs
Definition: shaders.h:17
bool dual_export_enable
Definition: shaders.h:317
struct GX2GeometryShader::@908::@909::@917 vgt_strmout_buffer_en
uint32_t offset
Definition: shaders.h:30
struct GX2UniformInitialValue GX2UniformInitialValue
void GX2SetPixelSampler(GX2Sampler *sampler, uint32_t id)
Definition: shaders.h:34
uint32_t size
Definition: shaders.h:20
spi_baryc_cntl baryc_sample_cntl
Definition: shaders.h:248
uint8_t * program
Definition: shaders.h:171
struct GX2GeometryShader::@908::@909::@912 vgt_gs_mode
bool clip_dist_ena_6
Definition: shaders.h:119
uint32_t loopVarCount
Definition: shaders.h:345
Definition: shaders.h:375
struct GX2PixelShader::@897::@898::@907 db_shader_control
struct GX2GeometryShader::@908::@909::@916 spi_vs_out_id[10]
uint32_t GX2CalcGeometryShaderInputRingBufferSize(uint32_t ringItemSize)
GX2AttribFormat format
Definition: shaders.h:525
bool use_vtx_point_size
Definition: shaders.h:143
bool vs_out_misc_side_bus_ena
Definition: shaders.h:433
db_z_order z_order
Definition: shaders.h:321
bool exec_on_noop
Definition: shaders.h:315
uint32_t location
Definition: shaders.h:522
bool buffer_3_en
Definition: shaders.h:484
GLsizeiptr size
Definition: glext.h:6559
Definition: shaders.h:202
unsigned num_interp
Definition: shaders.h:255
bool prime_cache_on_draw
Definition: shaders.h:228
unsigned cyl_wrap
Definition: shaders.h:280
Definition: shaders.h:212
unsigned stack_size
Definition: shaders.h:395
uint32_t initialValueCount
Definition: shaders.h:342
bool cull_dist_ena_1
Definition: shaders.h:133
u32 vals[41]
Definition: shaders.h:329
GLboolean enable
Definition: glext.h:12027
struct GX2PixelShader GX2PixelShader
bool prime_cache_enable
Definition: shaders.h:80
const char * name
Definition: shaders.h:57
bool clip_dist_ena_0
Definition: shaders.h:424
unsigned front_face_addr
Definition: shaders.h:265
Definition: shaders.h:356
bool cull_dist_ena_0
Definition: shaders.h:428
bool rt6_enable
Definition: shaders.h:303
bool buffer_2_en
Definition: shaders.h:152
GX2ShaderMode mode
Definition: shaders.h:496
Definition: shaders.h:70
uint8_t semantic_2
Definition: shaders.h:112
Definition: shaders.h:211
Definition: shaders.h:366
struct GX2VertexShader::@886::@887::@891 spi_vs_out_config
uint8_t semantic_3
Definition: shaders.h:476
Definition: shaders.h:374
uint32_t sq_gs_vert_itemsize
Definition: shaders.h:460
uint8_t semantic_0
Definition: shaders.h:114
void GX2SetGeometryUniformBlock(uint32_t location, uint32_t size, const void *data)
struct GX2VertexShader::@886::@887::@895 vgt_vertex_reuse_block_cntl
GX2LoopVar * loopVars
Definition: shaders.h:508
Definition: ibxm.h:9
bool prime_cache_on_draw
Definition: shaders.h:83
uint32_t GX2CalcGeometryShaderOutputRingBufferSize(uint32_t ringItemSize)
bool prime_cache_on_const
Definition: shaders.h:224
Definition: shaders.h:215
bool uncached_first_inst
Definition: shaders.h:81
Definition: shaders.h:204
Definition: shaders.h:367
void GX2SetShaderModeEx(GX2ShaderMode mode, uint32_t numVsGpr, uint32_t numVsStackEntries, uint32_t numGsGpr, uint32_t numGsStackEntries, uint32_t numPsGpr, uint32_t numPsStackEntries)
GLuint GLuint GLsizei count
Definition: glext.h:6292
bool dx10_clamp
Definition: shaders.h:230
bool sel_centroid
Definition: shaders.h:282
bool compute_mode
Definition: shaders.h:405
unsigned semantic
Definition: shaders.h:285
bool cull_dist_ena_7
Definition: shaders.h:126
void GX2SetVertexUniformReg(uint32_t offset, uint32_t count, uint32_t *data)
uint32_t uniformVarCount
Definition: shaders.h:177
unsigned vs_export_count
Definition: shaders.h:468
struct GX2PixelShader::@897::@898::@906 cb_shader_control
uint8_t semantic_0
Definition: shaders.h:479
GLint location
Definition: glext.h:6690
unsigned vtx_reuse_depth
Definition: shaders.h:159
bool cull_dist_ena_3
Definition: shaders.h:430
void GX2SetVertexShader(GX2VertexShader *shader)
bool baryc_at_sample_ena
Definition: shaders.h:244
bool cull_dist_ena_1
Definition: shaders.h:432
struct GX2PixelShader::@897::@898::@902 spi_ps_in_control_0
GX2UniformVar * uniformVars
Definition: shaders.h:502
int32_t block
Definition: shaders.h:40
bool clip_dist_ena_7
Definition: shaders.h:417
uint32_t offset
Definition: shaders.h:46
struct GX2UniformBlock GX2UniformBlock
uint32_t count
Definition: shaders.h:66
bool fast_compute_mode
Definition: shaders.h:404
GX2RBuffer gx2rBuffer
Definition: shaders.h:517
Definition: shaders.h:27
uint32_t sq_vtx_semantic_clear
Definition: shaders.h:146
GX2SamplerVarType type
Definition: shaders.h:58
unsigned output2_enable
Definition: shaders.h:295
void GX2SetVertexUniformBlock(uint32_t location, uint32_t size, const void *data)
bool cull_dist_ena_5
Definition: shaders.h:427
struct GX2GeometryShader::@908::@909::@911 sq_pgm_resources_gs
bool prime_cache_on_const
Definition: shaders.h:387
uint32_t attribVarCount
Definition: shaders.h:189
bool clip_dist_ena_0
Definition: shaders.h:125
GLenum type
Definition: glext.h:6233
bool rt4_enable
Definition: shaders.h:305
bool cull_dist_ena_2
Definition: shaders.h:132
Definition: sampler.h:10
bool coverage_to_mask_enable
Definition: shaders.h:319
uint32_t uniformVarCount
Definition: shaders.h:501
GX2TessellationMode
Definition: enum.h:402
GX2AttribIndexType
Definition: enum.h:48
bool position_centroid
Definition: shaders.h:252
bool use_vtx_viewport_indx
Definition: shaders.h:139
unsigned vs_export_count
Definition: shaders.h:104
uint32_t loopVarCount
Definition: shaders.h:507
unsigned output4_enable
Definition: shaders.h:293
bool persp_gradient_ena
Definition: shaders.h:247
unsigned fetch_cache_lines
Definition: shaders.h:390
bool partial_thd_at_eoi
Definition: shaders.h:402
struct GX2PixelShader::@897::@898::@900 sq_pgm_resources_ps
GX2UniformBlock * uniformBlocks
Definition: shaders.h:175
bool kill_enable
Definition: shaders.h:320
Definition: shaders.h:203
vgt_gs_cut_mode
Definition: shaders.h:370
uint32_t uniformBlockCount
Definition: shaders.h:336
uint32_t streamOutStride[4]
Definition: shaders.h:195
bool clip_dist_ena_5
Definition: shaders.h:419
uint32_t uniformBlockCount
Definition: shaders.h:498
bool use_vtx_render_target_indx
Definition: shaders.h:140
unsigned gen_index_pix_addr
Definition: shaders.h:269
uint32_t value
Definition: shaders.h:52
bool vs_out_ccdist1_vec_ena
Definition: shaders.h:135
unsigned fetch_cache_lines
Definition: shaders.h:82
void GX2SetPixelShader(GX2PixelShader *shader)
unsigned front_face_chan
Definition: shaders.h:267
uint32_t GX2GetVertexShaderStackEntries(GX2VertexShader *shader)
uint32_t location
Definition: shaders.h:59
unsigned output0_enable
Definition: shaders.h:297
GX2ShaderVarType type
Definition: shaders.h:37
bool vs_out_ccdist0_vec_ena
Definition: shaders.h:435
struct GX2GeometryShader::@908::@909::@914 sq_pgm_resources_vs
unsigned num_gprs
Definition: shaders.h:88
uint32_t divisors[2]
Definition: shaders.h:24
struct GX2GeometryShader::@908::@909::@913 pa_cl_vs_out_cntl
bool use_vtx_gs_cut_flag
Definition: shaders.h:144
uint32_t GX2GetVertexShaderGPRs(GX2VertexShader *shader)
GX2RBuffer gx2rBuffer
Definition: shaders.h:197
void GX2SetVertexSampler(GX2Sampler *sampler, uint32_t id)
uint32_t offset
Definition: shaders.h:51
bool clip_dist_ena_1
Definition: shaders.h:124
unsigned output7_enable
Definition: shaders.h:290
bool rt7_enable
Definition: shaders.h:302
bool use_vtx_kill_flag
Definition: shaders.h:138
struct GX2LoopVar GX2LoopVar
uint32_t GX2GetGeometryShaderStackEntries(GX2GeometryShader *shader)
void GX2SetStreamOutEnable(BOOL enable)
GX2UniformBlock * uniformBlocks
Definition: shaders.h:337
bool flat_shade
Definition: shaders.h:283
bool clip_dist_ena_6
Definition: shaders.h:418
GX2UniformInitialValue * initialValues
Definition: shaders.h:181
unsigned export_mode
Definition: shaders.h:239
unsigned output1_enable
Definition: shaders.h:296
void GX2SetGeometryShaderInputRingBuffer(void *buffer, uint32_t size)
struct GX2VertexShader::@886::@887::@892 spi_vs_out_id[10]
bool mode_hi
Definition: shaders.h:409
uint32_t samplerVarCount
Definition: shaders.h:348
struct GX2FetchShader::@885 regs
GX2ShaderMode
Definition: enum.h:272
uint32_t copyProgramSize
Definition: shaders.h:494
db_z_order
Definition: shaders.h:207
unsigned num_gprs
Definition: shaders.h:233
bool linear_gradient_ena
Definition: shaders.h:246
bool buffer_0_en
Definition: shaders.h:154
bool cull_dist_ena_7
Definition: shaders.h:425
GX2ShaderMode mode
Definition: shaders.h:334
bool mask_export_enable
Definition: shaders.h:318
uint32_t samplerVarCount
Definition: shaders.h:186
union GX2VertexShader::@886 regs
uint8_t * program
Definition: shaders.h:21
signed int int32_t
Definition: stdint.h:123
bool use_vtx_render_target_indx
Definition: shaders.h:439
struct GX2PixelShader::@897::@898::@905 cb_shader_mask
bool use_vtx_point_size
Definition: shaders.h:442
unsigned output3_enable
Definition: shaders.h:294
bool fixed_pt_position_ena
Definition: shaders.h:263
uint8_t semantic_1
Definition: shaders.h:113
bool use_vtx_gs_cut_flag
Definition: shaders.h:443
unsigned fixed_pt_position_addr
Definition: shaders.h:262
bool exec_on_hier_fail
Definition: shaders.h:316
bool pt_sprite_tex
Definition: shaders.h:279
GX2SamplerVar * samplerVars
Definition: shaders.h:187
GX2RBuffer gx2rBuffer
Definition: shaders.h:351
bool cull_dist_ena_4
Definition: shaders.h:130
uint32_t aluDivisor
Definition: shaders.h:527
unsigned vs_out_fog_vec_addr
Definition: shaders.h:465
bool clip_dist_ena_5
Definition: shaders.h:120
GX2UniformVar * uniformVars
Definition: shaders.h:178
GX2EndianSwapMode
Definition: enum.h:146
vgt_gs_enable_mode
Definition: shaders.h:362
vgt_gs_enable_mode mode
Definition: shaders.h:413
struct GX2UniformVar GX2UniformVar
bool alpha_to_mask_disable
Definition: shaders.h:314
uint8_t semantic_3
Definition: shaders.h:111
bool clip_dist_ena_3
Definition: shaders.h:421
bool rt1_enable
Definition: shaders.h:308
unsigned output5_enable
Definition: shaders.h:292
bool front_face_all_bits
Definition: shaders.h:266
void GX2SetGeometrySampler(GX2Sampler *sampler, uint32_t id)
uint32_t ringItemSize
Definition: shaders.h:513
Definition: shaders.h:365
bool vs_per_component
Definition: shaders.h:105
struct GX2SamplerVar GX2SamplerVar
bool vs_out_misc_vec_ena
Definition: shaders.h:436
unsigned enable
Definition: shaders.h:94
unsigned int BOOL
Definition: gctypes.h:51
bool cull_dist_ena_5
Definition: shaders.h:128
vgt_gs_cut_mode cut_mode
Definition: shaders.h:411
bool buffer_2_en
Definition: shaders.h:485
bool uncached_first_inst
Definition: shaders.h:226
uint32_t numDivisors
Definition: shaders.h:23
bool vs_out_misc_side_bus_ena
Definition: shaders.h:134
uint32_t offset
Definition: shaders.h:524
struct GX2GeometryShader::@908::@909::@915 spi_vs_out_config
struct GX2PixelShader::@897::@898::@904 spi_ps_input_cntls[32]
bool clip_dist_ena_7
Definition: shaders.h:118
bool prime_cache_on_draw
Definition: shaders.h:391
GX2UniformInitialValue * initialValues
Definition: shaders.h:343
unsigned default_val
Definition: shaders.h:284
bool rt2_enable
Definition: shaders.h:307
Definition: shaders.h:49
bool cull_dist_ena_6
Definition: shaders.h:426
GX2FetchShaderType type
Definition: shaders.h:13
uint32_t size
Definition: shaders.h:170
uint32_t num_spi_ps_input_cntl
Definition: shaders.h:273
Definition: shaders.h:209
Definition: shaders.h:378
bool buffer_1_en
Definition: shaders.h:153
unsigned num_gprs
Definition: shaders.h:396
bool sel_sample
Definition: shaders.h:278
uint32_t attribCount
Definition: shaders.h:22
uint32_t mask
Definition: shaders.h:528
union GX2GeometryShader::@908 regs
struct GX2AttribStream GX2AttribStream
GX2EndianSwapMode endianSwap
Definition: shaders.h:529
uint32_t num_sq_vtx_semantic
Definition: shaders.h:147
GX2UniformVar * uniformVars
Definition: shaders.h:340
uint32_t offset
Definition: shaders.h:39
bool cull_dist_ena_0
Definition: shaders.h:129
void GX2SetGeometryShaderOutputRingBuffer(void *buffer, uint32_t size)
uint8_t semantic_1
Definition: shaders.h:478
uint32_t location
Definition: shaders.h:67
uint32_t samplerVarCount
Definition: shaders.h:510
bool gen_index_pix
Definition: shaders.h:270
bool prime_cache_on_const
Definition: shaders.h:79
struct GX2GeometryShader GX2GeometryShader
Definition: shaders.h:358
unsigned reuse_depth
Definition: shaders.h:164
struct GX2VertexShader::@886::@887::@889 sq_pgm_resources_vs
Definition: enum.h:276
bool dx10_clamp
Definition: shaders.h:393
bool prime_cache_enable
Definition: shaders.h:388
bool rt3_enable
Definition: shaders.h:306
Definition: shaders.h:210
vgt_gs_out_primitive_type
Definition: shaders.h:354
unsigned param_gen
Definition: shaders.h:250
GX2SamplerVar * samplerVars
Definition: shaders.h:511
struct GX2PixelShader::@897::@898::@903 spi_ps_in_control_1
bool prime_cache_pgm_en
Definition: shaders.h:84
bool clip_dist_ena_4
Definition: shaders.h:121
bool buffer_3_en
Definition: shaders.h:151
unsigned stack_size
Definition: shaders.h:87
uint8_t semantic_2
Definition: shaders.h:477
GX2UniformBlock * uniformBlocks
Definition: shaders.h:499
bool clip_dist_ena_3
Definition: shaders.h:122
bool vs_out_ccdist0_vec_ena
Definition: shaders.h:136
bool clip_dist_ena_2
Definition: shaders.h:422
GLsizei const GLfloat * value
Definition: glext.h:6709
uint32_t initialValueCount
Definition: shaders.h:180
bool use_vtx_edge_flag
Definition: shaders.h:141
bool prime_cache_enable
Definition: shaders.h:225
GX2AttribFormat
Definition: enum.h:24
void GX2SetPixelUniformReg(uint32_t offset, uint32_t count, uint32_t *data)
struct GX2PixelShader::@897::@898::@901 sq_pgm_exports_ps
Definition: shaders.h:359
bool prime_cache_pgm_en
Definition: shaders.h:229
struct GX2VertexShader::@886::@887::@893 pa_cl_vs_out_cntl
bool sel_linear
Definition: shaders.h:281
void GX2SetPixelUniformBlock(uint32_t location, uint32_t size, const void *data)
Definition: shaders.h:364
bool rt0_enable
Definition: shaders.h:309
bool vs_out_misc_vec_ena
Definition: shaders.h:137
GX2SamplerVarType
Definition: enum.h:258
bool rt5_enable
Definition: shaders.h:304
bool z_export_enable
Definition: shaders.h:323
uint32_t GX2GetPixelShaderGPRs(GX2PixelShader *shader)
struct GX2VertexShader::@886::@887::@896 vgt_hos_reuse_depth
uint32_t num_spi_vs_out_id
Definition: shaders.h:472
bool buffer_0_en
Definition: shaders.h:487
unsigned stack_size
Definition: shaders.h:232
Definition: shaders.h:372
uint32_t buffer
Definition: shaders.h:523
uint32_t GX2GetPixelShaderStackEntries(GX2PixelShader *shader)
bool cull_dist_ena_2
Definition: shaders.h:431
GLuint sampler
Definition: glext.h:7950
unsigned fog_addr
Definition: shaders.h:264
Definition: video4linux2.c:51
unsigned param_gen_addr
Definition: shaders.h:249
GLintptr offset
Definition: glext.h:6560
struct GX2VertexShader::@886::@887::@894 vgt_strmout_buffer_en
bool element_info_en
Definition: shaders.h:403
struct GX2FetchShader GX2FetchShader
const char * name
Definition: shaders.h:64
bool cull_dist_ena_6
Definition: shaders.h:127
uint32_t size
Definition: shaders.h:31
BOOL hasStreamOut
Definition: shaders.h:514
bool gs_c_pack_en
Definition: shaders.h:407
bool position_sample
Definition: shaders.h:245
void GX2SetGeometryShader(GX2GeometryShader *shader)
Definition: shaders.h:357
bool prime_cache_pgm_en
Definition: shaders.h:392
uint32_t u32
32bit unsigned integer
Definition: gctypes.h:19
bool front_face_ena
Definition: shaders.h:268
unsigned vs_out_fog_vec_addr
Definition: shaders.h:101
spi_baryc_cntl
Definition: shaders.h:200
bool use_vtx_viewport_indx
Definition: shaders.h:438
bool vs_out_ccdist1_vec_ena
Definition: shaders.h:434
GX2AttribVar * attribVars
Definition: shaders.h:190
Definition: shaders.h:520
GX2ShaderMode mode
Definition: shaders.h:172
GX2ShaderVarType type
Definition: shaders.h:65
uint32_t num_spi_vs_out_id
Definition: shaders.h:108
unsigned char uint8_t
Definition: stdint.h:124
bool dx10_clamp
Definition: shaders.h:85
bool clip_dist_ena_4
Definition: shaders.h:420
unsigned int uint32_t
Definition: stdint.h:126
unsigned fetch_cache_lines
Definition: shaders.h:227
struct GX2VertexShader::@886::@887::@890 vgt_primitiveid_en
const GLint * attribs
Definition: glext.h:11445
bool use_vtx_edge_flag
Definition: shaders.h:440
union GX2PixelShader::@897 regs
bool position_ena
Definition: shaders.h:253
bool stencil_ref_export_enable
Definition: shaders.h:324
GX2ShaderVarType
Definition: enum.h:280
void GX2SetFetchShader(GX2FetchShader *shader)
bool uncached_first_inst
Definition: shaders.h:389
struct GX2AttribVar GX2AttribVar
bool buffer_1_en
Definition: shaders.h:486
bool position_ulc
Definition: shaders.h:261
uint32_t sq_vtx_semantic[32]
Definition: shaders.h:148
bool cull_dist_ena_3
Definition: shaders.h:131
uint32_t GX2GetGeometryShaderGPRs(GX2GeometryShader *shader)
bool vs_exports_fog
Definition: shaders.h:466
uint32_t uniformVarCount
Definition: shaders.h:339
u32 vals[19]
Definition: shaders.h:490
u32 vals[52]
Definition: shaders.h:167