summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/compute/global-type-param1.slang7
-rw-r--r--tests/compute/global-type-param2.slang2
-rw-r--r--tests/diagnostics/global-uniform.slang13
-rw-r--r--tests/diagnostics/global-uniform.slang.expected8
-rw-r--r--tests/reflection/global-type-params.slang4
-rw-r--r--tests/reflection/global-type-params.slang.expected52
-rw-r--r--tests/reflection/global-uniforms.hlsl1
7 files changed, 56 insertions, 31 deletions
diff --git a/tests/compute/global-type-param1.slang b/tests/compute/global-type-param1.slang
index 08e548b81..e16ffa9da 100644
--- a/tests/compute/global-type-param1.slang
+++ b/tests/compute/global-type-param1.slang
@@ -28,9 +28,12 @@ struct Impl : IBase
__generic_param TImpl : IBase;
-TImpl impl;
+ParameterBlock<TImpl> impl;
-float base0; // = 0.5
+cbuffer C
+{
+ float base0; // = 0.5
+}
Texture2D tex1; // = 0.0
SamplerState sampler;
diff --git a/tests/compute/global-type-param2.slang b/tests/compute/global-type-param2.slang
index 51b586cf7..f29d01407 100644
--- a/tests/compute/global-type-param2.slang
+++ b/tests/compute/global-type-param2.slang
@@ -40,7 +40,7 @@ struct Impl : IBase
__generic_param TImpl : IBase;
-TImpl impl;
+ParameterBlock<TImpl> impl;
// at binding c0:
cbuffer existingBuffer
diff --git a/tests/diagnostics/global-uniform.slang b/tests/diagnostics/global-uniform.slang
new file mode 100644
index 000000000..a3f17e536
--- /dev/null
+++ b/tests/diagnostics/global-uniform.slang
@@ -0,0 +1,13 @@
+// global-uniform.slang
+//TEST:SIMPLE:-target hlsl
+
+
+// Any attempt to declare a global variable that actually declares a
+// global uniform should be diagnosed as unsupported.
+
+uniform float a;
+
+const uint4 b = uint4(0,1,2,3);
+
+struct C { float x; int y; };
+C c;
diff --git a/tests/diagnostics/global-uniform.slang.expected b/tests/diagnostics/global-uniform.slang.expected
new file mode 100644
index 000000000..a77144c4f
--- /dev/null
+++ b/tests/diagnostics/global-uniform.slang.expected
@@ -0,0 +1,8 @@
+result code = -1
+standard error = {
+tests/diagnostics/global-uniform.slang(8): error 39016: 'a' is implicitly a global uniform shader parameter, which is currently unsupported by Slang. If a uniform parameter is intended, use a constant buffer or parameter block. If a global is intended, use the 'static' modifier.
+tests/diagnostics/global-uniform.slang(10): error 39016: 'b' is implicitly a global uniform shader parameter, which is currently unsupported by Slang. If a uniform parameter is intended, use a constant buffer or parameter block. If a global is intended, use the 'static' modifier.
+tests/diagnostics/global-uniform.slang(13): error 39016: 'c' is implicitly a global uniform shader parameter, which is currently unsupported by Slang. If a uniform parameter is intended, use a constant buffer or parameter block. If a global is intended, use the 'static' modifier.
+}
+standard output = {
+}
diff --git a/tests/reflection/global-type-params.slang b/tests/reflection/global-type-params.slang
index bfeb7fb2e..74961b7cc 100644
--- a/tests/reflection/global-type-params.slang
+++ b/tests/reflection/global-type-params.slang
@@ -3,7 +3,6 @@
// Confirm that we handle global generic parameters
-float4 u;
interface IBase
{};
@@ -24,10 +23,11 @@ SamplerState s;
cbuffer CB
{
+ float4 u;
float4 v;
+ float4 w;
}
-float4 w;
float4 main() : SV_Target
{
diff --git a/tests/reflection/global-type-params.slang.expected b/tests/reflection/global-type-params.slang.expected
index 308738b55..8f6ba2838 100644
--- a/tests/reflection/global-type-params.slang.expected
+++ b/tests/reflection/global-type-params.slang.expected
@@ -5,18 +5,6 @@ standard output = {
{
"parameters": [
{
- "name": "u",
- "binding": {"kind": "uniform", "offset": 0, "size": 16},
- "type": {
- "kind": "vector",
- "elementCount": 4,
- "elementType": {
- "kind": "scalar",
- "scalarType": "float32"
- }
- }
- },
- {
"name": "arg",
"binding": {"kind": "generic", "index": 0},
"type": {
@@ -65,14 +53,14 @@ standard output = {
},
{
"name": "CB",
- "binding": {"kind": "constantBuffer", "index": 1},
+ "binding": {"kind": "constantBuffer", "index": 0},
"type": {
"kind": "constantBuffer",
"elementType": {
"kind": "struct",
"fields": [
{
- "name": "v",
+ "name": "u",
"type": {
"kind": "vector",
"elementCount": 4,
@@ -82,22 +70,34 @@ standard output = {
}
},
"binding": {"kind": "uniform", "offset": 0, "size": 16}
+ },
+ {
+ "name": "v",
+ "type": {
+ "kind": "vector",
+ "elementCount": 4,
+ "elementType": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ }
+ },
+ "binding": {"kind": "uniform", "offset": 16, "size": 16}
+ },
+ {
+ "name": "w",
+ "type": {
+ "kind": "vector",
+ "elementCount": 4,
+ "elementType": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ }
+ },
+ "binding": {"kind": "uniform", "offset": 32, "size": 16}
}
]
}
}
- },
- {
- "name": "w",
- "binding": {"kind": "uniform", "offset": 16, "size": 16},
- "type": {
- "kind": "vector",
- "elementCount": 4,
- "elementType": {
- "kind": "scalar",
- "scalarType": "float32"
- }
- }
}
],
"entryPoints": [
diff --git a/tests/reflection/global-uniforms.hlsl b/tests/reflection/global-uniforms.hlsl
index 884042cfa..6d4992db2 100644
--- a/tests/reflection/global-uniforms.hlsl
+++ b/tests/reflection/global-uniforms.hlsl
@@ -1,3 +1,4 @@
+//TEST_IGNORE_FILE
//TEST:REFLECTION:-profile ps_4_0 -target hlsl
// Confirm that we handle uniforms at global scope