From f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Tue, 29 Oct 2024 14:49:26 +0800 Subject: format * format * Minor test fixes * enable checking cpp format in ci --- source/slang/slang-ir-spirv-snippet.cpp | 115 ++++++++++++++++---------------- 1 file changed, 56 insertions(+), 59 deletions(-) (limited to 'source/slang/slang-ir-spirv-snippet.cpp') diff --git a/source/slang/slang-ir-spirv-snippet.cpp b/source/slang/slang-ir-spirv-snippet.cpp index 055eb982b..df94b2974 100644 --- a/source/slang/slang-ir-spirv-snippet.cpp +++ b/source/slang/slang-ir-spirv-snippet.cpp @@ -1,9 +1,10 @@ // slang-ir-spirv-snippet.cpp #include "slang-ir-spirv-snippet.h" -#include "slang-lookup-spirv.h" -#include "../core/slang-token-reader.h" + #include "../compiler-core/slang-spirv-core-grammar.h" +#include "../core/slang-token-reader.h" +#include "slang-lookup-spirv.h" namespace Slang { @@ -53,36 +54,35 @@ SpvWord readWordOrWordLiteral(Misc::TokenReader& reader) SpvWord ret = 0; do { - switch(reader.NextToken().Type) + switch (reader.NextToken().Type) { - case Slang::Misc::TokenType::IntLiteral: - ret = reader.ReadUInt(); - break; - case Slang::Misc::TokenType::Identifier: - { - const auto i = reader.ReadWord(); -#define GO(x) if(i == #x) ret |= Spv ## x - GO(ScopeWorkgroup); - else GO(ScopeDevice); - else GO(MemorySemanticsMaskNone); - else GO(MemorySemanticsAcquireReleaseMask); - else GO(MemorySemanticsUniformMemoryMask); - else GO(MemorySemanticsImageMemoryMask); - else GO(MemorySemanticsAtomicCounterMemoryMask); - else GO(MemorySemanticsWorkgroupMemoryMask); + case Slang::Misc::TokenType::IntLiteral: ret = reader.ReadUInt(); break; + case Slang::Misc::TokenType::Identifier: + { + const auto i = reader.ReadWord(); +#define GO(x) \ + if (i == #x) \ + ret |= Spv##x + GO(ScopeWorkgroup); + else GO(ScopeDevice); + else GO(MemorySemanticsMaskNone); + else GO(MemorySemanticsAcquireReleaseMask); + else GO(MemorySemanticsUniformMemoryMask); + else GO(MemorySemanticsImageMemoryMask); + else GO(MemorySemanticsAtomicCounterMemoryMask); + else GO(MemorySemanticsWorkgroupMemoryMask); #undef GO - else - { - reader.Back(1); - throw Misc::TextFormatException( - "Text parsing error: Unrecognized SPIR-V enum: " + i); - } + else + { + reader.Back(1); + throw Misc::TextFormatException( + "Text parsing error: Unrecognized SPIR-V enum: " + i); } - break; - default: - throw Misc::TextFormatException("Text parsing error: Expected int or SPIR-V enum"); + } + break; + default: throw Misc::TextFormatException("Text parsing error: Expected int or SPIR-V enum"); } - } while(reader.AdvanceIf(Misc::TokenType::OpBitOr)); + } while (reader.AdvanceIf(Misc::TokenType::OpBitOr)); return ret; } @@ -101,7 +101,6 @@ RefPtr SpvSnippet::parse( { auto storageToken = tokenReader.ReadWord(); snippet->resultStorageClass = translateStorageClass(storageToken); - } while (!tokenReader.IsEnd()) { @@ -115,24 +114,22 @@ RefPtr SpvSnippet::parse( SpvOp opCode; switch (tokenReader.NextToken().Type) { - case Slang::Misc::TokenType::IntLiteral: - opCode = (SpvOp)tokenReader.ReadInt(); - break; + case Slang::Misc::TokenType::IntLiteral: opCode = (SpvOp)tokenReader.ReadInt(); break; case Slang::Misc::TokenType::Identifier: - { - auto opName = tokenReader.ReadWord(); - const auto opCodeMaybe = spirvGrammar.opcodes.lookup(opName.getUnownedSlice()); - if(!opCodeMaybe) { - throw Misc::TextFormatException( - "Text parsing error: Unrecognized SPIR-V opcode: " + opName); + auto opName = tokenReader.ReadWord(); + const auto opCodeMaybe = spirvGrammar.opcodes.lookup(opName.getUnownedSlice()); + if (!opCodeMaybe) + { + throw Misc::TextFormatException( + "Text parsing error: Unrecognized SPIR-V opcode: " + opName); + } + opCode = *opCodeMaybe; + break; } - opCode = *opCodeMaybe; - break; - } default: - throw Misc::TextFormatException( - "Text parsing error: SPIR-V intrinsics must begin with an integer or opcode name"); + throw Misc::TextFormatException("Text parsing error: SPIR-V intrinsics must " + "begin with an integer or opcode name"); } inst.opCode = opCode; bool insideOperandList = true; @@ -146,19 +143,20 @@ RefPtr SpvSnippet::parse( return (SpvWord)tokenReader.ReadInt(); break; case Slang::Misc::TokenType::Identifier: - { - if(isGLSLstd450OpcodeAllowed) { - auto opName = tokenReader.ReadWord(); - GLSLstd450 glslOpcode; - if(!lookupGLSLstd450(opName.getUnownedSlice(), glslOpcode)) + if (isGLSLstd450OpcodeAllowed) { - throw Misc::TextFormatException( - "Text parsing error: Unrecognized SPIR-V GLSLstd450 opcode: " + opName); + auto opName = tokenReader.ReadWord(); + GLSLstd450 glslOpcode; + if (!lookupGLSLstd450(opName.getUnownedSlice(), glslOpcode)) + { + throw Misc::TextFormatException( + "Text parsing error: Unrecognized SPIR-V GLSLstd450 opcode: " + + opName); + } + return (SpvWord)glslOpcode; } - return (SpvWord)glslOpcode; } - } // fallthrough default: throw Misc::TextFormatException( @@ -277,7 +275,7 @@ RefPtr SpvSnippet::parse( constant.floatValues[i] = tokenReader.ReadFloat(); ++i; break; - + default: constant.intValues[i] = readWordOrWordLiteral(tokenReader); ++i; @@ -289,7 +287,7 @@ RefPtr SpvSnippet::parse( operand.content = (SpvWord)(snippet->constants.getCount() - 1); inst.operands.add(operand); } - else if(isGLSLstd450OpcodeAllowed) + else if (isGLSLstd450OpcodeAllowed) { GLSLstd450 glslstd450Opcode; lookupGLSLstd450(identifier.getUnownedSlice(), glslstd450Opcode); @@ -299,13 +297,12 @@ RefPtr SpvSnippet::parse( } else { - SLANG_UNEXPECTED(("Invalid SPV ASM operand: \"" + identifier + "\"").getBuffer()); + SLANG_UNEXPECTED( + ("Invalid SPV ASM operand: \"" + identifier + "\"").getBuffer()); } } break; - default: - insideOperandList = false; - break; + default: insideOperandList = false; break; } } snippet->instructions.add(inst); @@ -319,4 +316,4 @@ RefPtr SpvSnippet::parse( } -} +} // namespace Slang -- cgit v1.2.3