diff options
author | José Fonseca <[email protected]> | 2008-09-03 10:30:09 +0900 |
---|---|---|
committer | José Fonseca <[email protected]> | 2008-09-03 11:53:39 +0900 |
commit | 82086f5d21295d5ceffb0fd9963de7de4112964b (patch) | |
tree | 2075c2c18f82e3ae224632abc3f10c860c5d6f61 /src/gallium/auxiliary/draw/draw_vs_aos_io.c | |
parent | a28aa1854378f735a6ac5c4b25fd7645cdbc1358 (diff) |
draw: Describe the steps in emit_load_R32G32B32A32.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vs_aos_io.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_vs_aos_io.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs_aos_io.c b/src/gallium/auxiliary/draw/draw_vs_aos_io.c index ab3c5b94a50..26297c74f82 100644 --- a/src/gallium/auxiliary/draw/draw_vs_aos_io.c +++ b/src/gallium/auxiliary/draw/draw_vs_aos_io.c @@ -55,9 +55,13 @@ static void emit_load_R32G32B32( struct aos_compilation *cp, struct x86_reg src_ptr ) { sse_movss(cp->func, data, x86_make_disp(src_ptr, 8)); + /* data = z ? ? ? */ sse_shufps(cp->func, data, aos_get_internal_xmm( cp, IMM_IDENTITY ), SHUF(X,Y,Z,W) ); + /* data = z ? 0 1 */ sse_shufps(cp->func, data, data, SHUF(Y,Z,X,W) ); + /* data = ? 0 z 1 */ sse_movlps(cp->func, data, src_ptr); + /* data = x y z 1 */ } static void emit_load_R32G32( struct aos_compilation *cp, |