brw/sat: Convert nearly all tests to use new style builders
v2: Use new style builder for second ADD in other_non_saturated_use too. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31834>
This commit is contained in:
@@ -120,11 +120,10 @@ saturate_propagation(fs_visitor *v)
|
||||
|
||||
TEST_F(saturate_propagation_test, basic)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.ADD(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.ADD(src0, src1);
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
/* = Before =
|
||||
@@ -154,14 +153,12 @@ TEST_F(saturate_propagation_test, basic)
|
||||
|
||||
TEST_F(saturate_propagation_test, other_non_saturated_use)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.ADD(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.ADD(src0, src1);
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
bld.ADD(dst2, dst0, src0);
|
||||
bld.ADD(dst0, src0);
|
||||
|
||||
/* = Before =
|
||||
*
|
||||
@@ -225,10 +222,9 @@ TEST_F(saturate_propagation_test, predicated_instruction)
|
||||
|
||||
TEST_F(saturate_propagation_test, neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.RNDU(dst0, src0);
|
||||
brw_reg dst0 = bld.RNDU(src0);
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
@@ -258,11 +254,10 @@ TEST_F(saturate_propagation_test, neg_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, add_neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.ADD(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.ADD(src0, src1);
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
@@ -295,11 +290,9 @@ TEST_F(saturate_propagation_test, add_neg_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, add_imm_float_neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = brw_imm_f(1.0f);
|
||||
bld.ADD(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.ADD(src0, brw_imm_f(1.0f));
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
@@ -332,11 +325,10 @@ TEST_F(saturate_propagation_test, add_imm_float_neg_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, mul_neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.MUL(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.MUL(src0, src1);
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
@@ -369,12 +361,11 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, mad_neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src2 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.MAD(dst0, src0, src1, src2);
|
||||
brw_reg dst0 = bld.MAD(src0, src1, src2);
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
@@ -411,15 +402,13 @@ TEST_F(saturate_propagation_test, mad_imm_float_neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = brw_imm_f(1.0f);
|
||||
brw_reg src1 = brw_imm_f(-2.0f);
|
||||
brw_reg src2 = bld.vgrf(BRW_TYPE_F);
|
||||
/* The builder for MAD tries to be helpful and not put immediates as direct
|
||||
* sources. We want to test specifically that case.
|
||||
*/
|
||||
fs_inst *mad = bld.MAD(dst0, src2, src2, src2);
|
||||
mad->src[0] = src0;
|
||||
mad->src[1] = src1;
|
||||
mad->src[0] = brw_imm_f(1.0f);
|
||||
mad->src[1] = brw_imm_f(-2.0f);
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
@@ -453,12 +442,11 @@ TEST_F(saturate_propagation_test, mad_imm_float_neg_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, mul_mov_sat_neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.MUL(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.MUL(src0, src1);
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst2, dst0));
|
||||
@@ -494,12 +482,11 @@ TEST_F(saturate_propagation_test, mul_mov_sat_neg_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, mul_neg_mov_sat_neg_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.MUL(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.MUL(src0, src1);
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
set_saturate(true, bld.MOV(dst2, dst0));
|
||||
@@ -536,11 +523,10 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat_neg_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, abs_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.ADD(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.ADD(src0, src1);
|
||||
dst0.abs = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
|
||||
@@ -608,12 +594,11 @@ TEST_F(saturate_propagation_test, producer_saturates)
|
||||
|
||||
TEST_F(saturate_propagation_test, intervening_saturating_copy)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.ADD(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.ADD(src0, src1);
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
set_saturate(true, bld.MOV(dst2, dst0));
|
||||
|
||||
@@ -695,12 +680,11 @@ TEST_F(saturate_propagation_test, intervening_dest_write)
|
||||
|
||||
TEST_F(saturate_propagation_test, mul_neg_mov_sat_mov_sat)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.MUL(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.MUL(src0, src1);
|
||||
dst0.negate = true;
|
||||
set_saturate(true, bld.MOV(dst1, dst0));
|
||||
dst0.negate = false;
|
||||
@@ -737,11 +721,10 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat_mov_sat)
|
||||
|
||||
TEST_F(saturate_propagation_test, smaller_exec_size_consumer)
|
||||
{
|
||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||
bld.ADD(dst0, src0, src1);
|
||||
brw_reg dst0 = bld.ADD(src0, src1);
|
||||
set_saturate(true, bld.group(8, 0).MOV(dst1, dst0));
|
||||
|
||||
/* = Before =
|
||||
|
Reference in New Issue
Block a user