diff options
| author | Leonard Kugis <leonard@kug.is> | 2026-10-05 01:36:32 +0200 |
|---|---|---|
| committer | Leonard Kugis <leonard@kug.is> | 2026-10-05 01:36:32 +0200 |
| commit | 57fdd82018e8f3449987cca19f3a41f630d7d62e (patch) | |
| tree | 50e8f0dfc58c9dd704ab12c7490b4a1898a02f72 /WinQuake/pum_bridge.h | |
| parent | 5ba1b06a2cbcbe9b2823dce3ac05663344075029 (diff) | |
| download | quake-pum-57fdd82018e8f3449987cca19f3a41f630d7d62e.tar.gz | |
Implemented PuM pipeline
Diffstat (limited to 'WinQuake/pum_bridge.h')
| -rw-r--r-- | WinQuake/pum_bridge.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/WinQuake/pum_bridge.h b/WinQuake/pum_bridge.h new file mode 100644 index 0000000..96e1d40 --- /dev/null +++ b/WinQuake/pum_bridge.h @@ -0,0 +1,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 */ |
