ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
draw_tests.h File Reference
#include <tamtypes.h>
#include <draw_buffers.h>
+ Include dependency graph for draw_tests.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  atest_t
 
struct  dtest_t
 
struct  ztest_t
 

Macros

#define ATEST_METHOD_ALLFAIL   0
 
#define ATEST_METHOD_ALLPASS   1
 
#define ATEST_METHOD_LESS   2
 
#define ATEST_METHOD_LESS_EQUAL   3
 
#define ATEST_METHOD_EQUAL   4
 
#define ATEST_METHOD_GREATER_EQUAL   5
 
#define ATEST_METHOD_GREATER   6
 
#define ATEST_METHOD_NOTEQUAL   7
 
#define ATEST_KEEP_ALL   0
 
#define ATEST_KEEP_ZBUFFER   1
 
#define ATEST_KEEP_FRAMEBUFFER   2
 
#define ATEST_KEEP_ALPHA   3
 
#define DTEST_METHOD_PASS_ZERO   0
 
#define DTEST_METHOD_PASS_ONE   1
 
#define ZTEST_METHOD_ALLFAIL   0
 
#define ZTEST_METHOD_ALLPASS   1
 
#define ZTEST_METHOD_GREATER_EQUAL   2
 
#define ZTEST_METHOD_GREATER   3
 

Functions

qword_tdraw_scissor_area (qword_t *q, int context, int x0, int x1, int y0, int y1)
 
qword_tdraw_pixel_test (qword_t *q, int context, atest_t *atest, dtest_t *dtest, ztest_t *ztest)
 
qword_tdraw_disable_tests (qword_t *q, int context, zbuffer_t *z)
 
qword_tdraw_enable_tests (qword_t *q, int context, zbuffer_t *z)
 

Detailed Description

Draw library testing functions

Definition in file draw_tests.h.

Macro Definition Documentation

◆ ATEST_KEEP_ALL

#define ATEST_KEEP_ALL   0

Definition at line 22 of file draw_tests.h.

◆ ATEST_KEEP_ALPHA

#define ATEST_KEEP_ALPHA   3

Definition at line 25 of file draw_tests.h.

◆ ATEST_KEEP_FRAMEBUFFER

#define ATEST_KEEP_FRAMEBUFFER   2

Definition at line 24 of file draw_tests.h.

◆ ATEST_KEEP_ZBUFFER

#define ATEST_KEEP_ZBUFFER   1

Definition at line 23 of file draw_tests.h.

◆ ATEST_METHOD_ALLFAIL

#define ATEST_METHOD_ALLFAIL   0

Definition at line 13 of file draw_tests.h.

◆ ATEST_METHOD_ALLPASS

#define ATEST_METHOD_ALLPASS   1

Definition at line 14 of file draw_tests.h.

◆ ATEST_METHOD_EQUAL

#define ATEST_METHOD_EQUAL   4

Definition at line 17 of file draw_tests.h.

◆ ATEST_METHOD_GREATER

#define ATEST_METHOD_GREATER   6

Definition at line 19 of file draw_tests.h.

◆ ATEST_METHOD_GREATER_EQUAL

#define ATEST_METHOD_GREATER_EQUAL   5

Definition at line 18 of file draw_tests.h.

◆ ATEST_METHOD_LESS

#define ATEST_METHOD_LESS   2

Definition at line 15 of file draw_tests.h.

◆ ATEST_METHOD_LESS_EQUAL

#define ATEST_METHOD_LESS_EQUAL   3

Definition at line 16 of file draw_tests.h.

◆ ATEST_METHOD_NOTEQUAL

#define ATEST_METHOD_NOTEQUAL   7

Definition at line 20 of file draw_tests.h.

◆ DTEST_METHOD_PASS_ONE

#define DTEST_METHOD_PASS_ONE   1

Definition at line 29 of file draw_tests.h.

◆ DTEST_METHOD_PASS_ZERO

#define DTEST_METHOD_PASS_ZERO   0

Destination Alpha Testing

Definition at line 28 of file draw_tests.h.

◆ ZTEST_METHOD_ALLFAIL

#define ZTEST_METHOD_ALLFAIL   0

Depth Test

Definition at line 32 of file draw_tests.h.

◆ ZTEST_METHOD_ALLPASS

#define ZTEST_METHOD_ALLPASS   1

Definition at line 33 of file draw_tests.h.

◆ ZTEST_METHOD_GREATER

#define ZTEST_METHOD_GREATER   3

Definition at line 35 of file draw_tests.h.

◆ ZTEST_METHOD_GREATER_EQUAL

#define ZTEST_METHOD_GREATER_EQUAL   2

Definition at line 34 of file draw_tests.h.

Function Documentation

◆ draw_disable_tests()

qword_t* draw_disable_tests ( qword_t q,
int  context,
zbuffer_t z 
)

Disable pixel testing defaults

Definition at line 120 of file draw.c.

121 {
122 
124  q++;
128  q++;
129 
130  return q;
131 
132 }
u8 context
Definition: main.c:71
#define DRAW_ENABLE
Definition: draw.h:25
#define DRAW_DISABLE
Definition: draw.h:24
#define ATEST_KEEP_FRAMEBUFFER
Definition: draw_tests.h:24
#define ATEST_METHOD_NOTEQUAL
Definition: draw_tests.h:20
#define ZTEST_METHOD_ALLPASS
Definition: draw_tests.h:33
#define PACK_GIFTAG(Q, D0, D1)
Definition: gif_tags.h:76
#define GIF_SET_TAG(NLOOP, EOP, PRE, PRIM, FLG, NREG)
Definition: gif_tags.h:80
#define GIF_REG_AD
Definition: gif_tags.h:72
#define GIF_FLG_PACKED
Definition: gif_tags.h:35
#define GS_REG_TEST
Definition: gs_gp.h:105
#define GS_SET_TEST(ATEN, ATMETH, ATREF, ATFAIL, DATEN, DATMD, ZTEN, ZTMETH)
Definition: gs_gp.h:269

References ATEST_KEEP_FRAMEBUFFER, ATEST_METHOD_NOTEQUAL, context, DRAW_DISABLE, DRAW_ENABLE, GIF_FLG_PACKED, GIF_REG_AD, GIF_SET_TAG, GS_REG_TEST, GS_SET_TEST, PACK_GIFTAG, and ZTEST_METHOD_ALLPASS.

Referenced by clear_screen(), and render().

◆ draw_enable_tests()

qword_t* draw_enable_tests ( qword_t q,
int  context,
zbuffer_t z 
)

Enable pixel testing defaults

Definition at line 134 of file draw.c.

135 {
136 
138  q++;
142  q++;
143 
144  return q;
145 
146 }
unsigned int method
Definition: draw_buffers.h:50

References ATEST_KEEP_FRAMEBUFFER, ATEST_METHOD_NOTEQUAL, context, DRAW_DISABLE, DRAW_ENABLE, GIF_FLG_PACKED, GIF_REG_AD, GIF_SET_TAG, GS_REG_TEST, GS_SET_TEST, zbuffer_t::method, and PACK_GIFTAG.

Referenced by clear_screen(), and render().

◆ draw_pixel_test()

qword_t* draw_pixel_test ( qword_t q,
int  context,
atest_t atest,
dtest_t dtest,
ztest_t ztest 
)

Pixel Testing

Definition at line 286 of file draw_environment.c.

287 {
288 
290  q++;
291 
292  PACK_GIFTAG(q, GS_SET_TEST(atest->enable,atest->method,atest->compval,atest->keep,
293  dtest->enable,dtest->pass,
294  ztest->enable,ztest->method), GS_REG_TEST + context);
295  q++;
296 
297  return q;
298 
299 }
unsigned char compval
Definition: draw_tests.h:40
unsigned char enable
Definition: draw_tests.h:38
unsigned char method
Definition: draw_tests.h:39
unsigned char keep
Definition: draw_tests.h:41
unsigned char pass
Definition: draw_tests.h:46
unsigned char enable
Definition: draw_tests.h:45
unsigned char method
Definition: draw_tests.h:51
unsigned char enable
Definition: draw_tests.h:50

References atest_t::compval, context, atest_t::enable, dtest_t::enable, ztest_t::enable, GIF_FLG_PACKED, GIF_REG_AD, GIF_SET_TAG, GS_REG_TEST, GS_SET_TEST, atest_t::keep, atest_t::method, ztest_t::method, PACK_GIFTAG, and dtest_t::pass.

◆ draw_scissor_area()

qword_t* draw_scissor_area ( qword_t q,
int  context,
int  x0,
int  x1,
int  y0,
int  y1 
)

Scissoring pixel test area

Definition at line 273 of file draw_environment.c.

274 {
275 
277  q++;
278 
279  PACK_GIFTAG(q, GS_SET_SCISSOR(x0,x1,y0,y1), GS_REG_SCISSOR + context);
280  q++;
281 
282  return q;
283 
284 }
#define GS_REG_SCISSOR
Definition: gs_gp.h:87
#define GS_SET_SCISSOR(X0, X1, Y0, Y1)
Definition: gs_gp.h:259

References context, GIF_FLG_PACKED, GIF_REG_AD, GIF_SET_TAG, GS_REG_SCISSOR, GS_SET_SCISSOR, and PACK_GIFTAG.