diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2017-07-13 09:54:47 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-13 09:54:47 -0700 |
| commit | c963b44aa48a4349e20a0afcd423b55b1996d2fa (patch) | |
| tree | 88f7f0b51d679cc308437461b8c210e828efeda0 /source/slang/slang.cpp | |
| parent | 9058358792fa393e0e92af80f24a54a037aa9691 (diff) | |
| parent | c51fd4ee8f478aa3d3b7e6208a3a4e9c00e2413a (diff) | |
Merge pull request #85 from tfoleyNV/working
Various bug fixes
Diffstat (limited to 'source/slang/slang.cpp')
| -rw-r--r-- | source/slang/slang.cpp | 25 |
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 |
