summaryrefslogtreecommitdiff
path: root/src/gallium/targets/graw-xlib/graw.h
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2010-03-28 09:53:58 -0700
committerKeith Whitwell <keithw@vmware.com>2010-03-28 10:42:38 -0700
commitdb5c2235d1accc2adcf1746aec2342bfa67237ba (patch)
tree1dcfbcda4288341b53f51c9f88c8ac2fae978f3a /src/gallium/targets/graw-xlib/graw.h
parentf97f46f269666b289f9af977e238ccda9b483c44 (diff)
gallium: new raw gallium interface to support standalone tests
Provides basic window system integration behind a simple interface, allowing tests to be written without dependency on either the driver or window system. With a lot of work, could turn into something like glut for gallium.
Diffstat (limited to 'src/gallium/targets/graw-xlib/graw.h')
-rw-r--r--src/gallium/targets/graw-xlib/graw.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/gallium/targets/graw-xlib/graw.h b/src/gallium/targets/graw-xlib/graw.h
new file mode 100644
index 0000000000..a58e18e473
--- /dev/null
+++ b/src/gallium/targets/graw-xlib/graw.h
@@ -0,0 +1,36 @@
+#ifndef GALLIUM_RAW_H
+#define GALLIUM_RAW_H
+
+/* This is an API for exercising gallium functionality in a
+ * platform-neutral fashion. Whatever platform integration is
+ * necessary to implement this interface is orchestrated by the
+ * individual target building this entity.
+ *
+ * For instance, the graw-xlib target includes code to implent these
+ * interfaces on top of the X window system.
+ *
+ * Programs using this interface may additionally benefit from some of
+ * the utilities currently in the libgallium.a library, especially
+ * those for parsing text representations of TGSI shaders.
+ */
+
+#include "pipe/p_format.h"
+
+struct pipe_screen;
+
+struct pipe_screen *graw_init( void );
+
+/* Returns a handle to be used with flush_frontbuffer()/present().
+ *
+ * Query format support with screen::is_format_supported and usage
+ * XXX.
+ */
+void *graw_create_window( int x,
+ int y,
+ unsigned width,
+ unsigned height,
+ enum pipe_format format );
+
+void graw_destroy_window( void *handle );
+
+#endif