summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.promote.frag
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.promote.frag')
-rw-r--r--3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.promote.frag79
1 files changed, 79 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.promote.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.promote.frag
new file mode 100644
index 00000000000..89d3e680409
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.promote.frag
@@ -0,0 +1,79 @@
+
+struct PS_OUTPUT { float4 color : SV_Target0; };
+
+int i;
+uint u;
+float f;
+bool b;
+
+int2 i2;
+uint2 u2;
+float2 f2;
+bool2 b2;
+
+Buffer <float> g_tTexbfs;
+Texture1D <float4> g_tTex1df4;
+uint upos;
+float fpos;
+
+PS_OUTPUT main()
+{
+ // Same shapes:
+
+ float r00 = max(b, f);
+ uint r01 = max(b, u);
+ int r02 = max(b, i);
+ float r03 = max(i, f);
+ float r04 = max(u, f);
+
+ float2 r10 = max(b2, f2);
+ uint2 r11 = max(b2, u2);
+ int2 r12 = max(b2, i2);
+ float2 r13 = max(i2, f2);
+ float2 r14 = max(u2, f2);
+
+ float2 r20 = clamp(i2, u2, f2); // 3 args, converts all to best type.
+ uint2 r21 = clamp(b2, u2, b2);
+ float2 r22 = clamp(b2, f2, b2);
+
+ // Mixed shapes:
+ float2 r30 = max(b, f2);
+ uint2 r31 = max(b, u2);
+ int2 r32 = max(b, i2);
+ float2 r33 = max(i, f2);
+ float2 r34 = max(u, f2);
+
+ float2 r40 = clamp(i, u2, f2); // 3 args, converts all to best type.
+ uint2 r41 = clamp(b2, u, b2);
+ float2 r42 = clamp(b2, f, b);
+ int2 r43 = clamp(i, i2, u2);
+
+ float r50 = g_tTexbfs.Load(upos);
+ float r51 = g_tTexbfs.Load(fpos);
+
+ int MipLevel;
+
+ uint WidthU;
+ uint HeightU;
+ uint ElementsU;
+ uint DepthU;
+ uint NumberOfLevelsU;
+ uint NumberOfSamplesU;
+
+ int WidthI;
+ int HeightI;
+ int ElementsI;
+ int DepthI;
+ int NumberOfLevelsI;
+ int NumberOfSamplesI;
+
+ g_tTex1df4 . GetDimensions(WidthI);
+ g_tTex1df4 . GetDimensions(6, WidthI, NumberOfLevelsU);
+ g_tTex1df4 . GetDimensions(6, WidthU, NumberOfLevelsI);
+ g_tTex1df4 . GetDimensions(6, WidthI, NumberOfLevelsI);
+
+ // max(i2, f2);
+ PS_OUTPUT ps_output;
+ ps_output.color = r00;
+ return ps_output;
+};