WUT  0.1
Wii U Toolchain
registers.h
Go to the documentation of this file.
1 #pragma once
2 #include <wut.h>
3 #include "surface.h"
4 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 typedef struct GX2AAMaskReg GX2AAMaskReg;
31 
32 typedef enum GX2CompareFunction
33 {
43 
44 typedef enum GX2AlphaToMaskMode
45 {
52 
53 typedef enum GX2BlendMode
54 {
74 } GX2BlendMode;
75 
76 typedef enum GX2BlendCombineMode
77 {
84 
85 typedef enum GX2FrontFace
86 {
89 } GX2FrontFace;
90 
91 typedef enum GX2LogicOp
92 {
109 } GX2LogicOp;
110 
111 typedef enum GX2StencilFunction
112 {
122 
123 typedef enum GX2PolygonMode
124 {
129 
130 
131 typedef enum GX2ChannelMask
132 {
149 
151 {
152  uint32_t regs[1];
153 };
154 CHECK_SIZE(GX2AAMaskReg, 4);
155 
157 {
158  uint32_t regs[2];
159 };
160 CHECK_SIZE(GX2AlphaTestReg, 8);
161 
163 {
164  uint32_t regs[1];
165 };
166 CHECK_SIZE(GX2AlphaToMaskReg, 4);
167 
169 {
170  uint32_t regs[2];
171 };
172 CHECK_SIZE(GX2BlendControlReg, 8);
173 
175 {
176  uint32_t regs[4];
177 };
178 CHECK_SIZE(GX2BlendConstantColorReg, 16);
179 
181 {
182  uint32_t regs[1];
183 };
184 CHECK_SIZE(GX2ColorControlReg, 4);
185 
187 {
188  uint32_t regs[1];
189 };
190 CHECK_SIZE(GX2DepthStencilControlReg, 4);
191 
193 {
194  uint32_t regs[2];
195 };
196 CHECK_SIZE(GX2StencilMaskReg, 8);
197 
199 {
200  uint32_t regs[1];
201 };
202 CHECK_SIZE(GX2LineWidthReg, 4);
203 
205 {
206  uint32_t regs[1];
207 };
208 CHECK_SIZE(GX2PointSizeReg, 4);
209 
211 {
212  uint32_t regs[1];
213 };
214 CHECK_SIZE(GX2PointLimitsReg, 4);
215 
217 {
218  uint32_t regs[1];
219 };
220 CHECK_SIZE(GX2PolygonControlReg, 4);
221 
223 {
224  uint32_t regs[5];
225 };
226 CHECK_SIZE(GX2PolygonOffsetReg, 20);
227 
229 {
230  uint32_t regs[2];
231 };
232 CHECK_SIZE(GX2ScissorReg, 8);
233 
235 {
236  uint32_t regs[1];
237 };
238 CHECK_SIZE(GX2TargetChannelMaskReg, 4);
239 
241 {
242  uint32_t regs[12];
243 };
244 CHECK_SIZE(GX2ViewportReg, 48);
245 
246 void
247 GX2SetAAMask(uint8_t upperLeft,
248  uint8_t upperRight,
249  uint8_t lowerLeft,
250  uint8_t lowerRight);
251 
252 void
254  uint8_t upperLeft,
255  uint8_t upperRight,
256  uint8_t lowerLeft,
257  uint8_t lowerRight);
258 
259 void
261  uint8_t *upperLeft,
262  uint8_t *upperRight,
263  uint8_t *lowerLeft,
264  uint8_t *lowerRight);
265 
266 void
268 
269 void
270 GX2SetAlphaTest(BOOL alphaTest,
271  GX2CompareFunction func,
272  float ref);
273 
274 void
276  BOOL alphaTest,
277  GX2CompareFunction func,
278  float ref);
279 
280 void
282  BOOL *alphaTest,
283  GX2CompareFunction *func,
284  float *ref);
285 
286 void
288 
289 void
290 GX2SetAlphaToMask(BOOL alphaToMask,
291  GX2AlphaToMaskMode mode);
292 
293 void
295  BOOL alphaToMask,
296  GX2AlphaToMaskMode mode);
297 
298 void
300  BOOL *alphaToMask,
301  GX2AlphaToMaskMode *mode);
302 
303 void
305 
306 void
307 GX2SetBlendConstantColor(float red,
308  float green,
309  float blue,
310  float alpha);
311 
312 void
314  float red,
315  float green,
316  float blue,
317  float alpha);
318 
319 void
321  float *red,
322  float *green,
323  float *blue,
324  float *alpha);
325 
326 void
328 
329 void
331  GX2BlendMode colorSrcBlend,
332  GX2BlendMode colorDstBlend,
333  GX2BlendCombineMode colorCombine,
334  BOOL useAlphaBlend,
335  GX2BlendMode alphaSrcBlend,
336  GX2BlendMode alphaDstBlend,
337  GX2BlendCombineMode alphaCombine);
338 
339 void
341  GX2RenderTarget target,
342  GX2BlendMode colorSrcBlend,
343  GX2BlendMode colorDstBlend,
344  GX2BlendCombineMode colorCombine,
345  BOOL useAlphaBlend,
346  GX2BlendMode alphaSrcBlend,
347  GX2BlendMode alphaDstBlend,
348  GX2BlendCombineMode alphaCombine);
349 
350 void
352  GX2RenderTarget *target,
353  GX2BlendMode *colorSrcBlend,
354  GX2BlendMode *colorDstBlend,
355  GX2BlendCombineMode *colorCombine,
356  BOOL *useAlphaBlend,
357  GX2BlendMode *alphaSrcBlend,
358  GX2BlendMode *alphaDstBlend,
359  GX2BlendCombineMode *alphaCombine);
360 
361 void
363 
364 void
366  uint8_t targetBlendEnable,
367  BOOL multiWriteEnable,
368  BOOL colorWriteEnable);
369 
370 void
372  GX2LogicOp rop3,
373  uint8_t targetBlendEnable,
374  BOOL multiWriteEnable,
375  BOOL colorWriteEnable);
376 
377 void
379  GX2LogicOp *rop3,
380  uint8_t *targetBlendEnable,
381  BOOL *multiWriteEnable,
382  BOOL *colorWriteEnable);
383 
384 void
386 
387 void
388 GX2SetDepthOnlyControl(BOOL depthTest,
389  BOOL depthWrite,
390  GX2CompareFunction depthCompare);
391 
392 void
394  BOOL depthWrite,
395  GX2CompareFunction depthCompare,
396  BOOL stencilTest,
397  BOOL backfaceStencil,
398  GX2CompareFunction frontStencilFunc,
399  GX2StencilFunction frontStencilZPass,
400  GX2StencilFunction frontStencilZFail,
401  GX2StencilFunction frontStencilFail,
402  GX2CompareFunction backStencilFunc,
403  GX2StencilFunction backStencilZPass,
404  GX2StencilFunction backStencilZFail,
405  GX2StencilFunction backStencilFail);
406 
407 void
409  BOOL depthTest,
410  BOOL depthWrite,
411  GX2CompareFunction depthCompare,
412  BOOL stencilTest,
413  BOOL backfaceStencil,
414  GX2CompareFunction frontStencilFunc,
415  GX2StencilFunction frontStencilZPass,
416  GX2StencilFunction frontStencilZFail,
417  GX2StencilFunction frontStencilFail,
418  GX2CompareFunction backStencilFunc,
419  GX2StencilFunction backStencilZPass,
420  GX2StencilFunction backStencilZFail,
421  GX2StencilFunction backStencilFail);
422 
423 void
425  BOOL *depthTest,
426  BOOL *depthWrite,
427  GX2CompareFunction *depthCompare,
428  BOOL *stencilTest,
429  BOOL *backfaceStencil,
430  GX2CompareFunction *frontStencilFunc,
431  GX2StencilFunction *frontStencilZPass,
432  GX2StencilFunction *frontStencilZFail,
433  GX2StencilFunction *frontStencilFail,
434  GX2CompareFunction *backStencilFunc,
435  GX2StencilFunction *backStencilZPass,
436  GX2StencilFunction *backStencilZFail,
437  GX2StencilFunction *backStencilFail);
438 
439 void
441 
442 void
443 GX2SetStencilMask(uint8_t frontMask,
444  uint8_t frontWriteMask,
445  uint8_t frontRef,
446  uint8_t backMask,
447  uint8_t backWriteMask,
448  uint8_t backRef);
449 
450 void
452  uint8_t frontMask,
453  uint8_t frontWriteMask,
454  uint8_t frontRef,
455  uint8_t backMask,
456  uint8_t backWriteMask,
457  uint8_t backRef);
458 
459 void
461  uint8_t *frontMask,
462  uint8_t *frontWriteMask,
463  uint8_t *frontRef,
464  uint8_t *backMask,
465  uint8_t *backWriteMask,
466  uint8_t *backRef);
467 
468 void
470 
471 void
472 GX2SetLineWidth(float width);
473 
474 void
476  float width);
477 
478 void
480  float *width);
481 
482 void
484 
485 void
486 GX2SetPointSize(float width,
487  float height);
488 
489 void
491  float width,
492  float height);
493 
494 void
496  float *width,
497  float *height);
498 
499 void
501 
502 void
503 GX2SetPointLimits(float min,
504  float max);
505 
506 void
508  float min,
509  float max);
510 
511 void
513  float *min,
514  float *max);
515 
516 void
518 
519 void
521  BOOL cullFront,
522  BOOL cullBack);
523 
524 void
526  BOOL cullFront,
527  BOOL cullBack,
528  BOOL polyMode,
529  GX2PolygonMode polyModeFront,
530  GX2PolygonMode polyModeBack,
531  BOOL polyOffsetFrontEnable,
532  BOOL polyOffsetBackEnable,
533  BOOL polyOffsetParaEnable);
534 
535 void
537  GX2FrontFace frontFace,
538  BOOL cullFront,
539  BOOL cullBack,
540  BOOL polyMode,
541  GX2PolygonMode polyModeFront,
542  GX2PolygonMode polyModeBack,
543  BOOL polyOffsetFrontEnable,
544  BOOL polyOffsetBackEnable,
545  BOOL polyOffsetParaEnable);
546 
547 void
549  GX2FrontFace *frontFace,
550  BOOL *cullFront,
551  BOOL *cullBack,
552  BOOL *polyMode,
553  GX2PolygonMode *polyModeFront,
554  GX2PolygonMode *polyModeBack,
555  BOOL *polyOffsetFrontEnable,
556  BOOL *polyOffsetBackEnable,
557  BOOL *polyOffsetParaEnable);
558 
559 void
561 
562 void
563 GX2SetPolygonOffset(float frontOffset,
564  float frontScale,
565  float backOffset,
566  float backScale,
567  float clamp);
568 
569 void
571  float frontOffset,
572  float frontScale,
573  float backOffset,
574  float backScale,
575  float clamp);
576 
577 void
579  float *frontOffset,
580  float *frontScale,
581  float *backOffset,
582  float *backScale,
583  float *clamp);
584 
585 void
587 
588 void
589 GX2SetScissor(uint32_t x,
590  uint32_t y,
591  uint32_t width,
592  uint32_t height);
593 
594 void
596  uint32_t x,
597  uint32_t y,
598  uint32_t width,
599  uint32_t height);
600 
601 void
603  uint32_t *x,
604  uint32_t *y,
605  uint32_t *width,
606  uint32_t *height);
607 
608 void
610 
611 void
613  GX2ChannelMask mask1,
614  GX2ChannelMask mask2,
615  GX2ChannelMask mask3,
616  GX2ChannelMask mask4,
617  GX2ChannelMask mask5,
618  GX2ChannelMask mask6,
619  GX2ChannelMask mask7);
620 
621 void
623  GX2ChannelMask mask0,
624  GX2ChannelMask mask1,
625  GX2ChannelMask mask2,
626  GX2ChannelMask mask3,
627  GX2ChannelMask mask4,
628  GX2ChannelMask mask5,
629  GX2ChannelMask mask6,
630  GX2ChannelMask mask7);
631 
632 void
634  GX2ChannelMask *mask0,
635  GX2ChannelMask *mask1,
636  GX2ChannelMask *mask2,
637  GX2ChannelMask *mask3,
638  GX2ChannelMask *mask4,
639  GX2ChannelMask *mask5,
640  GX2ChannelMask *mask6,
641  GX2ChannelMask *mask7);
642 
643 void
645 
646 void
647 GX2SetViewport(float x,
648  float y,
649  float width,
650  float height,
651  float nearZ,
652  float farZ);
653 
654 void
656  float x,
657  float y,
658  float width,
659  float height,
660  float nearZ,
661  float farZ);
662 
663 void
665  float *x,
666  float *y,
667  float *width,
668  float *height,
669  float *nearZ,
670  float *farZ);
671 
672 void
674 
675 #ifdef __cplusplus
676 }
677 #endif
678 
GX2StencilFunction
Definition: registers.h:111
uint32_t regs[1]
Definition: registers.h:206
GX2RenderTarget
Definition: surface.h:164
void GX2InitStencilMaskReg(GX2StencilMaskReg *reg, uint8_t frontMask, uint8_t frontWriteMask, uint8_t frontRef, uint8_t backMask, uint8_t backWriteMask, uint8_t backRef)
void GX2SetBlendConstantColorReg(GX2BlendConstantColorReg *reg)
void GX2InitBlendControlReg(GX2BlendControlReg *reg, GX2RenderTarget target, GX2BlendMode colorSrcBlend, GX2BlendMode colorDstBlend, GX2BlendCombineMode colorCombine, BOOL useAlphaBlend, GX2BlendMode alphaSrcBlend, GX2BlendMode alphaDstBlend, GX2BlendCombineMode alphaCombine)
uint32_t regs[2]
Definition: registers.h:194
GX2BlendCombineMode
Definition: registers.h:76
void GX2SetPolygonControlReg(GX2PolygonControlReg *reg)
uint32_t regs[5]
Definition: registers.h:224
uint32_t regs[1]
Definition: registers.h:212
void GX2InitPolygonOffsetReg(GX2PolygonOffsetReg *reg, float frontOffset, float frontScale, float backOffset, float backScale, float clamp)
void GX2SetViewportReg(GX2ViewportReg *reg)
void GX2SetDepthStencilControlReg(GX2DepthStencilControlReg *reg)
void GX2SetStencilMask(uint8_t frontMask, uint8_t frontWriteMask, uint8_t frontRef, uint8_t backMask, uint8_t backWriteMask, uint8_t backRef)
void GX2GetColorControlReg(GX2ColorControlReg *reg, GX2LogicOp *rop3, uint8_t *targetBlendEnable, BOOL *multiWriteEnable, BOOL *colorWriteEnable)
void GX2SetLineWidth(float width)
void GX2SetAlphaToMaskReg(GX2AlphaToMaskReg *reg)
GX2ChannelMask
Definition: registers.h:131
GX2BlendMode
Definition: registers.h:53
void GX2SetScissorReg(GX2ScissorReg *reg)
void GX2SetPolygonOffset(float frontOffset, float frontScale, float backOffset, float backScale, float clamp)
void GX2SetColorControlReg(GX2ColorControlReg *reg)
void GX2GetPolygonOffsetReg(GX2PolygonOffsetReg *reg, float *frontOffset, float *frontScale, float *backOffset, float *backScale, float *clamp)
void GX2SetScissor(uint32_t x, uint32_t y, uint32_t width, uint32_t height)
void GX2InitLineWidthReg(GX2LineWidthReg *reg, float width)
void GX2SetBlendControl(GX2RenderTarget target, GX2BlendMode colorSrcBlend, GX2BlendMode colorDstBlend, GX2BlendCombineMode colorCombine, BOOL useAlphaBlend, GX2BlendMode alphaSrcBlend, GX2BlendMode alphaDstBlend, GX2BlendCombineMode alphaCombine)
void GX2SetPointLimitsReg(GX2PointLimitsReg *reg)
void GX2GetAlphaTestReg(const GX2AlphaTestReg *reg, BOOL *alphaTest, GX2CompareFunction *func, float *ref)
void GX2SetBlendControlReg(GX2BlendControlReg *reg)
void GX2SetBlendConstantColor(float red, float green, float blue, float alpha)
void GX2InitBlendConstantColorReg(GX2BlendConstantColorReg *reg, float red, float green, float blue, float alpha)
void GX2GetLineWidthReg(GX2LineWidthReg *reg, float *width)
void GX2GetBlendControlReg(GX2BlendControlReg *reg, GX2RenderTarget *target, GX2BlendMode *colorSrcBlend, GX2BlendMode *colorDstBlend, GX2BlendCombineMode *colorCombine, BOOL *useAlphaBlend, GX2BlendMode *alphaSrcBlend, GX2BlendMode *alphaDstBlend, GX2BlendCombineMode *alphaCombine)
uint32_t regs[1]
Definition: registers.h:200
GX2PolygonMode
Definition: registers.h:123
void GX2SetPointSizeReg(GX2PointSizeReg *reg)
void GX2SetAAMaskReg(GX2AAMaskReg *reg)
void GX2InitViewportReg(GX2ViewportReg *reg, float x, float y, float width, float height, float nearZ, float farZ)
void GX2GetAlphaToMaskReg(const GX2AlphaToMaskReg *reg, BOOL *alphaToMask, GX2AlphaToMaskMode *mode)
void GX2GetScissorReg(GX2ScissorReg *reg, uint32_t *x, uint32_t *y, uint32_t *width, uint32_t *height)
void GX2SetPointSize(float width, float height)
void GX2GetAAMaskReg(GX2AAMaskReg *reg, uint8_t *upperLeft, uint8_t *upperRight, uint8_t *lowerLeft, uint8_t *lowerRight)
void GX2GetDepthStencilControlReg(GX2DepthStencilControlReg *reg, BOOL *depthTest, BOOL *depthWrite, GX2CompareFunction *depthCompare, BOOL *stencilTest, BOOL *backfaceStencil, GX2CompareFunction *frontStencilFunc, GX2StencilFunction *frontStencilZPass, GX2StencilFunction *frontStencilZFail, GX2StencilFunction *frontStencilFail, GX2CompareFunction *backStencilFunc, GX2StencilFunction *backStencilZPass, GX2StencilFunction *backStencilZFail, GX2StencilFunction *backStencilFail)
uint32_t regs[2]
Definition: registers.h:230
void GX2InitAAMaskReg(GX2AAMaskReg *reg, uint8_t upperLeft, uint8_t upperRight, uint8_t lowerLeft, uint8_t lowerRight)
void GX2SetAlphaTestReg(GX2AlphaTestReg *reg)
void GX2SetPointLimits(float min, float max)
void GX2GetStencilMaskReg(GX2StencilMaskReg *reg, uint8_t *frontMask, uint8_t *frontWriteMask, uint8_t *frontRef, uint8_t *backMask, uint8_t *backWriteMask, uint8_t *backRef)
void GX2InitPointSizeReg(GX2PointSizeReg *reg, float width, float height)
uint32_t regs[1]
Definition: registers.h:218
void GX2SetColorControl(GX2LogicOp rop3, uint8_t targetBlendEnable, BOOL multiWriteEnable, BOOL colorWriteEnable)
GX2AlphaToMaskMode
Definition: registers.h:44
void GX2SetCullOnlyControl(GX2FrontFace frontFace, BOOL cullFront, BOOL cullBack)
void GX2InitPolygonControlReg(GX2PolygonControlReg *reg, GX2FrontFace frontFace, BOOL cullFront, BOOL cullBack, BOOL polyMode, GX2PolygonMode polyModeFront, GX2PolygonMode polyModeBack, BOOL polyOffsetFrontEnable, BOOL polyOffsetBackEnable, BOOL polyOffsetParaEnable)
void GX2InitTargetChannelMasksReg(GX2TargetChannelMaskReg *reg, GX2ChannelMask mask0, GX2ChannelMask mask1, GX2ChannelMask mask2, GX2ChannelMask mask3, GX2ChannelMask mask4, GX2ChannelMask mask5, GX2ChannelMask mask6, GX2ChannelMask mask7)
uint32_t regs[1]
Definition: registers.h:164
void GX2SetStencilMaskReg(GX2StencilMaskReg *reg)
int BOOL
Definition: wut_types.h:4
void GX2SetPolygonOffsetReg(GX2PolygonOffsetReg *reg)
void GX2GetPointLimitsReg(GX2PointLimitsReg *reg, float *min, float *max)
void GX2GetViewportReg(GX2ViewportReg *reg, float *x, float *y, float *width, float *height, float *nearZ, float *farZ)
void GX2GetTargetChannelMasksReg(GX2TargetChannelMaskReg *reg, GX2ChannelMask *mask0, GX2ChannelMask *mask1, GX2ChannelMask *mask2, GX2ChannelMask *mask3, GX2ChannelMask *mask4, GX2ChannelMask *mask5, GX2ChannelMask *mask6, GX2ChannelMask *mask7)
void GX2SetPolygonControl(GX2FrontFace frontFace, BOOL cullFront, BOOL cullBack, BOOL polyMode, GX2PolygonMode polyModeFront, GX2PolygonMode polyModeBack, BOOL polyOffsetFrontEnable, BOOL polyOffsetBackEnable, BOOL polyOffsetParaEnable)
void GX2SetAlphaToMask(BOOL alphaToMask, GX2AlphaToMaskMode mode)
void GX2SetViewport(float x, float y, float width, float height, float nearZ, float farZ)
void GX2SetLineWidthReg(GX2LineWidthReg *reg)
void GX2InitScissorReg(GX2ScissorReg *reg, uint32_t x, uint32_t y, uint32_t width, uint32_t height)
GX2CompareFunction
Definition: registers.h:32
void GX2InitPointLimitsReg(GX2PointLimitsReg *reg, float min, float max)
void GX2SetAAMask(uint8_t upperLeft, uint8_t upperRight, uint8_t lowerLeft, uint8_t lowerRight)
uint32_t regs[1]
Definition: registers.h:152
void GX2GetPolygonControlReg(GX2PolygonControlReg *reg, GX2FrontFace *frontFace, BOOL *cullFront, BOOL *cullBack, BOOL *polyMode, GX2PolygonMode *polyModeFront, GX2PolygonMode *polyModeBack, BOOL *polyOffsetFrontEnable, BOOL *polyOffsetBackEnable, BOOL *polyOffsetParaEnable)
void GX2SetDepthOnlyControl(BOOL depthTest, BOOL depthWrite, GX2CompareFunction depthCompare)
void GX2InitAlphaTestReg(GX2AlphaTestReg *reg, BOOL alphaTest, GX2CompareFunction func, float ref)
uint32_t regs[1]
Definition: registers.h:182
void GX2GetPointSizeReg(GX2PointSizeReg *reg, float *width, float *height)
GX2FrontFace
Definition: registers.h:85
void GX2InitAlphaToMaskReg(GX2AlphaToMaskReg *reg, BOOL alphaToMask, GX2AlphaToMaskMode mode)
void GX2GetBlendConstantColorReg(GX2BlendConstantColorReg *reg, float *red, float *green, float *blue, float *alpha)
void GX2SetTargetChannelMasksReg(GX2TargetChannelMaskReg *reg)
void GX2SetTargetChannelMasks(GX2ChannelMask mask0, GX2ChannelMask mask1, GX2ChannelMask mask2, GX2ChannelMask mask3, GX2ChannelMask mask4, GX2ChannelMask mask5, GX2ChannelMask mask6, GX2ChannelMask mask7)
void GX2SetAlphaTest(BOOL alphaTest, GX2CompareFunction func, float ref)
uint32_t regs[2]
Definition: registers.h:158
void GX2InitDepthStencilControlReg(GX2DepthStencilControlReg *reg, BOOL depthTest, BOOL depthWrite, GX2CompareFunction depthCompare, BOOL stencilTest, BOOL backfaceStencil, GX2CompareFunction frontStencilFunc, GX2StencilFunction frontStencilZPass, GX2StencilFunction frontStencilZFail, GX2StencilFunction frontStencilFail, GX2CompareFunction backStencilFunc, GX2StencilFunction backStencilZPass, GX2StencilFunction backStencilZFail, GX2StencilFunction backStencilFail)
uint32_t regs[12]
Definition: registers.h:242
uint32_t regs[2]
Definition: registers.h:170
GX2LogicOp
Definition: registers.h:91
void GX2InitColorControlReg(GX2ColorControlReg *reg, GX2LogicOp rop3, uint8_t targetBlendEnable, BOOL multiWriteEnable, BOOL colorWriteEnable)
void GX2SetDepthStencilControl(BOOL depthTest, BOOL depthWrite, GX2CompareFunction depthCompare, BOOL stencilTest, BOOL backfaceStencil, GX2CompareFunction frontStencilFunc, GX2StencilFunction frontStencilZPass, GX2StencilFunction frontStencilZFail, GX2StencilFunction frontStencilFail, GX2CompareFunction backStencilFunc, GX2StencilFunction backStencilZPass, GX2StencilFunction backStencilZFail, GX2StencilFunction backStencilFail)