diff options
author | Keith Whitwell <[email protected]> | 2009-07-16 07:50:34 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2009-07-16 09:53:08 +0100 |
commit | ebc4a9bf2eff7d2c0d89785e865a1df23733e64b (patch) | |
tree | c56a007a7378cdf02f0c07c6d5c065f7bf469ad2 /src/gallium/auxiliary/tgsi/tgsi_sse2.h | |
parent | 4e3002b50fcedf3a6db1ac7394077bc3337ccda1 (diff) |
tgsi: reduce x86 reg usage in tgsi_sse generated programs
Pass the tgsi_exec_machine struct in directly and just hold a single
pointer to this struct, rather than keeping one for each of its
internal members.
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_sse2.h')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_sse2.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.h b/src/gallium/auxiliary/tgsi/tgsi_sse2.h index af838b2a25b..d81ee3d00ec 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sse2.h +++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.h @@ -34,6 +34,7 @@ extern "C" { struct tgsi_token; struct x86_function; +struct tgsi_interp_coef; unsigned tgsi_emit_sse2( @@ -42,6 +43,33 @@ tgsi_emit_sse2( float (*immediates)[4], boolean do_swizzles ); + +/* This is the function prototype generated when do_swizzles is false + * -- effectively for fragment shaders. + */ +typedef void (PIPE_CDECL *tgsi_sse2_fs_function) ( + struct tgsi_exec_machine *machine, /* 1 */ + const float (*constant)[4], /* 2 */ + const float (*immediate)[4], /* 3 */ + const struct tgsi_interp_coef *coef /* 4 */ + ); + + +/* This is the function prototype generated when do_swizzles is true + * -- effectively for vertex shaders. + */ +typedef void (PIPE_CDECL *tgsi_sse2_vs_func) ( + struct tgsi_exec_machine *machine, /* 1 */ + const float (*constant)[4], /* 2 */ + const float (*immediate)[4], /* 3 */ + const float (*aos_input)[4], /* 4 */ + uint num_inputs, /* 5 */ + uint input_stride, /* 6 */ + float (*aos_output)[4], /* 7 */ + uint num_outputs, /* 8 */ + uint output_stride ); /* 9 */ + + #if defined __cplusplus } #endif |