summaryrefslogtreecommitdiffstats
path: root/tests/render
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2018-02-02 08:49:04 -0800
committerGitHub <noreply@github.com>2018-02-02 08:49:04 -0800
commit0360f81b9741ece65768a65731bd23455a3b7a96 (patch)
treeeab15cf6737cf091bf94d073e82c7b233f958e57 /tests/render
parentb034398ab12d3cc3a5fc04174688cb707404791d (diff)
Remove support for the -no-checking flag (#392)
* Remove support for the -no-checking flag Fixes #381 Fixes #383 Work on #382 - No longer expose flag through API (`SLANG_COMPILE_FLAG_NO_CHECKING`) and command-line (`-no-checking`) options - Remove all logic in `check.cpp` that was withholding diagnostics (including errors) when the no-checking mode was enabled - Remove `HiddenImplicitCastExpr`, which was only created to support no-checking mode (it represented an implicit cast that our checking through was needed, but couldn't emit because it might be wrong) - Remove logic for storing function bodies as raw token lists when checking is turned off. I'm leaving in the `UnparsedStmt` AST node in case we ever need/want to lazily parse and check function bodies down the line. - Remove a few of the code-generation paths we had to contend with, but keep the comment about them in place. - Remove GLSL-based tests that can't meaningfully work with the new approach. - Fix other tests that used a GLSL baseline so that their GLSL compiles with `-pass-through glslang` instead of invoking `slang` with the `-no-checking` flag. - Remove tests that were explicitly added to test the "rewriter + IR" path, since that is no longer supported. There is more cleanup that can be done here, now that we know that AST-based rewrite and IR will never co-exist, but it is probably easier to deal with that as part of removing the AST-based rewrite path. We've lost some test coverage here, but actually not too much if we consider that we are dropping GLSL input anyway. * Fixup: test runner was mis-counting ignored tests * Fixup: turn on dumping on test failure under Travis * Fixup: enable extensions in Linux build of glslang
Diffstat (limited to 'tests/render')
-rw-r--r--tests/render/cross-compile0.hlsl21
-rw-r--r--tests/render/imported-parameters.hlsl28
-rw-r--r--tests/render/unused-discard.hlsl28
3 files changed, 71 insertions, 6 deletions
diff --git a/tests/render/cross-compile0.hlsl b/tests/render/cross-compile0.hlsl
index 861336b1c..889d3ec15 100644
--- a/tests/render/cross-compile0.hlsl
+++ b/tests/render/cross-compile0.hlsl
@@ -6,12 +6,11 @@
// but the two will share a dependency on a file of
// pure Spire code that provides the actual shading logic.
+#if defined(__HLSL__)
// Pull in Spire code depdendency using extended syntax:
__import cross_compile0;
-#if defined(__HLSL__)
-
cbuffer Uniforms
{
float4x4 modelViewProjection;
@@ -89,6 +88,24 @@ FragmentStageOutput fragmentMain(FragmentStageInput input)
#version 420
+float saturate(float x)
+{
+ return clamp(x, float(0), float(1));
+}
+
+vec3 transformColor(vec3 color)
+{
+ vec3 result;
+
+ result.x = sin(20.0 * (color.x + color.y));
+ result.y = saturate(cos(color.z * 30.0));
+ result.z = sin(color.x * color.y * color.z * 100.0);
+
+ result = 0.5 * (result + 1);
+
+ return result;
+}
+
uniform Uniforms
{
mat4x4 modelViewProjection;
diff --git a/tests/render/imported-parameters.hlsl b/tests/render/imported-parameters.hlsl
index 99216728e..faffeaf24 100644
--- a/tests/render/imported-parameters.hlsl
+++ b/tests/render/imported-parameters.hlsl
@@ -4,11 +4,11 @@
// correctly handle cases where top-level shader
// parameters are declared in an `import`ed file.
+#if defined(__HLSL__)
+
// Pull in Spire code depdendency using extended syntax:
__import imported_parameters;
-#if defined(__HLSL__)
-
struct AssembledVertex
{
float3 position;
@@ -81,6 +81,30 @@ FragmentStageOutput fragmentMain(FragmentStageInput input)
#version 420
+layout(binding = 0)
+uniform Uniforms
+{
+ mat4x4 modelViewProjection;
+};
+
+float saturate(float x)
+{
+ return clamp(x, float(0), float(1));
+}
+
+vec3 transformColor(vec3 color)
+{
+ vec3 result;
+
+ result.x = sin(20.0 * (color.x + color.y));
+ result.y = saturate(cos(color.z * 30.0));
+ result.z = sin(color.x * color.y * color.z * 100.0);
+
+ result = 0.5 * (result + 1);
+
+ return result;
+}
+
#define ASSEMBLED_VERTEX(QUAL) \
/* */
diff --git a/tests/render/unused-discard.hlsl b/tests/render/unused-discard.hlsl
index dad2f78e3..a47405f56 100644
--- a/tests/render/unused-discard.hlsl
+++ b/tests/render/unused-discard.hlsl
@@ -7,11 +7,11 @@
// pure Spire code that provides the actual shading logic.
+#if defined(__HLSL__)
+
// Pull in Spire code depdendency using extended syntax:
__import unused_discard;
-#if defined(__HLSL__)
-
cbuffer Uniforms
{
float4x4 modelViewProjection;
@@ -91,6 +91,24 @@ FragmentStageOutput fragmentMain(FragmentStageInput input)
#version 420
+float saturate(float x)
+{
+ return clamp(x, float(0), float(1));
+}
+
+vec3 transformColor(vec3 color)
+{
+ vec3 result;
+
+ result.x = sin(20.0 * (color.x + color.y));
+ result.y = saturate(cos(color.z * 30.0));
+ result.z = sin(color.x * color.y * color.z * 100.0);
+
+ result = 0.5 * (result + 1);
+
+ return result;
+}
+
uniform Uniforms
{
mat4x4 modelViewProjection;
@@ -129,6 +147,12 @@ void main()
#ifdef __GLSL_FRAGMENT__
+void doConditionalDiscard(vec3 color)
+{
+ if(color.x < 0.5)
+ discard;
+}
+
V2F(in)
layout(location = 0)