i965: Use BRW_MATH_DATA_SCALAR when source regioning is scalar.
Notice the mistaken (but harmless) argument swapping in brw_math_invert(). Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -291,7 +291,6 @@ void gen4_math(struct brw_compile *p,
|
||||
unsigned function,
|
||||
unsigned msg_reg_nr,
|
||||
struct brw_reg src,
|
||||
unsigned data_type,
|
||||
unsigned precision );
|
||||
|
||||
void gen6_math(struct brw_compile *p,
|
||||
|
||||
@@ -1879,11 +1879,18 @@ void gen4_math(struct brw_compile *p,
|
||||
unsigned function,
|
||||
unsigned msg_reg_nr,
|
||||
struct brw_reg src,
|
||||
unsigned data_type,
|
||||
unsigned precision )
|
||||
{
|
||||
struct brw_context *brw = p->brw;
|
||||
brw_inst *insn = next_insn(p, BRW_OPCODE_SEND);
|
||||
unsigned data_type;
|
||||
if (src.vstride == BRW_VERTICAL_STRIDE_0 &&
|
||||
src.width == BRW_WIDTH_1 &&
|
||||
src.hstride == BRW_HORIZONTAL_STRIDE_0) {
|
||||
data_type = BRW_MATH_DATA_SCALAR;
|
||||
} else {
|
||||
data_type = BRW_MATH_DATA_VECTOR;
|
||||
}
|
||||
|
||||
assert(brw->gen < 6);
|
||||
|
||||
|
||||
@@ -44,8 +44,7 @@ void brw_math_invert( struct brw_compile *p,
|
||||
BRW_MATH_FUNCTION_INV,
|
||||
0,
|
||||
src,
|
||||
BRW_MATH_PRECISION_FULL,
|
||||
BRW_MATH_DATA_VECTOR );
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -342,7 +342,6 @@ fs_generator::generate_math_gen4(fs_inst *inst,
|
||||
gen4_math(p, dst,
|
||||
op,
|
||||
inst->base_mrf, src,
|
||||
BRW_MATH_DATA_VECTOR,
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
|
||||
if (dispatch_width == 16) {
|
||||
@@ -350,7 +349,6 @@ fs_generator::generate_math_gen4(fs_inst *inst,
|
||||
gen4_math(p, sechalf(dst),
|
||||
op,
|
||||
inst->base_mrf + 1, sechalf(src),
|
||||
BRW_MATH_DATA_VECTOR,
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
|
||||
brw_set_default_compression_control(p, BRW_COMPRESSION_COMPRESSED);
|
||||
@@ -376,7 +374,6 @@ fs_generator::generate_math_g45(fs_inst *inst,
|
||||
gen4_math(p, dst,
|
||||
op,
|
||||
inst->base_mrf, src,
|
||||
BRW_MATH_DATA_VECTOR,
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -327,7 +327,6 @@ static void invert_det( struct brw_sf_compile *c)
|
||||
BRW_MATH_FUNCTION_INV,
|
||||
0,
|
||||
c->det,
|
||||
BRW_MATH_DATA_SCALAR,
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
|
||||
}
|
||||
@@ -616,7 +615,6 @@ void brw_emit_point_sprite_setup(struct brw_sf_compile *c, bool allocate)
|
||||
BRW_MATH_FUNCTION_INV,
|
||||
0,
|
||||
c->dx0,
|
||||
BRW_MATH_DATA_SCALAR,
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
|
||||
brw_set_default_access_mode(p, BRW_ALIGN_16);
|
||||
|
||||
@@ -157,7 +157,6 @@ vec4_generator::generate_math1_gen4(vec4_instruction *inst,
|
||||
brw_math_function(inst->opcode),
|
||||
inst->base_mrf,
|
||||
src,
|
||||
BRW_MATH_DATA_VECTOR,
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
}
|
||||
|
||||
@@ -218,7 +217,6 @@ vec4_generator::generate_math2_gen4(vec4_instruction *inst,
|
||||
brw_math_function(inst->opcode),
|
||||
inst->base_mrf,
|
||||
op0,
|
||||
BRW_MATH_DATA_VECTOR,
|
||||
BRW_MATH_PRECISION_FULL);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user