summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_vs_aos.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-05-29 00:17:53 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-05-29 00:17:53 +0100
commit62628c4d3d497cbca73fde869c9069fa90e6453e (patch)
tree3942a61642833fcbadd3a26fa9c9745730607a85 /src/gallium/auxiliary/draw/draw_vs_aos.h
parent728d1f7f43b6db9f4f42c2d16ba223c492d1147d (diff)
draw: share machine
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vs_aos.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_vs_aos.h25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs_aos.h b/src/gallium/auxiliary/draw/draw_vs_aos.h
index 295d2cb3fe..89a9174151 100644
--- a/src/gallium/auxiliary/draw/draw_vs_aos.h
+++ b/src/gallium/auxiliary/draw/draw_vs_aos.h
@@ -60,10 +60,16 @@ struct x86_function;
#define FPU_RND_NEAREST 2
struct aos_machine;
-typedef void (PIPE_CDECL *lit_func)( struct aos_machine *,
+typedef void PIPE_CDECL (*lit_func)( struct aos_machine *,
float *result,
const float *in,
unsigned count );
+
+PIPE_CDECL void aos_do_lit( struct aos_machine *machine,
+ float *result,
+ const float *in,
+ unsigned count );
+
struct shine_tab {
float exponent;
float values[258];
@@ -207,16 +213,25 @@ struct x86_reg aos_get_x86( struct aos_compilation *cp,
unsigned value );
+typedef void (PIPE_CDECL *vaos_run_elts_func)( struct aos_machine *,
+ const unsigned *elts,
+ unsigned count,
+ void *output_buffer);
+
+typedef void (PIPE_CDECL *vaos_run_linear_func)( struct aos_machine *,
+ unsigned start,
+ unsigned count,
+ void *output_buffer);
+
+
struct draw_vs_varient_aos_sse {
struct draw_vs_varient base;
struct draw_context *draw;
struct aos_attrib *attrib;
- struct aos_machine *machine; /* XXX: temporarily unshared */
-
- vsv_run_linear_func gen_run_linear;
- vsv_run_elts_func gen_run_elts;
+ vaos_run_linear_func gen_run_linear;
+ vaos_run_elts_func gen_run_elts;
struct x86_function func[2];