Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2018-10-26 11:53:11 +0300
committerHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2018-10-27 01:22:30 +0300
commit6157bf3caee1294153f18a703e0bcef26d011cf3 (patch)
tree86ed29d1554e4d444f10186db49fe8c8f21b25f6 /shaders
parentbfeb388edfb63c9a927e517b634abaaa5bfb1caf (diff)
Add Windows support in Travis CI.
- Add new Windows support - Use CMake/CTest instead of Make + shell scripts - Use --parallel in CTest - Fix CTest on Windows - Cleanups in test_shaders.py - Force specific commit for SPIRV-Headers - Fix Inf/NaN odd-ball case by moving to ASM
Diffstat (limited to 'shaders')
-rw-r--r--shaders/asm/frag/inf-nan-constant-double.asm.frag41
-rw-r--r--shaders/asm/frag/inf-nan-constant.asm.frag29
-rw-r--r--shaders/desktop-only/frag/inf-nan-constant-double.desktop.frag13
-rw-r--r--shaders/frag/inf-nan-constant.frag14
4 files changed, 70 insertions, 27 deletions
diff --git a/shaders/asm/frag/inf-nan-constant-double.asm.frag b/shaders/asm/frag/inf-nan-constant-double.asm.frag
new file mode 100644
index 00000000..2d0c18a9
--- /dev/null
+++ b/shaders/asm/frag/inf-nan-constant-double.asm.frag
@@ -0,0 +1,41 @@
+; SPIR-V
+; Version: 1.0
+; Generator: Khronos Glslang Reference Front End; 7
+; Bound: 22
+; Schema: 0
+ OpCapability Shader
+ OpCapability Float64
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %FragColor %vTmp
+ OpExecutionMode %main OriginUpperLeft
+ OpSource GLSL 450
+ OpName %main "main"
+ OpName %FragColor "FragColor"
+ OpName %vTmp "vTmp"
+ OpDecorate %FragColor Location 0
+ OpDecorate %vTmp Flat
+ OpDecorate %vTmp Location 0
+ %void = OpTypeVoid
+ %3 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v3float = OpTypeVector %float 3
+%_ptr_Output_v3float = OpTypePointer Output %v3float
+ %FragColor = OpVariable %_ptr_Output_v3float Output
+ %double = OpTypeFloat 64
+ %v3double = OpTypeVector %double 3
+%double_0x1p_1024 = OpConstant %double 0x1p+1024
+%double_n0x1p_1024 = OpConstant %double -0x1p+1024
+%double_0x1_8p_1024 = OpConstant %double 0x1.8p+1024
+ %15 = OpConstantComposite %v3double %double_0x1p_1024 %double_n0x1p_1024 %double_0x1_8p_1024
+%_ptr_Input_double = OpTypePointer Input %double
+ %vTmp = OpVariable %_ptr_Input_double Input
+ %main = OpFunction %void None %3
+ %5 = OpLabel
+ %18 = OpLoad %double %vTmp
+ %19 = OpCompositeConstruct %v3double %18 %18 %18
+ %20 = OpFAdd %v3double %15 %19
+ %21 = OpFConvert %v3float %20
+ OpStore %FragColor %21
+ OpReturn
+ OpFunctionEnd
diff --git a/shaders/asm/frag/inf-nan-constant.asm.frag b/shaders/asm/frag/inf-nan-constant.asm.frag
new file mode 100644
index 00000000..40e5d3a8
--- /dev/null
+++ b/shaders/asm/frag/inf-nan-constant.asm.frag
@@ -0,0 +1,29 @@
+; SPIR-V
+; Version: 1.0
+; Generator: Khronos Glslang Reference Front End; 7
+; Bound: 14
+; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %FragColor
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 310
+ OpName %main "main"
+ OpName %FragColor "FragColor"
+ OpDecorate %FragColor Location 0
+ %void = OpTypeVoid
+ %3 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v3float = OpTypeVector %float 3
+%_ptr_Output_v3float = OpTypePointer Output %v3float
+ %FragColor = OpVariable %_ptr_Output_v3float Output
+%float_0x1p_128 = OpConstant %float 0x1p+128
+%float_n0x1p_128 = OpConstant %float -0x1p+128
+%float_0x1_8p_128 = OpConstant %float 0x1.8p+128
+ %13 = OpConstantComposite %v3float %float_0x1p_128 %float_n0x1p_128 %float_0x1_8p_128
+ %main = OpFunction %void None %3
+ %5 = OpLabel
+ OpStore %FragColor %13
+ OpReturn
+ OpFunctionEnd
diff --git a/shaders/desktop-only/frag/inf-nan-constant-double.desktop.frag b/shaders/desktop-only/frag/inf-nan-constant-double.desktop.frag
deleted file mode 100644
index d2a80fe0..00000000
--- a/shaders/desktop-only/frag/inf-nan-constant-double.desktop.frag
+++ /dev/null
@@ -1,13 +0,0 @@
-#version 450
-
-const double posinf = 1.0lf / 0.0lf;
-const double neginf = -1.0lf / 0.0lf;
-const double nan = 0.0lf / 0.0lf;
-
-layout(location = 0) out vec3 FragColor;
-layout(location = 0) flat in double vTmp;
-
-void main()
-{
- FragColor = vec3(dvec3(posinf, neginf, nan) + vTmp);
-}
diff --git a/shaders/frag/inf-nan-constant.frag b/shaders/frag/inf-nan-constant.frag
deleted file mode 100644
index 78b93c31..00000000
--- a/shaders/frag/inf-nan-constant.frag
+++ /dev/null
@@ -1,14 +0,0 @@
-#version 310 es
-precision highp float;
-
-const float posinf = 1.0 / 0.0;
-const float neginf = -1.0 / 0.0;
-const float nan = 0.0 / 0.0;
-
-layout(location = 0) out vec3 FragColor;
-
-void main()
-{
- FragColor = vec3(posinf, neginf, nan);
-}
-