summaryrefslogtreecommitdiffstats
path: root/tests/bindings/multi-file-extra.hlsl
blob: 9be7a34a0986e685efbeb305e598757136031959 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//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`

#include "multi-file-defines.h"

#ifdef __SLANG__
import multi_file_shared;
#else
#include "multi-file-shared.slang"
#endif

Texture2D fragmentT R(: register(t1));
SamplerState fragmentS R(: register(s1));

BEGIN_CBUFFER(fragmentC)
{
	float3 fragmentCA;
	float  fragmentCB;
	float3 fragmentCC;
	float2 fragmentCD;
}
END_CBUFFER(fragmentC, register(b1))

float4 main() : SV_TARGET
{
	// Go ahead and use everything here, just to make sure things got placed correctly
	return use(sharedT, sharedS)
		+  use(CBUFFER_REF(sharedC,sharedCD))
		+  use(fragmentT, fragmentS)
		+  use(CBUFFER_REF(fragmentC, fragmentCD))
		+  use(sharedTF, sharedS)
		;
}