summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_private.h
diff options
context:
space:
mode:
authorBrian <[email protected]>2008-02-18 16:19:05 -0700
committerBrian <[email protected]>2008-02-18 16:19:05 -0700
commitaceeb80d4f706980aaf71b8e098d4c6718d8ac90 (patch)
tree23f402dc726b0f97e25e7b6e5d2c097362093ea0 /src/gallium/auxiliary/draw/draw_private.h
parent0448dbd64a2ef217349f4ada4777d432bc82e46d (diff)
gallium: antialiased line drawing
New draw/prim stage: draw_aaline. When installed, lines are replaced by textured quads to do antialiasing. The current user-defined fragment shader is modified to do a texture fetch and modulate fragment alpha.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_private.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_private.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h
index bc11259cb21..dd75f9aefc3 100644
--- a/src/gallium/auxiliary/draw/draw_private.h
+++ b/src/gallium/auxiliary/draw/draw_private.h
@@ -48,6 +48,7 @@
#include "tgsi/exec/tgsi_exec.h"
+struct pipe_context;
struct gallivm_prog;
struct gallivm_cpu_engine;
@@ -179,6 +180,7 @@ struct draw_context
struct draw_stage *offset;
struct draw_stage *unfilled;
struct draw_stage *stipple;
+ struct draw_stage *aaline;
struct draw_stage *wide;
struct draw_stage *rasterize;
} pipeline;
@@ -212,9 +214,17 @@ struct draw_context
unsigned nr_planes;
boolean convert_wide_points; /**< convert wide points to tris? */
- boolean convert_wide_lines; /**< convert side lines to tris? */
+ boolean convert_wide_lines; /**< convert wide lines to tris? */
boolean use_sse;
+ /* If a prim stage introduces new vertex attributes, they'll be stored here
+ */
+ struct {
+ uint semantic_name;
+ uint semantic_index;
+ int slot;
+ } extra_vp_outputs;
+
unsigned reduced_prim;
/** TGSI program interpreter runtime state */