summaryrefslogtreecommitdiffstats
path: root/tests/rewriter/resources-in-structs.glsl
blob: f45c5b19fe1ed8ce52f24b7e0012d4624fbec7f4 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#version 450 core
//TEST_DISABLED:COMPARE_GLSL:-profile glsl_fragment

#if defined(__SLANG__)

__import resources_in_structs;

uniform U
{
	Material m;
};

in vec2 uv;

out vec4 color;

void main()
{
	color = evaluateMaterial(m, uv);
}

#else

struct Material
{
	vec4 color;
};

vec4 evaluateMaterial(
	Material 	m,
	texture2D 	m_t,
	sampler		m_s,
	vec2 		uv)
{
	return m.color + texture(sampler2D(m_t, m_s), uv);
}

layout(binding = 0)
uniform U
{
	Material m;
};

layout(binding = 1)
uniform texture2D SLANG_parameterGroup_U_m_t;

layout(binding = 2)
uniform sampler SLANG_parameterGroup_U_m_s;

layout(location = 0)
in vec2 uv;

layout(location = 0)
out vec4 color;

void main()
{
	Material SLANG_tmp_0 = m;
	color = evaluateMaterial(
		SLANG_tmp_0,
		SLANG_parameterGroup_U_m_t,
		SLANG_parameterGroup_U_m_s, uv);
}

#endif