//MAX RESULT 1.X Y Z W PARAM 0{} {X Y Z W} PARAM 0{X Y Z W } {X Y Z W} neg Xneg Yneg Zneg W
inst[0] =
- MAKE_VSF_OP(VE_MAXIMUM, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_MAXIMUM, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
VE_MULTIPLY_ADD;
inst[0] =
- MAKE_VSF_OP(hw_op, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(hw_op, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = ONE_SRC_0;
inst[3] = t_src(vp, &src[1]);
#else
inst[0] =
- MAKE_VSF_OP(VE_ADD, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_ADD, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_FLT2FIX_DX, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_FLT2FIX_DX, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
//DOT RESULT 1.X Y Z W PARAM 0{} {X Y Z ZERO} PARAM 0{} {X Y Z ZERO}
inst[0] =
- MAKE_VSF_OP(VE_DOT_PRODUCT, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_DOT_PRODUCT, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_DOT_PRODUCT, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_DOT_PRODUCT, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
{
//DOT RESULT 1.X Y Z W PARAM 0{} {X Y Z ONE} PARAM 0{} {X Y Z W}
inst[0] =
- MAKE_VSF_OP(VE_DOT_PRODUCT, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_DOT_PRODUCT, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_DISTANCE_VECTOR, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_DISTANCE_VECTOR, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_EX2, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_EX2, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_EXP, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_EXP, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
ADD RESULT 1.X Y Z W PARAM 0{} {X Y Z W} TMP 0{X Y Z W } {X Y Z W} neg Xneg Yneg Zneg W */
inst[0] =
- MAKE_VSF_OP(VE_FRACTION, *u_temp_i,
+ PVS_VECTOR_OPCODE(VE_FRACTION, *u_temp_i,
t_dst_mask(vpi->DstReg.WriteMask),
PVS_DST_REG_TEMPORARY);
inst += 4;
inst[0] =
- MAKE_VSF_OP(VE_ADD, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_ADD, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_FRACTION, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_FRACTION, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
// LG2 RESULT 1.X Y Z W PARAM 0{} {X X X X}
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_LG2, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_LG2, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
//LIT TMP 1.Y Z TMP 1{} {X W Z Y} TMP 1{} {Y W Z X} TMP 1{} {Y X Z W}
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_LIT, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_LIT, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
/* NOTE: Users swizzling might not work. */
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_LOG, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_LOG, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
VE_MULTIPLY_ADD;
inst[0] =
- MAKE_VSF_OP(hw_op, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(hw_op, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_MAXIMUM, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_MAXIMUM, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_MINIMUM, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_MINIMUM, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
#if 1
inst[0] =
- MAKE_VSF_OP(VE_ADD, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_ADD, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
VE_MULTIPLY_ADD;
inst[0] =
- MAKE_VSF_OP(hw_op, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(hw_op, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
VE_MULTIPLY_ADD;
inst[0] =
- MAKE_VSF_OP(hw_op, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(hw_op, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_POW, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_POW, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src_scalar(vp, &src[0]);
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_RCP, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_RCP, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(R300_VPI_OUT_OP_RSQ, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(R300_VPI_OUT_OP_RSQ, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_SET_GREATER_THAN_EQUAL, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_SET_GREATER_THAN_EQUAL, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
struct prog_src_register src[3])
{
inst[0] =
- MAKE_VSF_OP(VE_SET_LESS_THAN, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_SET_LESS_THAN, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
VE_MULTIPLY_ADD;
inst[0] =
- MAKE_VSF_OP(hw_op, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(hw_op, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
(src[1].RelAddr << 4);
#else
inst[0] =
- MAKE_VSF_OP(VE_ADD, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_ADD, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
#if 1
inst[0] =
- MAKE_VSF_OP(VE_ADD, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_ADD, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
VE_MULTIPLY_ADD;
inst[0] =
- MAKE_VSF_OP(hw_op, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(hw_op, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
inst[1] = t_src(vp, &src[0]);
*/
inst[0] =
- MAKE_VSF_OP(VE_MULTIPLY_ADD, *u_temp_i,
+ PVS_VECTOR_OPCODE(VE_MULTIPLY_ADD, *u_temp_i,
t_dst_mask(vpi->DstReg.WriteMask),
PVS_DST_REG_TEMPORARY);
(*u_temp_i)--;
inst[0] =
- MAKE_VSF_OP(VE_MULTIPLY_ADD, t_dst_index(vp, &vpi->DstReg),
+ PVS_VECTOR_OPCODE(VE_MULTIPLY_ADD, t_dst_index(vp, &vpi->DstReg),
t_dst_mask(vpi->DstReg.WriteMask),
t_dst_class(vpi->DstReg.File));
if (CMP_SRCS(src[1], src[2])
|| CMP_SRCS(src[0], src[2])) {
inst[0] =
- MAKE_VSF_OP(VE_ADD,
+ PVS_VECTOR_OPCODE(VE_ADD,
u_temp_i, VSF_FLAG_ALL,
PVS_DST_REG_TEMPORARY);
if (num_operands >= 2) {
if (CMP_SRCS(src[1], src[0])) {
inst[0] =
- MAKE_VSF_OP(VE_ADD,
+ PVS_VECTOR_OPCODE(VE_ADD,
u_temp_i, VSF_FLAG_ALL,
PVS_DST_REG_TEMPORARY);
of the fragment program. Blank the outputs here. */
for (i = 0; i < VERT_RESULT_MAX; i++) {
if (vp->key.OutputsAdded & (1 << i)) {
- inst[0] = MAKE_VSF_OP(VE_ADD, vp->outputs[i],
- VSF_FLAG_ALL,
- VSF_OUT_CLASS_RESULT);
+ inst[0] = PVS_VECTOR_OPCODE(VE_ADD, vp->outputs[i],
+ VSF_FLAG_ALL,
+ PVS_DST_REG_OUT);
inst[1] = ZERO_SRC_0;
inst[2] = ZERO_SRC_0;
inst[3] = ZERO_SRC_0;