brw_eu_util.c File Reference

Include dependency graph for brw_eu_util.c:

Go to the source code of this file.

Functions

void brw_math_invert (struct brw_compile *p, struct brw_reg dst, struct brw_reg src)
void brw_copy4 (struct brw_compile *p, struct brw_reg dst, struct brw_reg src, unsigned count)
void brw_copy8 (struct brw_compile *p, struct brw_reg dst, struct brw_reg src, unsigned count)
void brw_copy_indirect_to_indirect (struct brw_compile *p, struct brw_indirect dst_ptr, struct brw_indirect src_ptr, unsigned count)
void brw_copy_from_indirect (struct brw_compile *p, struct brw_reg dst, struct brw_indirect ptr, unsigned count)


Function Documentation

void brw_copy4 ( struct brw_compile p,
struct brw_reg  dst,
struct brw_reg  src,
unsigned  count 
)

Definition at line 54 of file brw_eu_util.c.

References brw_MOV(), byte_offset(), and vec4().

00058 {
00059    unsigned i;
00060 
00061    dst = vec4(dst);
00062    src = vec4(src);
00063 
00064    for (i = 0; i < count; i++)
00065    {
00066       unsigned delta = i*32;
00067       brw_MOV(p, byte_offset(dst, delta),    byte_offset(src, delta));
00068       brw_MOV(p, byte_offset(dst, delta+16), byte_offset(src, delta+16));
00069    }
00070 }

void brw_copy8 ( struct brw_compile p,
struct brw_reg  dst,
struct brw_reg  src,
unsigned  count 
)

Definition at line 73 of file brw_eu_util.c.

References brw_MOV(), byte_offset(), and vec8().

00077 {
00078    unsigned i;
00079 
00080    dst = vec8(dst);
00081    src = vec8(src);
00082 
00083    for (i = 0; i < count; i++)
00084    {
00085       unsigned delta = i*32;
00086       brw_MOV(p, byte_offset(dst, delta),    byte_offset(src, delta));
00087    }
00088 }

void brw_copy_from_indirect ( struct brw_compile p,
struct brw_reg  dst,
struct brw_indirect  ptr,
unsigned  count 
)

Definition at line 107 of file brw_eu_util.c.

References brw_MOV(), byte_offset(), deref_4f(), and vec4().

00111 {
00112    unsigned i;
00113 
00114    dst = vec4(dst);
00115 
00116    for (i = 0; i < count; i++)
00117    {
00118       unsigned delta = i*32;
00119       brw_MOV(p, byte_offset(dst, delta),    deref_4f(ptr, delta));
00120       brw_MOV(p, byte_offset(dst, delta+16), deref_4f(ptr, delta+16));
00121    }
00122 }

void brw_copy_indirect_to_indirect ( struct brw_compile p,
struct brw_indirect  dst_ptr,
struct brw_indirect  src_ptr,
unsigned  count 
)

Definition at line 91 of file brw_eu_util.c.

References brw_MOV(), and deref_4f().

00095 {
00096    unsigned i;
00097 
00098    for (i = 0; i < count; i++)
00099    {
00100       unsigned delta = i*32;
00101       brw_MOV(p, deref_4f(dst_ptr, delta),    deref_4f(src_ptr, delta));
00102       brw_MOV(p, deref_4f(dst_ptr, delta+16), deref_4f(src_ptr, delta+16));
00103    }
00104 }

void brw_math_invert ( struct brw_compile p,
struct brw_reg  dst,
struct brw_reg  src 
)

Definition at line 38 of file brw_eu_util.c.

References brw_math(), BRW_MATH_DATA_VECTOR, BRW_MATH_FUNCTION_INV, BRW_MATH_PRECISION_FULL, and BRW_MATH_SATURATE_NONE.

00041 {
00042    brw_math( p, 
00043              dst,
00044              BRW_MATH_FUNCTION_INV, 
00045              BRW_MATH_SATURATE_NONE,
00046              0,
00047              src,
00048              BRW_MATH_PRECISION_FULL, 
00049              BRW_MATH_DATA_VECTOR );
00050 }


Generated on Tue Sep 29 06:25:37 2009 for Gallium3D by  doxygen 1.5.4