summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-07-10 09:04:50 -0700
committerTim Foley <tfoley@nvidia.com>2017-07-10 09:04:50 -0700
commit7af89d178736637cfad9c195f85f7f83e2f4ba99 (patch)
treeb4b616b7e4b6c84e737a86ce4fc5d61107c1a966
parent0e220da96b819f3a31635689f78ad20bd9a36d0b (diff)
Cleanups for test cases:
- Allow a code-generation target of `NONE` in order to suppress ordinary output in test cases where we don't care about the actual output (just pass/fail result) - Add explicit `location` layout qualifiers to intermediate vertex-to-fragment variables in GLSL test cases for rendering, to work around apparent Intel driver bugs.
-rw-r--r--slang.h1
-rw-r--r--source/slang/compiler.cpp4
-rw-r--r--source/slang/compiler.h1
-rw-r--r--source/slang/emit.cpp5
-rw-r--r--source/slang/options.cpp1
-rw-r--r--tests/preprocessor/import.hlsl2
-rw-r--r--tests/render/cross-compile0.hlsl4
-rw-r--r--tests/render/imported-parameters.hlsl4
-rw-r--r--tests/render/pound-import.hlsl4
9 files changed, 19 insertions, 7 deletions
diff --git a/slang.h b/slang.h
index b6f35f255..87419bf45 100644
--- a/slang.h
+++ b/slang.h
@@ -66,6 +66,7 @@ extern "C"
enum
{
SLANG_TARGET_UNKNOWN,
+ SLANG_TARGET_NONE,
SLANG_GLSL,
SLANG_GLSL_VULKAN,
SLANG_GLSL_VULKAN_ONE_DESC,
diff --git a/source/slang/compiler.cpp b/source/slang/compiler.cpp
index f9c188764..2f6204eb2 100644
--- a/source/slang/compiler.cpp
+++ b/source/slang/compiler.cpp
@@ -461,6 +461,10 @@ namespace Slang
}
break;
+ case CodeGenTarget::None:
+ // The user requested no output
+ break;
+
// Note(tfoley): We currently hit this case when compiling the stdlib
case CodeGenTarget::Unknown:
break;
diff --git a/source/slang/compiler.h b/source/slang/compiler.h
index e106973bc..cb7eb6265 100644
--- a/source/slang/compiler.h
+++ b/source/slang/compiler.h
@@ -36,6 +36,7 @@ namespace Slang
enum class CodeGenTarget
{
Unknown = SLANG_TARGET_UNKNOWN,
+ None = SLANG_TARGET_NONE,
GLSL = SLANG_GLSL,
GLSL_Vulkan = SLANG_GLSL_VULKAN,
GLSL_Vulkan_OneDesc = SLANG_GLSL_VULKAN_ONE_DESC,
diff --git a/source/slang/emit.cpp b/source/slang/emit.cpp
index 01b3e8cc2..155e1e39a 100644
--- a/source/slang/emit.cpp
+++ b/source/slang/emit.cpp
@@ -2159,6 +2159,11 @@ struct EmitVisitor
void EmitStmt(RefPtr<StatementSyntaxNode> stmt)
{
+ // TODO(tfoley): this shouldn't occur, but sometimes
+ // lowering will get confused by an empty function body...
+ if (!stmt)
+ return;
+
// Try to ensure that debugging can find the right location
advanceToSourceLocation(stmt->Position);
diff --git a/source/slang/options.cpp b/source/slang/options.cpp
index 53c441f6b..bb292a4dc 100644
--- a/source/slang/options.cpp
+++ b/source/slang/options.cpp
@@ -230,6 +230,7 @@ struct OptionsParser
CASE(spirv, SPIRV);
CASE(spirv-assembly, SPIRV_ASM);
+ CASE(none, TARGET_NONE);
#undef CASE
diff --git a/tests/preprocessor/import.hlsl b/tests/preprocessor/import.hlsl
index 486023678..f0618a667 100644
--- a/tests/preprocessor/import.hlsl
+++ b/tests/preprocessor/import.hlsl
@@ -1,4 +1,4 @@
-//TEST:SIMPLE:-profile vs_5_0
+//TEST:SIMPLE:-target none -profile vs_5_0
// Confirm that `#import` interacts with preprocessor as expected
diff --git a/tests/render/cross-compile0.hlsl b/tests/render/cross-compile0.hlsl
index d300e2bd5..d40f3460f 100644
--- a/tests/render/cross-compile0.hlsl
+++ b/tests/render/cross-compile0.hlsl
@@ -97,8 +97,8 @@ uniform Uniforms
#define ASSEMBLED_VERTEX(QUAL) \
/* */
-#define V2F(QUAL) \
- QUAL vec3 coarse_color; \
+#define V2F(QUAL) \
+ layout(location = 0) QUAL vec3 coarse_color; \
/* */
// Vertex Shader
diff --git a/tests/render/imported-parameters.hlsl b/tests/render/imported-parameters.hlsl
index 605214fc9..99216728e 100644
--- a/tests/render/imported-parameters.hlsl
+++ b/tests/render/imported-parameters.hlsl
@@ -84,8 +84,8 @@ FragmentStageOutput fragmentMain(FragmentStageInput input)
#define ASSEMBLED_VERTEX(QUAL) \
/* */
-#define V2F(QUAL) \
- QUAL vec3 coarse_color; \
+#define V2F(QUAL) \
+ layout(location = 0) QUAL vec3 coarse_color; \
/* */
// Vertex Shader
diff --git a/tests/render/pound-import.hlsl b/tests/render/pound-import.hlsl
index a9b625fb6..07b195966 100644
--- a/tests/render/pound-import.hlsl
+++ b/tests/render/pound-import.hlsl
@@ -97,8 +97,8 @@ uniform Uniforms
#define ASSEMBLED_VERTEX(QUAL) \
/* */
-#define V2F(QUAL) \
- QUAL vec3 coarse_color; \
+#define V2F(QUAL) \
+ layout(location = 0) QUAL vec3 coarse_color; \
/* */
// Vertex Shader