gallium: make user vertex buffers optional
[mesa.git] / src / mesa / state_tracker / st_cb_bitmap.h
index aae11d34c9222f935adafc1116900ee814519d1f..ed1415803767f90a77eb4e095f7e67a0c95c27c7 100644 (file)
 #define ST_CB_BITMAP_H
 
 
+#include "main/compiler.h"
+#include "main/mfeatures.h"
+
+struct dd_function_table;
+struct st_context;
+struct gl_fragment_program;
+struct st_fragment_program;
+
+#if FEATURE_drawpix
+
 extern void
 st_init_bitmap_functions(struct dd_function_table *functions);
 
@@ -39,8 +49,48 @@ st_init_bitmap(struct st_context *st);
 extern void
 st_destroy_bitmap(struct st_context *st);
 
+extern void
+st_make_bitmap_fragment_program(struct st_context *st,
+                                struct gl_fragment_program *fpIn,
+                                struct gl_fragment_program **fpOut,
+                                GLuint *bitmap_sampler);
+
 extern void
 st_flush_bitmap_cache(struct st_context *st);
 
+/* Flush bitmap cache and release vertex buffer.  Needed at end of
+ * frame to avoid synchronous rendering.
+ */
+extern void
+st_flush_bitmap(struct st_context *st);
+
+#else
+
+static INLINE void
+st_init_bitmap_functions(struct dd_function_table *functions)
+{
+}
+
+static INLINE void
+st_init_bitmap(struct st_context *st)
+{
+}
+
+static INLINE void
+st_destroy_bitmap(struct st_context *st)
+{
+}
+
+static INLINE void
+st_flush_bitmap_cache(struct st_context *st)
+{
+}
+
+static INLINE void
+st_flush_bitmap(struct st_context *st)
+{
+}
+
+#endif /* FEATURE_drawpix */
 
 #endif /* ST_CB_BITMAP_H */