aboutsummaryrefslogtreecommitdiffstats
path: root/WinQuake/pum_bridge.h
blob: 96e1d40dedd4168199314376e9d917b3b2c52fe5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
==============================================================================
PUM_BRIDGE.H -- bridge between the renderer and the PuM driver
==============================================================================
*/

#ifndef PUM_BRIDGE_H
#define PUM_BRIDGE_H

#ifndef byte
typedef unsigned char byte;
#endif

#ifdef __cplusplus
extern "C" {
#endif

#ifdef RENDER_PUM

int  PUM_Init   (void);
void PUM_Shutdown(void);
int  PUM_Active (void);

void PUM_BitwiseAnd (const byte *a, const byte *b, byte *dst, int num_bytes);
void PUM_BitwiseOr  (const byte *a, const byte *b, byte *dst, int num_bytes);
void PUM_BitwiseXor (const byte *a, const byte *b, byte *dst, int num_bytes);
void PUM_BitwiseNot (const byte *a, byte *dst, int num_bytes);

void PUM_LightMaskAndTexel (byte *dst, const byte *src, const byte *mask,
                            int num_bytes);
void PUM_EdgeSpanInit (byte *dst, const byte *clear, int num_bytes);

#else /* !RENDER_PUM */

#define PUM_Init()          (0)
#define PUM_Shutdown()      do { } while (0)
#define PUM_Active()        (0)
#define PUM_BitwiseAnd(a,b,d,n)   do { (void)(a); (void)(b); (void)(d); (void)(n); } while (0)
#define PUM_BitwiseOr(a,b,d,n)    do { (void)(a); (void)(b); (void)(d); (void)(n); } while (0)
#define PUM_BitwiseXor(a,b,d,n)   do { (void)(a); (void)(b); (void)(d); (void)(n); } while (0)
#define PUM_BitwiseNot(a,d,n)     do { (void)(a); (void)(d); (void)(n); } while (0)
#define PUM_LightMaskAndTexel(a,b,c,n) do { (void)(a); (void)(b); (void)(c); (void)(n); } while (0)
#define PUM_EdgeSpanInit(a,b,n)       do { (void)(a); (void)(b); (void)(n); } while (0)

#endif /* RENDER_PUM */

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* PUM_BRIDGE_H */