summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bindings/multi-file-defines.h44
-rw-r--r--tests/bindings/multi-file-extra.hlsl77
-rw-r--r--tests/bindings/multi-file-shared.slang25
-rw-r--r--tests/bindings/multi-file.hlsl80
-rw-r--r--tests/diagnostics/gh-38-vs.hlsl2
-rw-r--r--tests/diagnostics/gh-38-vs.hlsl.expected4
-rw-r--r--tests/reflection/multi-file-defines.h44
-rw-r--r--tests/reflection/multi-file-extra.hlsl51
-rw-r--r--tests/reflection/multi-file-shared.slang25
-rw-r--r--tests/reflection/multi-file.hlsl68
-rw-r--r--tests/reflection/multi-file.hlsl.expected82
11 files changed, 229 insertions, 273 deletions
diff --git a/tests/bindings/multi-file-defines.h b/tests/bindings/multi-file-defines.h
new file mode 100644
index 000000000..52a5826b6
--- /dev/null
+++ b/tests/bindings/multi-file-defines.h
@@ -0,0 +1,44 @@
+// multi-file-defines.h
+
+#ifdef __SLANG__
+#define R(X) /**/
+#define BEGIN_CBUFFER(NAME) cbuffer NAME
+#define END_CBUFFER(NAME, REG) /**/
+#define CBUFFER_REF(NAME, FIELD) FIELD
+#else
+#define R(X) X
+#define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME
+#define END_CBUFFER(NAME, REG) ; cbuffer NAME : REG { SLANG_ParameterGroup_##NAME NAME; }
+#define CBUFFER_REF(NAME, FIELD) NAME.FIELD
+
+#define sharedC sharedC_0
+#define sharedCA sharedCA_0
+#define sharedCB sharedCB_0
+#define sharedCC sharedCC_0
+#define sharedCD sharedCD_0
+
+#define vertexC vertexC_0
+#define vertexCA vertexCA_0
+#define vertexCB vertexCB_0
+#define vertexCC vertexCC_0
+#define vertexCD vertexCD_0
+
+#define fragmentC fragmentC_0
+#define fragmentCA fragmentCA_0
+#define fragmentCB fragmentCB_0
+#define fragmentCC fragmentCC_0
+#define fragmentCD fragmentCD_0
+
+#define sharedS sharedS_0
+#define sharedT sharedT_0
+#define sharedTV sharedTV_0
+#define sharedTF sharedTF_0
+
+#define vertexS vertexS_0
+#define vertexT vertexT_0
+
+#define fragmentS fragmentS_0
+#define fragmentT fragmentT_0
+
+#endif
+
diff --git a/tests/bindings/multi-file-extra.hlsl b/tests/bindings/multi-file-extra.hlsl
index fe8766dcd..9be7a34a0 100644
--- a/tests/bindings/multi-file-extra.hlsl
+++ b/tests/bindings/multi-file-extra.hlsl
@@ -5,74 +5,16 @@
// This file provides the fragment shader, and is only meant to be tested in combination with `multi-file.hlsl`
+#include "multi-file-defines.h"
+
#ifdef __SLANG__
-#define R(X) /**/
-#define BEGIN_CBUFFER(NAME) cbuffer NAME
-#define END_CBUFFER(NAME, REG) /**/
-#define CBUFFER_REF(NAME, FIELD) FIELD
+import multi_file_shared;
#else
-#define R(X) X
-#define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME
-#define END_CBUFFER(NAME, REG) ; cbuffer NAME : REG { SLANG_ParameterGroup_##NAME NAME; }
-#define CBUFFER_REF(NAME, FIELD) NAME.FIELD
-
-#define sharedC sharedC_0
-#define sharedCA sharedCA_0
-#define sharedCB sharedCB_0
-#define sharedCC sharedCC_0
-#define sharedCD sharedCD_0
-
-#define vertexC vertexC_0
-#define vertexCA vertexCA_0
-#define vertexCB vertexCB_0
-#define vertexCC vertexCC_0
-#define vertexCD vertexCD_0
-
-#define fragmentC fragmentC_0
-#define fragmentCA fragmentCA_0
-#define fragmentCB fragmentCB_0
-#define fragmentCC fragmentCC_0
-#define fragmentCD fragmentCD_0
-
-#define sharedS sharedS_0
-#define sharedT sharedT_0
-#define sharedTV sharedTV_0
-#define sharedTF sharedTF_0
-
-#define vertexS vertexS_0
-#define vertexT vertexT_0
-
-#define fragmentS fragmentS_0
-#define fragmentT fragmentT_0
-
+#include "multi-file-shared.slang"
#endif
-float4 use(float val) { return val; };
-float4 use(float2 val) { return float4(val,0.0,0.0); };
-float4 use(float3 val) { return float4(val,0.0); };
-float4 use(float4 val) { return val; };
-float4 use(Texture2D t, SamplerState s) { return t.Sample(s, 0.0); }
-
-// Start with some parameters that will appear in both shaders
-Texture2D sharedT R(: register(t0));
-SamplerState sharedS R(: register(s0));
-
-BEGIN_CBUFFER(sharedC)
-{
- float3 sharedCA;
- float sharedCB;
- float3 sharedCC;
- float2 sharedCD;
-}
-END_CBUFFER(sharedC, register(b0))
-
-// Then some parameters specific to this shader.
-// These will be placed *after* the ones from the main file,
-// and even after the parameters further down in this file
-// that end up being shared between the two files.
-
-Texture2D fragmentT R(: register(t4));
-SamplerState fragmentS R(: register(s2));
+Texture2D fragmentT R(: register(t1));
+SamplerState fragmentS R(: register(s1));
BEGIN_CBUFFER(fragmentC)
{
@@ -81,12 +23,7 @@ BEGIN_CBUFFER(fragmentC)
float3 fragmentCC;
float2 fragmentCD;
}
-END_CBUFFER(fragmentC, register(b2))
-
-// And end with some shared parameters again
-Texture2D sharedTV R(: register(t2));
-Texture2D sharedTF R(: register(t3));
-
+END_CBUFFER(fragmentC, register(b1))
float4 main() : SV_TARGET
{
diff --git a/tests/bindings/multi-file-shared.slang b/tests/bindings/multi-file-shared.slang
new file mode 100644
index 000000000..af91d5251
--- /dev/null
+++ b/tests/bindings/multi-file-shared.slang
@@ -0,0 +1,25 @@
+// multi-file-shared.slang
+//TEST_IGNORE_FILE:
+
+#include "multi-file-defines.h"
+
+float4 use(float val) { return val; };
+float4 use(float2 val) { return float4(val,0.0,0.0); };
+float4 use(float3 val) { return float4(val,0.0); };
+float4 use(float4 val) { return val; };
+float4 use(Texture2D t, SamplerState s) { return t.SampleLevel(s, 0.0, 0.0); }
+
+Texture2D sharedT R(: register(t2));
+SamplerState sharedS R(: register(s2));
+
+BEGIN_CBUFFER(sharedC)
+{
+ float3 sharedCA;
+ float sharedCB;
+ float3 sharedCC;
+ float2 sharedCD;
+}
+END_CBUFFER(sharedC, register(b2))
+
+Texture2D sharedTV R(: register(t3));
+Texture2D sharedTF R(: register(t4));
diff --git a/tests/bindings/multi-file.hlsl b/tests/bindings/multi-file.hlsl
index 8c719bbcf..73ce181b0 100644
--- a/tests/bindings/multi-file.hlsl
+++ b/tests/bindings/multi-file.hlsl
@@ -6,77 +6,16 @@
// This file provides the vertex shader, while the fragment shader resides in
// the file `multi-file-extra.hlsl`
+#include "multi-file-defines.h"
+
#ifdef __SLANG__
-#define R(X) /**/
-#define BEGIN_CBUFFER(NAME) cbuffer NAME
-#define END_CBUFFER(NAME, REG) /**/
-#define CBUFFER_REF(NAME, FIELD) FIELD
+import multi_file_shared;
#else
-#define R(X) X
-#define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME
-#define END_CBUFFER(NAME, REG) ; cbuffer NAME : REG { SLANG_ParameterGroup_##NAME NAME; }
-#define CBUFFER_REF(NAME, FIELD) NAME.FIELD
-
-#define sharedC sharedC_0
-#define sharedCA sharedCA_0
-#define sharedCB sharedCB_0
-#define sharedCC sharedCC_0
-#define sharedCD sharedCD_0
-
-#define vertexC vertexC_0
-#define vertexCA vertexCA_0
-#define vertexCB vertexCB_0
-#define vertexCC vertexCC_0
-#define vertexCD vertexCD_0
-
-#define fragmentC fragmentC_0
-#define fragmentCA fragmentCA_0
-#define fragmentCB fragmentCB_0
-#define fragmentCC fragmentCC_0
-#define fragmentCD fragmentCD_0
-
-#define sharedS sharedS_0
-#define sharedT sharedT_0
-#define sharedTV sharedTV_0
-#define sharedTF sharedTF_0
-
-#define vertexS vertexS_0
-#define vertexT vertexT_0
-
-#define fragmentS fragmentS_0
-#define fragmentT fragmentT_0
-
+#include "multi-file-shared.slang"
#endif
-float4 use(float val) { return val; };
-float4 use(float2 val) { return float4(val,0.0,0.0); };
-float4 use(float3 val) { return float4(val,0.0); };
-float4 use(float4 val) { return val; };
-float4 use(Texture2D t, SamplerState s)
-{
- // This is the vertex shader, so we can't do implicit-gradient sampling
- return t.SampleGrad(s, 0.0, 0.0, 0.0);
-}
-
-// Start with some parameters that will appear in both shaders
-Texture2D sharedT R(: register(t0));
-SamplerState sharedS R(: register(s0));
-
-BEGIN_CBUFFER(sharedC)
-{
- float3 sharedCA;
- float sharedCB;
- float3 sharedCC;
- float2 sharedCD;
-}
-END_CBUFFER(sharedC, register(b0))
-
-// Then some parameters specific to this shader
-// (these will get placed before the ones in the `extra` file,
-// based on how they get named on the command-line)
-
-Texture2D vertexT R(: register(t1));
-SamplerState vertexS R(: register(s1));
+Texture2D vertexT R(: register(t0));
+SamplerState vertexS R(: register(s0));
BEGIN_CBUFFER(vertexC)
{
@@ -85,12 +24,7 @@ BEGIN_CBUFFER(vertexC)
float3 vertexCC;
float2 vertexCD;
}
-END_CBUFFER(vertexC, register(b1))
-
-// And end with some shared parameters again
-Texture2D sharedTV R(: register(t2));
-Texture2D sharedTF R(: register(t3));
-
+END_CBUFFER(vertexC, register(b0))
float4 main() : SV_POSITION
{
diff --git a/tests/diagnostics/gh-38-vs.hlsl b/tests/diagnostics/gh-38-vs.hlsl
index bb97482c4..3e61d7f2e 100644
--- a/tests/diagnostics/gh-38-vs.hlsl
+++ b/tests/diagnostics/gh-38-vs.hlsl
@@ -1,4 +1,4 @@
-//DIAGNOSTIC_TEST:SIMPLE: -profile sm_5_0 -entry main -stage vertex tests/diagnostics/gh-38-fs.hlsl -entry main -stage fragment
+//DIAGNOSTIC_TEST:SIMPLE: -profile sm_5_0 -entry main -stage vertex tests/diagnostics/gh-38-fs.hlsl -entry main -stage fragment -no-codegen
// Ensure that we catch errors with overlapping or conflicting parameter bindings.
diff --git a/tests/diagnostics/gh-38-vs.hlsl.expected b/tests/diagnostics/gh-38-vs.hlsl.expected
index 76987ae44..1c784e283 100644
--- a/tests/diagnostics/gh-38-vs.hlsl.expected
+++ b/tests/diagnostics/gh-38-vs.hlsl.expected
@@ -1,7 +1,5 @@
-result code = -1
+result code = 0
standard error = {
-tests/diagnostics/gh-38-fs.hlsl(7): error 39000: conflicting explicit bindings for parameter 'conflicting'
-tests/diagnostics/gh-38-vs.hlsl(7): note: see other declaration of 'conflicting'
tests/diagnostics/gh-38-fs.hlsl(5): warning 39001: explicit binding for parameter 'overlappingB' overlaps with parameter 'overlappingA'
tests/diagnostics/gh-38-vs.hlsl(5): note: see declaration of 'overlappingA'
}
diff --git a/tests/reflection/multi-file-defines.h b/tests/reflection/multi-file-defines.h
new file mode 100644
index 000000000..aed4c510a
--- /dev/null
+++ b/tests/reflection/multi-file-defines.h
@@ -0,0 +1,44 @@
+// multi-file-defines.h
+
+#ifdef __SLANG__
+#define R(X) /**/
+#define BEGIN_CBUFFER(NAME) cbuffer NAME
+#define END_CBUFFER(NAME, REG) /**/
+#define CBUFFER_REF(NAME, FIELD) FIELD
+#else
+#define R(X) /*X*/
+#define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME
+#define END_CBUFFER(NAME, REG) ; cbuffer NAME /*REG*/ { SLANG_ParameterGroup_##NAME NAME; }
+#define CBUFFER_REF(NAME, FIELD) NAME.FIELD
+
+#define sharedC sharedC_0
+#define sharedCA sharedCA_0
+#define sharedCB sharedCB_0
+#define sharedCC sharedCC_0
+#define sharedCD sharedCD_0
+
+#define vertexC vertexC_0
+#define vertexCA vertexCA_0
+#define vertexCB vertexCB_0
+#define vertexCC vertexCC_0
+#define vertexCD vertexCD_0
+
+#define fragmentC fragmentC_0
+#define fragmentCA fragmentCA_0
+#define fragmentCB fragmentCB_0
+#define fragmentCC fragmentCC_0
+#define fragmentCD fragmentCD_0
+
+#define sharedS sharedS_0
+#define sharedT sharedT_0
+#define sharedTV sharedTV_0
+#define sharedTF sharedTF_0
+
+#define vertexS vertexS_0
+#define vertexT vertexT_0
+
+#define fragmentS fragmentS_0
+#define fragmentT fragmentT_0
+
+#endif
+
diff --git a/tests/reflection/multi-file-extra.hlsl b/tests/reflection/multi-file-extra.hlsl
index be5757d14..701118d01 100644
--- a/tests/reflection/multi-file-extra.hlsl
+++ b/tests/reflection/multi-file-extra.hlsl
@@ -1,63 +1,32 @@
//TEST_IGNORE_FILE:
-// Here we are going to test that we can correctly generating bindings when we
-// are presented with a program spanning multiple input files (and multiple entry points)
-
-// This file provides the fragment shader, and is only meant to be tested in combination with `multi-file.hlsl`
-
-// Let's make sure we generate correct output in cases
-// where there are non-trivial `packoffset`s needed
+#include "multi-file-defines.h"
#ifdef __SLANG__
-#define R(X) /**/
+import multi_file_shared;
#else
-#define R(X) X
+#include "multi-file-shared.slang"
#endif
-float4 use(float val) { return val; };
-float4 use(float2 val) { return float4(val,0.0,0.0); };
-float4 use(float3 val) { return float4(val,0.0); };
-float4 use(float4 val) { return val; };
-float4 use(Texture2D t, SamplerState s) { return t.SampleLevel(s, 0.0, 0.0); }
-
-// Start with some parameters that will appear in both shaders
-Texture2D sharedT;
-SamplerState sharedS;
-cbuffer sharedC
-{
- float3 sharedCA;
- float sharedCB;
- float3 sharedCC;
- float2 sharedCD;
-}
-
-// Then some parameters specific to this shader.
-// These will be placed *after* the ones from the main file,
-// and even after the parameters further down in this file
-// that end up being shared between the two files.
+Texture2D fragmentT R(: register(t1));
+SamplerState fragmentS R(: register(s1));
-Texture2D fragmentT;
-SamplerState fragmentS;
-cbuffer fragmentC
+BEGIN_CBUFFER(fragmentC)
{
float3 fragmentCA;
float fragmentCB;
float3 fragmentCC;
float2 fragmentCD;
}
+END_CBUFFER(fragmentC, register(b1))
-// And end with some shared parameters again
-Texture2D sharedTV;
-Texture2D sharedTF;
-
-
-float4 mainVS() : SV_Position
+float4 mainFS() : SV_TARGET
{
// Go ahead and use everything here, just to make sure things got placed correctly
return use(sharedT, sharedS)
- + use(sharedCD)
+ + use(CBUFFER_REF(sharedC,sharedCD))
+ use(fragmentT, fragmentS)
- + use(fragmentCD)
+ + use(CBUFFER_REF(fragmentC, fragmentCD))
+ use(sharedTF, sharedS)
;
} \ No newline at end of file
diff --git a/tests/reflection/multi-file-shared.slang b/tests/reflection/multi-file-shared.slang
new file mode 100644
index 000000000..af91d5251
--- /dev/null
+++ b/tests/reflection/multi-file-shared.slang
@@ -0,0 +1,25 @@
+// multi-file-shared.slang
+//TEST_IGNORE_FILE:
+
+#include "multi-file-defines.h"
+
+float4 use(float val) { return val; };
+float4 use(float2 val) { return float4(val,0.0,0.0); };
+float4 use(float3 val) { return float4(val,0.0); };
+float4 use(float4 val) { return val; };
+float4 use(Texture2D t, SamplerState s) { return t.SampleLevel(s, 0.0, 0.0); }
+
+Texture2D sharedT R(: register(t2));
+SamplerState sharedS R(: register(s2));
+
+BEGIN_CBUFFER(sharedC)
+{
+ float3 sharedCA;
+ float sharedCB;
+ float3 sharedCC;
+ float2 sharedCD;
+}
+END_CBUFFER(sharedC, register(b2))
+
+Texture2D sharedTV R(: register(t3));
+Texture2D sharedTF R(: register(t4));
diff --git a/tests/reflection/multi-file.hlsl b/tests/reflection/multi-file.hlsl
index 4a9cf9a86..fd9235ab5 100644
--- a/tests/reflection/multi-file.hlsl
+++ b/tests/reflection/multi-file.hlsl
@@ -1,56 +1,36 @@
-//TEST:REFLECTION:-entry mainFS -profile ps_4_0 -target hlsl tests/reflection/multi-file-extra.hlsl -entry mainVS -profile vs_4_0
+//TEST:REFLECTION:-D__SLANG__ -entry mainVS -profile vs_4_0 -target hlsl tests/reflection/multi-file-extra.hlsl -entry mainFS -profile ps_4_0
// Here we are testing the case where multiple translation units are provided
// at once, so that we want combined reflection information for the resulting
// program. The other part of this program is in `multi-file-extra.hlsl`.
-float4 use(float val) { return val; };
-float4 use(float2 val) { return float4(val,0.0,0.0); };
-float4 use(float3 val) { return float4(val,0.0); };
-float4 use(float4 val) { return val; };
-float4 use(Texture2D t, SamplerState s)
-{
- // This is the vertex shader, so we can't do implicit-gradient sampling
- return t.SampleGrad(s, 0.0, 0.0, 0.0);
-}
+#include "multi-file-defines.h"
-// Start with some parameters that will appear in both shaders
-Texture2D sharedT;
-SamplerState sharedS;
-cbuffer sharedC
-{
- float3 sharedCA;
- float sharedCB;
- float3 sharedCC;
- float2 sharedCD;
-}
+#ifdef __SLANG__
+import multi_file_shared;
+#else
+#include "multi-file-shared.slang"
+#endif
-// Then some parameters specific to this shader
-// (these will get placed before the ones in the `extra` file,
-// based on how they get named on the command-line)
+Texture2D vertexT R(: register(t0));
+SamplerState vertexS R(: register(s0));
-Texture2D vertexT;
-SamplerState vertexS;
-cbuffer vertexC
+BEGIN_CBUFFER(vertexC)
{
- float3 vertexCA;
- float vertexCB;
- float3 vertexCC;
- float2 vertexCD;
+ float3 vertexCA;
+ float vertexCB;
+ float3 vertexCC;
+ float2 vertexCD;
}
+END_CBUFFER(vertexC, register(b0))
-// And end with some shared parameters again
-Texture2D sharedTV;
-Texture2D sharedTF;
-
-
-float4 mainFS() : SV_Target
+float4 mainVS() : SV_POSITION
{
- // Go ahead and use everything here, just to make sure things got placed correctly
- return use(sharedT, sharedS)
- + use(sharedCD)
- + use(vertexT, vertexS)
- + use(vertexCD)
- + use(sharedTV, vertexS)
- ;
-} \ No newline at end of file
+ // Go ahead and use everything here, just to make sure things got placed correctly
+ return use(sharedT, sharedS)
+ + use(CBUFFER_REF(sharedC, sharedCD))
+ + use(vertexT, vertexS)
+ + use(CBUFFER_REF(vertexC, vertexCD))
+ + use(sharedTV, vertexS)
+ ;
+}
diff --git a/tests/reflection/multi-file.hlsl.expected b/tests/reflection/multi-file.hlsl.expected
index 4ad95fb35..814c648e0 100644
--- a/tests/reflection/multi-file.hlsl.expected
+++ b/tests/reflection/multi-file.hlsl.expected
@@ -5,7 +5,7 @@ standard output = {
{
"parameters": [
{
- "name": "sharedT",
+ "name": "vertexT",
"binding": {"kind": "shaderResource", "index": 0},
"type": {
"kind": "resource",
@@ -13,14 +13,14 @@ standard output = {
}
},
{
- "name": "sharedS",
+ "name": "vertexS",
"binding": {"kind": "samplerState", "index": 0},
"type": {
"kind": "samplerState"
}
},
{
- "name": "sharedC",
+ "name": "vertexC",
"binding": {"kind": "constantBuffer", "index": 0},
"type": {
"kind": "constantBuffer",
@@ -28,7 +28,7 @@ standard output = {
"kind": "struct",
"fields": [
{
- "name": "sharedCA",
+ "name": "vertexCA",
"type": {
"kind": "vector",
"elementCount": 3,
@@ -40,7 +40,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 0, "size": 12}
},
{
- "name": "sharedCB",
+ "name": "vertexCB",
"type": {
"kind": "scalar",
"scalarType": "float32"
@@ -48,7 +48,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 12, "size": 4}
},
{
- "name": "sharedCC",
+ "name": "vertexCC",
"type": {
"kind": "vector",
"elementCount": 3,
@@ -60,7 +60,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 16, "size": 12}
},
{
- "name": "sharedCD",
+ "name": "vertexCD",
"type": {
"kind": "vector",
"elementCount": 2,
@@ -76,7 +76,7 @@ standard output = {
}
},
{
- "name": "vertexT",
+ "name": "fragmentT",
"binding": {"kind": "shaderResource", "index": 1},
"type": {
"kind": "resource",
@@ -84,14 +84,14 @@ standard output = {
}
},
{
- "name": "vertexS",
+ "name": "fragmentS",
"binding": {"kind": "samplerState", "index": 1},
"type": {
"kind": "samplerState"
}
},
{
- "name": "vertexC",
+ "name": "fragmentC",
"binding": {"kind": "constantBuffer", "index": 1},
"type": {
"kind": "constantBuffer",
@@ -99,7 +99,7 @@ standard output = {
"kind": "struct",
"fields": [
{
- "name": "vertexCA",
+ "name": "fragmentCA",
"type": {
"kind": "vector",
"elementCount": 3,
@@ -111,7 +111,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 0, "size": 12}
},
{
- "name": "vertexCB",
+ "name": "fragmentCB",
"type": {
"kind": "scalar",
"scalarType": "float32"
@@ -119,7 +119,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 12, "size": 4}
},
{
- "name": "vertexCC",
+ "name": "fragmentCC",
"type": {
"kind": "vector",
"elementCount": 3,
@@ -131,7 +131,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 16, "size": 12}
},
{
- "name": "vertexCD",
+ "name": "fragmentCD",
"type": {
"kind": "vector",
"elementCount": 2,
@@ -147,7 +147,7 @@ standard output = {
}
},
{
- "name": "sharedTV",
+ "name": "sharedT",
"binding": {"kind": "shaderResource", "index": 2},
"type": {
"kind": "resource",
@@ -155,30 +155,14 @@ standard output = {
}
},
{
- "name": "sharedTF",
- "binding": {"kind": "shaderResource", "index": 3},
- "type": {
- "kind": "resource",
- "baseShape": "texture2D"
- }
- },
- {
- "name": "fragmentT",
- "binding": {"kind": "shaderResource", "index": 4},
- "type": {
- "kind": "resource",
- "baseShape": "texture2D"
- }
- },
- {
- "name": "fragmentS",
+ "name": "sharedS",
"binding": {"kind": "samplerState", "index": 2},
"type": {
"kind": "samplerState"
}
},
{
- "name": "fragmentC",
+ "name": "sharedC",
"binding": {"kind": "constantBuffer", "index": 2},
"type": {
"kind": "constantBuffer",
@@ -186,7 +170,7 @@ standard output = {
"kind": "struct",
"fields": [
{
- "name": "fragmentCA",
+ "name": "sharedCA",
"type": {
"kind": "vector",
"elementCount": 3,
@@ -198,7 +182,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 0, "size": 12}
},
{
- "name": "fragmentCB",
+ "name": "sharedCB",
"type": {
"kind": "scalar",
"scalarType": "float32"
@@ -206,7 +190,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 12, "size": 4}
},
{
- "name": "fragmentCC",
+ "name": "sharedCC",
"type": {
"kind": "vector",
"elementCount": 3,
@@ -218,7 +202,7 @@ standard output = {
"binding": {"kind": "uniform", "offset": 16, "size": 12}
},
{
- "name": "fragmentCD",
+ "name": "sharedCD",
"type": {
"kind": "vector",
"elementCount": 2,
@@ -232,16 +216,32 @@ standard output = {
]
}
}
+ },
+ {
+ "name": "sharedTV",
+ "binding": {"kind": "shaderResource", "index": 3},
+ "type": {
+ "kind": "resource",
+ "baseShape": "texture2D"
+ }
+ },
+ {
+ "name": "sharedTF",
+ "binding": {"kind": "shaderResource", "index": 4},
+ "type": {
+ "kind": "resource",
+ "baseShape": "texture2D"
+ }
}
],
"entryPoints": [
{
- "name": "mainFS",
- "stage:": "fragment"
- },
- {
"name": "mainVS",
"stage:": "vertex"
+ },
+ {
+ "name": "mainFS",
+ "stage:": "fragment"
}
]
}