aboutsummaryrefslogtreecommitdiffstats
path: root/WinQuake/pum_bridge.h
diff options
context:
space:
mode:
authorLeonard Kugis <leonard@kug.is>2026-10-05 01:36:32 +0200
committerLeonard Kugis <leonard@kug.is>2026-10-05 01:36:32 +0200
commit57fdd82018e8f3449987cca19f3a41f630d7d62e (patch)
tree50e8f0dfc58c9dd704ab12c7490b4a1898a02f72 /WinQuake/pum_bridge.h
parent5ba1b06a2cbcbe9b2823dce3ac05663344075029 (diff)
downloadquake-pum-57fdd82018e8f3449987cca19f3a41f630d7d62e.tar.gz
Implemented PuM pipeline
Diffstat (limited to 'WinQuake/pum_bridge.h')
-rw-r--r--WinQuake/pum_bridge.h51
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 */