summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_state.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_state.h')
-rw-r--r--src/mesa/pipe/softpipe/sp_state.h33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/mesa/pipe/softpipe/sp_state.h b/src/mesa/pipe/softpipe/sp_state.h
index 76b79b5280..c1f5555a86 100644
--- a/src/mesa/pipe/softpipe/sp_state.h
+++ b/src/mesa/pipe/softpipe/sp_state.h
@@ -35,13 +35,32 @@
#include "x86/rtasm/x86sse.h"
+
+#define SP_NEW_VIEWPORT 0x1
+#define SP_NEW_RASTERIZER 0x2
+#define SP_NEW_FS 0x4
+#define SP_NEW_BLEND 0x8
+#define SP_NEW_CLIP 0x10
+#define SP_NEW_SCISSOR 0x20
+#define SP_NEW_STIPPLE 0x40
+#define SP_NEW_FRAMEBUFFER 0x80
+#define SP_NEW_DEPTH_STENCIL_ALPHA 0x100
+#define SP_NEW_CONSTANTS 0x200
+#define SP_NEW_SAMPLER 0x400
+#define SP_NEW_TEXTURE 0x800
+#define SP_NEW_VERTEX 0x1000
+#define SP_NEW_VS 0x2000
+#define SP_NEW_QUERY 0x4000
+
+
+
#ifdef MESA_LLVM
struct gallivm_prog;
#endif
-/**
- * Softpipe fs state is derived from pipe_shader_state.
- */
+
+
+/** Subclass of pipe_shader_state */
struct sp_fragment_shader_state {
struct pipe_shader_state shader;
#if defined(__i386__) || defined(__386__)
@@ -53,6 +72,14 @@ struct sp_fragment_shader_state {
};
+/** Subclass of pipe_shader_state */
+struct sp_vertex_shader_state {
+ struct pipe_shader_state shader;
+ void *draw_data;
+};
+
+
+
void *
softpipe_create_blend_state(struct pipe_context *,
const struct pipe_blend_state *);