Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Format code for PR #6529 #8

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions source/compiler-core/slang-downstream-compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -401,8 +401,10 @@ class DownstreamCompilerBase : public ComBaseObject, public IDownstreamCompiler
return SLANG_FAIL;
}

virtual SLANG_NO_THROW SlangResult SLANG_MCALL
disassembleWithResult(const uint32_t* contents, int contentsSize, String& outString) SLANG_OVERRIDE
virtual SLANG_NO_THROW SlangResult SLANG_MCALL disassembleWithResult(
const uint32_t* contents,
int contentsSize,
String& outString) SLANG_OVERRIDE
{
SLANG_UNUSED(contents);
SLANG_UNUSED(contentsSize);
Expand Down
15 changes: 10 additions & 5 deletions source/compiler-core/slang-glslang-compiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@ class GlslangDownstreamCompiler : public DownstreamCompilerBase
validate(const uint32_t* contents, int contentsSize) SLANG_OVERRIDE;
virtual SLANG_NO_THROW SlangResult SLANG_MCALL
disassemble(const uint32_t* contents, int contentsSize) SLANG_OVERRIDE;
virtual SLANG_NO_THROW SlangResult SLANG_MCALL
disassembleWithResult(const uint32_t* contents, int contentsSize, String& outString) SLANG_OVERRIDE;
virtual SLANG_NO_THROW SlangResult SLANG_MCALL disassembleWithResult(
const uint32_t* contents,
int contentsSize,
String& outString) SLANG_OVERRIDE;
int link(
const uint32_t** modules,
const uint32_t* moduleSizes,
Expand Down Expand Up @@ -89,8 +91,8 @@ SlangResult GlslangDownstreamCompiler::init(ISlangSharedLibrary* library)
m_validate = (glslang_ValidateSPIRVFunc)library->findFuncByName("glslang_validateSPIRV");
m_disassemble =
(glslang_DisassembleSPIRVFunc)library->findFuncByName("glslang_disassembleSPIRV");
m_disassembleWithResult =
(glslang_DisassembleSPIRVWithResultFunc)library->findFuncByName("glslang_disassembleSPIRVWithResult");
m_disassembleWithResult = (glslang_DisassembleSPIRVWithResultFunc)library->findFuncByName(
"glslang_disassembleSPIRVWithResult");
m_link = (glslang_LinkSPIRVFunc)library->findFuncByName("glslang_linkSPIRV");

if (m_compile_1_0 == nullptr && m_compile_1_1 == nullptr && m_compile_1_2 == nullptr)
Expand Down Expand Up @@ -321,7 +323,10 @@ SlangResult GlslangDownstreamCompiler::validate(const uint32_t* contents, int co
return SLANG_FAIL;
}

SlangResult GlslangDownstreamCompiler::disassembleWithResult(const uint32_t* contents, int contentsSize, String& outString)
SlangResult GlslangDownstreamCompiler::disassembleWithResult(
const uint32_t* contents,
int contentsSize,
String& outString)
{
if (m_disassembleWithResult == nullptr)
{
Expand Down
15 changes: 9 additions & 6 deletions source/slang-glslang/slang-glslang.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,11 +187,14 @@ extern "C"
// Disassemble the given SPIRV-ASM instructions and return the result as a string.
extern "C"
#ifdef _MSC_VER
_declspec(dllexport)
_declspec(dllexport)
#else
__attribute__((__visibility__("default")))
#endif
bool glslang_disassembleSPIRVWithResult(const uint32_t * contents, int contentsSize, char** outString)
bool glslang_disassembleSPIRVWithResult(
const uint32_t* contents,
int contentsSize,
char** outString)
{
static const auto kDefaultEnvironment = SPV_ENV_UNIVERSAL_1_5;
spv_text text;
Expand All @@ -217,10 +220,10 @@ bool glslang_disassembleSPIRVWithResult(const uint32_t * contents, int contentsS
if (outString)
{
// Allocate memory for the output string and copy the result
size_t len = text->length + 1; // +1 for null terminator
size_t len = text->length + 1; // +1 for null terminator
*outString = new char[len];
memcpy(*outString, text->str, text->length);
(*outString)[text->length] = '\0'; // Ensure null termination
(*outString)[text->length] = '\0'; // Ensure null termination
}

spvTextDestroy(text);
Expand All @@ -232,11 +235,11 @@ bool glslang_disassembleSPIRVWithResult(const uint32_t * contents, int contentsS
// Disassemble the given SPIRV-ASM instructions.
extern "C"
#ifdef _MSC_VER
_declspec(dllexport)
_declspec(dllexport)
#else
__attribute__((__visibility__("default")))
#endif
bool glslang_disassembleSPIRV(const uint32_t * contents, int contentsSize)
bool glslang_disassembleSPIRV(const uint32_t* contents, int contentsSize)
{
return glslang_disassembleSPIRVWithResult(contents, contentsSize, nullptr);
}
Expand Down
5 changes: 4 additions & 1 deletion source/slang-glslang/slang-glslang.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,9 @@ typedef int (*glslang_CompileFunc_1_1)(glslang_CompileRequest_1_1* request);
typedef int (*glslang_CompileFunc_1_2)(glslang_CompileRequest_1_2* request);
typedef bool (*glslang_ValidateSPIRVFunc)(const uint32_t* contents, int contentsSize);
typedef bool (*glslang_DisassembleSPIRVFunc)(const uint32_t* contents, int contentsSize);
typedef bool (*glslang_DisassembleSPIRVWithResultFunc)(const uint32_t* contents, int contentsSize, char** outString);
typedef bool (*glslang_DisassembleSPIRVWithResultFunc)(
const uint32_t* contents,
int contentsSize,
char** outString);
typedef bool (*glslang_LinkSPIRVFunc)(glslang_LinkRequest* request);
#endif
6 changes: 4 additions & 2 deletions source/slang-llvm/slang-llvm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,10 @@ class LLVMDownstreamCompiler : public ComBaseObject, public IDownstreamCompiler
SLANG_UNUSED(contentsSize);
return SLANG_FAIL;
}
virtual SLANG_NO_THROW SlangResult SLANG_MCALL
disassembleWithResult(const uint32_t* contents, int contentsSize, String& outString) SLANG_OVERRIDE
virtual SLANG_NO_THROW SlangResult SLANG_MCALL disassembleWithResult(
const uint32_t* contents,
int contentsSize,
String& outString) SLANG_OVERRIDE
{
SLANG_UNUSED(contents);
SLANG_UNUSED(contentsSize);
Expand Down
10 changes: 6 additions & 4 deletions source/slang/slang-ir.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7202,15 +7202,17 @@ static void dumpInstExpr(IRDumpContext* context, IRInst* inst)
// Get the compiler from the session through the module
auto module = inst->getModule();
auto session = module->getSession();
IDownstreamCompiler* compiler = session->getOrLoadDownstreamCompiler(
PassThroughMode::SpirvDis,
nullptr);
IDownstreamCompiler* compiler =
session->getOrLoadDownstreamCompiler(PassThroughMode::SpirvDis, nullptr);

if (compiler)
{
// Use glslang interface to disassemble with string output
String disassemblyOutput;
if (SLANG_SUCCEEDED(compiler->disassembleWithResult(spirvCode, int(spirvWordCount), disassemblyOutput)))
if (SLANG_SUCCEEDED(compiler->disassembleWithResult(
spirvCode,
int(spirvWordCount),
disassemblyOutput)))
{
// Dump the captured disassembly
dump(context, "\n");
Expand Down
Loading