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:
Matt Turner
2014-08-29 21:10:32 -07:00
parent a0df258f89
commit 66ab9c22fe
6 changed files with 9 additions and 11 deletions
-1
View File
@@ -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,
+8 -1
View File
@@ -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);
+1 -2
View File
@@ -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);
}
-2
View File
@@ -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);
}