summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/i915simple/i915_context.h
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-08-22 18:51:39 -0600
committerBrian <brian.paul@tungstengraphics.com>2007-08-22 18:52:40 -0600
commitc990d0fd57a05301429b3af75b7fed0337621941 (patch)
treecad590bc2a48e409810f344d9699f8b2341c1afb /src/mesa/pipe/i915simple/i915_context.h
parentace2b98dd3511ea6959980a2ae2ee90fa7c28748 (diff)
Checkpoint: texture image and sampler state handling, plus better vertex format code.
Texture image/sampler state code should be working, but is disabled for now. Need to fix outstanding issues with vertex formats and texcoords first...
Diffstat (limited to 'src/mesa/pipe/i915simple/i915_context.h')
-rw-r--r--src/mesa/pipe/i915simple/i915_context.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/src/mesa/pipe/i915simple/i915_context.h b/src/mesa/pipe/i915simple/i915_context.h
index a037b20289..849c3b0efc 100644
--- a/src/mesa/pipe/i915simple/i915_context.h
+++ b/src/mesa/pipe/i915simple/i915_context.h
@@ -76,6 +76,32 @@
#define I915_MAX_CONSTANT 32
+
+/**
+ * New vertex format stuff...
+ */
+#define MAX_VERT_ATTRIBS 12 /* OK? */
+
+#define FORMAT_OMIT 0
+#define FORMAT_1F 1
+#define FORMAT_2F 2
+#define FORMAT_3F 3
+#define FORMAT_4F 4
+#define FORMAT_4UB 5
+
+struct vertex_info
+{
+ uint num_attribs;
+ uint hwfmt[2]; /** hardware format info for this format */
+ uint attr_mask; /** mask of VF_ATTR_ bits */
+ uint slot_to_attrib[MAX_VERT_ATTRIBS];
+ uint interp_mode[MAX_VERT_ATTRIBS];
+ uint format[MAX_VERT_ATTRIBS]; /**< FORMAT_x */
+};
+
+
+
+
struct i915_cache_context;
/* Use to calculate differences between state emitted to hardware and
@@ -95,10 +121,17 @@ struct i915_state
uint *program;
uint program_len;
+ /* texture sampler state */
unsigned sampler[I915_TEX_UNITS][3];
unsigned sampler_enable_flags;
unsigned sampler_enable_nr;
-
+
+ /* texture image buffers */
+ unsigned texbuffer[I915_TEX_UNITS][2];
+
+ /* vertex format registers */
+ struct vertex_info vertex_info;
+
unsigned id; /* track lost context events */
};