From d8291cc7ee8cc7c62d1241ea347dfcd777f4d16b Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Mon, 10 Jul 2023 19:42:11 +0200 Subject: [PATCH] r600/sfn/tests: add simple copy-prop test with register source Just to make sure the register intrinsic conversion doesn't need the helpers. Signed-off-by: Gert Wollny Part-of: --- .../r600/sfn/tests/sfn_optimizer_test.cpp | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/gallium/drivers/r600/sfn/tests/sfn_optimizer_test.cpp b/src/gallium/drivers/r600/sfn/tests/sfn_optimizer_test.cpp index ce6203c1cf5..9d48e28c39c 100644 --- a/src/gallium/drivers/r600/sfn/tests/sfn_optimizer_test.cpp +++ b/src/gallium/drivers/r600/sfn/tests/sfn_optimizer_test.cpp @@ -125,6 +125,42 @@ EXPORT_DONE PIXEL 0 S2.xyzw check(sh, shader_expect); } +TEST_F(TestShaderFromNir, CopyPropRegDest) +{ +const char *shader_input = + R"(FS +CHIPCLASS EVERGREEN +REGISTERS R0.x +PROP MAX_COLOR_EXPORTS:1 +PROP COLOR_EXPORTS:1 +PROP COLOR_EXPORT_MASK:15 +OUTPUT LOC:0 NAME:1 MASK:15 +SHADER +ALU MOV S2.x : R0.x {W} +ALU MUL S3.x : S2.x S2.x {W} +EXPORT_DONE PIXEL 0 S3.xxxx +)"; + +const char *shader_expect = + R"(FS +CHIPCLASS EVERGREEN +REGISTERS R0.x +PROP MAX_COLOR_EXPORTS:1 +PROP COLOR_EXPORTS:1 +PROP COLOR_EXPORT_MASK:15 +OUTPUT LOC:0 NAME:1 MASK:15 +SHADER +ALU MUL S3.x : R0.x R0.x {W} +EXPORT_DONE PIXEL 0 S3.xxxx +)"; + + auto sh = from_string(shader_input); + + optimize(*sh); + + check(sh, shader_expect); +} + TEST_F(TestShaderFromNir, OptimizeWithDestArrayValue) { auto sh = from_string(shader_with_dest_array);