summaryrefslogtreecommitdiff
path: root/source/slang
diff options
context:
space:
mode:
authorYONGH\yongh <yonghe@outlook.com>2017-10-20 18:24:30 -0400
committerYONGH\yongh <yonghe@outlook.com>2017-10-20 18:24:30 -0400
commit0ee4d4b54732239b946bae7fde32bb21aa5a3ec3 (patch)
tree0c5f4a7f6f43e60802d354aa98a3983994f4f4bd /source/slang
parent5a18dc704a2f5eecebcbdd77682a40ba8316d253 (diff)
in-progress work: allow render-test to generate and bind various resource inputs for running test shaders with arbitrary parameter definitions.
This commit contains the parser of the resource input definition.
Diffstat (limited to 'source/slang')
-rw-r--r--source/slang/bytecode.h2
-rw-r--r--source/slang/check.cpp3
-rw-r--r--source/slang/emit.cpp1
-rw-r--r--source/slang/glsl.meta.slang.h2
-rw-r--r--source/slang/ir.cpp6
-rw-r--r--source/slang/lower-to-ir.cpp1
6 files changed, 9 insertions, 6 deletions
diff --git a/source/slang/bytecode.h b/source/slang/bytecode.h
index f38007ba9..75b9f15cd 100644
--- a/source/slang/bytecode.h
+++ b/source/slang/bytecode.h
@@ -243,7 +243,7 @@ struct BCHeader
// entry points for each target.
};
-struct CompileRequest;
+class CompileRequest;
void generateBytecodeForCompileRequest(
CompileRequest* compileReq);
diff --git a/source/slang/check.cpp b/source/slang/check.cpp
index f12e7e55d..5ebb22999 100644
--- a/source/slang/check.cpp
+++ b/source/slang/check.cpp
@@ -4,6 +4,7 @@
#include "compiler.h"
#include "visitor.h"
+#include "../core/secure-crt.h"
#include <assert.h>
namespace Slang
@@ -4887,7 +4888,7 @@ namespace Slang
if (auto decl = dynamic_cast<CallableDecl*>(candidate.item.declRef.decl))
{
char buffer[1024];
- sprintf(buffer, "[this:%p, primary:%p, next:%p]",
+ sprintf_s(buffer, sizeof(buffer), "[this:%p, primary:%p, next:%p]",
decl,
decl->primaryDecl,
decl->nextDecl);
diff --git a/source/slang/emit.cpp b/source/slang/emit.cpp
index 971f0345b..da9489a75 100644
--- a/source/slang/emit.cpp
+++ b/source/slang/emit.cpp
@@ -4517,6 +4517,7 @@ emitDeclImpl(decl, nullptr);
switch(inst->op)
{
+ case 0: // nothing yet
default:
emit(getIRName(inst));
break;
diff --git a/source/slang/glsl.meta.slang.h b/source/slang/glsl.meta.slang.h
index e43a51ea9..a4aade3c2 100644
--- a/source/slang/glsl.meta.slang.h
+++ b/source/slang/glsl.meta.slang.h
@@ -173,7 +173,7 @@ sb << "syntax patch : GLSLPatchModifier;\n";
// [GLSL 4.5] Interpolation Qualifiers
sb << "syntax smooth : SimpleModifier;\n";
sb << "syntax flat : SimpleModifier;\n";
-sb << "syntax noperspectie : SimpleModifier;\n";
+sb << "syntax noperspective : SimpleModifier;\n";
// [GLSL 4.3.2] Constant Qualifier
diff --git a/source/slang/ir.cpp b/source/slang/ir.cpp
index 5ace50397..4bf9de5d3 100644
--- a/source/slang/ir.cpp
+++ b/source/slang/ir.cpp
@@ -1614,9 +1614,9 @@ namespace Slang
// There are several ops we want to special-case here,
// so that they will be more pleasant to look at.
//
+#if 0
switch (op)
{
-#if 0
case kIROp_Module:
dumpIndent(context);
dump(context, "module\n");
@@ -1688,11 +1688,11 @@ namespace Slang
dumpChildrenRaw(context, block);
}
return;
-#endif
default:
break;
}
+#endif
#if 0
// We also want to special-case based on the *type*
@@ -2918,7 +2918,7 @@ namespace Slang
// TODO: are there any instruction types that need to be handled
// specially here? That would be anything that has more state
// than is visible in its operand list...
-
+ case 0: // nothing yet
default:
{
// The common case is that we just need to construct a cloned
diff --git a/source/slang/lower-to-ir.cpp b/source/slang/lower-to-ir.cpp
index a3d67b670..327902e4a 100644
--- a/source/slang/lower-to-ir.cpp
+++ b/source/slang/lower-to-ir.cpp
@@ -338,6 +338,7 @@ LoweredValInfo emitCallToVal(
auto builder = context->irBuilder;
switch (funcVal.flavor)
{
+ case LoweredValInfo::Flavor::None:
default:
return LoweredValInfo::simple(
builder->emitCallInst(type, getSimpleVal(context, funcVal), argCount, args));