llvmpipe: Clamp both extremes of triangles to framebuffer size.
[mesa.git] / src / gallium / drivers / llvmpipe / lp_screen.h
index 9f79510c4d6a954838f10f44f770f578a629996b..4a1b4d6f3e21ce727aec6cc35c342f635338875f 100644 (file)
@@ -1,5 +1,6 @@
 /**************************************************************************
  * 
+ * Copyright 2009 VMware, Inc.
  * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
  * All Rights Reserved.
  *
  * 
  **************************************************************************/
 
-/* Authors:  Keith Whitwell <keith@tungstengraphics.com>
+/**
+ * @author Jose Fonseca <jfonseca@vmware.com>
+ * @author Keith Whitwell <keith@tungstengraphics.com>
  */
 
-#ifndef SP_SCREEN_H
-#define SP_SCREEN_H
+#ifndef LP_SCREEN_H
+#define LP_SCREEN_H
+
+#include <llvm-c/Core.h>
+#include <llvm-c/Analysis.h>
+#include <llvm-c/Target.h>
+#include <llvm-c/ExecutionEngine.h>
 
 #include "pipe/p_screen.h"
 #include "pipe/p_defines.h"
 
 
+struct llvmpipe_winsys;
+
 
-struct llvmpipe_screen {
+struct llvmpipe_screen
+{
    struct pipe_screen base;
 
+   struct llvmpipe_winsys *winsys;
+
+   LLVMModuleRef module;
+   LLVMExecutionEngineRef engine;
+   LLVMModuleProviderRef provider;
+   LLVMTargetDataRef target;
+   LLVMPassManagerRef pass;
+
+   LLVMTypeRef context_ptr_type;
+
    /* Increments whenever textures are modified.  Contexts can track
     * this.
     */
@@ -55,4 +76,4 @@ llvmpipe_screen( struct pipe_screen *pipe )
 }
 
 
-#endif /* SP_SCREEN_H */
+#endif /* LP_SCREEN_H */