mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
Merge branch 'gallium-tex-surfaces' into gallium-0.1
This commit is contained in:
commit
5b6ea6bfc8
1 changed files with 9 additions and 12 deletions
|
|
@ -532,10 +532,10 @@ static struct x86_reg fetch_src( struct aos_compilation *cp,
|
|||
if (swz != SSE_SWIZZLE_NOOP || negs != 0 || abs != 0) {
|
||||
struct x86_reg dst = aos_get_xmm_reg(cp);
|
||||
|
||||
if (swz != SSE_SWIZZLE_NOOP) {
|
||||
if (swz != SSE_SWIZZLE_NOOP)
|
||||
emit_pshufd(cp, dst, arg0, swz);
|
||||
arg0 = dst;
|
||||
}
|
||||
else
|
||||
sse_movaps(cp->func, dst, arg0);
|
||||
|
||||
if (negs && negs != 0xf) {
|
||||
struct x86_reg imm_swz = aos_get_internal_xmm(cp, IMM_SWZ);
|
||||
|
|
@ -550,15 +550,13 @@ static struct x86_reg fetch_src( struct aos_compilation *cp,
|
|||
(negs & 2) ? 1 : 0,
|
||||
(negs & 4) ? 1 : 0,
|
||||
(negs & 8) ? 1 : 0));
|
||||
sse_mulps(cp->func, dst, arg0);
|
||||
sse_mulps(cp->func, dst, tmp);
|
||||
|
||||
aos_release_xmm_reg(cp, tmp.idx);
|
||||
arg0 = dst;
|
||||
}
|
||||
else if (negs) {
|
||||
struct x86_reg imm_negs = aos_get_internal_xmm(cp, IMM_NEGS);
|
||||
sse_mulps(cp->func, dst, imm_negs);
|
||||
arg0 = dst;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -569,13 +567,14 @@ static struct x86_reg fetch_src( struct aos_compilation *cp,
|
|||
struct x86_reg neg = aos_get_internal(cp, IMM_NEGS);
|
||||
struct x86_reg tmp = aos_get_xmm_reg(cp);
|
||||
|
||||
sse_movaps(cp->func, tmp, arg0);
|
||||
sse_movaps(cp->func, tmp, dst);
|
||||
sse_mulps(cp->func, tmp, neg);
|
||||
sse_maxps(cp->func, dst, arg0);
|
||||
sse_maxps(cp->func, dst, tmp);
|
||||
|
||||
aos_release_xmm_reg(cp, tmp.idx);
|
||||
arg0 = dst;
|
||||
}
|
||||
|
||||
return dst;
|
||||
}
|
||||
|
||||
return arg0;
|
||||
|
|
@ -962,8 +961,8 @@ static boolean emit_COS( struct aos_compilation *cp, const struct tgsi_full_inst
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* The dotproduct instructions don't really do that well in sse:
|
||||
* XXX: produces wrong results -- disabled.
|
||||
*/
|
||||
static boolean emit_DP3( struct aos_compilation *cp, const struct tgsi_full_instruction *op )
|
||||
{
|
||||
|
|
@ -985,8 +984,6 @@ static boolean emit_DP3( struct aos_compilation *cp, const struct tgsi_full_inst
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static boolean emit_DP4( struct aos_compilation *cp, const struct tgsi_full_instruction *op )
|
||||
{
|
||||
struct x86_reg arg0 = fetch_src(cp, &op->FullSrcRegisters[0]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue