summaryrefslogtreecommitdiff
path: root/source/slang/slang.cpp
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2017-07-13 09:54:47 -0700
committerGitHub <noreply@github.com>2017-07-13 09:54:47 -0700
commitc963b44aa48a4349e20a0afcd423b55b1996d2fa (patch)
tree88f7f0b51d679cc308437461b8c210e828efeda0 /source/slang/slang.cpp
parent9058358792fa393e0e92af80f24a54a037aa9691 (diff)
parentc51fd4ee8f478aa3d3b7e6208a3a4e9c00e2413a (diff)
Merge pull request #85 from tfoleyNV/working
Various bug fixes
Diffstat (limited to 'source/slang/slang.cpp')
-rw-r--r--source/slang/slang.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp
index 0561f30a9..bfc499c1b 100644
--- a/source/slang/slang.cpp
+++ b/source/slang/slang.cpp
@@ -880,8 +880,29 @@ SLANG_API void const* spGetEntryPointCode(
{
auto req = REQ(request);
Slang::CompileResult& result = req->entryPoints[entryPointIndex]->result;
- if(outSize) *outSize = result.outputBinary.Count();
- return result.outputBinary.Buffer();
+
+ void const* data = nullptr;
+ size_t size = 0;
+
+ switch (result.format)
+ {
+ case Slang::ResultFormat::None:
+ default:
+ break;
+
+ case Slang::ResultFormat::Binary:
+ data = result.outputBinary.Buffer();
+ size = result.outputBinary.Count();
+ break;
+
+ case Slang::ResultFormat::Text:
+ data = result.outputString.Buffer();
+ size = result.outputString.Length();
+ break;
+ }
+
+ if(outSize) *outSize = size;
+ return data;
}
// Reflection API