From dcc7c6f009afc0f55e79ced050b772ea9d3b25ae Mon Sep 17 00:00:00 2001 From: Anders Leino Date: Thu, 21 Nov 2024 21:42:29 +0200 Subject: Enable some rendering tests (#5623) * render-test: Add copy-source usage for render targets I found that Slang-RHI/WGPU was not able to copy from render targets to staging buffers. This helps to address issue #4943. * Add entries to render API util infos Entries for glsl-cross and glsl-rewrite are added. Without glsl-cross, slang-test fails to select a back-end, and winds up crashing when tests/render/cross-compile-entry-point.slang is enabled tests/render/cross-compile0.hlsl fails similarly without glsl-rewrite. * Enable some rendering tests * Add expected test outputs --- tests/render/cross-compile-entry-point.slang | 3 +-- tests/render/cross-compile-entry-point.slang.1.expected | 5 +++++ .../cross-compile-entry-point.slang.1.expected.png | Bin 0 -> 79309 bytes tests/render/cross-compile-entry-point.slang.2.expected | 5 +++++ .../cross-compile-entry-point.slang.2.expected.png | Bin 0 -> 79309 bytes tests/render/cross-compile-entry-point.slang.expected | 5 +++++ .../render/cross-compile-entry-point.slang.expected.png | Bin 0 -> 79309 bytes tests/render/cross-compile0.hlsl | 3 +-- tests/render/cross-compile0.hlsl.1.expected | 5 +++++ tests/render/cross-compile0.hlsl.1.expected.png | Bin 0 -> 79309 bytes tests/render/cross-compile0.hlsl.2.expected | 5 +++++ tests/render/cross-compile0.hlsl.2.expected.png | Bin 0 -> 79309 bytes tests/render/cross-compile0.hlsl.expected | 5 +++++ tests/render/cross-compile0.hlsl.expected.png | Bin 0 -> 79309 bytes tests/render/imported-parameters.hlsl | 3 +-- tests/render/imported-parameters.hlsl.1.expected | 5 +++++ tests/render/imported-parameters.hlsl.1.expected.png | Bin 0 -> 79309 bytes tests/render/imported-parameters.hlsl.2.expected | 5 +++++ tests/render/imported-parameters.hlsl.2.expected.png | Bin 0 -> 79309 bytes tests/render/imported-parameters.hlsl.expected | 5 +++++ tests/render/imported-parameters.hlsl.expected.png | Bin 0 -> 79309 bytes tests/render/nointerpolation.hlsl | 7 +++++-- tests/render/nointerpolation.hlsl.2.expected | 5 +++++ tests/render/nointerpolation.hlsl.2.expected.png | Bin 0 -> 32474 bytes tests/render/nointerpolation.hlsl.expected | 5 +++++ tests/render/nointerpolation.hlsl.expected.png | Bin 0 -> 32474 bytes tests/render/render0.hlsl | 4 +++- tests/render/render0.hlsl.2.expected | 5 +++++ tests/render/render0.hlsl.2.expected.png | Bin 0 -> 37043 bytes tests/render/render0.hlsl.3.expected | 5 +++++ tests/render/render0.hlsl.3.expected.png | Bin 0 -> 37043 bytes tests/render/render0.hlsl.expected | 5 +++++ tests/render/render0.hlsl.expected.png | Bin 0 -> 37043 bytes 33 files changed, 81 insertions(+), 9 deletions(-) create mode 100644 tests/render/cross-compile-entry-point.slang.1.expected create mode 100644 tests/render/cross-compile-entry-point.slang.1.expected.png create mode 100644 tests/render/cross-compile-entry-point.slang.2.expected create mode 100644 tests/render/cross-compile-entry-point.slang.2.expected.png create mode 100644 tests/render/cross-compile-entry-point.slang.expected create mode 100644 tests/render/cross-compile-entry-point.slang.expected.png create mode 100644 tests/render/cross-compile0.hlsl.1.expected create mode 100644 tests/render/cross-compile0.hlsl.1.expected.png create mode 100644 tests/render/cross-compile0.hlsl.2.expected create mode 100644 tests/render/cross-compile0.hlsl.2.expected.png create mode 100644 tests/render/cross-compile0.hlsl.expected create mode 100644 tests/render/cross-compile0.hlsl.expected.png create mode 100644 tests/render/imported-parameters.hlsl.1.expected create mode 100644 tests/render/imported-parameters.hlsl.1.expected.png create mode 100644 tests/render/imported-parameters.hlsl.2.expected create mode 100644 tests/render/imported-parameters.hlsl.2.expected.png create mode 100644 tests/render/imported-parameters.hlsl.expected create mode 100644 tests/render/imported-parameters.hlsl.expected.png create mode 100644 tests/render/nointerpolation.hlsl.2.expected create mode 100644 tests/render/nointerpolation.hlsl.2.expected.png create mode 100644 tests/render/nointerpolation.hlsl.expected create mode 100644 tests/render/nointerpolation.hlsl.expected.png create mode 100644 tests/render/render0.hlsl.2.expected create mode 100644 tests/render/render0.hlsl.2.expected.png create mode 100644 tests/render/render0.hlsl.3.expected create mode 100644 tests/render/render0.hlsl.3.expected.png create mode 100644 tests/render/render0.hlsl.expected create mode 100644 tests/render/render0.hlsl.expected.png (limited to 'tests/render') diff --git a/tests/render/cross-compile-entry-point.slang b/tests/render/cross-compile-entry-point.slang index 816acbe1f..d8cb687c5 100644 --- a/tests/render/cross-compile-entry-point.slang +++ b/tests/render/cross-compile-entry-point.slang @@ -1,5 +1,4 @@ -// //TEST(render):COMPARE_HLSL_CROSS_COMPILE_RENDER: -// //TEST(render):COMPARE_HLSL_CROSS_COMPILE_RENDER: -dx12 +//TEST(render):COMPARE_HLSL_CROSS_COMPILE_RENDER: // This is a test to ensure that we can cross-compile a complete entry point. diff --git a/tests/render/cross-compile-entry-point.slang.1.expected b/tests/render/cross-compile-entry-point.slang.1.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/cross-compile-entry-point.slang.1.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/cross-compile-entry-point.slang.1.expected.png b/tests/render/cross-compile-entry-point.slang.1.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/cross-compile-entry-point.slang.1.expected.png differ diff --git a/tests/render/cross-compile-entry-point.slang.2.expected b/tests/render/cross-compile-entry-point.slang.2.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/cross-compile-entry-point.slang.2.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/cross-compile-entry-point.slang.2.expected.png b/tests/render/cross-compile-entry-point.slang.2.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/cross-compile-entry-point.slang.2.expected.png differ diff --git a/tests/render/cross-compile-entry-point.slang.expected b/tests/render/cross-compile-entry-point.slang.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/cross-compile-entry-point.slang.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/cross-compile-entry-point.slang.expected.png b/tests/render/cross-compile-entry-point.slang.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/cross-compile-entry-point.slang.expected.png differ diff --git a/tests/render/cross-compile0.hlsl b/tests/render/cross-compile0.hlsl index 33eb8a460..1d33b68bf 100644 --- a/tests/render/cross-compile0.hlsl +++ b/tests/render/cross-compile0.hlsl @@ -1,5 +1,4 @@ -//DISABLED_TEST(smoke,render):COMPARE_HLSL_GLSL_RENDER: -//DISABLED_TEST(smoke,render):COMPARE_HLSL_GLSL_RENDER: -dx12 +//TEST(smoke,render):COMPARE_HLSL_GLSL_RENDER: // This is a basic test case for cross-compilation behavior. // diff --git a/tests/render/cross-compile0.hlsl.1.expected b/tests/render/cross-compile0.hlsl.1.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/cross-compile0.hlsl.1.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/cross-compile0.hlsl.1.expected.png b/tests/render/cross-compile0.hlsl.1.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/cross-compile0.hlsl.1.expected.png differ diff --git a/tests/render/cross-compile0.hlsl.2.expected b/tests/render/cross-compile0.hlsl.2.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/cross-compile0.hlsl.2.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/cross-compile0.hlsl.2.expected.png b/tests/render/cross-compile0.hlsl.2.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/cross-compile0.hlsl.2.expected.png differ diff --git a/tests/render/cross-compile0.hlsl.expected b/tests/render/cross-compile0.hlsl.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/cross-compile0.hlsl.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/cross-compile0.hlsl.expected.png b/tests/render/cross-compile0.hlsl.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/cross-compile0.hlsl.expected.png differ diff --git a/tests/render/imported-parameters.hlsl b/tests/render/imported-parameters.hlsl index 40ea18e2a..495ff8da2 100644 --- a/tests/render/imported-parameters.hlsl +++ b/tests/render/imported-parameters.hlsl @@ -1,5 +1,4 @@ -//DISABLED_TEST(smoke,render):COMPARE_HLSL_GLSL_RENDER: -//DISABLED_TEST(smoke,render):COMPARE_HLSL_GLSL_RENDER: -dx12 +//TEST(smoke,render):COMPARE_HLSL_GLSL_RENDER: // This test is trying to ensure that we can // correctly handle cases where top-level shader diff --git a/tests/render/imported-parameters.hlsl.1.expected b/tests/render/imported-parameters.hlsl.1.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/imported-parameters.hlsl.1.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/imported-parameters.hlsl.1.expected.png b/tests/render/imported-parameters.hlsl.1.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/imported-parameters.hlsl.1.expected.png differ diff --git a/tests/render/imported-parameters.hlsl.2.expected b/tests/render/imported-parameters.hlsl.2.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/imported-parameters.hlsl.2.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/imported-parameters.hlsl.2.expected.png b/tests/render/imported-parameters.hlsl.2.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/imported-parameters.hlsl.2.expected.png differ diff --git a/tests/render/imported-parameters.hlsl.expected b/tests/render/imported-parameters.hlsl.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/imported-parameters.hlsl.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/imported-parameters.hlsl.expected.png b/tests/render/imported-parameters.hlsl.expected.png new file mode 100644 index 000000000..0caf56268 Binary files /dev/null and b/tests/render/imported-parameters.hlsl.expected.png differ diff --git a/tests/render/nointerpolation.hlsl b/tests/render/nointerpolation.hlsl index 0819849ac..a8d0c85e0 100644 --- a/tests/render/nointerpolation.hlsl +++ b/tests/render/nointerpolation.hlsl @@ -1,5 +1,8 @@ -//DISABLED_TEST(smoke):COMPARE_HLSL_RENDER: -//DISABLED_TEST(smoke):COMPARE_HLSL_RENDER: -dx12 +//TEST(smoke):COMPARE_HLSL_RENDER: +// WGSL: nointerpolate doesn't work #5625 +//DISABLE_TEST(smoke):COMPARE_HLSL_RENDER: -wgpu +// TODO: Investigate Metal failure +//DISABLE_TEST(smoke):COMPARE_HLSL_RENDER: -mtl // Confirm that the `nointerpolation` modifier // makes it through Slang codegen with the diff --git a/tests/render/nointerpolation.hlsl.2.expected b/tests/render/nointerpolation.hlsl.2.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/nointerpolation.hlsl.2.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/nointerpolation.hlsl.2.expected.png b/tests/render/nointerpolation.hlsl.2.expected.png new file mode 100644 index 000000000..793b27c19 Binary files /dev/null and b/tests/render/nointerpolation.hlsl.2.expected.png differ diff --git a/tests/render/nointerpolation.hlsl.expected b/tests/render/nointerpolation.hlsl.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/nointerpolation.hlsl.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/nointerpolation.hlsl.expected.png b/tests/render/nointerpolation.hlsl.expected.png new file mode 100644 index 000000000..793b27c19 Binary files /dev/null and b/tests/render/nointerpolation.hlsl.expected.png differ diff --git a/tests/render/render0.hlsl b/tests/render/render0.hlsl index 967f23adb..90ca42430 100644 --- a/tests/render/render0.hlsl +++ b/tests/render/render0.hlsl @@ -1,6 +1,8 @@ -//DISABLED_TEST(smoke):COMPARE_HLSL_RENDER: // Starting with a basic test for the ability to render stuff... +//TEST(smoke,render):COMPARE_HLSL_RENDER: +//DISABLE_TEST(smoke,render):COMPARE_HLSL_RENDER: -mtl + cbuffer Uniforms { float4x4 modelViewProjection; diff --git a/tests/render/render0.hlsl.2.expected b/tests/render/render0.hlsl.2.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/render0.hlsl.2.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/render0.hlsl.2.expected.png b/tests/render/render0.hlsl.2.expected.png new file mode 100644 index 000000000..defc4bc86 Binary files /dev/null and b/tests/render/render0.hlsl.2.expected.png differ diff --git a/tests/render/render0.hlsl.3.expected b/tests/render/render0.hlsl.3.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/render0.hlsl.3.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/render0.hlsl.3.expected.png b/tests/render/render0.hlsl.3.expected.png new file mode 100644 index 000000000..defc4bc86 Binary files /dev/null and b/tests/render/render0.hlsl.3.expected.png differ diff --git a/tests/render/render0.hlsl.expected b/tests/render/render0.hlsl.expected new file mode 100644 index 000000000..4c32e2510 --- /dev/null +++ b/tests/render/render0.hlsl.expected @@ -0,0 +1,5 @@ +result code = 0 +standard error = { +} +standard output = { +} diff --git a/tests/render/render0.hlsl.expected.png b/tests/render/render0.hlsl.expected.png new file mode 100644 index 000000000..defc4bc86 Binary files /dev/null and b/tests/render/render0.hlsl.expected.png differ -- cgit v1.2.3