From 82086f5d21295d5ceffb0fd9963de7de4112964b Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Wed, 3 Sep 2008 10:30:09 +0900 Subject: draw: Describe the steps in emit_load_R32G32B32A32. --- src/gallium/auxiliary/draw/draw_vs_aos_io.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/gallium/auxiliary/draw/draw_vs_aos_io.c') diff --git a/src/gallium/auxiliary/draw/draw_vs_aos_io.c b/src/gallium/auxiliary/draw/draw_vs_aos_io.c index ab3c5b94a5..26297c74f8 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, -- cgit v1.2.3