summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/core/slang-render-api-util.cpp2
-rw-r--r--tests/expected-failure-github.txt3
-rw-r--r--tests/render/cross-compile-entry-point.slang3
-rw-r--r--tests/render/cross-compile-entry-point.slang.1.expected5
-rw-r--r--tests/render/cross-compile-entry-point.slang.1.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/cross-compile-entry-point.slang.2.expected5
-rw-r--r--tests/render/cross-compile-entry-point.slang.2.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/cross-compile-entry-point.slang.expected5
-rw-r--r--tests/render/cross-compile-entry-point.slang.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/cross-compile0.hlsl3
-rw-r--r--tests/render/cross-compile0.hlsl.1.expected5
-rw-r--r--tests/render/cross-compile0.hlsl.1.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/cross-compile0.hlsl.2.expected5
-rw-r--r--tests/render/cross-compile0.hlsl.2.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/cross-compile0.hlsl.expected5
-rw-r--r--tests/render/cross-compile0.hlsl.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/imported-parameters.hlsl3
-rw-r--r--tests/render/imported-parameters.hlsl.1.expected5
-rw-r--r--tests/render/imported-parameters.hlsl.1.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/imported-parameters.hlsl.2.expected5
-rw-r--r--tests/render/imported-parameters.hlsl.2.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/imported-parameters.hlsl.expected5
-rw-r--r--tests/render/imported-parameters.hlsl.expected.pngbin0 -> 79309 bytes
-rw-r--r--tests/render/nointerpolation.hlsl7
-rw-r--r--tests/render/nointerpolation.hlsl.2.expected5
-rw-r--r--tests/render/nointerpolation.hlsl.2.expected.pngbin0 -> 32474 bytes
-rw-r--r--tests/render/nointerpolation.hlsl.expected5
-rw-r--r--tests/render/nointerpolation.hlsl.expected.pngbin0 -> 32474 bytes
-rw-r--r--tests/render/render0.hlsl4
-rw-r--r--tests/render/render0.hlsl.2.expected5
-rw-r--r--tests/render/render0.hlsl.2.expected.pngbin0 -> 37043 bytes
-rw-r--r--tests/render/render0.hlsl.3.expected5
-rw-r--r--tests/render/render0.hlsl.3.expected.pngbin0 -> 37043 bytes
-rw-r--r--tests/render/render0.hlsl.expected5
-rw-r--r--tests/render/render0.hlsl.expected.pngbin0 -> 37043 bytes
-rw-r--r--tools/render-test/render-test-main.cpp2
36 files changed, 86 insertions, 11 deletions
diff --git a/source/core/slang-render-api-util.cpp b/source/core/slang-render-api-util.cpp
index 1e77c2ac6..7c1f41abe 100644
--- a/source/core/slang-render-api-util.cpp
+++ b/source/core/slang-render-api-util.cpp
@@ -13,7 +13,7 @@ namespace Slang
/* static */ const RenderApiUtil::Info RenderApiUtil::s_infos[] = {
{RenderApiType::Vulkan, "vk,vulkan", ""},
{RenderApiType::D3D12, "dx12,d3d12", ""},
- {RenderApiType::D3D11, "dx11,d3d11", "hlsl,hlsl-rewrite,slang"},
+ {RenderApiType::D3D11, "dx11,d3d11", "hlsl,hlsl-rewrite,glsl-rewrite,glsl-cross,slang"},
{RenderApiType::Metal, "mtl,metal", ""},
{RenderApiType::CPU, "cpu", ""},
{RenderApiType::CUDA, "cuda", "cuda,ptx"},
diff --git a/tests/expected-failure-github.txt b/tests/expected-failure-github.txt
index 1a391cc7b..fdb6127a2 100644
--- a/tests/expected-failure-github.txt
+++ b/tests/expected-failure-github.txt
@@ -4,6 +4,8 @@ tests/language-feature/saturated-cooperation/fuse3.slang (vk)
tests/language-feature/saturated-cooperation/fuse-product.slang (vk)
tests/language-feature/saturated-cooperation/fuse.slang (vk)
tests/bugs/byte-address-buffer-interlocked-add-f32.slang (vk)
+tests/render/render0.hlsl (mtl)
+tests/render/nointerpolation.hlsl (mtl)
tests/serialization/obfuscated-serialized-module-test.slang.2 syn (mtl)
tests/autodiff/custom-intrinsic.slang.2 syn (wgpu)
tests/bugs/buffer-swizzle-store.slang.3 syn (wgpu)
@@ -17,3 +19,4 @@ tests/language-feature/generics/variadic-0.slang.4 syn (wgpu)
tests/language-feature/shader-params/interface-shader-param-ordinary.slang.4 syn (wgpu)
tests/language-feature/swizzles/matrix-swizzle-write-array.slang.3 syn (wgpu)
tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang.3 syn (wgpu)
+tests/render/nointerpolation.hlsl (wgpu)
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
--- /dev/null
+++ b/tests/render/cross-compile-entry-point.slang.1.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/cross-compile-entry-point.slang.2.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/cross-compile-entry-point.slang.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/cross-compile0.hlsl.1.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/cross-compile0.hlsl.2.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/cross-compile0.hlsl.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/imported-parameters.hlsl.1.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/imported-parameters.hlsl.2.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/imported-parameters.hlsl.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/nointerpolation.hlsl.2.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/nointerpolation.hlsl.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/render0.hlsl.2.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/render0.hlsl.3.expected.png
Binary files 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
--- /dev/null
+++ b/tests/render/render0.hlsl.expected.png
Binary files differ
diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp
index e3a895bbe..2e07a7689 100644
--- a/tools/render-test/render-test-main.cpp
+++ b/tools/render-test/render-test-main.cpp
@@ -675,7 +675,7 @@ void RenderTestApp::_initializeRenderPass()
colorBufferDesc.size.depth = 1;
colorBufferDesc.mipLevelCount = 1;
colorBufferDesc.format = Format::R8G8B8A8_UNORM;
- colorBufferDesc.usage = TextureUsage::RenderTarget;
+ colorBufferDesc.usage = TextureUsage::RenderTarget | TextureUsage::CopySource;
colorBufferDesc.defaultState = ResourceState::RenderTarget;
m_colorBuffer = m_device->createTexture(colorBufferDesc, nullptr);
SLANG_ASSERT(m_colorBuffer);