diff --git a/3rdparty/glslang/SPIRV/GlslangToSpv.cpp b/3rdparty/glslang/SPIRV/GlslangToSpv.cpp index 1e03909bf..ebb723008 100755 --- a/3rdparty/glslang/SPIRV/GlslangToSpv.cpp +++ b/3rdparty/glslang/SPIRV/GlslangToSpv.cpp @@ -222,8 +222,7 @@ spv::SourceLanguage TranslateSourceLanguage(glslang::EShSource source, EProfile return spv::SourceLanguageUnknown; } case glslang::EShSourceHlsl: - // Use SourceLanguageUnknown instead of SourceLanguageHLSL for now, until Vulkan knows what HLSL is - return spv::SourceLanguageUnknown; + return spv::SourceLanguageHLSL; default: return spv::SourceLanguageUnknown; } @@ -2728,7 +2727,23 @@ void TGlslangToSpvTraverser::updateMemberOffset(const glslang::TType& /*structTy int memberSize; int dummyStride; int memberAlignment = glslangIntermediate->getBaseAlignment(memberType, memberSize, dummyStride, explicitLayout == glslang::ElpStd140, matrixLayout == glslang::ElmRowMajor); + + // Adjust alignment for HLSL rules + if (glslangIntermediate->usingHlslOFfsets() && + ! memberType.isArray() && memberType.isVector()) { + int dummySize; + int componentAlignment = glslangIntermediate->getBaseAlignmentScalar(memberType, dummySize); + if (componentAlignment <= 4) + memberAlignment = componentAlignment; + } + + // Bump up to member alignment glslang::RoundToPow2(currentOffset, memberAlignment); + + // Bump up to vec4 if there is a bad straddle + if (glslangIntermediate->improperStraddle(memberType, memberSize, currentOffset)) + glslang::RoundToPow2(currentOffset, 16); + nextOffset = currentOffset + memberSize; } diff --git a/3rdparty/glslang/SPIRV/doc.cpp b/3rdparty/glslang/SPIRV/doc.cpp index a99522b6f..903421c68 100755 --- a/3rdparty/glslang/SPIRV/doc.cpp +++ b/3rdparty/glslang/SPIRV/doc.cpp @@ -68,9 +68,9 @@ namespace spv { // Also, the ceilings are declared next to these, to help keep them in sync. // Ceilings should be // - one more than the maximum value an enumerant takes on, for non-mask enumerants -// (for non-sparse enums, this is the number of enumurants) +// (for non-sparse enums, this is the number of enumerants) // - the number of bits consumed by the set of masks -// (for non-sparse mask enums, this is the number of enumurants) +// (for non-sparse mask enums, this is the number of enumerants) // const int SourceLanguageCeiling = 6; // HLSL todo: need official enumerant diff --git a/3rdparty/glslang/SPIRV/spirv.hpp b/3rdparty/glslang/SPIRV/spirv.hpp index 5580c403a..91cb59eb3 100755 --- a/3rdparty/glslang/SPIRV/spirv.hpp +++ b/3rdparty/glslang/SPIRV/spirv.hpp @@ -61,6 +61,7 @@ enum SourceLanguage { SourceLanguageGLSL = 2, SourceLanguageOpenCL_C = 3, SourceLanguageOpenCL_CPP = 4, + SourceLanguageHLSL = 5, SourceLanguageMax = 0x7fffffff, }; @@ -137,6 +138,7 @@ enum StorageClass { StorageClassPushConstant = 9, StorageClassAtomicCounter = 10, StorageClassImage = 11, + StorageClassStorageBuffer = 12, StorageClassMax = 0x7fffffff, }; @@ -616,12 +618,16 @@ enum Capability { CapabilitySubgroupBallotKHR = 4423, CapabilityDrawParameters = 4427, CapabilitySubgroupVoteKHR = 4431, + CapabilityStorageBuffer16BitAccess = 4433, CapabilityStorageUniformBufferBlock16 = 4433, CapabilityStorageUniform16 = 4434, + CapabilityUniformAndStorageBuffer16BitAccess = 4434, CapabilityStoragePushConstant16 = 4435, CapabilityStorageInputOutput16 = 4436, CapabilityDeviceGroup = 4437, CapabilityMultiView = 4439, + CapabilityVariablePointersStorageBuffer = 4441, + CapabilityVariablePointers = 4442, CapabilitySampleMaskOverrideCoverageNV = 5249, CapabilityGeometryShaderPassthroughNV = 5251, CapabilityShaderViewportIndexLayerNV = 5254, diff --git a/3rdparty/glslang/StandAlone/StandAlone.cpp b/3rdparty/glslang/StandAlone/StandAlone.cpp index 0da690e9a..60dbc4dae 100644 --- a/3rdparty/glslang/StandAlone/StandAlone.cpp +++ b/3rdparty/glslang/StandAlone/StandAlone.cpp @@ -51,6 +51,8 @@ #include #include #include +#include +#include #include "../glslang/OSDependent/osinclude.h" @@ -84,6 +86,7 @@ enum TOptions { EOptionFlattenUniformArrays = (1 << 20), EOptionNoStorageFormat = (1 << 21), EOptionKeepUncalled = (1 << 22), + EOptionHlslOffsets = (1 << 23), }; // @@ -150,13 +153,6 @@ void ProcessConfigFile() delete[] config; } -// thread-safe list of shaders to asynchronously grab and compile -glslang::TWorklist Worklist; - -// array of unique places to leave the shader names and infologs for the asynchronous compiles -glslang::TWorkItem** Work = 0; -int NumWorkItems = 0; - int Options = 0; const char* ExecutableName = nullptr; const char* binaryFileName = nullptr; @@ -253,7 +249,7 @@ void ProcessBindingBase(int& argc, char**& argv, std::array>& workItems, int argc, char* argv[]) { baseSamplerBinding.fill(0); baseTextureBinding.fill(0); @@ -262,10 +258,7 @@ void ProcessArguments(int argc, char* argv[]) baseSsboBinding.fill(0); ExecutableName = argv[0]; - NumWorkItems = argc; // will include some empties where the '-' options were, but it doesn't matter, they'll be 0 - Work = new glslang::TWorkItem*[NumWorkItems]; - for (int w = 0; w < NumWorkItems; ++w) - Work[w] = 0; + workItems.reserve(argc); argc--; argv++; @@ -319,8 +312,7 @@ void ProcessArguments(int argc, char* argv[]) } else Error("no provided for --variable-name"); break; - } - else if (lowerword == "source-entrypoint" || // synonyms + } else if (lowerword == "source-entrypoint" || // synonyms lowerword == "sep") { sourceEntryPointName = argv[1]; if (argc > 0) { @@ -332,6 +324,8 @@ void ProcessArguments(int argc, char* argv[]) } else if (lowerword == "keep-uncalled" || // synonyms lowerword == "ku") { Options |= EOptionKeepUncalled; + } else if (lowerword == "hlsl-offsets") { + Options |= EOptionHlslOffsets; } else { usage(); } @@ -420,9 +414,7 @@ void ProcessArguments(int argc, char* argv[]) Options |= EOptionSuppressInfolog; break; case 't': - #ifdef _WIN32 - Options |= EOptionMultiThreaded; - #endif + Options |= EOptionMultiThreaded; break; case 'v': Options |= EOptionDumpVersions; @@ -440,8 +432,7 @@ void ProcessArguments(int argc, char* argv[]) } else { std::string name(argv[0]); if (! SetConfigFile(name)) { - Work[argc] = new glslang::TWorkItem(name); - Worklist.add(Work[argc]); + workItems.push_back(std::unique_ptr(new glslang::TWorkItem(name))); } } } @@ -482,20 +473,20 @@ void SetMessageOptions(EShMessages& messages) messages = (EShMessages)(messages | EShMsgCascadingErrors); if (Options & EOptionKeepUncalled) messages = (EShMessages)(messages | EShMsgKeepUncalled); + if (Options & EOptionHlslOffsets) + messages = (EShMessages)(messages | EShMsgHlslOffsets); } // // Thread entry point, for non-linking asynchronous mode. // -// Return 0 for failure, 1 for success. -// -unsigned int CompileShaders(void*) +void CompileShaders(glslang::TWorklist& worklist) { glslang::TWorkItem* workItem; - while (Worklist.remove(workItem)) { + while (worklist.remove(workItem)) { ShHandle compiler = ShConstructCompiler(FindLanguage(workItem->name), Options); if (compiler == 0) - return 0; + return; CompileFile(workItem->name.c_str(), compiler); @@ -504,8 +495,6 @@ unsigned int CompileShaders(void*) ShDestruct(compiler); } - - return 0; } // Outputs the given string, but only if it is non-null and non-empty. @@ -705,7 +694,7 @@ void CompileAndLinkShaderUnits(std::vector compUnits) // performance and memory testing, the actual compile/link can be put in // a loop, independent of processing the work items and file IO. // -void CompileAndLinkShaderFiles() +void CompileAndLinkShaderFiles(glslang::TWorklist& Worklist) { std::vector compUnits; @@ -747,11 +736,19 @@ void CompileAndLinkShaderFiles() int C_DECL main(int argc, char* argv[]) { - ProcessArguments(argc, argv); + // array of unique places to leave the shader names and infologs for the asynchronous compiles + std::vector> workItems; + ProcessArguments(workItems, argc, argv); + + glslang::TWorklist workList; + std::for_each(workItems.begin(), workItems.end(), [&workList](std::unique_ptr& item) { + assert(item); + workList.add(item.get()); + }); if (Options & EOptionDumpConfig) { printf("%s", glslang::GetDefaultTBuiltInResourceString().c_str()); - if (Worklist.empty()) + if (workList.empty()) return ESuccess; } @@ -766,11 +763,11 @@ int C_DECL main(int argc, char* argv[]) printf("Khronos Tool ID %d\n", glslang::GetKhronosToolId()); printf("GL_KHR_vulkan_glsl version %d\n", 100); printf("ARB_GL_gl_spirv version %d\n", 100); - if (Worklist.empty()) + if (workList.empty()) return ESuccess; } - if (Worklist.empty()) { + if (workList.empty()) { usage(); } @@ -784,47 +781,42 @@ int C_DECL main(int argc, char* argv[]) if (Options & EOptionLinkProgram || Options & EOptionOutputPreprocessed) { glslang::InitializeProcess(); - CompileAndLinkShaderFiles(); + CompileAndLinkShaderFiles(workList); glslang::FinalizeProcess(); - for (int w = 0; w < NumWorkItems; ++w) { - if (Work[w]) { - delete Work[w]; - } - } } else { ShInitialize(); - bool printShaderNames = Worklist.size() > 1; + bool printShaderNames = workList.size() > 1; - if (Options & EOptionMultiThreaded) { - const int NumThreads = 16; - void* threads[NumThreads]; - for (int t = 0; t < NumThreads; ++t) { - threads[t] = glslang::OS_CreateThread(&CompileShaders); - if (! threads[t]) { + if (Options & EOptionMultiThreaded) + { + std::array threads; + for (unsigned int t = 0; t < threads.size(); ++t) + { + threads[t] = std::thread(CompileShaders, std::ref(workList)); + if (threads[t].get_id() == std::thread::id()) + { printf("Failed to create thread\n"); return EFailThreadCreate; } } - glslang::OS_WaitForAllThreads(threads, NumThreads); + + std::for_each(threads.begin(), threads.end(), [](std::thread& t) { t.join(); }); } else - CompileShaders(0); + CompileShaders(workList); // Print out all the resulting infologs - for (int w = 0; w < NumWorkItems; ++w) { - if (Work[w]) { - if (printShaderNames || Work[w]->results.size() > 0) - PutsIfNonEmpty(Work[w]->name.c_str()); - PutsIfNonEmpty(Work[w]->results.c_str()); - delete Work[w]; + for (size_t w = 0; w < workItems.size(); ++w) { + if (workItems[w]) { + if (printShaderNames || workItems[w]->results.size() > 0) + PutsIfNonEmpty(workItems[w]->name.c_str()); + PutsIfNonEmpty(workItems[w]->results.c_str()); } } ShFinalize(); } - delete[] Work; - if (CompileFailed) return EFailCompile; if (LinkFailed) @@ -1010,8 +1002,13 @@ void usage() "\n" " --keep-uncalled don't eliminate uncalled functions when linking\n" " --ku synonym for --keep-uncalled\n" - " --variable-name Creates a C header file that contains a uint32_t array named initialized with the shader binary code.\n" - " --vn synonym for --variable-name .\n" + "\n" + " --variable-name Creates a C header file that contains a uint32_t array named \n" + " initialized with the shader binary code.\n" + " --vn synonym for --variable-name \n" + "\n" + " --hlsl-offsets Allow block offsets to follow HLSL rules instead of GLSL rules.\n" + " Works independently of source language.\n" ); exit(EFailUsage); diff --git a/3rdparty/glslang/StandAlone/Worklist.h b/3rdparty/glslang/StandAlone/Worklist.h index 2a14294e8..91b6f516b 100644 --- a/3rdparty/glslang/StandAlone/Worklist.h +++ b/3rdparty/glslang/StandAlone/Worklist.h @@ -36,8 +36,9 @@ #define WORKLIST_H_INCLUDED #include "../glslang/OSDependent/osinclude.h" -#include #include +#include +#include namespace glslang { @@ -58,24 +59,19 @@ namespace glslang { void add(TWorkItem* item) { - GetGlobalLock(); - + std::lock_guard guard(mutex); worklist.push_back(item); - - ReleaseGlobalLock(); } bool remove(TWorkItem*& item) { - GetGlobalLock(); + std::lock_guard guard(mutex); if (worklist.empty()) return false; item = worklist.front(); worklist.pop_front(); - ReleaseGlobalLock(); - return true; } @@ -90,6 +86,7 @@ namespace glslang { } protected: + std::mutex mutex; std::list worklist; }; diff --git a/3rdparty/glslang/Test/450.geom b/3rdparty/glslang/Test/450.geom index af6768137..83d99aa62 100644 --- a/3rdparty/glslang/Test/450.geom +++ b/3rdparty/glslang/Test/450.geom @@ -8,7 +8,10 @@ out gl_PerVertex { float gl_CullDistance[3]; }; +layout(triangles) in; + void main() { + gl_in[3].gl_Position; // ERROR, out of range gl_CullDistance[2] = gl_in[1].gl_CullDistance[2]; } diff --git a/3rdparty/glslang/Test/baseResults/450.geom.out b/3rdparty/glslang/Test/baseResults/450.geom.out index 5e6c88f9d..8d313c8df 100644 --- a/3rdparty/glslang/Test/baseResults/450.geom.out +++ b/3rdparty/glslang/Test/baseResults/450.geom.out @@ -1,72 +1,83 @@ 450.geom Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. +ERROR: 0:15: '[' : array index out of range '3' +ERROR: 0:15: 'gl_Position' : no such field in structure +ERROR: 2 compilation errors. No code generated. + Shader version: 450 invocations = -1 max_vertices = -1 -input primitive = none +input primitive = triangles output primitive = none -0:? Sequence -0:11 Function Definition: main( ( global void) -0:11 Function Parameters: -0:13 Sequence -0:13 move second child to first child ( temp float) -0:13 direct index (layout( stream=0) temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (layout( stream=0) out 3-element array of float CullDistance) -0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) -0:13 Constant: -0:13 3 (const uint) -0:13 Constant: -0:13 2 (const int) -0:13 direct index ( temp float CullDistance) -0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) -0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' ( in implicitly-sized array of block{ in 3-element array of float CullDistance gl_CullDistance}) -0:13 Constant: -0:13 1 (const int) -0:13 Constant: -0:13 0 (const int) -0:13 Constant: -0:13 2 (const int) +ERROR: node is still EOpNull! +0:13 Function Definition: main( ( global void) +0:13 Function Parameters: +0:15 Sequence +0:15 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:15 'gl_in' ( in 3-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:15 Constant: +0:15 3 (const int) +0:16 move second child to first child ( temp float) +0:16 direct index (layout( stream=0) temp float CullDistance) +0:16 gl_CullDistance: direct index for structure (layout( stream=0) out 3-element array of float CullDistance) +0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) +0:16 Constant: +0:16 3 (const uint) +0:16 Constant: +0:16 2 (const int) +0:16 direct index ( temp float CullDistance) +0:16 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:16 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:16 'gl_in' ( in 3-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:16 Constant: +0:16 1 (const int) +0:16 Constant: +0:16 0 (const int) +0:16 Constant: +0:16 2 (const int) 0:? Linker Objects -0:? 'gl_in' ( in implicitly-sized array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in 3-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) Linked geometry stage: -ERROR: Linking geometry stage: At least one shader must specify an input layout primitive ERROR: Linking geometry stage: At least one shader must specify an output layout primitive ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value) Shader version: 450 invocations = 1 max_vertices = -1 -input primitive = none +input primitive = triangles output primitive = none -0:? Sequence -0:11 Function Definition: main( ( global void) -0:11 Function Parameters: -0:13 Sequence -0:13 move second child to first child ( temp float) -0:13 direct index (layout( stream=0) temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (layout( stream=0) out 3-element array of float CullDistance) -0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) -0:13 Constant: -0:13 3 (const uint) -0:13 Constant: -0:13 2 (const int) -0:13 direct index ( temp float CullDistance) -0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) -0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' ( in 2-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) -0:13 Constant: -0:13 1 (const int) -0:13 Constant: -0:13 0 (const int) -0:13 Constant: -0:13 2 (const int) +ERROR: node is still EOpNull! +0:13 Function Definition: main( ( global void) +0:13 Function Parameters: +0:15 Sequence +0:15 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:15 'gl_in' ( in 3-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:15 Constant: +0:15 3 (const int) +0:16 move second child to first child ( temp float) +0:16 direct index (layout( stream=0) temp float CullDistance) +0:16 gl_CullDistance: direct index for structure (layout( stream=0) out 3-element array of float CullDistance) +0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) +0:16 Constant: +0:16 3 (const uint) +0:16 Constant: +0:16 2 (const int) +0:16 direct index ( temp float CullDistance) +0:16 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:16 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:16 'gl_in' ( in 3-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:16 Constant: +0:16 1 (const int) +0:16 Constant: +0:16 0 (const int) +0:16 Constant: +0:16 2 (const int) 0:? Linker Objects -0:? 'gl_in' ( in 2-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in 3-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) diff --git a/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out index a93643e55..388d34680 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out @@ -1,5 +1,5 @@ hlsl.amend.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Sequence @@ -81,7 +81,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Sequence @@ -168,6 +168,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "f1" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "f1" Name 6 "@f1(" Name 8 "f2(" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out index 1beb71f4b..7385ceabb 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out @@ -1,5 +1,5 @@ hlsl.array.flatten.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:17 Function Definition: TestFn1( ( temp 4-component vector of float) @@ -173,7 +173,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:17 Function Definition: TestFn1( ( temp 4-component vector of float) @@ -353,6 +353,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 128 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "TestFn1(" Name 22 "TestFn2(t11[3];p1[3];" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out index 58fa07773..c0c5a13ef 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out @@ -1,5 +1,5 @@ hlsl.array.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float) @@ -76,7 +76,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float) @@ -158,6 +158,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 68 72 75 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 17 "@PixelShaderFunction(i1;vf4[3];" Name 15 "i" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out index efe124000..e4854db06 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out @@ -1,5 +1,5 @@ hlsl.array.implicit-size.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Sequence @@ -83,7 +83,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Sequence @@ -171,6 +171,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out index e13399e4f..72fa2ec3d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out @@ -1,5 +1,5 @@ hlsl.array.multidim.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -68,7 +68,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -142,6 +142,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 54 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out index 0a48528ec..dcefa9cea 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out @@ -1,5 +1,5 @@ hlsl.assoc.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; ( temp 4-component vector of float) @@ -67,7 +67,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; ( temp 4-component vector of float) @@ -140,6 +140,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 31 34 37 40 43 46 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 15 "@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;" Name 10 "a1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out index bd4e96ba3..ed50b9c5c 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out @@ -1,5 +1,5 @@ hlsl.attribute.expression.comp -Shader version: 450 +Shader version: 500 local_size = (4, 6, 8) 0:? Sequence 0:9 Function Definition: @main( ( temp 4-component vector of float) @@ -42,7 +42,7 @@ local_size = (4, 6, 8) Linked compute stage: -Shader version: 450 +Shader version: 500 local_size = (4, 6, 8) 0:? Sequence 0:9 Function Definition: @main( ( temp 4-component vector of float) @@ -90,6 +90,7 @@ local_size = (4, 6, 8) MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "main" 37 ExecutionMode 4 LocalSize 4 6 8 + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 13 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out index abda4da1a..ccd7693f7 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out @@ -1,5 +1,5 @@ hlsl.attribute.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) @@ -26,7 +26,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) @@ -58,6 +58,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 19 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out index 172dfeff3..984250685 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out @@ -1,5 +1,5 @@ hlsl.basic.comp -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:4 Function Definition: @main(i1;i1; ( temp void) @@ -31,7 +31,7 @@ local_size = (1, 1, 1) Linked compute stage: -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:4 Function Definition: @main(i1;i1; ( temp void) @@ -68,6 +68,7 @@ local_size = (1, 1, 1) MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "main" 18 21 ExecutionMode 4 LocalSize 1 1 1 + Source HLSL 500 Name 4 "main" Name 11 "@main(i1;i1;" Name 9 "dti" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out b/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out index 12616d93d..64239c5df 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out @@ -1,5 +1,5 @@ hlsl.basic.geom -Shader version: 450 +Shader version: 500 invocations = -1 max_vertices = 4 input primitive = triangles @@ -43,12 +43,12 @@ output primitive = line_strip 0:20 0 (const int) 0:22 Sequence 0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something}) -0:22 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:22 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something}) 0:22 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:22 EmitVertex ( temp void) 0:23 Sequence 0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something}) -0:23 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:23 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something}) 0:23 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:23 EmitVertex ( temp void) 0:24 EndPrimitive ( temp void) @@ -68,12 +68,13 @@ output primitive = line_strip 0:? Linker Objects 0:? 'VertexID' (layout( location=0) in 3-element array of uint) 0:? 'test' (layout( location=1) in 3-element array of uint) +0:? 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something}) Linked geometry stage: -Shader version: 450 +Shader version: 500 invocations = 1 max_vertices = 4 input primitive = triangles @@ -117,12 +118,12 @@ output primitive = line_strip 0:20 0 (const int) 0:22 Sequence 0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something}) -0:22 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:22 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something}) 0:22 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:22 EmitVertex ( temp void) 0:23 Sequence 0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something}) -0:23 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:23 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something}) 0:23 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:23 EmitVertex ( temp void) 0:24 EndPrimitive ( temp void) @@ -142,19 +143,21 @@ output primitive = line_strip 0:? Linker Objects 0:? 'VertexID' (layout( location=0) in 3-element array of uint) 0:? 'test' (layout( location=1) in 3-element array of uint) +0:? 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 57 +// Id's are bound by 60 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 45 48 + EntryPoint Geometry 4 "main" 42 47 50 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputLineStrip ExecutionMode 4 OutputVertices 4 + Source HLSL 500 Name 4 "main" Name 12 "PSInput" MemberName 12(PSInput) 0 "myfloat" @@ -164,16 +167,18 @@ output primitive = line_strip Name 16 "test" Name 17 "OutputStream" Name 20 "Vert" - Name 43 "VertexID" + Name 42 "OutputStream" Name 45 "VertexID" - Name 47 "test" - Name 48 "test" - Name 50 "OutputStream" - Name 51 "param" + Name 47 "VertexID" + Name 49 "test" + Name 50 "test" + Name 52 "OutputStream" Name 53 "param" Name 55 "param" - Decorate 45(VertexID) Location 0 - Decorate 48(test) Location 1 + Name 57 "param" + Decorate 42(OutputStream) Location 0 + Decorate 47(VertexID) Location 0 + Decorate 50(test) Location 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -191,26 +196,30 @@ output primitive = line_strip 29: 11(int) Constant 2 34: TypePointer Function 10(float) 39: TypePointer Function 11(int) - 44: TypePointer Input 8 - 45(VertexID): 44(ptr) Variable Input - 48(test): 44(ptr) Variable Input + 41: TypePointer Output 12(PSInput) +42(OutputStream): 41(ptr) Variable Output + 46: TypePointer Input 8 + 47(VertexID): 46(ptr) Variable Input + 50(test): 46(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 43(VertexID): 9(ptr) Variable Function - 47(test): 9(ptr) Variable Function -50(OutputStream): 13(ptr) Variable Function - 51(param): 9(ptr) Variable Function + 45(VertexID): 9(ptr) Variable Function + 49(test): 9(ptr) Variable Function +52(OutputStream): 13(ptr) Variable Function 53(param): 9(ptr) Variable Function - 55(param): 13(ptr) Variable Function - 46: 8 Load 45(VertexID) - Store 43(VertexID) 46 - 49: 8 Load 48(test) - Store 47(test) 49 - 52: 8 Load 43(VertexID) - Store 51(param) 52 - 54: 8 Load 47(test) + 55(param): 9(ptr) Variable Function + 57(param): 13(ptr) Variable Function + 48: 8 Load 47(VertexID) + Store 45(VertexID) 48 + 51: 8 Load 50(test) + Store 49(test) 51 + 54: 8 Load 45(VertexID) Store 53(param) 54 - 56: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 51(param) 53(param) 55(param) + 56: 8 Load 49(test) + Store 55(param) 56 + 58: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 53(param) 55(param) 57(param) + 59: 12(PSInput) Load 57(param) + Store 52(OutputStream) 59 Return FunctionEnd 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;): 2 Function None 14 @@ -235,11 +244,11 @@ output primitive = line_strip 38: 11(int) Bitcast 37 40: 39(ptr) AccessChain 20(Vert) 25 Store 40 38 - 41: 12(PSInput) Load 20(Vert) - Store 17(OutputStream) 41 + 43: 12(PSInput) Load 20(Vert) + Store 42(OutputStream) 43 EmitVertex - 42: 12(PSInput) Load 20(Vert) - Store 17(OutputStream) 42 + 44: 12(PSInput) Load 20(Vert) + Store 42(OutputStream) 44 EmitVertex EndPrimitive Return diff --git a/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out index c406f24d3..623480c55 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out @@ -1,5 +1,5 @@ hlsl.buffer.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:30 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -50,7 +50,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:30 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -106,6 +106,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 46 49 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out index f018984f3..535905cad 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.calculatelod.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -179,7 +179,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -367,6 +367,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 140 144 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index 4e2e88600..f19f5d0bd 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -11,7 +11,7 @@ ERROR: 0:38: '' : unimplemented: CalculateLevelOfDetailUnclamped ERROR: 9 compilation errors. No code generated. -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -191,7 +191,7 @@ ERROR: node is still EOpNull! Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) diff --git a/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out index d17251dd6..854c94e38 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out @@ -1,5 +1,5 @@ hlsl.cast.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -37,7 +37,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -80,6 +80,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 32 35 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.clip.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.clip.frag.out index 049bd8a2f..9b2de870f 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.clip.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.clip.frag.out @@ -1,5 +1,5 @@ hlsl.clip.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: GetEntitySelectClip( ( temp float) @@ -38,7 +38,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: GetEntitySelectClip( ( temp float) @@ -82,6 +82,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 28 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "GetEntitySelectClip(" Name 12 "@main(" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out index dacdb7717..dd363c6ab 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out @@ -1,5 +1,5 @@ hlsl.comparison.vec.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: Bug1(vf4; ( temp void) @@ -132,7 +132,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: Bug1(vf4; ( temp void) @@ -270,6 +270,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 90 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "Bug1(vf4;" Name 10 "a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out index c5351384f..4028cad40 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out @@ -1,5 +1,5 @@ hlsl.conditional.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -125,7 +125,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -256,6 +256,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 95 98 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out index eed169486..90c667a3f 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out @@ -1,5 +1,5 @@ hlsl.constructexpr.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -53,7 +53,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -112,6 +112,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 37 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out index 24e698280..3d493f7ff 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out @@ -7,6 +7,7 @@ hlsl.deadFunctionMissingBody.vert 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 16 + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 16 "@entryPointOutput" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out index 8ff7e7332..f1bbb5b4a 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out @@ -1,5 +1,5 @@ hlsl.depthGreater.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left using depth_greater 0:? Sequence @@ -26,7 +26,7 @@ using depth_greater Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left using depth_greater 0:? Sequence @@ -59,6 +59,7 @@ using depth_greater EntryPoint Fragment 4 "PixelShaderFunction" 18 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthGreater + Source HLSL 500 Name 4 "PixelShaderFunction" Name 10 "@PixelShaderFunction(f1;" Name 9 "depth" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out index ef81b4a9e..7a3e926ef 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out @@ -1,5 +1,5 @@ hlsl.depthLess.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left using depth_less 0:? Sequence @@ -22,7 +22,7 @@ using depth_less Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left using depth_less 0:? Sequence @@ -51,6 +51,7 @@ using depth_less EntryPoint Fragment 4 "PixelShaderFunction" 14 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthLess + Source HLSL 500 Name 4 "PixelShaderFunction" Name 8 "@PixelShaderFunction(" Name 14 "@entryPointOutput" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out index 11f86405b..508ac5a20 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out @@ -1,5 +1,5 @@ hlsl.discard.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo(f1; ( temp void) @@ -55,7 +55,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo(f1; ( temp void) @@ -116,6 +116,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 45 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 10 "foo(f1;" Name 9 "f" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out index 35cf7482f..b427965b8 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out @@ -1,5 +1,5 @@ hlsl.doLoop.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -43,7 +43,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -92,6 +92,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 37 40 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.domain.1.tese.out b/3rdparty/glslang/Test/baseResults/hlsl.domain.1.tese.out index 550ead060..e1a414d80 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.domain.1.tese.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.domain.1.tese.out @@ -1,5 +1,5 @@ hlsl.domain.1.tese -Shader version: 450 +Shader version: 500 input primitive = triangles vertex spacing = none triangle order = none @@ -123,7 +123,7 @@ triangle order = none Linked tessellation evaluation stage: -Shader version: 450 +Shader version: 500 input primitive = triangles vertex spacing = none triangle order = none @@ -252,6 +252,7 @@ triangle order = none MemoryModel Logical GLSL450 EntryPoint TessellationEvaluation 4 "main" 51 55 61 76 81 90 ExecutionMode 4 Triangles + Source HLSL 500 Name 4 "main" Name 9 "ds_in_t" MemberName 9(ds_in_t) 0 "pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.domain.2.tese.out b/3rdparty/glslang/Test/baseResults/hlsl.domain.2.tese.out new file mode 100644 index 000000000..2336dfaa5 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/hlsl.domain.2.tese.out @@ -0,0 +1,419 @@ +hlsl.domain.2.tese +Shader version: 500 +input primitive = triangles +vertex spacing = none +triangle order = none +0:? Sequence +0:25 Function Definition: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 Function Parameters: +0:25 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 'tesscoord' ( in 3-component vector of float) +0:? Sequence +0:28 move second child to first child ( temp 4-component vector of float) +0:28 pos: direct index for structure ( temp 4-component vector of float) +0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 0 (const int) +0:28 add ( temp 4-component vector of float) +0:28 pos: direct index for structure ( temp 4-component vector of float) +0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:28 direct index ( temp float) +0:28 'tesscoord' ( in 3-component vector of float) +0:28 Constant: +0:28 0 (const int) +0:29 move second child to first child ( temp 3-component vector of float) +0:29 norm: direct index for structure ( temp 3-component vector of float) +0:29 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:29 Constant: +0:29 1 (const int) +0:29 add ( temp 3-component vector of float) +0:29 norm: direct index for structure ( temp 3-component vector of float) +0:29 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:29 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:29 Constant: +0:29 0 (const int) +0:29 Constant: +0:29 1 (const int) +0:29 direct index ( temp float) +0:29 'tesscoord' ( in 3-component vector of float) +0:29 Constant: +0:29 1 (const int) +0:31 direct index ( temp float) +0:31 'tesscoord' ( in 3-component vector of float) +0:31 Constant: +0:31 2 (const int) +0:33 Branch: Return with expression +0:33 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 Function Definition: main( ( temp void) +0:25 Function Parameters: +0:? Sequence +0:25 Sequence +0:25 move second child to first child ( temp float) +0:25 direct index ( temp float) +0:25 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 0 (const int) +0:25 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:25 Constant: +0:25 0 (const int) +0:25 move second child to first child ( temp float) +0:25 direct index ( temp float) +0:25 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 1 (const int) +0:25 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:25 Constant: +0:25 1 (const int) +0:25 move second child to first child ( temp float) +0:25 direct index ( temp float) +0:25 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 2 (const int) +0:25 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:25 Constant: +0:25 2 (const int) +0:25 move second child to first child ( temp float) +0:25 flInsideTessFactor: direct index for structure ( temp float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 1 (const int) +0:25 direct index ( patch in float TessLevelInner) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) +0:25 Constant: +0:25 0 (const int) +0:25 move second child to first child ( temp float) +0:25 foo: direct index for structure ( temp float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 2 (const int) +0:25 foo: direct index for structure ( temp float) +0:25 'pcf_data' (layout( location=2) patch in structure{ temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 move second child to first child ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 move second child to first child ( temp 3-component vector of float) +0:? 'tesscoord' ( temp 3-component vector of float) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( temp 3-component vector of float) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:? 'pcf_data' (layout( location=2) patch in structure{ temp float foo}) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) + + +Linked tessellation evaluation stage: + + +Shader version: 500 +input primitive = triangles +vertex spacing = none +triangle order = none +0:? Sequence +0:25 Function Definition: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 Function Parameters: +0:25 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 'tesscoord' ( in 3-component vector of float) +0:? Sequence +0:28 move second child to first child ( temp 4-component vector of float) +0:28 pos: direct index for structure ( temp 4-component vector of float) +0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 0 (const int) +0:28 add ( temp 4-component vector of float) +0:28 pos: direct index for structure ( temp 4-component vector of float) +0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:28 direct index ( temp float) +0:28 'tesscoord' ( in 3-component vector of float) +0:28 Constant: +0:28 0 (const int) +0:29 move second child to first child ( temp 3-component vector of float) +0:29 norm: direct index for structure ( temp 3-component vector of float) +0:29 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:29 Constant: +0:29 1 (const int) +0:29 add ( temp 3-component vector of float) +0:29 norm: direct index for structure ( temp 3-component vector of float) +0:29 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:29 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:29 Constant: +0:29 0 (const int) +0:29 Constant: +0:29 1 (const int) +0:29 direct index ( temp float) +0:29 'tesscoord' ( in 3-component vector of float) +0:29 Constant: +0:29 1 (const int) +0:31 direct index ( temp float) +0:31 'tesscoord' ( in 3-component vector of float) +0:31 Constant: +0:31 2 (const int) +0:33 Branch: Return with expression +0:33 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 Function Definition: main( ( temp void) +0:25 Function Parameters: +0:? Sequence +0:25 Sequence +0:25 move second child to first child ( temp float) +0:25 direct index ( temp float) +0:25 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 0 (const int) +0:25 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:25 Constant: +0:25 0 (const int) +0:25 move second child to first child ( temp float) +0:25 direct index ( temp float) +0:25 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 1 (const int) +0:25 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:25 Constant: +0:25 1 (const int) +0:25 move second child to first child ( temp float) +0:25 direct index ( temp float) +0:25 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 2 (const int) +0:25 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:25 Constant: +0:25 2 (const int) +0:25 move second child to first child ( temp float) +0:25 flInsideTessFactor: direct index for structure ( temp float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 1 (const int) +0:25 direct index ( patch in float TessLevelInner) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) +0:25 Constant: +0:25 0 (const int) +0:25 move second child to first child ( temp float) +0:25 foo: direct index for structure ( temp float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:25 Constant: +0:25 2 (const int) +0:25 foo: direct index for structure ( temp float) +0:25 'pcf_data' (layout( location=2) patch in structure{ temp float foo}) +0:25 Constant: +0:25 0 (const int) +0:25 move second child to first child ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 move second child to first child ( temp 3-component vector of float) +0:? 'tesscoord' ( temp 3-component vector of float) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( temp 3-component vector of float) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:? 'pcf_data' (layout( location=2) patch in structure{ temp float foo}) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 94 + + Capability Tessellation + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationEvaluation 4 "main" 52 67 73 80 84 87 + ExecutionMode 4 Triangles + Source HLSL 500 + Name 4 "main" + Name 10 "pcf_in_t" + MemberName 10(pcf_in_t) 0 "flTessFactor" + MemberName 10(pcf_in_t) 1 "flInsideTessFactor" + MemberName 10(pcf_in_t) 2 "foo" + Name 14 "ds_in_t" + MemberName 14(ds_in_t) 0 "pos" + MemberName 14(ds_in_t) 1 "norm" + Name 17 "gs_in_t" + MemberName 17(gs_in_t) 0 "pos" + MemberName 17(gs_in_t) 1 "norm" + Name 22 "@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;" + Name 19 "pcf_data" + Name 20 "i" + Name 21 "tesscoord" + Name 25 "o" + Name 48 "pcf_data" + Name 52 "pcf_data_flTessFactor" + Name 67 "pcf_data_flInsideTessFactor" + Name 71 "pcf_in_t" + MemberName 71(pcf_in_t) 0 "foo" + Name 73 "pcf_data" + Name 78 "i" + Name 80 "i" + Name 82 "tesscoord" + Name 84 "tesscoord" + Name 87 "@entryPointOutput" + Name 89 "param" + Name 91 "param" + Decorate 52(pcf_data_flTessFactor) Patch + Decorate 52(pcf_data_flTessFactor) BuiltIn TessLevelOuter + Decorate 67(pcf_data_flInsideTessFactor) Patch + Decorate 67(pcf_data_flInsideTessFactor) BuiltIn TessLevelInner + MemberDecorate 71(pcf_in_t) 0 Patch + Decorate 73(pcf_data) Patch + Decorate 73(pcf_data) Location 2 + Decorate 80(i) Location 0 + Decorate 84(tesscoord) Patch + Decorate 84(tesscoord) BuiltIn TessCoord + Decorate 87(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeInt 32 0 + 8: 7(int) Constant 3 + 9: TypeArray 6(float) 8 + 10(pcf_in_t): TypeStruct 9 6(float) 6(float) + 11: TypePointer Function 10(pcf_in_t) + 12: TypeVector 6(float) 4 + 13: TypeVector 6(float) 3 + 14(ds_in_t): TypeStruct 12(fvec4) 13(fvec3) + 15: TypeArray 14(ds_in_t) 8 + 16: TypePointer Function 13(fvec3) + 17(gs_in_t): TypeStruct 12(fvec4) 13(fvec3) + 18: TypeFunction 17(gs_in_t) 11(ptr) 15 16(ptr) + 24: TypePointer Function 17(gs_in_t) + 26: TypeInt 32 1 + 27: 26(int) Constant 0 + 29: 7(int) Constant 0 + 30: TypePointer Function 6(float) + 35: TypePointer Function 12(fvec4) + 37: 26(int) Constant 1 + 39: 7(int) Constant 1 + 49: 7(int) Constant 4 + 50: TypeArray 6(float) 49 + 51: TypePointer Input 50 +52(pcf_data_flTessFactor): 51(ptr) Variable Input + 53: TypePointer Input 6(float) + 60: 26(int) Constant 2 + 64: 7(int) Constant 2 + 65: TypeArray 6(float) 64 + 66: TypePointer Input 65 +67(pcf_data_flInsideTessFactor): 66(ptr) Variable Input + 71(pcf_in_t): TypeStruct 6(float) + 72: TypePointer Input 71(pcf_in_t) + 73(pcf_data): 72(ptr) Variable Input + 77: TypePointer Function 15 + 79: TypePointer Input 15 + 80(i): 79(ptr) Variable Input + 83: TypePointer Input 13(fvec3) + 84(tesscoord): 83(ptr) Variable Input + 86: TypePointer Output 17(gs_in_t) +87(@entryPointOutput): 86(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 48(pcf_data): 11(ptr) Variable Function + 78(i): 77(ptr) Variable Function + 82(tesscoord): 16(ptr) Variable Function + 89(param): 11(ptr) Variable Function + 91(param): 16(ptr) Variable Function + 54: 53(ptr) AccessChain 52(pcf_data_flTessFactor) 27 + 55: 6(float) Load 54 + 56: 30(ptr) AccessChain 48(pcf_data) 27 27 + Store 56 55 + 57: 53(ptr) AccessChain 52(pcf_data_flTessFactor) 37 + 58: 6(float) Load 57 + 59: 30(ptr) AccessChain 48(pcf_data) 27 37 + Store 59 58 + 61: 53(ptr) AccessChain 52(pcf_data_flTessFactor) 60 + 62: 6(float) Load 61 + 63: 30(ptr) AccessChain 48(pcf_data) 27 60 + Store 63 62 + 68: 53(ptr) AccessChain 67(pcf_data_flInsideTessFactor) 27 + 69: 6(float) Load 68 + 70: 30(ptr) AccessChain 48(pcf_data) 37 + Store 70 69 + 74: 53(ptr) AccessChain 73(pcf_data) 27 + 75: 6(float) Load 74 + 76: 30(ptr) AccessChain 48(pcf_data) 60 + Store 76 75 + 81: 15 Load 80(i) + Store 78(i) 81 + 85: 13(fvec3) Load 84(tesscoord) + Store 82(tesscoord) 85 + 88: 15 Load 78(i) + 90:10(pcf_in_t) Load 48(pcf_data) + Store 89(param) 90 + 92: 13(fvec3) Load 82(tesscoord) + Store 91(param) 92 + 93: 17(gs_in_t) FunctionCall 22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;) 89(param) 88 91(param) + Store 87(@entryPointOutput) 93 + Return + FunctionEnd +22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;): 17(gs_in_t) Function None 18 + 19(pcf_data): 11(ptr) FunctionParameter + 20(i): 15 FunctionParameter + 21(tesscoord): 16(ptr) FunctionParameter + 23: Label + 25(o): 24(ptr) Variable Function + 28: 12(fvec4) CompositeExtract 20(i) 0 0 + 31: 30(ptr) AccessChain 21(tesscoord) 29 + 32: 6(float) Load 31 + 33: 12(fvec4) CompositeConstruct 32 32 32 32 + 34: 12(fvec4) FAdd 28 33 + 36: 35(ptr) AccessChain 25(o) 27 + Store 36 34 + 38: 13(fvec3) CompositeExtract 20(i) 0 1 + 40: 30(ptr) AccessChain 21(tesscoord) 39 + 41: 6(float) Load 40 + 42: 13(fvec3) CompositeConstruct 41 41 41 + 43: 13(fvec3) FAdd 38 42 + 44: 16(ptr) AccessChain 25(o) 37 + Store 44 43 + 45: 17(gs_in_t) Load 25(o) + ReturnValue 45 + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.domain.3.tese.out b/3rdparty/glslang/Test/baseResults/hlsl.domain.3.tese.out new file mode 100644 index 000000000..d473b9629 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/hlsl.domain.3.tese.out @@ -0,0 +1,393 @@ +hlsl.domain.3.tese +Shader version: 500 +input primitive = isolines +vertex spacing = none +triangle order = none +0:? Sequence +0:24 Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 Function Parameters: +0:24 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 'tesscoord' ( in 2-component vector of float) +0:24 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:? Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:27 pos: direct index for structure ( temp 4-component vector of float) +0:27 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:27 Constant: +0:27 0 (const int) +0:27 add ( temp 4-component vector of float) +0:27 pos: direct index for structure ( temp 4-component vector of float) +0:27 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:27 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:27 Constant: +0:27 0 (const int) +0:27 Constant: +0:27 0 (const int) +0:27 direct index ( temp float) +0:27 'tesscoord' ( in 2-component vector of float) +0:27 Constant: +0:27 0 (const int) +0:28 move second child to first child ( temp 3-component vector of float) +0:28 norm: direct index for structure ( temp 3-component vector of float) +0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 1 (const int) +0:28 add ( temp 3-component vector of float) +0:28 norm: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 1 (const int) +0:28 direct index ( temp float) +0:28 'tesscoord' ( in 2-component vector of float) +0:28 Constant: +0:28 1 (const int) +0:30 Branch: Return with expression +0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 move second child to first child ( temp 2-component vector of float) +0:? 'tesscoord' ( temp 2-component vector of float) +0:? Construct vec2 ( temp 2-component vector of float) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:24 Sequence +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:24 Constant: +0:24 1 (const int) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 2 (const int) +0:24 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:24 Constant: +0:24 2 (const int) +0:24 move second child to first child ( temp float) +0:24 flInsideTessFactor: direct index for structure ( temp float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 1 (const int) +0:24 direct index ( patch in float TessLevelInner) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( temp 2-component vector of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:? 'pcf_data' (layout( location=2) patch in structure{}) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) + + +Linked tessellation evaluation stage: + + +Shader version: 500 +input primitive = isolines +vertex spacing = none +triangle order = none +0:? Sequence +0:24 Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 Function Parameters: +0:24 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 'tesscoord' ( in 2-component vector of float) +0:24 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:? Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:27 pos: direct index for structure ( temp 4-component vector of float) +0:27 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:27 Constant: +0:27 0 (const int) +0:27 add ( temp 4-component vector of float) +0:27 pos: direct index for structure ( temp 4-component vector of float) +0:27 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:27 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:27 Constant: +0:27 0 (const int) +0:27 Constant: +0:27 0 (const int) +0:27 direct index ( temp float) +0:27 'tesscoord' ( in 2-component vector of float) +0:27 Constant: +0:27 0 (const int) +0:28 move second child to first child ( temp 3-component vector of float) +0:28 norm: direct index for structure ( temp 3-component vector of float) +0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 1 (const int) +0:28 add ( temp 3-component vector of float) +0:28 norm: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 1 (const int) +0:28 direct index ( temp float) +0:28 'tesscoord' ( in 2-component vector of float) +0:28 Constant: +0:28 1 (const int) +0:30 Branch: Return with expression +0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 move second child to first child ( temp 2-component vector of float) +0:? 'tesscoord' ( temp 2-component vector of float) +0:? Construct vec2 ( temp 2-component vector of float) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:24 Sequence +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:24 Constant: +0:24 1 (const int) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 flTessFactor: direct index for structure ( temp 3-element array of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 2 (const int) +0:24 direct index ( patch in float TessLevelOuter) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:24 Constant: +0:24 2 (const int) +0:24 move second child to first child ( temp float) +0:24 flInsideTessFactor: direct index for structure ( temp float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:24 Constant: +0:24 1 (const int) +0:24 direct index ( patch in float TessLevelInner) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( temp 2-component vector of float) +0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'i' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm}) +0:? 'tesscoord' ( patch in 3-component vector of float TessCoord) +0:? 'pcf_data' (layout( location=2) patch in structure{}) +0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter) +0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 96 + + Capability Tessellation + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationEvaluation 4 "main" 54 58 67 81 86 95 + ExecutionMode 4 Isolines + Source HLSL 500 + Name 4 "main" + Name 9 "ds_in_t" + MemberName 9(ds_in_t) 0 "pos" + MemberName 9(ds_in_t) 1 "norm" + Name 17 "pcf_in_t" + MemberName 17(pcf_in_t) 0 "flTessFactor" + MemberName 17(pcf_in_t) 1 "flInsideTessFactor" + Name 19 "gs_in_t" + MemberName 19(gs_in_t) 0 "pos" + MemberName 19(gs_in_t) 1 "norm" + Name 24 "@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;" + Name 21 "i" + Name 22 "tesscoord" + Name 23 "pcf_data" + Name 27 "o" + Name 52 "i" + Name 54 "i" + Name 56 "tesscoord" + Name 58 "tesscoord" + Name 63 "pcf_data" + Name 67 "pcf_data_flTessFactor" + Name 81 "pcf_data_flInsideTessFactor" + Name 86 "@entryPointOutput" + Name 88 "param" + Name 90 "param" + Name 93 "pcf_in_t" + Name 95 "pcf_data" + Decorate 54(i) Location 0 + Decorate 58(tesscoord) Patch + Decorate 58(tesscoord) BuiltIn TessCoord + Decorate 67(pcf_data_flTessFactor) Patch + Decorate 67(pcf_data_flTessFactor) BuiltIn TessLevelOuter + Decorate 81(pcf_data_flInsideTessFactor) Patch + Decorate 81(pcf_data_flInsideTessFactor) BuiltIn TessLevelInner + Decorate 86(@entryPointOutput) Location 0 + Decorate 95(pcf_data) Patch + Decorate 95(pcf_data) Location 2 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeVector 6(float) 3 + 9(ds_in_t): TypeStruct 7(fvec4) 8(fvec3) + 10: TypeInt 32 0 + 11: 10(int) Constant 2 + 12: TypeArray 9(ds_in_t) 11 + 13: TypeVector 6(float) 2 + 14: TypePointer Function 13(fvec2) + 15: 10(int) Constant 3 + 16: TypeArray 6(float) 15 + 17(pcf_in_t): TypeStruct 16 6(float) + 18: TypePointer Function 17(pcf_in_t) + 19(gs_in_t): TypeStruct 7(fvec4) 8(fvec3) + 20: TypeFunction 19(gs_in_t) 12 14(ptr) 18(ptr) + 26: TypePointer Function 19(gs_in_t) + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 31: 10(int) Constant 0 + 32: TypePointer Function 6(float) + 37: TypePointer Function 7(fvec4) + 39: 28(int) Constant 1 + 41: 10(int) Constant 1 + 46: TypePointer Function 8(fvec3) + 51: TypePointer Function 12 + 53: TypePointer Input 12 + 54(i): 53(ptr) Variable Input + 57: TypePointer Input 8(fvec3) + 58(tesscoord): 57(ptr) Variable Input + 64: 10(int) Constant 4 + 65: TypeArray 6(float) 64 + 66: TypePointer Input 65 +67(pcf_data_flTessFactor): 66(ptr) Variable Input + 68: TypePointer Input 6(float) + 75: 28(int) Constant 2 + 79: TypeArray 6(float) 11 + 80: TypePointer Input 79 +81(pcf_data_flInsideTessFactor): 80(ptr) Variable Input + 85: TypePointer Output 19(gs_in_t) +86(@entryPointOutput): 85(ptr) Variable Output + 93(pcf_in_t): TypeStruct + 94: TypePointer Input 93(pcf_in_t) + 95(pcf_data): 94(ptr) Variable Input + 4(main): 2 Function None 3 + 5: Label + 52(i): 51(ptr) Variable Function + 56(tesscoord): 14(ptr) Variable Function + 63(pcf_data): 18(ptr) Variable Function + 88(param): 14(ptr) Variable Function + 90(param): 18(ptr) Variable Function + 55: 12 Load 54(i) + Store 52(i) 55 + 59: 8(fvec3) Load 58(tesscoord) + 60: 6(float) CompositeExtract 59 0 + 61: 6(float) CompositeExtract 59 1 + 62: 13(fvec2) CompositeConstruct 60 61 + Store 56(tesscoord) 62 + 69: 68(ptr) AccessChain 67(pcf_data_flTessFactor) 29 + 70: 6(float) Load 69 + 71: 32(ptr) AccessChain 63(pcf_data) 29 29 + Store 71 70 + 72: 68(ptr) AccessChain 67(pcf_data_flTessFactor) 39 + 73: 6(float) Load 72 + 74: 32(ptr) AccessChain 63(pcf_data) 29 39 + Store 74 73 + 76: 68(ptr) AccessChain 67(pcf_data_flTessFactor) 75 + 77: 6(float) Load 76 + 78: 32(ptr) AccessChain 63(pcf_data) 29 75 + Store 78 77 + 82: 68(ptr) AccessChain 81(pcf_data_flInsideTessFactor) 29 + 83: 6(float) Load 82 + 84: 32(ptr) AccessChain 63(pcf_data) 39 + Store 84 83 + 87: 12 Load 52(i) + 89: 13(fvec2) Load 56(tesscoord) + Store 88(param) 89 + 91:17(pcf_in_t) Load 63(pcf_data) + Store 90(param) 91 + 92: 19(gs_in_t) FunctionCall 24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;) 87 88(param) 90(param) + Store 86(@entryPointOutput) 92 + Return + FunctionEnd +24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;): 19(gs_in_t) Function None 20 + 21(i): 12 FunctionParameter + 22(tesscoord): 14(ptr) FunctionParameter + 23(pcf_data): 18(ptr) FunctionParameter + 25: Label + 27(o): 26(ptr) Variable Function + 30: 7(fvec4) CompositeExtract 21(i) 0 0 + 33: 32(ptr) AccessChain 22(tesscoord) 31 + 34: 6(float) Load 33 + 35: 7(fvec4) CompositeConstruct 34 34 34 34 + 36: 7(fvec4) FAdd 30 35 + 38: 37(ptr) AccessChain 27(o) 29 + Store 38 36 + 40: 8(fvec3) CompositeExtract 21(i) 0 1 + 42: 32(ptr) AccessChain 22(tesscoord) 41 + 43: 6(float) Load 42 + 44: 8(fvec3) CompositeConstruct 43 43 43 + 45: 8(fvec3) FAdd 40 44 + 47: 46(ptr) AccessChain 27(o) 39 + Store 47 45 + 48: 19(gs_in_t) Load 27(o) + ReturnValue 48 + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out index e0da98521..7d113936c 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out @@ -1,5 +1,5 @@ hlsl.emptystructreturn.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main(struct-ps_in1; ( temp structure{}) @@ -26,7 +26,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main(struct-ps_in1; ( temp structure{}) @@ -58,6 +58,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 20 23 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 6 "ps_in" Name 8 "ps_out" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out index ff8935246..64446bd11 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out @@ -1,5 +1,5 @@ hlsl.emptystructreturn.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:10 Function Definition: @main(struct-vs_in1; ( temp structure{}) 0:10 Function Parameters: @@ -25,7 +25,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:10 Function Definition: @main(struct-vs_in1; ( temp structure{}) 0:10 Function Parameters: @@ -55,6 +55,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 20 23 + Source HLSL 500 Name 4 "main" Name 6 "vs_in" Name 8 "vs_out" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out index 7c1561605..81441cb9a 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out @@ -1,5 +1,5 @@ hlsl.entry-in.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; ( temp float) @@ -89,7 +89,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; ( temp float) @@ -184,6 +184,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 56 63 73 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "InParam" MemberName 11(InParam) 0 "v" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out index f92605f9e..1324112ab 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out @@ -1,5 +1,5 @@ hlsl.entry-out.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) @@ -123,7 +123,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) @@ -252,6 +252,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 10 "OutParam" MemberName 10(OutParam) 0 "v" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out index 293592f85..c6a433552 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out @@ -1,5 +1,5 @@ hlsl.entry.rename.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: not_the_entry_point( ( temp void) @@ -37,7 +37,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: not_the_entry_point( ( temp void) @@ -80,6 +80,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main_in_spv" 26 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main_in_spv" Name 6 "not_the_entry_point(" Name 10 "PS_OUTPUT" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out index 9b28695f7..ee2c3f031 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out @@ -1,5 +1,5 @@ hlsl.flatten.return.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:11 Function Definition: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) @@ -60,7 +60,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:11 Function Definition: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) @@ -126,6 +126,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 29 36 41 45 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out index ad29daac4..21b1c198a 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out @@ -1,5 +1,5 @@ hlsl.float1.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -34,7 +34,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -73,6 +73,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "ShaderFunction(vf1;f1;" Name 9 "inFloat1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out index d14de7b2d..4da2a162f 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out @@ -2,7 +2,7 @@ hlsl.float4.frag WARNING: 0:5: 'register' : ignoring shader_profile WARNING: 0:6: 'register' : ignoring shader_profile -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: ShaderFunction(vf4; ( temp 4-component vector of float) @@ -24,7 +24,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: ShaderFunction(vf4; ( temp 4-component vector of float) @@ -50,6 +50,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "ShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out index a14b9ac0b..de1f1c0b7 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out @@ -1,5 +1,5 @@ hlsl.forLoop.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -128,7 +128,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -262,6 +262,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 117 120 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out index 69f8e3d7d..5f9a1caf6 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gather.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -131,7 +131,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -270,6 +270,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 107 111 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 6d2526df4..c011f5601 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gather.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -129,7 +129,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -265,6 +265,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 108 112 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out index 9eec1ca6c..46fb13caf 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -1,5 +1,5 @@ hlsl.gather.basic.dx10.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:28 Function Parameters: @@ -111,7 +111,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:28 Function Parameters: @@ -228,6 +228,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 103 128 + Source HLSL 500 Name 4 "main" Name 8 "VS_OUTPUT" MemberName 8(VS_OUTPUT) 0 "Pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out index c9213137c..8ed1c079b 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gather.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -104,7 +104,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -215,6 +215,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 79 83 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index 6b1cac30d..73ecae0c7 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gather.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -101,7 +101,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -209,6 +209,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 80 84 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index c918d9917..675e17800 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gatherRGBA.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -375,7 +375,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -758,6 +758,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 238 242 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index 7bd005a7e..4d5da5215 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gatherRGBA.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:34 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -379,7 +379,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:34 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -765,6 +765,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 238 242 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index 1d3fe467d..a4fd588ae 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gatherRGBA.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:39 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -631,7 +631,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:39 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -1270,6 +1270,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 363 367 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index 86e0a9965..23d26cc8d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gatherRGBA.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:33 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -627,7 +627,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:33 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -1263,6 +1263,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 363 367 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out index 1c7487deb..52fcdb2b9 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.gathercmpRGBA.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -180,7 +180,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -367,6 +367,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 111 115 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out index 30483db50..c3986d7c6 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.getdimensions.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:46 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -1159,7 +1159,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:46 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -2328,6 +2328,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 540 544 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out index 2faa744db..cb1eae60c 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -1,5 +1,5 @@ hlsl.getdimensions.dx10.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: @@ -59,7 +59,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: @@ -125,6 +125,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 42 50 + Source HLSL 500 Name 4 "main" Name 8 "VS_OUTPUT" MemberName 8(VS_OUTPUT) 0 "Pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out index 781ed9066..67b2f8f52 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.getdimensions.rw.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:44 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -359,7 +359,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:44 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -727,6 +727,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 216 220 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index 57097a410..4c86b759c 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -4,7 +4,7 @@ ERROR: 0:17: '' : unimplemented: GetSamplePosition ERROR: 2 compilation errors. No code generated. -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:13 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -75,7 +75,7 @@ ERROR: node is still EOpNull! Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:13 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) diff --git a/3rdparty/glslang/Test/baseResults/hlsl.hlslOffset.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.hlslOffset.vert.out new file mode 100644 index 000000000..dcd80273b --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/hlsl.hlslOffset.vert.out @@ -0,0 +1,85 @@ +hlsl.hlslOffset.vert +Shader version: 500 +0:? Sequence +0:20 Function Definition: @main( ( temp void) +0:20 Function Parameters: +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Function Call: @main( ( temp void) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform float m0, layout( row_major std140) uniform 3-component vector of float m4, layout( row_major std140) uniform float m16, layout( row_major std140 offset=20) uniform 3-component vector of float m20, layout( row_major std140 offset=36) uniform 3-component vector of float m36, layout( row_major std140 offset=56) uniform 2-component vector of float m56, layout( row_major std140) uniform float m64, layout( row_major std140) uniform 2-component vector of float m68, layout( row_major std140) uniform float m76, layout( row_major std140) uniform float m80, layout( row_major std140) uniform 1-element array of 2-component vector of float m96}) + + +Linked vertex stage: + + +Shader version: 500 +0:? Sequence +0:20 Function Definition: @main( ( temp void) +0:20 Function Parameters: +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Function Call: @main( ( temp void) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform float m0, layout( row_major std140) uniform 3-component vector of float m4, layout( row_major std140) uniform float m16, layout( row_major std140 offset=20) uniform 3-component vector of float m20, layout( row_major std140 offset=36) uniform 3-component vector of float m36, layout( row_major std140 offset=56) uniform 2-component vector of float m56, layout( row_major std140) uniform float m64, layout( row_major std140) uniform 2-component vector of float m68, layout( row_major std140) uniform float m76, layout( row_major std140) uniform float m80, layout( row_major std140) uniform 1-element array of 2-component vector of float m96}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 18 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" + Source HLSL 500 + Name 4 "main" + Name 6 "@main(" + Name 15 "b" + MemberName 15(b) 0 "m0" + MemberName 15(b) 1 "m4" + MemberName 15(b) 2 "m16" + MemberName 15(b) 3 "m20" + MemberName 15(b) 4 "m36" + MemberName 15(b) 5 "m56" + MemberName 15(b) 6 "m64" + MemberName 15(b) 7 "m68" + MemberName 15(b) 8 "m76" + MemberName 15(b) 9 "m80" + MemberName 15(b) 10 "m96" + Name 17 "" + Decorate 14 ArrayStride 16 + MemberDecorate 15(b) 0 Offset 0 + MemberDecorate 15(b) 1 Offset 4 + MemberDecorate 15(b) 2 Offset 16 + MemberDecorate 15(b) 3 Offset 20 + MemberDecorate 15(b) 4 Offset 36 + MemberDecorate 15(b) 5 Offset 56 + MemberDecorate 15(b) 6 Offset 64 + MemberDecorate 15(b) 7 Offset 68 + MemberDecorate 15(b) 8 Offset 76 + MemberDecorate 15(b) 9 Offset 80 + MemberDecorate 15(b) 10 Offset 96 + Decorate 15(b) Block + Decorate 17 DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 9: TypeFloat 32 + 10: TypeVector 9(float) 3 + 11: TypeVector 9(float) 2 + 12: TypeInt 32 0 + 13: 12(int) Constant 1 + 14: TypeArray 11(fvec2) 13 + 15(b): TypeStruct 9(float) 10(fvec3) 9(float) 10(fvec3) 10(fvec3) 11(fvec2) 9(float) 11(fvec2) 9(float) 9(float) 14 + 16: TypePointer Uniform 15(b) + 17: 16(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + 8: 2 FunctionCall 6(@main() + Return + FunctionEnd + 6(@main(): 2 Function None 3 + 7: Label + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out b/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out index a60c12263..3e1ad58b4 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out @@ -1,5 +1,5 @@ hlsl.hull.1.tesc -Shader version: 450 +Shader version: 500 vertices = 4 vertex spacing = equal_spacing 0:? Sequence @@ -114,7 +114,7 @@ vertex spacing = equal_spacing Linked tessellation control stage: -Shader version: 450 +Shader version: 500 vertices = 4 vertex spacing = equal_spacing 0:? Sequence @@ -236,6 +236,7 @@ vertex spacing = equal_spacing ExecutionMode 4 OutputVertices 4 ExecutionMode 4 Isolines ExecutionMode 4 SpacingEqual + Source HLSL 500 Name 4 "main" Name 8 "VS_OUT" MemberName 8(VS_OUT) 0 "cpoint" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out b/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out index f7c7389ed..d32da52ce 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out @@ -1,5 +1,5 @@ hlsl.hull.2.tesc -Shader version: 450 +Shader version: 500 vertices = 4 vertex spacing = equal_spacing 0:? Sequence @@ -112,7 +112,7 @@ vertex spacing = equal_spacing Linked tessellation control stage: -Shader version: 450 +Shader version: 500 vertices = 4 vertex spacing = equal_spacing 0:? Sequence @@ -232,6 +232,7 @@ vertex spacing = equal_spacing ExecutionMode 4 OutputVertices 4 ExecutionMode 4 Isolines ExecutionMode 4 SpacingEqual + Source HLSL 500 Name 4 "main" Name 8 "VS_OUT" MemberName 8(VS_OUT) 0 "cpoint" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out b/3rdparty/glslang/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out index e6deae4f2..3d2ff3db6 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out @@ -1,5 +1,5 @@ hlsl.hull.ctrlpt-1.tesc -Shader version: 450 +Shader version: 500 vertices = 3 vertex spacing = fractional_odd_spacing triangle order = cw @@ -200,7 +200,7 @@ triangle order = cw Linked tessellation control stage: -Shader version: 450 +Shader version: 500 vertices = 3 vertex spacing = fractional_odd_spacing triangle order = cw @@ -409,6 +409,7 @@ triangle order = cw ExecutionMode 4 Triangles ExecutionMode 4 SpacingFractionalOdd ExecutionMode 4 VertexOrderCw + Source HLSL 500 Name 4 "main" Name 8 "hs_in_t" MemberName 8(hs_in_t) 0 "val" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out b/3rdparty/glslang/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out new file mode 100644 index 000000000..29ab61dd8 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out @@ -0,0 +1,634 @@ +hlsl.hull.ctrlpt-2.tesc +Shader version: 500 +vertices = 3 +vertex spacing = fractional_odd_spacing +triangle order = cw +0:? Sequence +0:28 Function Definition: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:28 Function Parameters: +0:28 'i' ( in 3-element array of structure{ temp 3-component vector of float val}) +0:28 'cpid' ( in uint) +0:? Sequence +0:29 val: direct index for structure ( temp 3-component vector of float) +0:29 direct index ( temp structure{ temp 3-component vector of float val}) +0:29 'i' ( in 3-element array of structure{ temp 3-component vector of float val}) +0:29 Constant: +0:29 0 (const int) +0:29 Constant: +0:29 0 (const int) +0:32 move second child to first child ( temp 3-component vector of float) +0:32 val: direct index for structure ( temp 3-component vector of float) +0:32 'o' ( temp structure{ temp 3-component vector of float val}) +0:32 Constant: +0:32 0 (const int) +0:32 Construct vec3 ( temp 3-component vector of float) +0:32 Convert uint to float ( temp float) +0:32 'cpid' ( in uint) +0:33 Branch: Return with expression +0:33 'o' ( temp structure{ temp 3-component vector of float val}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val}) +0:28 move second child to first child ( temp uint) +0:? 'cpid' ( temp uint) +0:? 'cpid' ( in uint InvocationID) +0:28 move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:28 indirect index ( temp structure{ temp 3-component vector of float val}) +0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val}) +0:? 'cpid' ( in uint InvocationID) +0:28 Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'cpid' ( temp uint) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'cpid' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Sequence +0:? move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:? direct index ( temp structure{ temp 3-component vector of float val}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 0 (const int) +0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 0 (const uint) +0:? move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:? direct index ( temp structure{ temp 3-component vector of float val}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 1 (const int) +0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 1 (const uint) +0:? move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:? direct index ( temp structure{ temp 3-component vector of float val}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 2 (const int) +0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 2 (const uint) +0:? move second child to first child ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val}) +0:? Sequence +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelOuter) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? Constant: +0:? 0 (const int) +0:? direct index ( temp float) +0:? tfactor: direct index for structure ( temp 3-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 0 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelOuter) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? Constant: +0:? 1 (const int) +0:? direct index ( temp float) +0:? tfactor: direct index for structure ( temp 3-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 1 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelOuter) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? Constant: +0:? 2 (const int) +0:? direct index ( temp float) +0:? tfactor: direct index for structure ( temp 3-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 2 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelInner) +0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner) +0:? Constant: +0:? 0 (const int) +0:? flInFactor: direct index for structure ( temp float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 1 (const int) +0:38 Function Definition: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:38 Function Parameters: +0:38 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:38 'pcf_in' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:? Sequence +0:41 move second child to first child ( temp float) +0:41 direct index ( temp float) +0:41 tfactor: direct index for structure ( temp 3-element array of float) +0:41 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:41 Constant: +0:41 0 (const int) +0:41 Constant: +0:41 0 (const int) +0:41 direct index ( temp float) +0:41 val: direct index for structure ( temp 3-component vector of float) +0:41 direct index ( temp structure{ temp 3-component vector of float val}) +0:41 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:41 Constant: +0:41 0 (const int) +0:41 Constant: +0:41 0 (const int) +0:41 Constant: +0:41 0 (const int) +0:42 move second child to first child ( temp float) +0:42 direct index ( temp float) +0:42 tfactor: direct index for structure ( temp 3-element array of float) +0:42 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:42 Constant: +0:42 0 (const int) +0:42 Constant: +0:42 1 (const int) +0:42 direct index ( temp float) +0:42 val: direct index for structure ( temp 3-component vector of float) +0:42 direct index ( temp structure{ temp 3-component vector of float val}) +0:42 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:42 Constant: +0:42 1 (const int) +0:42 Constant: +0:42 0 (const int) +0:42 Constant: +0:42 0 (const int) +0:43 move second child to first child ( temp float) +0:43 direct index ( temp float) +0:43 tfactor: direct index for structure ( temp 3-element array of float) +0:43 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:43 Constant: +0:43 0 (const int) +0:43 Constant: +0:43 2 (const int) +0:43 direct index ( temp float) +0:43 val: direct index for structure ( temp 3-component vector of float) +0:43 direct index ( temp structure{ temp 3-component vector of float val}) +0:43 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:43 Constant: +0:43 2 (const int) +0:43 Constant: +0:43 0 (const int) +0:43 Constant: +0:43 0 (const int) +0:44 move second child to first child ( temp float) +0:44 flInFactor: direct index for structure ( temp float) +0:44 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:44 Constant: +0:44 1 (const int) +0:44 Constant: +0:44 4.000000 +0:46 Branch: Return with expression +0:46 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val}) +0:? 'cpid' ( in uint InvocationID) +0:? '@patchConstantOutput' (layout( location=1) patch out structure{}) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner) + + +Linked tessellation control stage: + + +Shader version: 500 +vertices = 3 +vertex spacing = fractional_odd_spacing +triangle order = cw +0:? Sequence +0:28 Function Definition: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:28 Function Parameters: +0:28 'i' ( in 3-element array of structure{ temp 3-component vector of float val}) +0:28 'cpid' ( in uint) +0:? Sequence +0:29 val: direct index for structure ( temp 3-component vector of float) +0:29 direct index ( temp structure{ temp 3-component vector of float val}) +0:29 'i' ( in 3-element array of structure{ temp 3-component vector of float val}) +0:29 Constant: +0:29 0 (const int) +0:29 Constant: +0:29 0 (const int) +0:32 move second child to first child ( temp 3-component vector of float) +0:32 val: direct index for structure ( temp 3-component vector of float) +0:32 'o' ( temp structure{ temp 3-component vector of float val}) +0:32 Constant: +0:32 0 (const int) +0:32 Construct vec3 ( temp 3-component vector of float) +0:32 Convert uint to float ( temp float) +0:32 'cpid' ( in uint) +0:33 Branch: Return with expression +0:33 'o' ( temp structure{ temp 3-component vector of float val}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val}) +0:28 move second child to first child ( temp uint) +0:? 'cpid' ( temp uint) +0:? 'cpid' ( in uint InvocationID) +0:28 move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:28 indirect index ( temp structure{ temp 3-component vector of float val}) +0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val}) +0:? 'cpid' ( in uint InvocationID) +0:28 Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'cpid' ( temp uint) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'cpid' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Sequence +0:? move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:? direct index ( temp structure{ temp 3-component vector of float val}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 0 (const int) +0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 0 (const uint) +0:? move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:? direct index ( temp structure{ temp 3-component vector of float val}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 1 (const int) +0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 1 (const uint) +0:? move second child to first child ( temp structure{ temp 3-component vector of float val}) +0:? direct index ( temp structure{ temp 3-component vector of float val}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 2 (const int) +0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val}) +0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? Constant: +0:? 2 (const uint) +0:? move second child to first child ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val}) +0:? Sequence +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelOuter) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? Constant: +0:? 0 (const int) +0:? direct index ( temp float) +0:? tfactor: direct index for structure ( temp 3-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 0 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelOuter) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? Constant: +0:? 1 (const int) +0:? direct index ( temp float) +0:? tfactor: direct index for structure ( temp 3-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 1 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelOuter) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? Constant: +0:? 2 (const int) +0:? direct index ( temp float) +0:? tfactor: direct index for structure ( temp 3-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 2 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( patch out float TessLevelInner) +0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner) +0:? Constant: +0:? 0 (const int) +0:? flInFactor: direct index for structure ( temp float) +0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Constant: +0:? 1 (const int) +0:38 Function Definition: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:38 Function Parameters: +0:38 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:38 'pcf_in' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:? Sequence +0:41 move second child to first child ( temp float) +0:41 direct index ( temp float) +0:41 tfactor: direct index for structure ( temp 3-element array of float) +0:41 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:41 Constant: +0:41 0 (const int) +0:41 Constant: +0:41 0 (const int) +0:41 direct index ( temp float) +0:41 val: direct index for structure ( temp 3-component vector of float) +0:41 direct index ( temp structure{ temp 3-component vector of float val}) +0:41 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:41 Constant: +0:41 0 (const int) +0:41 Constant: +0:41 0 (const int) +0:41 Constant: +0:41 0 (const int) +0:42 move second child to first child ( temp float) +0:42 direct index ( temp float) +0:42 tfactor: direct index for structure ( temp 3-element array of float) +0:42 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:42 Constant: +0:42 0 (const int) +0:42 Constant: +0:42 1 (const int) +0:42 direct index ( temp float) +0:42 val: direct index for structure ( temp 3-component vector of float) +0:42 direct index ( temp structure{ temp 3-component vector of float val}) +0:42 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:42 Constant: +0:42 1 (const int) +0:42 Constant: +0:42 0 (const int) +0:42 Constant: +0:42 0 (const int) +0:43 move second child to first child ( temp float) +0:43 direct index ( temp float) +0:43 tfactor: direct index for structure ( temp 3-element array of float) +0:43 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:43 Constant: +0:43 0 (const int) +0:43 Constant: +0:43 2 (const int) +0:43 direct index ( temp float) +0:43 val: direct index for structure ( temp 3-component vector of float) +0:43 direct index ( temp structure{ temp 3-component vector of float val}) +0:43 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val}) +0:43 Constant: +0:43 2 (const int) +0:43 Constant: +0:43 0 (const int) +0:43 Constant: +0:43 0 (const int) +0:44 move second child to first child ( temp float) +0:44 flInFactor: direct index for structure ( temp float) +0:44 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:44 Constant: +0:44 1 (const int) +0:44 Constant: +0:44 4.000000 +0:46 Branch: Return with expression +0:46 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val}) +0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val}) +0:? 'cpid' ( in uint InvocationID) +0:? '@patchConstantOutput' (layout( location=1) patch out structure{}) +0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter) +0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 129 + + Capability Tessellation + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationControl 4 "main" 42 46 49 96 110 128 + ExecutionMode 4 OutputVertices 3 + ExecutionMode 4 Triangles + ExecutionMode 4 SpacingFractionalOdd + ExecutionMode 4 VertexOrderCw + Source HLSL 500 + Name 4 "main" + Name 8 "hs_in_t" + MemberName 8(hs_in_t) 0 "val" + Name 14 "hs_out_t" + MemberName 14(hs_out_t) 0 "val" + Name 18 "@main(struct-hs_in_t-vf31[3];u1;" + Name 16 "i" + Name 17 "cpid" + Name 22 "hs_pcf_t" + MemberName 22(hs_pcf_t) 0 "tfactor" + MemberName 22(hs_pcf_t) 1 "flInFactor" + Name 26 "PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];" + Name 24 "pcf_out" + Name 25 "pcf_in" + Name 31 "o" + Name 40 "i" + Name 42 "i" + Name 44 "cpid" + Name 46 "cpid" + Name 49 "@entryPointOutput" + Name 51 "param" + Name 53 "param" + Name 67 "pcf_out" + Name 68 "i" + Name 69 "param" + Name 71 "param" + Name 75 "i" + Name 76 "param" + Name 78 "param" + Name 82 "i" + Name 83 "param" + Name 85 "param" + Name 89 "@patchConstantResult" + Name 96 "@patchConstantOutput_tfactor" + Name 110 "@patchConstantOutput_flInFactor" + Name 114 "o" + Name 126 "hs_pcf_t" + Name 128 "@patchConstantOutput" + Decorate 42(i) Location 0 + Decorate 46(cpid) BuiltIn InvocationId + Decorate 49(@entryPointOutput) Location 0 + Decorate 96(@patchConstantOutput_tfactor) Patch + Decorate 96(@patchConstantOutput_tfactor) BuiltIn TessLevelOuter + Decorate 110(@patchConstantOutput_flInFactor) Patch + Decorate 110(@patchConstantOutput_flInFactor) BuiltIn TessLevelInner + Decorate 128(@patchConstantOutput) Patch + Decorate 128(@patchConstantOutput) Location 1 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 3 + 8(hs_in_t): TypeStruct 7(fvec3) + 9: TypeInt 32 0 + 10: 9(int) Constant 3 + 11: TypeArray 8(hs_in_t) 10 + 12: TypePointer Function 11 + 13: TypePointer Function 9(int) + 14(hs_out_t): TypeStruct 7(fvec3) + 15: TypeFunction 14(hs_out_t) 12(ptr) 13(ptr) + 20: TypeArray 14(hs_out_t) 10 + 21: TypeArray 6(float) 10 + 22(hs_pcf_t): TypeStruct 21 6(float) + 23: TypeFunction 22(hs_pcf_t) 20 11 + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 30: TypePointer Function 14(hs_out_t) + 35: TypePointer Function 7(fvec3) + 41: TypePointer Input 11 + 42(i): 41(ptr) Variable Input + 45: TypePointer Input 9(int) + 46(cpid): 45(ptr) Variable Input + 48: TypePointer Output 20 +49(@entryPointOutput): 48(ptr) Variable Output + 56: TypePointer Output 14(hs_out_t) + 58: 9(int) Constant 2 + 59: 9(int) Constant 1 + 60: 9(int) Constant 0 + 62: TypeBool + 66: TypePointer Function 20 + 74: 28(int) Constant 1 + 81: 28(int) Constant 2 + 88: TypePointer Function 22(hs_pcf_t) + 93: 9(int) Constant 4 + 94: TypeArray 6(float) 93 + 95: TypePointer Output 94 +96(@patchConstantOutput_tfactor): 95(ptr) Variable Output + 97: TypePointer Function 6(float) + 100: TypePointer Output 6(float) + 108: TypeArray 6(float) 58 + 109: TypePointer Output 108 +110(@patchConstantOutput_flInFactor): 109(ptr) Variable Output + 121: 6(float) Constant 1082130432 + 126(hs_pcf_t): TypeStruct + 127: TypePointer Output 126(hs_pcf_t) +128(@patchConstantOutput): 127(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 40(i): 12(ptr) Variable Function + 44(cpid): 13(ptr) Variable Function + 51(param): 12(ptr) Variable Function + 53(param): 13(ptr) Variable Function + 67(pcf_out): 66(ptr) Variable Function + 68(i): 12(ptr) Variable Function + 69(param): 12(ptr) Variable Function + 71(param): 13(ptr) Variable Function + 75(i): 12(ptr) Variable Function + 76(param): 12(ptr) Variable Function + 78(param): 13(ptr) Variable Function + 82(i): 12(ptr) Variable Function + 83(param): 12(ptr) Variable Function + 85(param): 13(ptr) Variable Function +89(@patchConstantResult): 88(ptr) Variable Function + 43: 11 Load 42(i) + Store 40(i) 43 + 47: 9(int) Load 46(cpid) + Store 44(cpid) 47 + 50: 9(int) Load 46(cpid) + 52: 11 Load 40(i) + Store 51(param) 52 + 54: 9(int) Load 44(cpid) + Store 53(param) 54 + 55:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 51(param) 53(param) + 57: 56(ptr) AccessChain 49(@entryPointOutput) 50 + Store 57 55 + ControlBarrier 58 59 60 + 61: 9(int) Load 46(cpid) + 63: 62(bool) IEqual 61 29 + SelectionMerge 65 None + BranchConditional 63 64 65 + 64: Label + 70: 11 Load 68(i) + Store 69(param) 70 + Store 71(param) 60 + 72:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 69(param) 71(param) + 73: 30(ptr) AccessChain 67(pcf_out) 29 + Store 73 72 + 77: 11 Load 75(i) + Store 76(param) 77 + Store 78(param) 59 + 79:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 76(param) 78(param) + 80: 30(ptr) AccessChain 67(pcf_out) 74 + Store 80 79 + 84: 11 Load 82(i) + Store 83(param) 84 + Store 85(param) 58 + 86:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 83(param) 85(param) + 87: 30(ptr) AccessChain 67(pcf_out) 81 + Store 87 86 + 90: 20 Load 67(pcf_out) + 91: 11 Load 42(i) + 92:22(hs_pcf_t) FunctionCall 26(PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];) 90 91 + Store 89(@patchConstantResult) 92 + 98: 97(ptr) AccessChain 89(@patchConstantResult) 29 29 + 99: 6(float) Load 98 + 101: 100(ptr) AccessChain 96(@patchConstantOutput_tfactor) 29 + Store 101 99 + 102: 97(ptr) AccessChain 89(@patchConstantResult) 29 74 + 103: 6(float) Load 102 + 104: 100(ptr) AccessChain 96(@patchConstantOutput_tfactor) 74 + Store 104 103 + 105: 97(ptr) AccessChain 89(@patchConstantResult) 29 81 + 106: 6(float) Load 105 + 107: 100(ptr) AccessChain 96(@patchConstantOutput_tfactor) 81 + Store 107 106 + 111: 97(ptr) AccessChain 89(@patchConstantResult) 74 + 112: 6(float) Load 111 + 113: 100(ptr) AccessChain 110(@patchConstantOutput_flInFactor) 29 + Store 113 112 + Branch 65 + 65: Label + Return + FunctionEnd +18(@main(struct-hs_in_t-vf31[3];u1;):14(hs_out_t) Function None 15 + 16(i): 12(ptr) FunctionParameter + 17(cpid): 13(ptr) FunctionParameter + 19: Label + 31(o): 30(ptr) Variable Function + 32: 9(int) Load 17(cpid) + 33: 6(float) ConvertUToF 32 + 34: 7(fvec3) CompositeConstruct 33 33 33 + 36: 35(ptr) AccessChain 31(o) 29 + Store 36 34 + 37:14(hs_out_t) Load 31(o) + ReturnValue 37 + FunctionEnd +26(PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];):22(hs_pcf_t) Function None 23 + 24(pcf_out): 20 FunctionParameter + 25(pcf_in): 11 FunctionParameter + 27: Label + 114(o): 88(ptr) Variable Function + 115: 6(float) CompositeExtract 24(pcf_out) 0 0 0 + 116: 97(ptr) AccessChain 114(o) 29 29 + Store 116 115 + 117: 6(float) CompositeExtract 24(pcf_out) 1 0 0 + 118: 97(ptr) AccessChain 114(o) 29 74 + Store 118 117 + 119: 6(float) CompositeExtract 24(pcf_out) 2 0 0 + 120: 97(ptr) AccessChain 114(o) 29 81 + Store 120 119 + 122: 97(ptr) AccessChain 114(o) 74 + Store 122 121 + 123:22(hs_pcf_t) Load 114(o) + ReturnValue 123 + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out b/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out index 20b8dd323..b6e417a74 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out @@ -1,5 +1,5 @@ hlsl.hull.void.tesc -Shader version: 450 +Shader version: 500 vertices = 3 vertex spacing = fractional_even_spacing 0:? Sequence @@ -54,7 +54,7 @@ vertex spacing = fractional_even_spacing Linked tessellation control stage: -Shader version: 450 +Shader version: 500 vertices = 3 vertex spacing = fractional_even_spacing 0:? Sequence @@ -116,6 +116,7 @@ vertex spacing = fractional_even_spacing ExecutionMode 4 OutputVertices 3 ExecutionMode 4 Triangles ExecutionMode 4 SpacingFractionalEven + Source HLSL 500 Name 4 "main" Name 8 "VS_OUT" MemberName 8(VS_OUT) 0 "cpoint" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out index 3583141ce..a8870b12f 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out @@ -1,5 +1,5 @@ hlsl.identifier.sample.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: sample(i1; ( temp int) @@ -44,7 +44,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: sample(i1; ( temp int) @@ -94,6 +94,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 31 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 10 "sample(i1;" Name 9 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out index 5cd09be75..89e0bb1b8 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out @@ -1,5 +1,5 @@ hlsl.if.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -109,7 +109,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -224,6 +224,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 96 99 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.implicitBool.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.implicitBool.frag.out index 032069d36..34bbec2fe 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.implicitBool.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.implicitBool.frag.out @@ -1,5 +1,5 @@ hlsl.implicitBool.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @main( ( temp 4-component vector of float) @@ -167,7 +167,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @main( ( temp 4-component vector of float) @@ -340,6 +340,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 143 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 12 "a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out index 7ae9475e1..119d0c5f7 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out @@ -2,7 +2,7 @@ hlsl.init.frag WARNING: 0:40: 'typedef' : struct-member initializers ignored WARNING: 0:40: 'typedef' : struct-member initializers ignored -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -168,7 +168,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -339,6 +339,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "ShaderFunction" 98 101 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "ShaderFunction" Name 11 "@ShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out index 33714aa48..45eca98c9 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out @@ -1,5 +1,5 @@ hlsl.init2.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: Test1( ( temp void) @@ -180,7 +180,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: Test1( ( temp void) @@ -366,6 +366,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 109 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 6 "Test1(" Name 10 "PS_OUTPUT" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out index 65017035b..d5cce21bc 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out @@ -1,5 +1,5 @@ hlsl.inoutquals.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: MyFunc(f1;f1;f1; ( temp void) @@ -95,7 +95,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: MyFunc(f1;f1;f1; ( temp void) @@ -197,6 +197,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 60 70 74 78 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 12 "MyFunc(f1;f1;f1;" Name 9 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.frag.out index fc827f8d8..e62399a01 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsic.frexp.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: PixelShaderFunctionS(f1;f1; ( temp float) @@ -96,7 +96,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: PixelShaderFunctionS(f1;f1; ( temp float) @@ -198,6 +198,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 95 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "PixelShaderFunctionS(f1;f1;" Name 9 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.vert.out index 4931b9321..1827bd6be 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsic.frexp.vert.out @@ -1,5 +1,5 @@ hlsl.intrinsic.frexp.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:2 Function Definition: VertexShaderFunctionS(f1;f1; ( temp float) 0:2 Function Parameters: @@ -58,7 +58,7 @@ Linked vertex stage: WARNING: Linking vertex stage: Entry point not found -Shader version: 450 +Shader version: 500 0:? Sequence 0:2 Function Definition: VertexShaderFunctionS(f1;f1; ( temp float) 0:2 Function Parameters: @@ -120,6 +120,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "VertexShaderFunction" + Source HLSL 500 Name 4 "VertexShaderFunction" Name 11 "VertexShaderFunctionS(f1;f1;" Name 9 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out index c82ee0f05..f7e3e2208 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out @@ -1,5 +1,5 @@ hlsl.intrinsics.barriers.comp -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:3 Function Definition: @ComputeShaderFunction( ( temp float) @@ -27,7 +27,7 @@ local_size = (1, 1, 1) Linked compute stage: -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:3 Function Definition: @ComputeShaderFunction( ( temp float) @@ -60,6 +60,7 @@ local_size = (1, 1, 1) MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "ComputeShaderFunction" 20 ExecutionMode 4 LocalSize 1 1 1 + Source HLSL 500 Name 4 "ComputeShaderFunction" Name 8 "@ComputeShaderFunction(" Name 20 "@entryPointOutput" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out index c4f7ac89a..bff188662 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out @@ -1,5 +1,5 @@ hlsl.intrinsics.comp -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:17 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) @@ -355,7 +355,7 @@ local_size = (1, 1, 1) Linked compute stage: -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:17 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) @@ -716,6 +716,7 @@ local_size = (1, 1, 1) MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "ComputeShaderFunction" 227 230 233 237 240 243 ExecutionMode 4 LocalSize 1 1 1 + Source HLSL 500 Name 4 "ComputeShaderFunction" Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;" Name 11 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out index e38e621b8..94b4ad7c6 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.d3dcolortoubyte4.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main( ( temp 4-component vector of int) @@ -38,7 +38,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main( ( temp 4-component vector of int) @@ -82,6 +82,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 27 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 14 "$Global" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out index 1a6524f78..f08775aee 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.double.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float) @@ -83,7 +83,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float) @@ -173,6 +173,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 44 47 50 54 58 62 66 69 72 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 26 "@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;" Name 18 "inDV1a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out index 6d96f1619..90a4db5a3 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.evalfns.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; ( temp void) @@ -78,7 +78,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; ( temp void) @@ -163,6 +163,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 51 55 59 63 67 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 23 "@main(f1;vf2;vf3;vf4;vi2;" Name 18 "inF1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out index 6b9a18bb4..e828d9608 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.f1632.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: PixelShaderFunctionS(u1; ( temp float) @@ -131,7 +131,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: PixelShaderFunctionS(u1; ( temp float) @@ -268,6 +268,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 101 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "PixelShaderFunctionS(u1;" Name 10 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out index 30edb0ad0..3ff9ce752 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.f3216.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: PixelShaderFunctionS(f1; ( temp uint) @@ -136,7 +136,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: PixelShaderFunctionS(f1; ( temp uint) @@ -278,6 +278,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 104 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "PixelShaderFunctionS(f1;" Name 10 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out index 0657894c7..289592a70 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:17 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) @@ -2762,7 +2762,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:17 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) @@ -5531,6 +5531,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 1772 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 16 "PixelShaderFunctionS(f1;f1;f1;u1;u1;" Name 11 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out index affed169b..61024f465 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.lit.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; ( temp void) @@ -60,7 +60,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; ( temp void) @@ -126,6 +126,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 37 40 43 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 12 "@PixelShaderFunction(f1;f1;f1;" Name 9 "n_dot_l" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out index 2c8b9157d..176cf2347 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out @@ -1,5 +1,5 @@ hlsl.intrinsics.negative.comp -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp float) @@ -91,7 +91,7 @@ local_size = (1, 1, 1) Linked compute stage: -Shader version: 450 +Shader version: 500 local_size = (1, 1, 1) 0:? Sequence 0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp float) @@ -188,6 +188,7 @@ local_size = (1, 1, 1) MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "ComputeShaderFunction" 76 79 82 86 89 ExecutionMode 4 LocalSize 1 1 1 + Source HLSL 500 Name 4 "ComputeShaderFunction" Name 15 "ComputeShaderFunctionS(f1;f1;f1;i1;" Name 11 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out index 4c514d0ad..591ad1376 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out @@ -61,7 +61,7 @@ ERROR: 0:133: 'reversebits' : no matching overloaded function found ERROR: 59 compilation errors. No code generated. -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:2 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; ( temp float) @@ -522,7 +522,7 @@ ERROR: node is still EOpNull! Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:2 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; ( temp float) diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out index 9808b1cb3..aabcda80d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out @@ -1,5 +1,5 @@ hlsl.intrinsics.negative.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:15 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:15 Function Parameters: @@ -155,7 +155,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:15 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:15 Function Parameters: @@ -315,6 +315,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "VertexShaderFunction" 100 103 106 110 113 + Source HLSL 500 Name 4 "VertexShaderFunction" Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;" Name 11 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out index 4f47d86f3..d67b2e8be 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.promote.down.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -53,7 +53,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -112,6 +112,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out index 57b0410c5..b62d30d96 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.promote.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -342,7 +342,7 @@ gl_FragCoord origin is upper left 0:51 'r50' ( temp float) 0:51 Construct float ( temp float) 0:? textureFetch ( temp 4-component vector of float) -0:51 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:51 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:51 Convert uint to int ( temp int) 0:51 upos: direct index for structure ( uniform uint) 0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) @@ -353,7 +353,7 @@ gl_FragCoord origin is upper left 0:52 'r51' ( temp float) 0:52 Construct float ( temp float) 0:? textureFetch ( temp 4-component vector of float) -0:52 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:52 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:52 Convert float to int ( temp int) 0:52 fpos: direct index for structure ( uniform float) 0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) @@ -437,7 +437,7 @@ gl_FragCoord origin is upper left 0:20 0 (const int) 0:? Linker Objects 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) -0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'color' (layout( location=0) out 4-component vector of float) @@ -445,7 +445,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -788,7 +788,7 @@ gl_FragCoord origin is upper left 0:51 'r50' ( temp float) 0:51 Construct float ( temp float) 0:? textureFetch ( temp 4-component vector of float) -0:51 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:51 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:51 Convert uint to int ( temp int) 0:51 upos: direct index for structure ( uniform uint) 0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) @@ -799,7 +799,7 @@ gl_FragCoord origin is upper left 0:52 'r51' ( temp float) 0:52 Construct float ( temp float) 0:? textureFetch ( temp 4-component vector of float) -0:52 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:52 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:52 Convert float to int ( temp int) 0:52 fpos: direct index for structure ( uniform float) 0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) @@ -883,13 +883,13 @@ gl_FragCoord origin is upper left 0:20 0 (const int) 0:? Linker Objects 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) -0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 325 +// Id's are bound by 322 Capability Shader Capability Sampled1D @@ -897,8 +897,9 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 322 + EntryPoint Fragment 4 "main" 319 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" @@ -938,19 +939,19 @@ gl_FragCoord origin is upper left Name 229 "r42" Name 243 "r43" Name 255 "r50" - Name 259 "g_tTexbfs" - Name 268 "r51" - Name 277 "sizeQueryTemp" - Name 280 "g_tTex1df4" - Name 283 "WidthI" - Name 286 "sizeQueryTemp" - Name 292 "NumberOfLevelsU" - Name 295 "sizeQueryTemp" - Name 298 "WidthU" - Name 300 "NumberOfLevelsI" - Name 304 "sizeQueryTemp" - Name 313 "ps_output" - Name 322 "color" + Name 258 "g_tTexbfs" + Name 266 "r51" + Name 274 "sizeQueryTemp" + Name 277 "g_tTex1df4" + Name 280 "WidthI" + Name 283 "sizeQueryTemp" + Name 289 "NumberOfLevelsU" + Name 292 "sizeQueryTemp" + Name 295 "WidthU" + Name 297 "NumberOfLevelsI" + Name 301 "sizeQueryTemp" + Name 310 "ps_output" + Name 319 "color" MemberDecorate 19($Global) 0 Offset 0 MemberDecorate 19($Global) 1 Offset 4 MemberDecorate 19($Global) 2 Offset 8 @@ -963,9 +964,9 @@ gl_FragCoord origin is upper left MemberDecorate 19($Global) 9 Offset 52 Decorate 19($Global) Block Decorate 21 DescriptorSet 0 - Decorate 259(g_tTexbfs) DescriptorSet 0 - Decorate 280(g_tTex1df4) DescriptorSet 0 - Decorate 322(color) Location 0 + Decorate 258(g_tTexbfs) DescriptorSet 0 + Decorate 277(g_tTex1df4) DescriptorSet 0 + Decorate 319(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -1013,24 +1014,23 @@ gl_FragCoord origin is upper left 109: 14(int) Constant 4 110: TypePointer Uniform 16(ivec2) 256: TypeImage 6(float) Buffer sampled format:R32f - 257: TypeSampledImage 256 - 258: TypePointer UniformConstant 257 - 259(g_tTexbfs): 258(ptr) Variable UniformConstant - 261: 14(int) Constant 8 - 270: 14(int) Constant 9 - 278: TypeImage 6(float) 1D sampled format:Unknown - 279: TypePointer UniformConstant 278 - 280(g_tTex1df4): 279(ptr) Variable UniformConstant - 288: 15(int) Constant 6 - 312: TypePointer Function 8(PS_OUTPUT) - 316: TypePointer Function 7(fvec4) - 321: TypePointer Output 7(fvec4) - 322(color): 321(ptr) Variable Output + 257: TypePointer UniformConstant 256 + 258(g_tTexbfs): 257(ptr) Variable UniformConstant + 260: 14(int) Constant 8 + 268: 14(int) Constant 9 + 275: TypeImage 6(float) 1D sampled format:Unknown + 276: TypePointer UniformConstant 275 + 277(g_tTex1df4): 276(ptr) Variable UniformConstant + 285: 15(int) Constant 6 + 309: TypePointer Function 8(PS_OUTPUT) + 313: TypePointer Function 7(fvec4) + 318: TypePointer Output 7(fvec4) + 319(color): 318(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 323:8(PS_OUTPUT) FunctionCall 10(@main() - 324: 7(fvec4) CompositeExtract 323 0 - Store 322(color) 324 + 320:8(PS_OUTPUT) FunctionCall 10(@main() + 321: 7(fvec4) CompositeExtract 320 0 + Store 319(color) 321 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 @@ -1058,16 +1058,16 @@ gl_FragCoord origin is upper left 229(r42): 73(ptr) Variable Function 243(r43): 101(ptr) Variable Function 255(r50): 12(ptr) Variable Function - 268(r51): 12(ptr) Variable Function -277(sizeQueryTemp): 37(ptr) Variable Function - 283(WidthI): 48(ptr) Variable Function -286(sizeQueryTemp): 37(ptr) Variable Function -292(NumberOfLevelsU): 37(ptr) Variable Function -295(sizeQueryTemp): 37(ptr) Variable Function - 298(WidthU): 37(ptr) Variable Function -300(NumberOfLevelsI): 48(ptr) Variable Function -304(sizeQueryTemp): 37(ptr) Variable Function - 313(ps_output): 312(ptr) Variable Function + 266(r51): 12(ptr) Variable Function +274(sizeQueryTemp): 37(ptr) Variable Function + 280(WidthI): 48(ptr) Variable Function +283(sizeQueryTemp): 37(ptr) Variable Function +289(NumberOfLevelsU): 37(ptr) Variable Function +292(sizeQueryTemp): 37(ptr) Variable Function + 295(WidthU): 37(ptr) Variable Function +297(NumberOfLevelsI): 48(ptr) Variable Function +301(sizeQueryTemp): 37(ptr) Variable Function + 310(ps_output): 309(ptr) Variable Function 24: 23(ptr) AccessChain 21 22 25: 15(int) Load 24 28: 26(bool) INotEqual 25 27 @@ -1271,60 +1271,58 @@ gl_FragCoord origin is upper left 253: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252 254: 16(ivec2) Bitcast 253 Store 243(r43) 254 - 260: 257 Load 259(g_tTexbfs) - 262: 23(ptr) AccessChain 21 261 - 263: 15(int) Load 262 - 264: 14(int) Bitcast 263 - 265: 256 Image 260 - 266: 7(fvec4) ImageFetch 265 264 - 267: 6(float) CompositeExtract 266 0 - Store 255(r50) 267 - 269: 257 Load 259(g_tTexbfs) - 271: 33(ptr) AccessChain 21 270 - 272: 6(float) Load 271 - 273: 14(int) ConvertFToS 272 - 274: 256 Image 269 - 275: 7(fvec4) ImageFetch 274 273 - 276: 6(float) CompositeExtract 275 0 - Store 268(r51) 276 - 281: 278 Load 280(g_tTex1df4) - 282: 15(int) ImageQuerySizeLod 281 53 - Store 277(sizeQueryTemp) 282 - 284: 15(int) Load 277(sizeQueryTemp) - 285: 14(int) Bitcast 284 - Store 283(WidthI) 285 - 287: 278 Load 280(g_tTex1df4) - 289: 15(int) ImageQuerySizeLod 287 288 - Store 286(sizeQueryTemp) 289 - 290: 15(int) Load 286(sizeQueryTemp) - 291: 14(int) Bitcast 290 - Store 283(WidthI) 291 - 293: 278 Load 280(g_tTex1df4) - 294: 15(int) ImageQueryLevels 293 - Store 292(NumberOfLevelsU) 294 - 296: 278 Load 280(g_tTex1df4) - 297: 15(int) ImageQuerySizeLod 296 288 - Store 295(sizeQueryTemp) 297 - 299: 15(int) Load 295(sizeQueryTemp) - Store 298(WidthU) 299 - 301: 278 Load 280(g_tTex1df4) - 302: 15(int) ImageQueryLevels 301 - 303: 14(int) Bitcast 302 - Store 300(NumberOfLevelsI) 303 - 305: 278 Load 280(g_tTex1df4) - 306: 15(int) ImageQuerySizeLod 305 288 - Store 304(sizeQueryTemp) 306 - 307: 15(int) Load 304(sizeQueryTemp) + 259: 256 Load 258(g_tTexbfs) + 261: 23(ptr) AccessChain 21 260 + 262: 15(int) Load 261 + 263: 14(int) Bitcast 262 + 264: 7(fvec4) ImageFetch 259 263 + 265: 6(float) CompositeExtract 264 0 + Store 255(r50) 265 + 267: 256 Load 258(g_tTexbfs) + 269: 33(ptr) AccessChain 21 268 + 270: 6(float) Load 269 + 271: 14(int) ConvertFToS 270 + 272: 7(fvec4) ImageFetch 267 271 + 273: 6(float) CompositeExtract 272 0 + Store 266(r51) 273 + 278: 275 Load 277(g_tTex1df4) + 279: 15(int) ImageQuerySizeLod 278 53 + Store 274(sizeQueryTemp) 279 + 281: 15(int) Load 274(sizeQueryTemp) + 282: 14(int) Bitcast 281 + Store 280(WidthI) 282 + 284: 275 Load 277(g_tTex1df4) + 286: 15(int) ImageQuerySizeLod 284 285 + Store 283(sizeQueryTemp) 286 + 287: 15(int) Load 283(sizeQueryTemp) + 288: 14(int) Bitcast 287 + Store 280(WidthI) 288 + 290: 275 Load 277(g_tTex1df4) + 291: 15(int) ImageQueryLevels 290 + Store 289(NumberOfLevelsU) 291 + 293: 275 Load 277(g_tTex1df4) + 294: 15(int) ImageQuerySizeLod 293 285 + Store 292(sizeQueryTemp) 294 + 296: 15(int) Load 292(sizeQueryTemp) + Store 295(WidthU) 296 + 298: 275 Load 277(g_tTex1df4) + 299: 15(int) ImageQueryLevels 298 + 300: 14(int) Bitcast 299 + Store 297(NumberOfLevelsI) 300 + 302: 275 Load 277(g_tTex1df4) + 303: 15(int) ImageQuerySizeLod 302 285 + Store 301(sizeQueryTemp) 303 + 304: 15(int) Load 301(sizeQueryTemp) + 305: 14(int) Bitcast 304 + Store 280(WidthI) 305 + 306: 275 Load 277(g_tTex1df4) + 307: 15(int) ImageQueryLevels 306 308: 14(int) Bitcast 307 - Store 283(WidthI) 308 - 309: 278 Load 280(g_tTex1df4) - 310: 15(int) ImageQueryLevels 309 - 311: 14(int) Bitcast 310 - Store 300(NumberOfLevelsI) 311 - 314: 6(float) Load 13(r00) - 315: 7(fvec4) CompositeConstruct 314 314 314 314 - 317: 316(ptr) AccessChain 313(ps_output) 53 - Store 317 315 - 318:8(PS_OUTPUT) Load 313(ps_output) - ReturnValue 318 + Store 297(NumberOfLevelsI) 308 + 311: 6(float) Load 13(r00) + 312: 7(fvec4) CompositeConstruct 311 311 311 311 + 314: 313(ptr) AccessChain 310(ps_output) 53 + Store 314 312 + 315:8(PS_OUTPUT) Load 310(ps_output) + ReturnValue 315 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out index 59d755e7a..87b425fb0 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out @@ -1,5 +1,5 @@ hlsl.intrinsics.promote.outputs.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -95,7 +95,7 @@ gl_FragCoord origin is upper left 0:20 0 (const int) 0:? Linker Objects 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) -0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'color' (layout( location=0) out 4-component vector of float) @@ -103,7 +103,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -199,13 +199,13 @@ gl_FragCoord origin is upper left 0:20 0 (const int) 0:? Linker Objects 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) -0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:? 'g_tTex1df4' ( uniform texture1D) 0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 81 +// Id's are bound by 80 Capability Shader Capability Sampled1D @@ -215,6 +215,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 74 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" @@ -242,7 +243,7 @@ gl_FragCoord origin is upper left Name 57 "sizeQueryTemp" Name 66 "ps_output" Name 74 "color" - Name 80 "g_tTexbfs" + Name 79 "g_tTexbfs" MemberDecorate 17($Global) 0 Offset 0 MemberDecorate 17($Global) 1 Offset 4 MemberDecorate 17($Global) 2 Offset 8 @@ -257,7 +258,7 @@ gl_FragCoord origin is upper left Decorate 19 DescriptorSet 0 Decorate 31(g_tTex1df4) DescriptorSet 0 Decorate 74(color) Location 0 - Decorate 80(g_tTexbfs) DescriptorSet 0 + Decorate 79(g_tTexbfs) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -289,9 +290,8 @@ gl_FragCoord origin is upper left 73: TypePointer Output 7(fvec4) 74(color): 73(ptr) Variable Output 77: TypeImage 6(float) Buffer sampled format:R32f - 78: TypeSampledImage 77 - 79: TypePointer UniformConstant 78 - 80(g_tTexbfs): 79(ptr) Variable UniformConstant + 78: TypePointer UniformConstant 77 + 79(g_tTexbfs): 78(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 75:8(PS_OUTPUT) FunctionCall 10(@main() diff --git a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out index 8de7d75fa..82bb18e80 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out @@ -1,5 +1,5 @@ hlsl.intrinsics.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:2 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:2 Function Parameters: @@ -1377,7 +1377,7 @@ Linked vertex stage: WARNING: Linking vertex stage: Entry point not found -Shader version: 450 +Shader version: 500 0:? Sequence 0:2 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:2 Function Parameters: @@ -2758,6 +2758,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "VertexShaderFunction" + Source HLSL 500 Name 4 "VertexShaderFunction" Name 16 "VertexShaderFunctionS(f1;f1;f1;u1;u1;" Name 11 "inF0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.isfinite.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.isfinite.frag.out new file mode 100644 index 000000000..0687c0d9e --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/hlsl.isfinite.frag.out @@ -0,0 +1,141 @@ +hlsl.isfinite.frag +Shader version: 500 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main( ( temp 4-component vector of float) +0:5 Function Parameters: +0:? Sequence +0:6 Sequence +0:6 move second child to first child ( temp float) +0:6 '@finitetmp' ( temp float) +0:6 f: direct index for structure ( uniform float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform float f}) +0:6 Constant: +0:6 0 (const uint) +0:6 logical-and ( temp bool) +0:6 Negate conditional ( temp bool) +0:6 isnan ( temp bool) +0:6 '@finitetmp' ( temp float) +0:6 Negate conditional ( temp bool) +0:6 isinf ( temp bool) +0:6 '@finitetmp' ( temp float) +0:8 Branch: Return with expression +0:8 Constant: +0:8 0.000000 +0:8 0.000000 +0:8 0.000000 +0:8 0.000000 +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float f}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 500 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main( ( temp 4-component vector of float) +0:5 Function Parameters: +0:? Sequence +0:6 Sequence +0:6 move second child to first child ( temp float) +0:6 '@finitetmp' ( temp float) +0:6 f: direct index for structure ( uniform float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform float f}) +0:6 Constant: +0:6 0 (const uint) +0:6 logical-and ( temp bool) +0:6 Negate conditional ( temp bool) +0:6 isnan ( temp bool) +0:6 '@finitetmp' ( temp float) +0:6 Negate conditional ( temp bool) +0:6 isinf ( temp bool) +0:6 '@finitetmp' ( temp float) +0:8 Branch: Return with expression +0:8 Constant: +0:8 0.000000 +0:8 0.000000 +0:8 0.000000 +0:8 0.000000 +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float f}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 38 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 36 + ExecutionMode 4 OriginUpperLeft + Source HLSL 500 + Name 4 "main" + Name 9 "@main(" + Name 12 "@finitetmp" + Name 13 "$Global" + MemberName 13($Global) 0 "f" + Name 15 "" + Name 36 "@entryPointOutput" + MemberDecorate 13($Global) 0 Offset 0 + Decorate 13($Global) Block + Decorate 15 DescriptorSet 0 + Decorate 36(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypePointer Function 6(float) + 13($Global): TypeStruct 6(float) + 14: TypePointer Uniform 13($Global) + 15: 14(ptr) Variable Uniform + 16: TypeInt 32 1 + 17: 16(int) Constant 0 + 18: TypePointer Uniform 6(float) + 21: TypeBool + 31: 6(float) Constant 0 + 32: 7(fvec4) ConstantComposite 31 31 31 31 + 35: TypePointer Output 7(fvec4) +36(@entryPointOutput): 35(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 37: 7(fvec4) FunctionCall 9(@main() + Store 36(@entryPointOutput) 37 + Return + FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 12(@finitetmp): 11(ptr) Variable Function + 19: 18(ptr) AccessChain 15 17 + 20: 6(float) Load 19 + Store 12(@finitetmp) 20 + 22: 6(float) Load 12(@finitetmp) + 23: 21(bool) IsNan 22 + 24: 21(bool) LogicalNot 23 + SelectionMerge 26 None + BranchConditional 24 25 26 + 25: Label + 27: 6(float) Load 12(@finitetmp) + 28: 21(bool) IsInf 27 + 29: 21(bool) LogicalNot 28 + Branch 26 + 26: Label + 30: 21(bool) Phi 24 10 29 25 + ReturnValue 32 + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out index 6a5eceb00..b8a96cfa6 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out @@ -1,5 +1,5 @@ hlsl.layout.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:16 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -35,7 +35,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:16 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -75,6 +75,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out index f436f8819..251d56ed5 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.2dms.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -179,7 +179,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -366,6 +366,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 120 124 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out index 9430e75d9..78e2b2c36 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -194,7 +194,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -396,6 +396,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 104 108 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out index 6a976f091..0da4048ae 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -245,7 +245,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -498,6 +498,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 133 137 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out index a41675c10..c3b7dc218 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -1,5 +1,5 @@ hlsl.load.basic.dx10.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:47 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:47 Function Parameters: @@ -227,7 +227,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:47 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:47 Function Parameters: @@ -461,6 +461,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 129 173 + Source HLSL 500 Name 4 "main" Name 8 "VS_OUTPUT" MemberName 8(VS_OUTPUT) 0 "Pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out index 6a4f17528..e68e5f961 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.buffer.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -9,7 +9,7 @@ gl_FragCoord origin is upper left 0:28 move second child to first child ( temp 4-component vector of float) 0:28 'r00' ( temp 4-component vector of float) 0:28 textureFetch ( temp 4-component vector of float) -0:28 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) +0:28 'g_tTexbf4' (layout( rgba32f) uniform textureBuffer) 0:28 c1: direct index for structure ( uniform int) 0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: @@ -18,7 +18,7 @@ gl_FragCoord origin is upper left 0:29 move second child to first child ( temp 4-component vector of int) 0:29 'r01' ( temp 4-component vector of int) 0:29 textureFetch ( temp 4-component vector of int) -0:29 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) +0:29 'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer) 0:29 c1: direct index for structure ( uniform int) 0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: @@ -27,7 +27,7 @@ gl_FragCoord origin is upper left 0:30 move second child to first child ( temp 4-component vector of uint) 0:30 'r02' ( temp 4-component vector of uint) 0:30 textureFetch ( temp 4-component vector of uint) -0:30 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) +0:30 'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer) 0:30 c1: direct index for structure ( uniform int) 0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: @@ -71,10 +71,10 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:? Linker Objects -0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform samplerBuffer) -0:? 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) -0:? 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) -0:? 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) +0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform textureBuffer) +0:? 'g_tTexbf4' (layout( rgba32f) uniform textureBuffer) +0:? 'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer) +0:? 'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer) 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Depth' ( out float FragDepth) @@ -83,7 +83,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -93,7 +93,7 @@ gl_FragCoord origin is upper left 0:28 move second child to first child ( temp 4-component vector of float) 0:28 'r00' ( temp 4-component vector of float) 0:28 textureFetch ( temp 4-component vector of float) -0:28 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) +0:28 'g_tTexbf4' (layout( rgba32f) uniform textureBuffer) 0:28 c1: direct index for structure ( uniform int) 0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: @@ -102,7 +102,7 @@ gl_FragCoord origin is upper left 0:29 move second child to first child ( temp 4-component vector of int) 0:29 'r01' ( temp 4-component vector of int) 0:29 textureFetch ( temp 4-component vector of int) -0:29 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) +0:29 'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer) 0:29 c1: direct index for structure ( uniform int) 0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: @@ -111,7 +111,7 @@ gl_FragCoord origin is upper left 0:30 move second child to first child ( temp 4-component vector of uint) 0:30 'r02' ( temp 4-component vector of uint) 0:30 textureFetch ( temp 4-component vector of uint) -0:30 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) +0:30 'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer) 0:30 c1: direct index for structure ( uniform int) 0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: @@ -155,67 +155,68 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:? Linker Objects -0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform samplerBuffer) -0:? 'g_tTexbf4' (layout( rgba32f) uniform samplerBuffer) -0:? 'g_tTexbi4' (layout( rgba32i) uniform isamplerBuffer) -0:? 'g_tTexbu4' (layout( rgba32ui) uniform usamplerBuffer) +0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform textureBuffer) +0:? 'g_tTexbf4' (layout( rgba32f) uniform textureBuffer) +0:? 'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer) +0:? 'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer) 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 72 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 70 74 + EntryPoint Fragment 4 "main" 64 68 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" MemberName 8(PS_OUTPUT) 1 "Depth" Name 10 "@main(" Name 13 "r00" - Name 17 "g_tTexbf4" - Name 23 "$Global" - MemberName 23($Global) 0 "c1" - MemberName 23($Global) 1 "c2" - MemberName 23($Global) 2 "c3" - MemberName 23($Global) 3 "c4" - MemberName 23($Global) 4 "o1" - MemberName 23($Global) 5 "o2" - MemberName 23($Global) 6 "o3" - MemberName 23($Global) 7 "o4" - Name 25 "" - Name 33 "r01" - Name 37 "g_tTexbi4" - Name 46 "r02" - Name 50 "g_tTexbu4" - Name 57 "psout" - Name 67 "flattenTemp" - Name 70 "Color" - Name 74 "Depth" - Name 77 "g_tTexbf4_test" - Decorate 17(g_tTexbf4) DescriptorSet 0 - MemberDecorate 23($Global) 0 Offset 0 - MemberDecorate 23($Global) 1 Offset 8 - MemberDecorate 23($Global) 2 Offset 16 - MemberDecorate 23($Global) 3 Offset 32 - MemberDecorate 23($Global) 4 Offset 48 - MemberDecorate 23($Global) 5 Offset 56 - MemberDecorate 23($Global) 6 Offset 64 - MemberDecorate 23($Global) 7 Offset 80 - Decorate 23($Global) Block - Decorate 25 DescriptorSet 0 - Decorate 37(g_tTexbi4) DescriptorSet 0 - Decorate 50(g_tTexbu4) DescriptorSet 0 - Decorate 70(Color) Location 0 - Decorate 74(Depth) BuiltIn FragDepth - Decorate 77(g_tTexbf4_test) DescriptorSet 0 - Decorate 77(g_tTexbf4_test) Binding 0 + Name 16 "g_tTexbf4" + Name 22 "$Global" + MemberName 22($Global) 0 "c1" + MemberName 22($Global) 1 "c2" + MemberName 22($Global) 2 "c3" + MemberName 22($Global) 3 "c4" + MemberName 22($Global) 4 "o1" + MemberName 22($Global) 5 "o2" + MemberName 22($Global) 6 "o3" + MemberName 22($Global) 7 "o4" + Name 24 "" + Name 31 "r01" + Name 34 "g_tTexbi4" + Name 42 "r02" + Name 45 "g_tTexbu4" + Name 51 "psout" + Name 61 "flattenTemp" + Name 64 "Color" + Name 68 "Depth" + Name 71 "g_tTexbf4_test" + Decorate 16(g_tTexbf4) DescriptorSet 0 + MemberDecorate 22($Global) 0 Offset 0 + MemberDecorate 22($Global) 1 Offset 8 + MemberDecorate 22($Global) 2 Offset 16 + MemberDecorate 22($Global) 3 Offset 32 + MemberDecorate 22($Global) 4 Offset 48 + MemberDecorate 22($Global) 5 Offset 56 + MemberDecorate 22($Global) 6 Offset 64 + MemberDecorate 22($Global) 7 Offset 80 + Decorate 22($Global) Block + Decorate 24 DescriptorSet 0 + Decorate 34(g_tTexbi4) DescriptorSet 0 + Decorate 45(g_tTexbu4) DescriptorSet 0 + Decorate 64(Color) Location 0 + Decorate 68(Depth) BuiltIn FragDepth + Decorate 71(g_tTexbf4_test) DescriptorSet 0 + Decorate 71(g_tTexbf4_test) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -224,81 +225,75 @@ gl_FragCoord origin is upper left 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 7(fvec4) 14: TypeImage 6(float) Buffer sampled format:Rgba32f - 15: TypeSampledImage 14 - 16: TypePointer UniformConstant 15 - 17(g_tTexbf4): 16(ptr) Variable UniformConstant - 19: TypeInt 32 1 - 20: TypeVector 19(int) 2 - 21: TypeVector 19(int) 3 - 22: TypeVector 19(int) 4 - 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4) - 24: TypePointer Uniform 23($Global) - 25: 24(ptr) Variable Uniform - 26: 19(int) Constant 0 - 27: TypePointer Uniform 19(int) - 32: TypePointer Function 22(ivec4) - 34: TypeImage 19(int) Buffer sampled format:Rgba32i - 35: TypeSampledImage 34 - 36: TypePointer UniformConstant 35 - 37(g_tTexbi4): 36(ptr) Variable UniformConstant - 43: TypeInt 32 0 - 44: TypeVector 43(int) 4 - 45: TypePointer Function 44(ivec4) - 47: TypeImage 43(int) Buffer sampled format:Rgba32ui - 48: TypeSampledImage 47 - 49: TypePointer UniformConstant 48 - 50(g_tTexbu4): 49(ptr) Variable UniformConstant - 56: TypePointer Function 8(PS_OUTPUT) - 58: 6(float) Constant 1065353216 - 59: 7(fvec4) ConstantComposite 58 58 58 58 - 61: 19(int) Constant 1 - 62: TypePointer Function 6(float) - 69: TypePointer Output 7(fvec4) - 70(Color): 69(ptr) Variable Output - 73: TypePointer Output 6(float) - 74(Depth): 73(ptr) Variable Output -77(g_tTexbf4_test): 16(ptr) Variable UniformConstant + 15: TypePointer UniformConstant 14 + 16(g_tTexbf4): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: TypeVector 18(int) 2 + 20: TypeVector 18(int) 3 + 21: TypeVector 18(int) 4 + 22($Global): TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) + 23: TypePointer Uniform 22($Global) + 24: 23(ptr) Variable Uniform + 25: 18(int) Constant 0 + 26: TypePointer Uniform 18(int) + 30: TypePointer Function 21(ivec4) + 32: TypeImage 18(int) Buffer sampled format:Rgba32i + 33: TypePointer UniformConstant 32 + 34(g_tTexbi4): 33(ptr) Variable UniformConstant + 39: TypeInt 32 0 + 40: TypeVector 39(int) 4 + 41: TypePointer Function 40(ivec4) + 43: TypeImage 39(int) Buffer sampled format:Rgba32ui + 44: TypePointer UniformConstant 43 + 45(g_tTexbu4): 44(ptr) Variable UniformConstant + 50: TypePointer Function 8(PS_OUTPUT) + 52: 6(float) Constant 1065353216 + 53: 7(fvec4) ConstantComposite 52 52 52 52 + 55: 18(int) Constant 1 + 56: TypePointer Function 6(float) + 63: TypePointer Output 7(fvec4) + 64(Color): 63(ptr) Variable Output + 67: TypePointer Output 6(float) + 68(Depth): 67(ptr) Variable Output +71(g_tTexbf4_test): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 67(flattenTemp): 56(ptr) Variable Function - 68:8(PS_OUTPUT) FunctionCall 10(@main() - Store 67(flattenTemp) 68 - 71: 12(ptr) AccessChain 67(flattenTemp) 26 - 72: 7(fvec4) Load 71 - Store 70(Color) 72 - 75: 62(ptr) AccessChain 67(flattenTemp) 61 - 76: 6(float) Load 75 - Store 74(Depth) 76 + 61(flattenTemp): 50(ptr) Variable Function + 62:8(PS_OUTPUT) FunctionCall 10(@main() + Store 61(flattenTemp) 62 + 65: 12(ptr) AccessChain 61(flattenTemp) 25 + 66: 7(fvec4) Load 65 + Store 64(Color) 66 + 69: 56(ptr) AccessChain 61(flattenTemp) 55 + 70: 6(float) Load 69 + Store 68(Depth) 70 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r00): 12(ptr) Variable Function - 33(r01): 32(ptr) Variable Function - 46(r02): 45(ptr) Variable Function - 57(psout): 56(ptr) Variable Function - 18: 15 Load 17(g_tTexbf4) - 28: 27(ptr) AccessChain 25 26 - 29: 19(int) Load 28 - 30: 14 Image 18 - 31: 7(fvec4) ImageFetch 30 29 - Store 13(r00) 31 - 38: 35 Load 37(g_tTexbi4) - 39: 27(ptr) AccessChain 25 26 - 40: 19(int) Load 39 - 41: 34 Image 38 - 42: 22(ivec4) ImageFetch 41 40 - Store 33(r01) 42 - 51: 48 Load 50(g_tTexbu4) - 52: 27(ptr) AccessChain 25 26 - 53: 19(int) Load 52 - 54: 47 Image 51 - 55: 44(ivec4) ImageFetch 54 53 - Store 46(r02) 55 - 60: 12(ptr) AccessChain 57(psout) 26 - Store 60 59 - 63: 62(ptr) AccessChain 57(psout) 61 - Store 63 58 - 64:8(PS_OUTPUT) Load 57(psout) - ReturnValue 64 + 31(r01): 30(ptr) Variable Function + 42(r02): 41(ptr) Variable Function + 51(psout): 50(ptr) Variable Function + 17: 14 Load 16(g_tTexbf4) + 27: 26(ptr) AccessChain 24 25 + 28: 18(int) Load 27 + 29: 7(fvec4) ImageFetch 17 28 + Store 13(r00) 29 + 35: 32 Load 34(g_tTexbi4) + 36: 26(ptr) AccessChain 24 25 + 37: 18(int) Load 36 + 38: 21(ivec4) ImageFetch 35 37 + Store 31(r01) 38 + 46: 43 Load 45(g_tTexbu4) + 47: 26(ptr) AccessChain 24 25 + 48: 18(int) Load 47 + 49: 40(ivec4) ImageFetch 46 48 + Store 42(r02) 49 + 54: 12(ptr) AccessChain 51(psout) 25 + Store 54 53 + 57: 56(ptr) AccessChain 51(psout) 55 + Store 57 52 + 58:8(PS_OUTPUT) Load 51(psout) + ReturnValue 58 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out index eecba7d7a..ff686a316 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.buffer.float.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:28 'r00' ( temp float) 0:28 Construct float ( temp float) 0:? textureFetch ( temp 4-component vector of float) -0:28 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:28 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:28 c1: direct index for structure ( uniform int) 0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: @@ -20,7 +20,7 @@ gl_FragCoord origin is upper left 0:29 'r01' ( temp int) 0:29 Construct int ( temp int) 0:? textureFetch ( temp 4-component vector of int) -0:29 'g_tTexbis' (layout( r32i) uniform isamplerBuffer) +0:29 'g_tTexbis' (layout( r32i) uniform itextureBuffer) 0:29 c1: direct index for structure ( uniform int) 0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: @@ -30,7 +30,7 @@ gl_FragCoord origin is upper left 0:30 'r02' ( temp uint) 0:30 Construct uint ( temp uint) 0:? textureFetch ( temp 4-component vector of uint) -0:30 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) +0:30 'g_tTexbus' (layout( r32ui) uniform utextureBuffer) 0:30 c1: direct index for structure ( uniform int) 0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: @@ -74,10 +74,10 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:? Linker Objects -0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform samplerBuffer) -0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) -0:? 'g_tTexbis' (layout( r32i) uniform isamplerBuffer) -0:? 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) +0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform textureBuffer) +0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer) +0:? 'g_tTexbis' (layout( r32i) uniform itextureBuffer) +0:? 'g_tTexbus' (layout( r32ui) uniform utextureBuffer) 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Depth' ( out float FragDepth) @@ -86,7 +86,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -97,7 +97,7 @@ gl_FragCoord origin is upper left 0:28 'r00' ( temp float) 0:28 Construct float ( temp float) 0:? textureFetch ( temp 4-component vector of float) -0:28 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) +0:28 'g_tTexbfs' (layout( r32f) uniform textureBuffer) 0:28 c1: direct index for structure ( uniform int) 0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: @@ -107,7 +107,7 @@ gl_FragCoord origin is upper left 0:29 'r01' ( temp int) 0:29 Construct int ( temp int) 0:? textureFetch ( temp 4-component vector of int) -0:29 'g_tTexbis' (layout( r32i) uniform isamplerBuffer) +0:29 'g_tTexbis' (layout( r32i) uniform itextureBuffer) 0:29 c1: direct index for structure ( uniform int) 0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: @@ -117,7 +117,7 @@ gl_FragCoord origin is upper left 0:30 'r02' ( temp uint) 0:30 Construct uint ( temp uint) 0:? textureFetch ( temp 4-component vector of uint) -0:30 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) +0:30 'g_tTexbus' (layout( r32ui) uniform utextureBuffer) 0:30 c1: direct index for structure ( uniform int) 0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: @@ -161,67 +161,68 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:? Linker Objects -0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform samplerBuffer) -0:? 'g_tTexbfs' (layout( r32f) uniform samplerBuffer) -0:? 'g_tTexbis' (layout( r32i) uniform isamplerBuffer) -0:? 'g_tTexbus' (layout( r32ui) uniform usamplerBuffer) +0:? 'g_tTexbfs_test' (layout( binding=0 r32f) uniform textureBuffer) +0:? 'g_tTexbfs' (layout( r32f) uniform textureBuffer) +0:? 'g_tTexbis' (layout( r32i) uniform itextureBuffer) +0:? 'g_tTexbus' (layout( r32ui) uniform utextureBuffer) 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:? 'Color' (layout( location=0) out 4-component vector of float) 0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 81 +// Id's are bound by 75 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 73 77 + EntryPoint Fragment 4 "main" 67 71 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" MemberName 8(PS_OUTPUT) 1 "Depth" Name 10 "@main(" Name 13 "r00" - Name 17 "g_tTexbfs" - Name 23 "$Global" - MemberName 23($Global) 0 "c1" - MemberName 23($Global) 1 "c2" - MemberName 23($Global) 2 "c3" - MemberName 23($Global) 3 "c4" - MemberName 23($Global) 4 "o1" - MemberName 23($Global) 5 "o2" - MemberName 23($Global) 6 "o3" - MemberName 23($Global) 7 "o4" - Name 25 "" - Name 34 "r01" - Name 38 "g_tTexbis" - Name 47 "r02" - Name 51 "g_tTexbus" - Name 60 "psout" - Name 70 "flattenTemp" - Name 73 "Color" - Name 77 "Depth" - Name 80 "g_tTexbfs_test" - Decorate 17(g_tTexbfs) DescriptorSet 0 - MemberDecorate 23($Global) 0 Offset 0 - MemberDecorate 23($Global) 1 Offset 8 - MemberDecorate 23($Global) 2 Offset 16 - MemberDecorate 23($Global) 3 Offset 32 - MemberDecorate 23($Global) 4 Offset 48 - MemberDecorate 23($Global) 5 Offset 56 - MemberDecorate 23($Global) 6 Offset 64 - MemberDecorate 23($Global) 7 Offset 80 - Decorate 23($Global) Block - Decorate 25 DescriptorSet 0 - Decorate 38(g_tTexbis) DescriptorSet 0 - Decorate 51(g_tTexbus) DescriptorSet 0 - Decorate 73(Color) Location 0 - Decorate 77(Depth) BuiltIn FragDepth - Decorate 80(g_tTexbfs_test) DescriptorSet 0 - Decorate 80(g_tTexbfs_test) Binding 0 + Name 16 "g_tTexbfs" + Name 22 "$Global" + MemberName 22($Global) 0 "c1" + MemberName 22($Global) 1 "c2" + MemberName 22($Global) 2 "c3" + MemberName 22($Global) 3 "c4" + MemberName 22($Global) 4 "o1" + MemberName 22($Global) 5 "o2" + MemberName 22($Global) 6 "o3" + MemberName 22($Global) 7 "o4" + Name 24 "" + Name 32 "r01" + Name 35 "g_tTexbis" + Name 43 "r02" + Name 46 "g_tTexbus" + Name 54 "psout" + Name 64 "flattenTemp" + Name 67 "Color" + Name 71 "Depth" + Name 74 "g_tTexbfs_test" + Decorate 16(g_tTexbfs) DescriptorSet 0 + MemberDecorate 22($Global) 0 Offset 0 + MemberDecorate 22($Global) 1 Offset 8 + MemberDecorate 22($Global) 2 Offset 16 + MemberDecorate 22($Global) 3 Offset 32 + MemberDecorate 22($Global) 4 Offset 48 + MemberDecorate 22($Global) 5 Offset 56 + MemberDecorate 22($Global) 6 Offset 64 + MemberDecorate 22($Global) 7 Offset 80 + Decorate 22($Global) Block + Decorate 24 DescriptorSet 0 + Decorate 35(g_tTexbis) DescriptorSet 0 + Decorate 46(g_tTexbus) DescriptorSet 0 + Decorate 67(Color) Location 0 + Decorate 71(Depth) BuiltIn FragDepth + Decorate 74(g_tTexbfs_test) DescriptorSet 0 + Decorate 74(g_tTexbfs_test) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -230,84 +231,78 @@ gl_FragCoord origin is upper left 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) 14: TypeImage 6(float) Buffer sampled format:R32f - 15: TypeSampledImage 14 - 16: TypePointer UniformConstant 15 - 17(g_tTexbfs): 16(ptr) Variable UniformConstant - 19: TypeInt 32 1 - 20: TypeVector 19(int) 2 - 21: TypeVector 19(int) 3 - 22: TypeVector 19(int) 4 - 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4) - 24: TypePointer Uniform 23($Global) - 25: 24(ptr) Variable Uniform - 26: 19(int) Constant 0 - 27: TypePointer Uniform 19(int) - 33: TypePointer Function 19(int) - 35: TypeImage 19(int) Buffer sampled format:R32i - 36: TypeSampledImage 35 - 37: TypePointer UniformConstant 36 - 38(g_tTexbis): 37(ptr) Variable UniformConstant - 45: TypeInt 32 0 - 46: TypePointer Function 45(int) - 48: TypeImage 45(int) Buffer sampled format:R32ui - 49: TypeSampledImage 48 - 50: TypePointer UniformConstant 49 - 51(g_tTexbus): 50(ptr) Variable UniformConstant - 56: TypeVector 45(int) 4 - 59: TypePointer Function 8(PS_OUTPUT) - 61: 6(float) Constant 1065353216 - 62: 7(fvec4) ConstantComposite 61 61 61 61 - 63: TypePointer Function 7(fvec4) - 65: 19(int) Constant 1 - 72: TypePointer Output 7(fvec4) - 73(Color): 72(ptr) Variable Output - 76: TypePointer Output 6(float) - 77(Depth): 76(ptr) Variable Output -80(g_tTexbfs_test): 16(ptr) Variable UniformConstant + 15: TypePointer UniformConstant 14 + 16(g_tTexbfs): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: TypeVector 18(int) 2 + 20: TypeVector 18(int) 3 + 21: TypeVector 18(int) 4 + 22($Global): TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) + 23: TypePointer Uniform 22($Global) + 24: 23(ptr) Variable Uniform + 25: 18(int) Constant 0 + 26: TypePointer Uniform 18(int) + 31: TypePointer Function 18(int) + 33: TypeImage 18(int) Buffer sampled format:R32i + 34: TypePointer UniformConstant 33 + 35(g_tTexbis): 34(ptr) Variable UniformConstant + 41: TypeInt 32 0 + 42: TypePointer Function 41(int) + 44: TypeImage 41(int) Buffer sampled format:R32ui + 45: TypePointer UniformConstant 44 + 46(g_tTexbus): 45(ptr) Variable UniformConstant + 50: TypeVector 41(int) 4 + 53: TypePointer Function 8(PS_OUTPUT) + 55: 6(float) Constant 1065353216 + 56: 7(fvec4) ConstantComposite 55 55 55 55 + 57: TypePointer Function 7(fvec4) + 59: 18(int) Constant 1 + 66: TypePointer Output 7(fvec4) + 67(Color): 66(ptr) Variable Output + 70: TypePointer Output 6(float) + 71(Depth): 70(ptr) Variable Output +74(g_tTexbfs_test): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 70(flattenTemp): 59(ptr) Variable Function - 71:8(PS_OUTPUT) FunctionCall 10(@main() - Store 70(flattenTemp) 71 - 74: 63(ptr) AccessChain 70(flattenTemp) 26 - 75: 7(fvec4) Load 74 - Store 73(Color) 75 - 78: 12(ptr) AccessChain 70(flattenTemp) 65 - 79: 6(float) Load 78 - Store 77(Depth) 79 + 64(flattenTemp): 53(ptr) Variable Function + 65:8(PS_OUTPUT) FunctionCall 10(@main() + Store 64(flattenTemp) 65 + 68: 57(ptr) AccessChain 64(flattenTemp) 25 + 69: 7(fvec4) Load 68 + Store 67(Color) 69 + 72: 12(ptr) AccessChain 64(flattenTemp) 59 + 73: 6(float) Load 72 + Store 71(Depth) 73 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r00): 12(ptr) Variable Function - 34(r01): 33(ptr) Variable Function - 47(r02): 46(ptr) Variable Function - 60(psout): 59(ptr) Variable Function - 18: 15 Load 17(g_tTexbfs) - 28: 27(ptr) AccessChain 25 26 - 29: 19(int) Load 28 - 30: 14 Image 18 - 31: 7(fvec4) ImageFetch 30 29 - 32: 6(float) CompositeExtract 31 0 - Store 13(r00) 32 - 39: 36 Load 38(g_tTexbis) - 40: 27(ptr) AccessChain 25 26 - 41: 19(int) Load 40 - 42: 35 Image 39 - 43: 22(ivec4) ImageFetch 42 41 - 44: 19(int) CompositeExtract 43 0 - Store 34(r01) 44 - 52: 49 Load 51(g_tTexbus) - 53: 27(ptr) AccessChain 25 26 - 54: 19(int) Load 53 - 55: 48 Image 52 - 57: 56(ivec4) ImageFetch 55 54 - 58: 45(int) CompositeExtract 57 0 - Store 47(r02) 58 - 64: 63(ptr) AccessChain 60(psout) 26 - Store 64 62 - 66: 12(ptr) AccessChain 60(psout) 65 - Store 66 61 - 67:8(PS_OUTPUT) Load 60(psout) - ReturnValue 67 + 32(r01): 31(ptr) Variable Function + 43(r02): 42(ptr) Variable Function + 54(psout): 53(ptr) Variable Function + 17: 14 Load 16(g_tTexbfs) + 27: 26(ptr) AccessChain 24 25 + 28: 18(int) Load 27 + 29: 7(fvec4) ImageFetch 17 28 + 30: 6(float) CompositeExtract 29 0 + Store 13(r00) 30 + 36: 33 Load 35(g_tTexbis) + 37: 26(ptr) AccessChain 24 25 + 38: 18(int) Load 37 + 39: 21(ivec4) ImageFetch 36 38 + 40: 18(int) CompositeExtract 39 0 + Store 32(r01) 40 + 47: 44 Load 46(g_tTexbus) + 48: 26(ptr) AccessChain 24 25 + 49: 18(int) Load 48 + 51: 50(ivec4) ImageFetch 47 49 + 52: 41(int) CompositeExtract 51 0 + Store 43(r02) 52 + 58: 57(ptr) AccessChain 54(psout) 25 + Store 58 56 + 60: 12(ptr) AccessChain 54(psout) 59 + Store 60 55 + 61:8(PS_OUTPUT) Load 54(psout) + ReturnValue 61 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out index 7d6c63ab9..473db6168 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -281,7 +281,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -571,6 +571,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 155 159 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index f20b6075d..4b6a09f02 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -218,7 +218,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -445,6 +445,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 119 123 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out index ea8bdd2dd..3e748cc2f 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.rwbuffer.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:22 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -56,7 +56,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:22 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -119,6 +119,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 54 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out index fba29c13e..884ed8f66 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.rwtexture.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -104,7 +104,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -215,6 +215,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 82 86 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out index 2b05b31d0..306186710 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.load.rwtexture.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -122,7 +122,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -251,6 +251,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 104 108 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out index 7aec27565..587e3d5ee 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out @@ -1,5 +1,5 @@ hlsl.logical.binary.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -65,7 +65,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -136,6 +136,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 59 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out index 38708ef7e..a03890c43 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out @@ -1,5 +1,5 @@ hlsl.logical.binary.vec.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -128,7 +128,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -262,6 +262,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 117 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out index 885a79661..7121d9253 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out @@ -1,5 +1,5 @@ hlsl.logical.unary.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -93,7 +93,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -192,6 +192,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 81 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.logicalConvert.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.logicalConvert.frag.out index ca3fe58df..a49a7185f 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.logicalConvert.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.logicalConvert.frag.out @@ -1,5 +1,5 @@ hlsl.logicalConvert.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @main( ( temp 4-component vector of float) @@ -84,7 +84,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @main( ( temp 4-component vector of float) @@ -174,6 +174,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 36 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 36 "@entryPointOutput" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out index cd0dbbf5d..0360db49e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out @@ -1,5 +1,5 @@ hlsl.matNx1.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: TestMatNx1( ( temp void) @@ -77,7 +77,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: TestMatNx1( ( temp void) @@ -160,6 +160,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 74 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 6 "TestMatNx1(" Name 10 "PS_OUTPUT" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out index b1c5762c8..3f261a334 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out @@ -1,5 +1,5 @@ hlsl.matType.bool.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: TestBoolMatTypes( ( temp void) @@ -117,7 +117,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: TestBoolMatTypes( ( temp void) @@ -240,6 +240,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 127 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 6 "TestBoolMatTypes(" Name 10 "PS_OUTPUT" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out index ee4087988..d76d55c6a 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out @@ -1,5 +1,5 @@ hlsl.matType.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: ShaderFunction(vf1;f1; ( temp 1-component vector of float) @@ -17,7 +17,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: ShaderFunction(vf1;f1; ( temp 1-component vector of float) @@ -40,6 +40,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "ShaderFunction(vf1;f1;" Name 9 "inFloat1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out index aef786239..602f068fa 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out @@ -1,5 +1,5 @@ hlsl.matType.int.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: TestIntMatTypes( ( temp void) @@ -200,7 +200,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: TestIntMatTypes( ( temp void) @@ -406,6 +406,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 229 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 6 "TestIntMatTypes(" Name 8 "TestUintMatTypes(" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out index 69c774ba0..7e792b4e3 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out @@ -1,5 +1,5 @@ hlsl.matrixSwizzle.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:2 Function Definition: @ShaderFunction(f1; ( temp void) 0:2 Function Parameters: @@ -339,7 +339,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:2 Function Definition: @ShaderFunction(f1; ( temp void) 0:2 Function Parameters: @@ -684,6 +684,7 @@ Missing functionality: matrix swizzle 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "ShaderFunction" 81 + Source HLSL 500 Name 4 "ShaderFunction" Name 10 "@ShaderFunction(f1;" Name 9 "inf" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out index 6f2339c2f..9741c5d16 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out @@ -1,5 +1,5 @@ hlsl.matrixindex.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -137,7 +137,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -280,6 +280,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 80 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out index 6a0762ed0..2c74d7223 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out @@ -1,5 +1,5 @@ hlsl.max.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float) @@ -34,7 +34,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float) @@ -74,6 +74,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 21 24 27 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 12 "@PixelShaderFunction(vf4;vf4;" Name 10 "input1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out index 257d7e48b..1cbd477ad 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out @@ -1,5 +1,5 @@ hlsl.mintypes.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -50,7 +50,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -106,6 +106,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 64 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out index cc4924fda..8a309da27 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out @@ -1,5 +1,5 @@ hlsl.multiEntry.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:4 Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float) 0:4 Function Parameters: @@ -7,7 +7,7 @@ Shader version: 450 0:? Sequence 0:5 Branch: Return with expression 0:5 textureFetch ( temp 4-component vector of float) -0:5 'Position' (layout( rgba32f) uniform samplerBuffer) +0:5 'Position' (layout( rgba32f) uniform textureBuffer) 0:5 Convert uint to int ( temp int) 0:5 'Index' ( in uint) 0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) @@ -28,7 +28,7 @@ Shader version: 450 0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:? 'Index' ( temp uint) 0:? Linker Objects -0:? 'Position' (layout( rgba32f) uniform samplerBuffer) +0:? 'Position' (layout( rgba32f) uniform textureBuffer) 0:? '@entryPointOutput' ( out 4-component vector of float Position) 0:? 'Index' ( in uint VertexIndex) @@ -36,7 +36,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:4 Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float) 0:4 Function Parameters: @@ -44,7 +44,7 @@ Shader version: 450 0:? Sequence 0:5 Branch: Return with expression 0:5 textureFetch ( temp 4-component vector of float) -0:5 'Position' (layout( rgba32f) uniform samplerBuffer) +0:5 'Position' (layout( rgba32f) uniform textureBuffer) 0:5 Convert uint to int ( temp int) 0:5 'Index' ( in uint) 0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) @@ -65,33 +65,34 @@ Shader version: 450 0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:? 'Index' ( temp uint) 0:? Linker Objects -0:? 'Position' (layout( rgba32f) uniform samplerBuffer) +0:? 'Position' (layout( rgba32f) uniform textureBuffer) 0:? '@entryPointOutput' ( out 4-component vector of float Position) 0:? 'Index' ( in uint VertexIndex) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 43 +// Id's are bound by 41 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "RealEntrypoint" 36 39 + EntryPoint Vertex 4 "RealEntrypoint" 34 37 + Source HLSL 500 Name 4 "RealEntrypoint" Name 12 "FakeEntrypoint(u1;" Name 11 "Index" Name 15 "@RealEntrypoint(u1;" Name 14 "Index" - Name 20 "Position" - Name 29 "param" + Name 19 "Position" + Name 27 "param" + Name 32 "Index" Name 34 "Index" - Name 36 "Index" - Name 39 "@entryPointOutput" - Name 40 "param" - Decorate 20(Position) DescriptorSet 0 - Decorate 36(Index) BuiltIn VertexIndex - Decorate 39(@entryPointOutput) BuiltIn Position + Name 37 "@entryPointOutput" + Name 38 "param" + Decorate 19(Position) DescriptorSet 0 + Decorate 34(Index) BuiltIn VertexIndex + Decorate 37(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -100,42 +101,40 @@ Shader version: 450 9: TypeVector 8(float) 4 10: TypeFunction 9(fvec4) 7(ptr) 17: TypeImage 8(float) Buffer sampled format:Rgba32f - 18: TypeSampledImage 17 - 19: TypePointer UniformConstant 18 - 20(Position): 19(ptr) Variable UniformConstant - 23: TypeInt 32 1 - 35: TypePointer Input 6(int) - 36(Index): 35(ptr) Variable Input - 38: TypePointer Output 9(fvec4) -39(@entryPointOutput): 38(ptr) Variable Output + 18: TypePointer UniformConstant 17 + 19(Position): 18(ptr) Variable UniformConstant + 22: TypeInt 32 1 + 33: TypePointer Input 6(int) + 34(Index): 33(ptr) Variable Input + 36: TypePointer Output 9(fvec4) +37(@entryPointOutput): 36(ptr) Variable Output 4(RealEntrypoint): 2 Function None 3 5: Label - 34(Index): 7(ptr) Variable Function - 40(param): 7(ptr) Variable Function - 37: 6(int) Load 36(Index) - Store 34(Index) 37 - 41: 6(int) Load 34(Index) - Store 40(param) 41 - 42: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param) - Store 39(@entryPointOutput) 42 + 32(Index): 7(ptr) Variable Function + 38(param): 7(ptr) Variable Function + 35: 6(int) Load 34(Index) + Store 32(Index) 35 + 39: 6(int) Load 32(Index) + Store 38(param) 39 + 40: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param) + Store 37(@entryPointOutput) 40 Return FunctionEnd 12(FakeEntrypoint(u1;): 9(fvec4) Function None 10 11(Index): 7(ptr) FunctionParameter 13: Label - 21: 18 Load 20(Position) - 22: 6(int) Load 11(Index) - 24: 23(int) Bitcast 22 - 25: 17 Image 21 - 26: 9(fvec4) ImageFetch 25 24 - ReturnValue 26 + 20: 17 Load 19(Position) + 21: 6(int) Load 11(Index) + 23: 22(int) Bitcast 21 + 24: 9(fvec4) ImageFetch 20 23 + ReturnValue 24 FunctionEnd 15(@RealEntrypoint(u1;): 9(fvec4) Function None 10 14(Index): 7(ptr) FunctionParameter 16: Label - 29(param): 7(ptr) Variable Function - 30: 6(int) Load 14(Index) - Store 29(param) 30 - 31: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param) - ReturnValue 31 + 27(param): 7(ptr) Variable Function + 28: 6(int) Load 14(Index) + Store 27(param) 28 + 29: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param) + ReturnValue 29 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out index 9efc9fc81..1569b4252 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out @@ -1,5 +1,5 @@ hlsl.multiReturn.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) @@ -25,7 +25,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) @@ -56,6 +56,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "S" MemberName 9(S) 0 "f" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.namespace.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.namespace.frag.out index dae874fc4..82fbb6efb 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.namespace.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.namespace.frag.out @@ -1,5 +1,5 @@ hlsl.namespace.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: N1::getVec( ( temp 4-component vector of float) @@ -52,7 +52,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: N1::getVec( ( temp 4-component vector of float) @@ -110,6 +110,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 52 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "N1::getVec(" Name 11 "N2::getVec(" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.nonint-index.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.nonint-index.frag.out new file mode 100644 index 000000000..3684cf3e5 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/hlsl.nonint-index.frag.out @@ -0,0 +1,152 @@ +hlsl.nonint-index.frag +Shader version: 500 +gl_FragCoord origin is upper left +0:? Sequence +0:4 Function Definition: @main(f1; ( temp float) +0:4 Function Parameters: +0:4 'input' ( in float) +0:? Sequence +0:7 Branch: Return with expression +0:7 add ( temp float) +0:7 add ( temp float) +0:7 add ( temp float) +0:7 indirect index ( temp float) +0:7 Constant: +0:7 1.000000 +0:7 2.000000 +0:7 3.000000 +0:7 Convert float to uint ( temp uint) +0:7 'input' ( in float) +0:7 Constant: +0:7 3.000000 +0:7 Constant: +0:7 2.000000 +0:7 Constant: +0:7 1.000000 +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 move second child to first child ( temp float) +0:? 'input' ( temp float) +0:? 'input' (layout( location=0) in float) +0:4 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:4 Function Call: @main(f1; ( temp float) +0:? 'input' ( temp float) +0:? Linker Objects +0:? 'array' ( const 3-element array of float) +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? '@entryPointOutput' (layout( location=0) out float) +0:? 'input' (layout( location=0) in float) + + +Linked fragment stage: + + +Shader version: 500 +gl_FragCoord origin is upper left +0:? Sequence +0:4 Function Definition: @main(f1; ( temp float) +0:4 Function Parameters: +0:4 'input' ( in float) +0:? Sequence +0:7 Branch: Return with expression +0:7 add ( temp float) +0:7 add ( temp float) +0:7 add ( temp float) +0:7 indirect index ( temp float) +0:7 Constant: +0:7 1.000000 +0:7 2.000000 +0:7 3.000000 +0:7 Convert float to uint ( temp uint) +0:7 'input' ( in float) +0:7 Constant: +0:7 3.000000 +0:7 Constant: +0:7 2.000000 +0:7 Constant: +0:7 1.000000 +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 move second child to first child ( temp float) +0:? 'input' ( temp float) +0:? 'input' (layout( location=0) in float) +0:4 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:4 Function Call: @main(f1; ( temp float) +0:? 'input' ( temp float) +0:? Linker Objects +0:? 'array' ( const 3-element array of float) +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? '@entryPointOutput' (layout( location=0) out float) +0:? 'input' (layout( location=0) in float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 39 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 32 35 + ExecutionMode 4 OriginUpperLeft + Source HLSL 500 + Name 4 "main" + Name 10 "@main(f1;" + Name 9 "input" + Name 22 "indexable" + Name 30 "input" + Name 32 "input" + Name 35 "@entryPointOutput" + Name 36 "param" + Decorate 32(input) Location 0 + Decorate 35(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 8: TypeFunction 6(float) 7(ptr) + 12: TypeInt 32 0 + 13: 12(int) Constant 3 + 14: TypeArray 6(float) 13 + 15: 6(float) Constant 1065353216 + 16: 6(float) Constant 1073741824 + 17: 6(float) Constant 1077936128 + 18: 14 ConstantComposite 15 16 17 + 21: TypePointer Function 14 + 31: TypePointer Input 6(float) + 32(input): 31(ptr) Variable Input + 34: TypePointer Output 6(float) +35(@entryPointOutput): 34(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 30(input): 7(ptr) Variable Function + 36(param): 7(ptr) Variable Function + 33: 6(float) Load 32(input) + Store 30(input) 33 + 37: 6(float) Load 30(input) + Store 36(param) 37 + 38: 6(float) FunctionCall 10(@main(f1;) 36(param) + Store 35(@entryPointOutput) 38 + Return + FunctionEnd + 10(@main(f1;): 6(float) Function None 8 + 9(input): 7(ptr) FunctionParameter + 11: Label + 22(indexable): 21(ptr) Variable Function + 19: 6(float) Load 9(input) + 20: 12(int) ConvertFToU 19 + Store 22(indexable) 18 + 23: 7(ptr) AccessChain 22(indexable) 20 + 24: 6(float) Load 23 + 25: 6(float) FAdd 24 17 + 26: 6(float) FAdd 25 16 + 27: 6(float) FAdd 26 15 + ReturnValue 27 + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out index d3049ec7e..27326c69f 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out @@ -1,5 +1,5 @@ hlsl.nonstaticMemberFunction.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -135,7 +135,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -276,6 +276,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 109 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "type1" MemberName 9(type1) 0 "memVar" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out index cb246695e..ee25cb367 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out @@ -1,5 +1,5 @@ hlsl.numericsuffixes.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -97,7 +97,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) @@ -200,6 +200,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 51 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out index ed0017b21..fc1345f89 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out @@ -1,5 +1,5 @@ hlsl.numthreads.comp -Shader version: 450 +Shader version: 500 local_size = (4, 4, 2) 0:? Sequence 0:4 Function Definition: main(vu3; ( temp void) @@ -23,7 +23,7 @@ local_size = (4, 4, 2) Linked compute stage: -Shader version: 450 +Shader version: 500 local_size = (4, 4, 2) 0:? Sequence 0:4 Function Definition: main(vu3; ( temp void) @@ -52,6 +52,7 @@ local_size = (4, 4, 2) MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "main_aux1" 18 ExecutionMode 4 LocalSize 4 4 2 + Source HLSL 500 Name 4 "main_aux1" Name 11 "main(vu3;" Name 10 "tid" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out index 1075ffe31..b39052696 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out @@ -1,5 +1,5 @@ hlsl.overload.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo1(d1;b1; ( temp void) @@ -368,7 +368,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo1(d1;b1; ( temp void) @@ -743,6 +743,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 513 516 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 13 "foo1(d1;b1;" Name 11 "a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out index b8ddf0dde..3643c23f5 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out @@ -1,5 +1,5 @@ hlsl.params.default.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int) @@ -189,7 +189,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:9 Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int) @@ -384,6 +384,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 175 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 15 "fn1(vi4;b1;b1;" Name 12 "p0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out index 219e920a7..f841bd8b6 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out @@ -6,7 +6,7 @@ ERROR: 0:47: 'fn2' : ambiguous best function under implicit type conversion ERROR: 4 compilation errors. No code generated. -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:7 Function Definition: fn1(vi4; ( temp 4-component vector of int) @@ -196,7 +196,7 @@ ERROR: node is still EOpNull! Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! 0:7 Function Definition: fn1(vi4; ( temp 4-component vector of int) diff --git a/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out index 2dc40bee7..b3267997b 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out @@ -2,7 +2,7 @@ hlsl.partialInit.frag WARNING: 0:35: 'cgf2a' : variable with qualifier 'const' not initialized; zero initializing WARNING: 0:36: 'ci' : variable with qualifier 'const' not initialized; zero initializing -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Sequence @@ -202,7 +202,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Sequence @@ -407,6 +407,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 80 87 91 95 99 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "outs" MemberName 11(outs) 0 "a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out index 6e8998d9f..727fdd06d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out @@ -1,5 +1,5 @@ hlsl.pp.line.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -60,7 +60,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -126,6 +126,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 35 39 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out index 54dcf3124..a46c6fbc3 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out @@ -1,5 +1,5 @@ hlsl.precedence.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float) @@ -75,7 +75,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float) @@ -156,6 +156,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 43 46 49 52 55 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 14 "@PixelShaderFunction(vf4;vf4;vf4;vf4;" Name 10 "a1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out index a0ddd4467..31e76c3a1 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out @@ -1,5 +1,5 @@ hlsl.precedence2.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; ( temp int) @@ -58,7 +58,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; ( temp int) @@ -122,6 +122,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 34 37 40 43 46 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 13 "@PixelShaderFunction(i1;i1;i1;i1;" Name 9 "a1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out index 8a0ac8151..442f6c28e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out @@ -1,5 +1,5 @@ hlsl.precise.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:6 Function Definition: MyFunction(f1;vf3; ( temp void) @@ -39,7 +39,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:6 Function Definition: MyFunction(f1;vf3; ( temp void) @@ -84,6 +84,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 32 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 13 "MyFunction(f1;vf3;" Name 11 "myfloat" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out index b09f68d4e..b31ac6126 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out @@ -1,5 +1,5 @@ hlsl.promote.atomic.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main( ( temp 4-component vector of float) @@ -33,7 +33,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main( ( temp 4-component vector of float) @@ -73,6 +73,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 34 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 13 "Orig" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out index 34a46f986..09c1f93a5 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out @@ -1,5 +1,5 @@ hlsl.promote.binary.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -87,7 +87,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -180,6 +180,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 80 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out index c76f5d23c..b0536bdb6 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out @@ -1,5 +1,5 @@ hlsl.promote.vec1.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @main( ( temp 4-component vector of float) @@ -41,7 +41,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @main( ( temp 4-component vector of float) @@ -88,6 +88,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 29 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 12 "f1a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out index d955195db..e1953e0a7 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out @@ -1,5 +1,5 @@ hlsl.promotions.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:19 Function Definition: Fn_F3(vf3; ( temp void) @@ -792,7 +792,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:19 Function Definition: Fn_F3(vf3; ( temp void) @@ -1591,6 +1591,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 593 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "Fn_F3(vf3;" Name 10 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out index a2e535849..08369c0ec 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out @@ -1,5 +1,5 @@ hlsl.rw.atomics.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -1974,7 +1974,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -3956,6 +3956,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 1117 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out index ece7bfa3e..55264de91 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out @@ -1,5 +1,5 @@ hlsl.rw.bracket.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:42 Function Definition: Fn1(vi4; ( temp 4-component vector of int) @@ -873,7 +873,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:42 Function Definition: Fn1(vi4; ( temp 4-component vector of int) @@ -1753,6 +1753,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 583 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "Fn1(vi4;" Name 10 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out index 2e0c56223..525c6aaa9 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out @@ -1,5 +1,5 @@ hlsl.rw.register.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -50,7 +50,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -108,6 +108,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 39 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out index 991d524e2..e0e88d18c 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out @@ -1,5 +1,5 @@ hlsl.rw.scalar.bracket.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:42 Function Definition: Fn1(i1; ( temp int) @@ -846,7 +846,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:42 Function Definition: Fn1(i1; ( temp int) @@ -1699,6 +1699,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 547 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 10 "Fn1(i1;" Name 9 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out index ae2f4c961..60a6b997e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out @@ -1,5 +1,5 @@ hlsl.rw.swizzle.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: SomeValue( ( temp 3-component vector of float) @@ -102,7 +102,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: SomeValue( ( temp 3-component vector of float) @@ -211,6 +211,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 58 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "SomeValue(" Name 13 "@main(" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out index c34ce902e..afcc52a57 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out @@ -1,5 +1,5 @@ hlsl.rw.vec2.bracket.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:42 Function Definition: Fn1(vi2; ( temp 2-component vector of int) @@ -855,7 +855,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:42 Function Definition: Fn1(vi2; ( temp 2-component vector of int) @@ -1718,6 +1718,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 581 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "Fn1(vi2;" Name 10 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out index 5a8a79c64..1ac123ef5 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.sample.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -161,7 +161,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -330,6 +330,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 138 142 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out index 725de275c..61abf2af3 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -1,7 +1,7 @@ hlsl.sample.basic.dx10.frag WARNING: 0:4: 'immediate sampler state' : unimplemented -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -276,7 +276,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -557,6 +557,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out index 923db2462..f6bfb8d85 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.sample.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -182,7 +182,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -371,6 +371,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 144 148 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index d9cf65c60..c08ec5cf9 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.sample.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -137,7 +137,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -281,6 +281,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 110 114 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out index c3d6f13c9..2829c027a 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.sample.sub-vec4.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -78,7 +78,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -163,6 +163,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 69 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index 7f6881f17..afed0a40f 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplebias.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -179,7 +179,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -366,6 +366,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 138 142 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 81e8da949..cff271fbf 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplebias.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -212,7 +212,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -431,6 +431,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 162 166 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 19191321b..b05d1d752 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplebias.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -200,7 +200,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -407,6 +407,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 144 148 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index 0aab04844..e71874350 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplebias.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -149,7 +149,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -305,6 +305,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 110 114 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index 6f26c98f0..1ddff1a7f 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmp.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -199,7 +199,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -406,6 +406,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 175 179 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index df1004e11..373423a7d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmp.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -190,7 +190,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -388,6 +388,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 164 168 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index a6193fd95..290c8b49b 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmp.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -163,7 +163,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -334,6 +334,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 121 125 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 2fdce6788..ed4010283 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmp.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -169,7 +169,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -346,6 +346,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 132 136 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index 3a3e1695b..875d5933a 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmplevelzero.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -217,7 +217,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -442,6 +442,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 176 180 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index 1fcc001e2..9d2802dba 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmplevelzero.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -208,7 +208,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -424,6 +424,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 165 169 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index 1bd82bebd..2e30e7c3e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmplevelzero.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -175,7 +175,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -358,6 +358,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 122 126 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 8a87e9b0d..eda17f2a6 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplecmplevelzero.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -181,7 +181,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -370,6 +370,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 133 137 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index 5a5159d36..03449f8e9 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplegrad.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -215,7 +215,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -438,6 +438,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 132 136 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index dc61751cc..42a27bfc9 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplegrad.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -266,7 +266,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -539,6 +539,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 167 171 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index afce97f6e..a93cbdffd 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -1,5 +1,5 @@ hlsl.samplegrad.basic.dx10.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: @@ -248,7 +248,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: @@ -502,6 +502,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 162 168 + Source HLSL 500 Name 4 "main" Name 8 "VS_OUTPUT" MemberName 8(VS_OUTPUT) 0 "Pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index 9da0f17fb..4b4e7181d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplegrad.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -236,7 +236,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -479,6 +479,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 149 153 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index a2abd0ffa..1f714e691 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplegrad.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -170,7 +170,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -348,6 +348,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 103 107 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index 88c7de93c..0a3e7fde8 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplelevel.array.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -179,7 +179,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -366,6 +366,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 139 143 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index 7d9f268c0..6ff36bedf 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplelevel.basic.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -213,7 +213,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -433,6 +433,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 163 167 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index 40996e976..5b2f95029 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -1,5 +1,5 @@ hlsl.samplelevel.basic.dx10.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: @@ -194,7 +194,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: @@ -394,6 +394,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 158 164 + Source HLSL 500 Name 4 "main" Name 8 "VS_OUTPUT" MemberName 8(VS_OUTPUT) 0 "Pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index 2c9817120..7311ae41d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplelevel.offset.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -200,7 +200,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -407,6 +407,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 145 149 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index 06b4c7b4b..223bfaf85 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -1,5 +1,5 @@ hlsl.samplelevel.offsetarray.dx10.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -149,7 +149,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) @@ -305,6 +305,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 111 115 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.scalar-length.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.scalar-length.frag.out index a0603a461..285483534 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.scalar-length.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.scalar-length.frag.out @@ -1,5 +1,5 @@ hlsl.scalar-length.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @main( ( temp 4-component vector of float) @@ -33,7 +33,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @main( ( temp 4-component vector of float) @@ -72,6 +72,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 28 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 12 "test" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.scalarCast.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.scalarCast.vert.out new file mode 100755 index 000000000..c7ac14297 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/hlsl.scalarCast.vert.out @@ -0,0 +1,502 @@ +hlsl.scalarCast.vert +Shader version: 500 +0:? Sequence +0:5 Function Definition: r0( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:5 Function Parameters: +0:? Sequence +0:7 Branch: Return with expression +0:7 Constant: +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:9 Function Definition: r1( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:9 Function Parameters: +0:? Sequence +0:11 Branch: Return with expression +0:11 Constant: +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:13 Function Definition: r2( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:13 Function Parameters: +0:? Sequence +0:15 Branch: Return with expression +0:15 Constant: +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:17 Function Definition: r3( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:17 Function Parameters: +0:? Sequence +0:18 Sequence +0:18 move second child to first child ( temp float) +0:18 'f' ( temp float) +0:18 Constant: +0:18 2.000000 +0:19 Branch: Return with expression +0:19 Construct structure ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:19 Construct vec4 ( temp 4-component vector of float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:19 Construct vec2 ( temp 2-component vector of float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:21 Function Definition: r4( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:21 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child ( temp float) +0:22 'f' ( temp float) +0:22 Constant: +0:22 2.000000 +0:23 Branch: Return with expression +0:23 Comma ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:23 move second child to first child ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 add ( temp float) +0:23 'f' ( temp float) +0:23 Constant: +0:23 1.000000 +0:23 Construct structure ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:23 Construct vec4 ( temp 4-component vector of float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:25 Function Definition: r5( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:25 Function Parameters: +0:? Sequence +0:26 Sequence +0:26 move second child to first child ( temp float) +0:26 'f' ( temp float) +0:26 Constant: +0:26 2.000000 +0:27 Branch: Return with expression +0:27 Comma ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:27 move second child to first child ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 sine ( temp float) +0:27 'f' ( temp float) +0:27 Construct structure ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:27 Construct vec4 ( temp 4-component vector of float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 Construct vec2 ( temp 2-component vector of float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Function Parameters: +0:? Sequence +0:30 Sequence +0:30 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:30 'v0' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:30 Function Call: r0( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:31 Sequence +0:31 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:31 'v1' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:31 Function Call: r1( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:32 Sequence +0:32 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:32 'v2' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:32 Function Call: r2( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:33 Sequence +0:33 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:33 'v3' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:33 Function Call: r3( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:34 Sequence +0:34 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:34 'v4' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:34 Function Call: r4( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:35 Sequence +0:35 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:35 'v5' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:35 Function Call: r5( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:36 Branch: Return with expression +0:36 Constant: +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:29 Function Definition: main( ( temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Function Call: @main( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_position' ( out 4-component vector of float Position) +0:29 position: direct index for structure ( temp 4-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child ( temp 2-component vector of float) +0:29 texCoord: direct index for structure ( temp 2-component vector of float) +0:29 '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord}) +0:29 Constant: +0:29 0 (const int) +0:29 texCoord: direct index for structure ( temp 2-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Constant: +0:29 1 (const int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord}) + + +Linked vertex stage: + + +Shader version: 500 +0:? Sequence +0:5 Function Definition: r0( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:5 Function Parameters: +0:? Sequence +0:7 Branch: Return with expression +0:7 Constant: +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:7 2.000000 +0:9 Function Definition: r1( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:9 Function Parameters: +0:? Sequence +0:11 Branch: Return with expression +0:11 Constant: +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:11 3.000000 +0:13 Function Definition: r2( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:13 Function Parameters: +0:? Sequence +0:15 Branch: Return with expression +0:15 Constant: +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:15 0.909297 +0:17 Function Definition: r3( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:17 Function Parameters: +0:? Sequence +0:18 Sequence +0:18 move second child to first child ( temp float) +0:18 'f' ( temp float) +0:18 Constant: +0:18 2.000000 +0:19 Branch: Return with expression +0:19 Construct structure ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:19 Construct vec4 ( temp 4-component vector of float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:19 Construct vec2 ( temp 2-component vector of float) +0:19 'f' ( temp float) +0:19 'f' ( temp float) +0:21 Function Definition: r4( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:21 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child ( temp float) +0:22 'f' ( temp float) +0:22 Constant: +0:22 2.000000 +0:23 Branch: Return with expression +0:23 Comma ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:23 move second child to first child ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 add ( temp float) +0:23 'f' ( temp float) +0:23 Constant: +0:23 1.000000 +0:23 Construct structure ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:23 Construct vec4 ( temp 4-component vector of float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 'scalarCopy' ( temp float) +0:23 'scalarCopy' ( temp float) +0:25 Function Definition: r5( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:25 Function Parameters: +0:? Sequence +0:26 Sequence +0:26 move second child to first child ( temp float) +0:26 'f' ( temp float) +0:26 Constant: +0:26 2.000000 +0:27 Branch: Return with expression +0:27 Comma ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:27 move second child to first child ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 sine ( temp float) +0:27 'f' ( temp float) +0:27 Construct structure ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:27 Construct vec4 ( temp 4-component vector of float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:27 Construct vec2 ( temp 2-component vector of float) +0:27 'scalarCopy' ( temp float) +0:27 'scalarCopy' ( temp float) +0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Function Parameters: +0:? Sequence +0:30 Sequence +0:30 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:30 'v0' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:30 Function Call: r0( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:31 Sequence +0:31 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:31 'v1' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:31 Function Call: r1( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:32 Sequence +0:32 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:32 'v2' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:32 Function Call: r2( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:33 Sequence +0:33 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:33 'v3' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:33 Function Call: r3( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:34 Sequence +0:34 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:34 'v4' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:34 Function Call: r4( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:35 Sequence +0:35 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:35 'v5' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:35 Function Call: r5( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:36 Branch: Return with expression +0:36 Constant: +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:36 1.000000 +0:29 Function Definition: main( ( temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Function Call: @main( ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_position' ( out 4-component vector of float Position) +0:29 position: direct index for structure ( temp 4-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child ( temp 2-component vector of float) +0:29 texCoord: direct index for structure ( temp 2-component vector of float) +0:29 '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord}) +0:29 Constant: +0:29 0 (const int) +0:29 texCoord: direct index for structure ( temp 2-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord}) +0:29 Constant: +0:29 1 (const int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 123 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 108 116 + Source HLSL 500 + Name 4 "main" + Name 9 "VertexOut" + MemberName 9(VertexOut) 0 "position" + MemberName 9(VertexOut) 1 "texCoord" + Name 11 "r0(" + Name 13 "r1(" + Name 15 "r2(" + Name 17 "r3(" + Name 19 "r4(" + Name 21 "r5(" + Name 23 "@main(" + Name 44 "f" + Name 56 "f" + Name 57 "scalarCopy" + Name 72 "f" + Name 73 "scalarCopy" + Name 88 "v0" + Name 90 "v1" + Name 92 "v2" + Name 94 "v3" + Name 96 "v4" + Name 98 "v5" + Name 105 "flattenTemp" + Name 108 "@entryPointOutput_position" + Name 114 "VertexOut" + MemberName 114(VertexOut) 0 "texCoord" + Name 116 "@entryPointOutput" + Decorate 108(@entryPointOutput_position) BuiltIn Position + Decorate 116(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeVector 6(float) 2 + 9(VertexOut): TypeStruct 7(fvec4) 8(fvec2) + 10: TypeFunction 9(VertexOut) + 25: 6(float) Constant 1073741824 + 26: 7(fvec4) ConstantComposite 25 25 25 25 + 27: 8(fvec2) ConstantComposite 25 25 + 28:9(VertexOut) ConstantComposite 26 27 + 31: 6(float) Constant 1077936128 + 32: 7(fvec4) ConstantComposite 31 31 31 31 + 33: 8(fvec2) ConstantComposite 31 31 + 34:9(VertexOut) ConstantComposite 32 33 + 37: 6(float) Constant 1063831479 + 38: 7(fvec4) ConstantComposite 37 37 37 37 + 39: 8(fvec2) ConstantComposite 37 37 + 40:9(VertexOut) ConstantComposite 38 39 + 43: TypePointer Function 6(float) + 59: 6(float) Constant 1065353216 + 87: TypePointer Function 9(VertexOut) + 100: 7(fvec4) ConstantComposite 59 59 59 59 + 101: 8(fvec2) ConstantComposite 59 59 + 102:9(VertexOut) ConstantComposite 100 101 + 107: TypePointer Output 7(fvec4) +108(@entryPointOutput_position): 107(ptr) Variable Output + 109: TypeInt 32 1 + 110: 109(int) Constant 0 + 111: TypePointer Function 7(fvec4) + 114(VertexOut): TypeStruct 8(fvec2) + 115: TypePointer Output 114(VertexOut) +116(@entryPointOutput): 115(ptr) Variable Output + 117: 109(int) Constant 1 + 118: TypePointer Function 8(fvec2) + 121: TypePointer Output 8(fvec2) + 4(main): 2 Function None 3 + 5: Label +105(flattenTemp): 87(ptr) Variable Function + 106:9(VertexOut) FunctionCall 23(@main() + Store 105(flattenTemp) 106 + 112: 111(ptr) AccessChain 105(flattenTemp) 110 + 113: 7(fvec4) Load 112 + Store 108(@entryPointOutput_position) 113 + 119: 118(ptr) AccessChain 105(flattenTemp) 117 + 120: 8(fvec2) Load 119 + 122: 121(ptr) AccessChain 116(@entryPointOutput) 110 + Store 122 120 + Return + FunctionEnd + 11(r0():9(VertexOut) Function None 10 + 12: Label + ReturnValue 28 + FunctionEnd + 13(r1():9(VertexOut) Function None 10 + 14: Label + ReturnValue 34 + FunctionEnd + 15(r2():9(VertexOut) Function None 10 + 16: Label + ReturnValue 40 + FunctionEnd + 17(r3():9(VertexOut) Function None 10 + 18: Label + 44(f): 43(ptr) Variable Function + Store 44(f) 25 + 45: 6(float) Load 44(f) + 46: 6(float) Load 44(f) + 47: 6(float) Load 44(f) + 48: 6(float) Load 44(f) + 49: 7(fvec4) CompositeConstruct 45 46 47 48 + 50: 6(float) Load 44(f) + 51: 6(float) Load 44(f) + 52: 8(fvec2) CompositeConstruct 50 51 + 53:9(VertexOut) CompositeConstruct 49 52 + ReturnValue 53 + FunctionEnd + 19(r4():9(VertexOut) Function None 10 + 20: Label + 56(f): 43(ptr) Variable Function + 57(scalarCopy): 43(ptr) Variable Function + Store 56(f) 25 + 58: 6(float) Load 56(f) + 60: 6(float) FAdd 58 59 + Store 57(scalarCopy) 60 + 61: 6(float) Load 57(scalarCopy) + 62: 6(float) Load 57(scalarCopy) + 63: 6(float) Load 57(scalarCopy) + 64: 6(float) Load 57(scalarCopy) + 65: 7(fvec4) CompositeConstruct 61 62 63 64 + 66: 6(float) Load 57(scalarCopy) + 67: 6(float) Load 57(scalarCopy) + 68: 8(fvec2) CompositeConstruct 66 67 + 69:9(VertexOut) CompositeConstruct 65 68 + ReturnValue 69 + FunctionEnd + 21(r5():9(VertexOut) Function None 10 + 22: Label + 72(f): 43(ptr) Variable Function + 73(scalarCopy): 43(ptr) Variable Function + Store 72(f) 25 + 74: 6(float) Load 72(f) + 75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74 + Store 73(scalarCopy) 75 + 76: 6(float) Load 73(scalarCopy) + 77: 6(float) Load 73(scalarCopy) + 78: 6(float) Load 73(scalarCopy) + 79: 6(float) Load 73(scalarCopy) + 80: 7(fvec4) CompositeConstruct 76 77 78 79 + 81: 6(float) Load 73(scalarCopy) + 82: 6(float) Load 73(scalarCopy) + 83: 8(fvec2) CompositeConstruct 81 82 + 84:9(VertexOut) CompositeConstruct 80 83 + ReturnValue 84 + FunctionEnd + 23(@main():9(VertexOut) Function None 10 + 24: Label + 88(v0): 87(ptr) Variable Function + 90(v1): 87(ptr) Variable Function + 92(v2): 87(ptr) Variable Function + 94(v3): 87(ptr) Variable Function + 96(v4): 87(ptr) Variable Function + 98(v5): 87(ptr) Variable Function + 89:9(VertexOut) FunctionCall 11(r0() + Store 88(v0) 89 + 91:9(VertexOut) FunctionCall 13(r1() + Store 90(v1) 91 + 93:9(VertexOut) FunctionCall 15(r2() + Store 92(v2) 93 + 95:9(VertexOut) FunctionCall 17(r3() + Store 94(v3) 95 + 97:9(VertexOut) FunctionCall 19(r4() + Store 96(v4) 97 + 99:9(VertexOut) FunctionCall 21(r5() + Store 98(v5) 99 + ReturnValue 102 + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out index d3409d8b2..32eeeef0b 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out @@ -1,5 +1,5 @@ hlsl.scope.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) @@ -52,7 +52,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) @@ -110,6 +110,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 44 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out b/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out index caed636d1..e5d67b977 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out @@ -1,5 +1,5 @@ hlsl.semantic.geom -Shader version: 450 +Shader version: 500 invocations = -1 max_vertices = 4 input primitive = triangles @@ -25,25 +25,25 @@ output primitive = line_strip 0:? 'VertexID' ( temp 3-element array of uint) 0:? 'OutputStream' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 move second child to first child ( temp float) -0:? '@entryPointOutput_clip0' ( out float ClipDistance) +0:? 'OutputStream_clip0' ( out float ClipDistance) 0:12 clip0: direct index for structure ( temp float) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: 0:12 0 (const int) 0:12 move second child to first child ( temp float) -0:? '@entryPointOutput_cull0' ( out float CullDistance) +0:? 'OutputStream_cull0' ( out float CullDistance) 0:12 cull0: direct index for structure ( temp float) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: 0:12 1 (const int) 0:12 move second child to first child ( temp uint) -0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) +0:? 'OutputStream_vpai' ( out uint ViewportIndex) 0:12 vpai: direct index for structure ( temp uint) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: 0:12 2 (const int) 0:12 move second child to first child ( temp uint) -0:? '@entryPointOutput_rtai' ( out uint Layer) +0:? 'OutputStream_rtai' ( out uint Layer) 0:12 rtai: direct index for structure ( temp uint) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: @@ -60,13 +60,14 @@ output primitive = line_strip 0:? Linker Objects 0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) 0:? 'VertexID' (layout( location=0) in 3-element array of uint) -0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) +0:? 'OutputStream' (layout( location=1) out structure{ temp int ii}) +0:? 'OutputStream_vpai' ( out uint ViewportIndex) Linked geometry stage: -Shader version: 450 +Shader version: 500 invocations = 1 max_vertices = 4 input primitive = triangles @@ -92,25 +93,25 @@ output primitive = line_strip 0:? 'VertexID' ( temp 3-element array of uint) 0:? 'OutputStream' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 move second child to first child ( temp float) -0:? '@entryPointOutput_clip0' ( out float ClipDistance) +0:? 'OutputStream_clip0' ( out float ClipDistance) 0:12 clip0: direct index for structure ( temp float) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: 0:12 0 (const int) 0:12 move second child to first child ( temp float) -0:? '@entryPointOutput_cull0' ( out float CullDistance) +0:? 'OutputStream_cull0' ( out float CullDistance) 0:12 cull0: direct index for structure ( temp float) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: 0:12 1 (const int) 0:12 move second child to first child ( temp uint) -0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) +0:? 'OutputStream_vpai' ( out uint ViewportIndex) 0:12 vpai: direct index for structure ( temp uint) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: 0:12 2 (const int) 0:12 move second child to first child ( temp uint) -0:? '@entryPointOutput_rtai' ( out uint Layer) +0:? 'OutputStream_rtai' ( out uint Layer) 0:12 rtai: direct index for structure ( temp uint) 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) 0:12 Constant: @@ -127,11 +128,12 @@ output primitive = line_strip 0:? Linker Objects 0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) 0:? 'VertexID' (layout( location=0) in 3-element array of uint) -0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) +0:? 'OutputStream' (layout( location=1) out structure{ temp int ii}) +0:? 'OutputStream_vpai' ( out uint ViewportIndex) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 62 +// Id's are bound by 66 Capability Geometry Capability ClipDistance @@ -139,11 +141,12 @@ output primitive = line_strip Capability MultiViewport 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 25 34 39 44 49 55 + EntryPoint Geometry 4 "main" 25 35 40 45 50 56 65 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputLineStrip ExecutionMode 4 OutputVertices 4 + Source HLSL 500 Name 4 "main" Name 12 "S" MemberName 12(S) 0 "clip0" @@ -161,19 +164,23 @@ output primitive = line_strip Name 28 "OutputStream" Name 29 "param" Name 31 "param" - Name 34 "@entryPointOutput_clip0" - Name 39 "@entryPointOutput_cull0" - Name 44 "@entryPointOutput_vpai" - Name 49 "@entryPointOutput_rtai" - Name 53 "S" - MemberName 53(S) 0 "ii" - Name 55 "@entryPointOutput" + Name 35 "OutputStream_clip0" + Name 40 "OutputStream_cull0" + Name 45 "OutputStream_vpai" + Name 50 "OutputStream_rtai" + Name 54 "S" + MemberName 54(S) 0 "ii" + Name 56 "@entryPointOutput" + Name 63 "S" + MemberName 63(S) 0 "ii" + Name 65 "OutputStream" Decorate 25(VertexID) Location 0 - Decorate 34(@entryPointOutput_clip0) BuiltIn ClipDistance - Decorate 39(@entryPointOutput_cull0) BuiltIn CullDistance - Decorate 44(@entryPointOutput_vpai) BuiltIn ViewportIndex - Decorate 49(@entryPointOutput_rtai) BuiltIn Layer - Decorate 55(@entryPointOutput) Location 0 + Decorate 35(OutputStream_clip0) BuiltIn ClipDistance + Decorate 40(OutputStream_cull0) BuiltIn CullDistance + Decorate 45(OutputStream_vpai) BuiltIn ViewportIndex + Decorate 50(OutputStream_rtai) BuiltIn Layer + Decorate 56(@entryPointOutput) Location 0 + Decorate 65(OutputStream) Location 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -187,24 +194,27 @@ output primitive = line_strip 14: TypeFunction 12(S) 9(ptr) 13(ptr) 24: TypePointer Input 8 25(VertexID): 24(ptr) Variable Input - 33: TypePointer Output 10(float) -34(@entryPointOutput_clip0): 33(ptr) Variable Output - 35: 11(int) Constant 0 - 36: TypePointer Function 10(float) -39(@entryPointOutput_cull0): 33(ptr) Variable Output - 40: 11(int) Constant 1 - 43: TypePointer Output 6(int) -44(@entryPointOutput_vpai): 43(ptr) Variable Output - 45: 11(int) Constant 2 - 46: TypePointer Function 6(int) -49(@entryPointOutput_rtai): 43(ptr) Variable Output - 50: 11(int) Constant 3 - 53(S): TypeStruct 11(int) - 54: TypePointer Output 53(S) -55(@entryPointOutput): 54(ptr) Variable Output - 56: 11(int) Constant 4 - 57: TypePointer Function 11(int) - 60: TypePointer Output 11(int) + 34: TypePointer Output 10(float) +35(OutputStream_clip0): 34(ptr) Variable Output + 36: 11(int) Constant 0 + 37: TypePointer Function 10(float) +40(OutputStream_cull0): 34(ptr) Variable Output + 41: 11(int) Constant 1 + 44: TypePointer Output 6(int) +45(OutputStream_vpai): 44(ptr) Variable Output + 46: 11(int) Constant 2 + 47: TypePointer Function 6(int) +50(OutputStream_rtai): 44(ptr) Variable Output + 51: 11(int) Constant 3 + 54(S): TypeStruct 11(int) + 55: TypePointer Output 54(S) +56(@entryPointOutput): 55(ptr) Variable Output + 57: 11(int) Constant 4 + 58: TypePointer Function 11(int) + 61: TypePointer Output 11(int) + 63(S): TypeStruct 11(int) + 64: TypePointer Output 63(S) +65(OutputStream): 64(ptr) Variable Output 4(main): 2 Function None 3 5: Label 23(VertexID): 9(ptr) Variable Function @@ -217,23 +227,25 @@ output primitive = line_strip 30: 8 Load 23(VertexID) Store 29(param) 30 32: 12(S) FunctionCall 17(@main(u1[3];struct-S-f1-f1-u1-u1-i11;) 29(param) 31(param) + 33: 12(S) Load 31(param) + Store 28(OutputStream) 33 Store 27(flattenTemp) 32 - 37: 36(ptr) AccessChain 27(flattenTemp) 35 - 38: 10(float) Load 37 - Store 34(@entryPointOutput_clip0) 38 - 41: 36(ptr) AccessChain 27(flattenTemp) 40 - 42: 10(float) Load 41 - Store 39(@entryPointOutput_cull0) 42 - 47: 46(ptr) AccessChain 27(flattenTemp) 45 - 48: 6(int) Load 47 - Store 44(@entryPointOutput_vpai) 48 - 51: 46(ptr) AccessChain 27(flattenTemp) 50 - 52: 6(int) Load 51 - Store 49(@entryPointOutput_rtai) 52 - 58: 57(ptr) AccessChain 27(flattenTemp) 56 - 59: 11(int) Load 58 - 61: 60(ptr) AccessChain 55(@entryPointOutput) 35 - Store 61 59 + 38: 37(ptr) AccessChain 27(flattenTemp) 36 + 39: 10(float) Load 38 + Store 35(OutputStream_clip0) 39 + 42: 37(ptr) AccessChain 27(flattenTemp) 41 + 43: 10(float) Load 42 + Store 40(OutputStream_cull0) 43 + 48: 47(ptr) AccessChain 27(flattenTemp) 46 + 49: 6(int) Load 48 + Store 45(OutputStream_vpai) 49 + 52: 47(ptr) AccessChain 27(flattenTemp) 51 + 53: 6(int) Load 52 + Store 50(OutputStream_rtai) 53 + 59: 58(ptr) AccessChain 27(flattenTemp) 57 + 60: 11(int) Load 59 + 62: 61(ptr) AccessChain 56(@entryPointOutput) 36 + Store 62 60 Return FunctionEnd 17(@main(u1[3];struct-S-f1-f1-u1-u1-i11;): 12(S) Function None 14 diff --git a/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out index 0b088563a..3618feefc 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out @@ -1,5 +1,5 @@ hlsl.semantic.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:12 Function Definition: @main(struct-S-f1-f1-f1-f1-f1-f1-i11; ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) 0:12 Function Parameters: @@ -117,7 +117,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:12 Function Definition: @main(struct-S-f1-f1-f1-f1-f1-f1-i11; ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) 0:12 Function Parameters: @@ -241,6 +241,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 21 26 30 34 38 42 47 56 63 72 + Source HLSL 500 Name 4 "main" Name 8 "S" MemberName 8(S) 0 "clip" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out index 9856b5af4..2c26daad5 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out @@ -1,5 +1,5 @@ hlsl.semicolons.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: MyFunc( ( temp void) @@ -38,7 +38,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: MyFunc( ( temp void) @@ -82,6 +82,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 28 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 6 "MyFunc(" Name 8 "MyFunc2(" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out index 07fa9fd3d..775549f13 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out @@ -1,5 +1,5 @@ hlsl.shapeConv.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: PixelShaderFunction(vf4;f1; ( temp 4-component vector of float) @@ -117,7 +117,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: PixelShaderFunction(vf4;f1; ( temp 4-component vector of float) @@ -239,6 +239,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 13 "PixelShaderFunction(vf4;f1;" Name 11 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out index 54ca7fa86..e9dba22a7 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out @@ -1,5 +1,5 @@ hlsl.shapeConvRet.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo( ( temp 3-component vector of int) @@ -35,7 +35,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo( ( temp 3-component vector of int) @@ -76,6 +76,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 28 31 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "foo(" Name 16 "@main(f1;" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out index 1f96440ef..37baab002 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out @@ -1,5 +1,5 @@ hlsl.sin.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -27,7 +27,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -60,6 +60,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 19 22 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out index e8a98cb24..e313cbc58 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out @@ -1,5 +1,5 @@ hlsl.staticMemberFunction.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: Test::staticMemFun(vf4; ( global 4-component vector of float) @@ -60,7 +60,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: Test::staticMemFun(vf4; ( global 4-component vector of float) @@ -126,6 +126,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 52 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "Test::staticMemFun(vf4;" Name 10 "a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out index c4a118f6b..1c6c54285 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out @@ -1,5 +1,5 @@ hlsl.string.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main(f1; ( temp float) @@ -26,7 +26,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:10 Function Definition: @main(f1; ( temp float) @@ -58,6 +58,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 17 20 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 10 "@main(f1;" Name 9 "f" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out index c23d663c9..045b8fe03 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out @@ -1,5 +1,5 @@ hlsl.stringtoken.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -36,7 +36,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) @@ -78,6 +78,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 25 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out index c01e8fa7e..6798bae78 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out @@ -3,7 +3,7 @@ WARNING: 0:26: 'register' : ignoring shader_profile WARNING: 0:27: 'register' : ignoring shader_profile WARNING: 0:30: 'register' : ignoring shader_profile -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:40 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float) @@ -124,7 +124,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:40 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float) @@ -250,6 +250,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 51 56 79 94 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "IN_S" MemberName 11(IN_S) 0 "a" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out index 9ec01d839..db4068225 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out @@ -1,5 +1,5 @@ hlsl.struct.split-1.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:17 Function Parameters: @@ -103,7 +103,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:17 Function Parameters: @@ -211,6 +211,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 40 44 47 51 61 67 + Source HLSL 500 Name 4 "main" Name 9 "VS_INPUT" MemberName 9(VS_INPUT) 0 "x0_in" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out index b907815b8..5c36e2b9c 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out @@ -1,5 +1,5 @@ hlsl.struct.split.array.geom -Shader version: 450 +Shader version: 500 invocations = -1 max_vertices = 4 input primitive = points @@ -72,12 +72,13 @@ output primitive = triangle_strip 0:? 'OutputStream' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Linker Objects 0:? 'v' (layout( location=0) in 1-element array of uint) +0:? 'OutputStream' (layout( location=0) out structure{ temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) Linked geometry stage: -Shader version: 450 +Shader version: 500 invocations = 1 max_vertices = 4 input primitive = points @@ -150,19 +151,21 @@ output primitive = triangle_strip 0:? 'OutputStream' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Linker Objects 0:? 'v' (layout( location=0) in 1-element array of uint) +0:? 'OutputStream' (layout( location=0) out structure{ temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 73 +// Id's are bound by 77 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 66 + EntryPoint Geometry 4 "main" 66 76 ExecutionMode 4 InputPoints ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 4 + Source HLSL 500 Name 4 "main" Name 14 "PSInput" MemberName 14(PSInput) 0 "Pos" @@ -181,7 +184,13 @@ output primitive = triangle_strip Name 68 "OutputStream" Name 69 "param" Name 71 "param" + Name 74 "PSInput" + MemberName 74(PSInput) 0 "TexCoord" + MemberName 74(PSInput) 1 "TerrainPos" + MemberName 74(PSInput) 2 "VertexID" + Name 76 "OutputStream" Decorate 66(v) Location 0 + Decorate 76(OutputStream) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -214,6 +223,9 @@ output primitive = triangle_strip 60: 28(int) Constant 1 65: TypePointer Input 8 66(v): 65(ptr) Variable Input + 74(PSInput): TypeStruct 12(fvec2) 13(fvec3) 6(int) + 75: TypePointer Output 74(PSInput) +76(OutputStream): 75(ptr) Variable Output 4(main): 2 Function None 3 5: Label 64(v): 9(ptr) Variable Function @@ -225,6 +237,8 @@ output primitive = triangle_strip 70: 8 Load 64(v) Store 69(param) 70 72: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param) + 73: 14(PSInput) Load 71(param) + Store 68(OutputStream) 73 Return FunctionEnd 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16 diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out index ad185ee1e..2228a8a4e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out @@ -1,5 +1,5 @@ hlsl.struct.split.assign.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) @@ -118,7 +118,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) @@ -242,6 +242,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 32 39 48 67 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 10 "S" MemberName 10(S) 0 "f" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out index 9dc7b856e..647f9b498 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out @@ -1,5 +1,5 @@ hlsl.struct.split.call.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; ( temp void) 0:17 Function Parameters: @@ -112,7 +112,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; ( temp void) 0:17 Function Parameters: @@ -229,6 +229,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 52 56 59 68 74 + Source HLSL 500 Name 4 "main" Name 9 "VS_INPUT" MemberName 9(VS_INPUT) 0 "x0_in" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out index 42046da70..2f010f5e0 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out @@ -1,5 +1,5 @@ hlsl.struct.split.nested.geom -Shader version: 450 +Shader version: 500 invocations = -1 max_vertices = 3 input primitive = triangles @@ -35,9 +35,40 @@ output primitive = triangle_strip 0:? 5.000000 0:? 6.000000 0:30 Sequence -0:30 move second child to first child ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Sequence +0:30 move second child to first child ( temp 4-component vector of float) +0:? 'ts_psIn_pos' ( out 4-component vector of float Position) +0:30 pos: direct index for structure ( temp 4-component vector of float) +0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 0 (const int) +0:30 move second child to first child ( temp 2-component vector of float) +0:30 tc: direct index for structure ( temp 2-component vector of float) +0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc}) +0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 0 (const int) +0:30 tc: direct index for structure ( temp 2-component vector of float) +0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 1 (const int) +0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1}) +0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) +0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 1 (const int) +0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 1 (const int) 0:30 EmitVertex ( temp void) 0:24 Function Definition: main( ( temp void) 0:24 Function Parameters: @@ -129,12 +160,13 @@ output primitive = triangle_strip 0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Linker Objects 0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:? 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) Linked geometry stage: -Shader version: 450 +Shader version: 500 invocations = 1 max_vertices = 3 input primitive = triangles @@ -170,9 +202,40 @@ output primitive = triangle_strip 0:? 5.000000 0:? 6.000000 0:30 Sequence -0:30 move second child to first child ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Sequence +0:30 move second child to first child ( temp 4-component vector of float) +0:? 'ts_psIn_pos' ( out 4-component vector of float Position) +0:30 pos: direct index for structure ( temp 4-component vector of float) +0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 0 (const int) +0:30 move second child to first child ( temp 2-component vector of float) +0:30 tc: direct index for structure ( temp 2-component vector of float) +0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc}) +0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 0 (const int) +0:30 tc: direct index for structure ( temp 2-component vector of float) +0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 1 (const int) +0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1}) +0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) +0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 1 (const int) +0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 Constant: +0:30 1 (const int) 0:30 EmitVertex ( temp void) 0:24 Function Definition: main( ( temp void) 0:24 Function Parameters: @@ -264,19 +327,21 @@ output primitive = triangle_strip 0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Linker Objects 0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:? 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 75 +// Id's are bound by 99 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 44 52 + EntryPoint Geometry 4 "main" 41 48 67 75 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 3 + Source HLSL 500 Name 4 "main" Name 9 "PS_IN" MemberName 9(PS_IN) 0 "pos" @@ -291,16 +356,28 @@ output primitive = triangle_strip Name 21 "tin" Name 22 "ts" Name 25 "o" - Name 41 "tin" - Name 44 "tin_pos" - Name 49 "PS_IN" - MemberName 49(PS_IN) 0 "tc" - Name 52 "tin" - Name 70 "ts" - Name 71 "param" - Name 73 "param" - Decorate 44(tin_pos) BuiltIn Position - Decorate 52(tin) Location 0 + Name 41 "ts_psIn_pos" + Name 44 "PS_IN" + MemberName 44(PS_IN) 0 "tc" + Name 45 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" + MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" + MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" + Name 46 "GS_OUT" + MemberName 46(GS_OUT) 0 "psIn" + MemberName 46(GS_OUT) 1 "contains_no_builtin_io" + Name 48 "ts" + Name 64 "tin" + Name 67 "tin_pos" + Name 72 "PS_IN" + MemberName 72(PS_IN) 0 "tc" + Name 75 "tin" + Name 93 "ts" + Name 94 "param" + Name 96 "param" + Decorate 41(ts_psIn_pos) BuiltIn Position + Decorate 48(ts) Location 0 + Decorate 67(tin_pos) BuiltIn Position + Decorate 75(tin) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -330,49 +407,63 @@ output primitive = triangle_strip 36: 6(float) Constant 1086324736 37: 8(fvec2) ConstantComposite 35 36 38: TypePointer Function 8(fvec2) - 42: TypeArray 7(fvec4) 11 - 43: TypePointer Input 42 - 44(tin_pos): 43(ptr) Variable Input - 45: TypePointer Input 7(fvec4) - 49(PS_IN): TypeStruct 8(fvec2) - 50: TypeArray 49(PS_IN) 11 - 51: TypePointer Input 50 - 52(tin): 51(ptr) Variable Input - 53: TypePointer Input 8(fvec2) - 63: 16(int) Constant 2 + 40: TypePointer Output 7(fvec4) + 41(ts_psIn_pos): 40(ptr) Variable Output + 44(PS_IN): TypeStruct 8(fvec2) +45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int) + 46(GS_OUT): TypeStruct 44(PS_IN) 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) + 47: TypePointer Output 46(GS_OUT) + 48(ts): 47(ptr) Variable Output + 51: TypePointer Output 8(fvec2) + 53: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) + 56: TypePointer Output 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) + 59: TypePointer Output 15 + 62: TypePointer Output 16(int) + 65: TypeArray 7(fvec4) 11 + 66: TypePointer Input 65 + 67(tin_pos): 66(ptr) Variable Input + 68: TypePointer Input 7(fvec4) + 72(PS_IN): TypeStruct 8(fvec2) + 73: TypeArray 72(PS_IN) 11 + 74: TypePointer Input 73 + 75(tin): 74(ptr) Variable Input + 76: TypePointer Input 8(fvec2) + 86: 16(int) Constant 2 4(main): 2 Function None 3 5: Label - 41(tin): 13(ptr) Variable Function - 70(ts): 19(ptr) Variable Function - 71(param): 13(ptr) Variable Function - 73(param): 19(ptr) Variable Function - 46: 45(ptr) AccessChain 44(tin_pos) 26 - 47: 7(fvec4) Load 46 - 48: 32(ptr) AccessChain 41(tin) 26 26 - Store 48 47 - 54: 53(ptr) AccessChain 52(tin) 26 26 - 55: 8(fvec2) Load 54 - 56: 38(ptr) AccessChain 41(tin) 26 34 - Store 56 55 - 57: 45(ptr) AccessChain 44(tin_pos) 34 - 58: 7(fvec4) Load 57 - 59: 32(ptr) AccessChain 41(tin) 34 26 - Store 59 58 - 60: 53(ptr) AccessChain 52(tin) 34 26 - 61: 8(fvec2) Load 60 - 62: 38(ptr) AccessChain 41(tin) 34 34 - Store 62 61 - 64: 45(ptr) AccessChain 44(tin_pos) 63 - 65: 7(fvec4) Load 64 - 66: 32(ptr) AccessChain 41(tin) 63 26 - Store 66 65 - 67: 53(ptr) AccessChain 52(tin) 63 26 - 68: 8(fvec2) Load 67 - 69: 38(ptr) AccessChain 41(tin) 63 34 - Store 69 68 - 72: 12 Load 41(tin) - Store 71(param) 72 - 74: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 71(param) 73(param) + 64(tin): 13(ptr) Variable Function + 93(ts): 19(ptr) Variable Function + 94(param): 13(ptr) Variable Function + 96(param): 19(ptr) Variable Function + 69: 68(ptr) AccessChain 67(tin_pos) 26 + 70: 7(fvec4) Load 69 + 71: 32(ptr) AccessChain 64(tin) 26 26 + Store 71 70 + 77: 76(ptr) AccessChain 75(tin) 26 26 + 78: 8(fvec2) Load 77 + 79: 38(ptr) AccessChain 64(tin) 26 34 + Store 79 78 + 80: 68(ptr) AccessChain 67(tin_pos) 34 + 81: 7(fvec4) Load 80 + 82: 32(ptr) AccessChain 64(tin) 34 26 + Store 82 81 + 83: 76(ptr) AccessChain 75(tin) 34 26 + 84: 8(fvec2) Load 83 + 85: 38(ptr) AccessChain 64(tin) 34 34 + Store 85 84 + 87: 68(ptr) AccessChain 67(tin_pos) 86 + 88: 7(fvec4) Load 87 + 89: 32(ptr) AccessChain 64(tin) 86 26 + Store 89 88 + 90: 76(ptr) AccessChain 75(tin) 86 26 + 91: 8(fvec2) Load 90 + 92: 38(ptr) AccessChain 64(tin) 86 34 + Store 92 91 + 95: 12 Load 64(tin) + Store 94(param) 95 + 97: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 94(param) 96(param) + 98: 18(GS_OUT) Load 96(param) + Store 93(ts) 98 Return FunctionEnd 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20 @@ -384,8 +475,22 @@ output primitive = triangle_strip Store 33 31 39: 38(ptr) AccessChain 25(o) 26 34 Store 39 37 - 40: 18(GS_OUT) Load 25(o) - Store 22(ts) 40 + 42: 32(ptr) AccessChain 25(o) 26 26 + 43: 7(fvec4) Load 42 + Store 41(ts_psIn_pos) 43 + 49: 38(ptr) AccessChain 25(o) 26 34 + 50: 8(fvec2) Load 49 + 52: 51(ptr) AccessChain 48(ts) 26 26 + Store 52 50 + 54: 53(ptr) AccessChain 25(o) 34 + 55:17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 54 + 57: 56(ptr) AccessChain 48(ts) 34 + 58: 15 CompositeExtract 55 0 + 60: 59(ptr) AccessChain 57 26 + Store 60 58 + 61: 16(int) CompositeExtract 55 1 + 63: 62(ptr) AccessChain 57 34 + Store 63 61 EmitVertex Return FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out index 29818f141..c552675b8 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out @@ -1,5 +1,5 @@ hlsl.struct.split.trivial.geom -Shader version: 450 +Shader version: 500 invocations = -1 max_vertices = 3 input primitive = triangles @@ -35,9 +35,13 @@ output primitive = triangle_strip 0:18 Constant: 0:18 0 (const int) 0:19 Sequence -0:19 move second child to first child ( temp structure{ temp 4-component vector of float pos}) -0:19 'ts' ( out structure{ temp 4-component vector of float pos}) -0:19 'o' ( temp structure{ temp 4-component vector of float pos}) +0:19 Sequence +0:19 move second child to first child ( temp 4-component vector of float) +0:? 'ts_pos' ( out 4-component vector of float Position) +0:19 pos: direct index for structure ( temp 4-component vector of float) +0:19 'o' ( temp structure{ temp 4-component vector of float pos}) +0:19 Constant: +0:19 0 (const int) 0:19 EmitVertex ( temp void) 0:17 Loop Terminal Expression 0:17 Pre-Increment ( temp int) @@ -87,12 +91,13 @@ output primitive = triangle_strip 0:? 'ts' ( temp structure{ temp 4-component vector of float pos}) 0:? Linker Objects 0:? 'i' (layout( location=0) in 3-element array of structure{}) +0:? 'ts' (layout( location=0) out structure{}) Linked geometry stage: -Shader version: 450 +Shader version: 500 invocations = 1 max_vertices = 3 input primitive = triangles @@ -128,9 +133,13 @@ output primitive = triangle_strip 0:18 Constant: 0:18 0 (const int) 0:19 Sequence -0:19 move second child to first child ( temp structure{ temp 4-component vector of float pos}) -0:19 'ts' ( out structure{ temp 4-component vector of float pos}) -0:19 'o' ( temp structure{ temp 4-component vector of float pos}) +0:19 Sequence +0:19 move second child to first child ( temp 4-component vector of float) +0:? 'ts_pos' ( out 4-component vector of float Position) +0:19 pos: direct index for structure ( temp 4-component vector of float) +0:19 'o' ( temp structure{ temp 4-component vector of float pos}) +0:19 Constant: +0:19 0 (const int) 0:19 EmitVertex ( temp void) 0:17 Loop Terminal Expression 0:17 Pre-Increment ( temp int) @@ -180,19 +189,21 @@ output primitive = triangle_strip 0:? 'ts' ( temp structure{ temp 4-component vector of float pos}) 0:? Linker Objects 0:? 'i' (layout( location=0) in 3-element array of structure{}) +0:? 'ts' (layout( location=0) out structure{}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 67 +// Id's are bound by 74 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 46 66 + EntryPoint Geometry 4 "main" 40 49 70 73 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 3 + Source HLSL 500 Name 4 "main" Name 8 "PS_IN" MemberName 8(PS_IN) 0 "pos" @@ -203,15 +214,20 @@ output primitive = triangle_strip Name 17 "ts" Name 22 "x" Name 33 "o" - Name 43 "i" - Name 46 "i_pos" - Name 58 "ts" - Name 59 "param" - Name 61 "param" - Name 63 "PS_IN" - Name 66 "i" - Decorate 46(i_pos) BuiltIn Position - Decorate 66(i) Location 0 + Name 40 "ts_pos" + Name 46 "i" + Name 49 "i_pos" + Name 61 "ts" + Name 62 "param" + Name 64 "param" + Name 67 "PS_IN" + Name 70 "i" + Name 71 "GS_OUT" + Name 73 "ts" + Decorate 40(ts_pos) BuiltIn Position + Decorate 49(i_pos) BuiltIn Position + Decorate 70(i) Location 0 + Decorate 73(ts) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -230,37 +246,44 @@ output primitive = triangle_strip 30: 20(int) Constant 3 31: TypeBool 35: TypePointer Function 7(fvec4) - 41: 20(int) Constant 1 - 44: TypeArray 7(fvec4) 10 - 45: TypePointer Input 44 - 46(i_pos): 45(ptr) Variable Input - 47: TypePointer Input 7(fvec4) - 54: 20(int) Constant 2 - 63(PS_IN): TypeStruct - 64: TypeArray 63(PS_IN) 10 - 65: TypePointer Input 64 - 66(i): 65(ptr) Variable Input + 39: TypePointer Output 7(fvec4) + 40(ts_pos): 39(ptr) Variable Output + 44: 20(int) Constant 1 + 47: TypeArray 7(fvec4) 10 + 48: TypePointer Input 47 + 49(i_pos): 48(ptr) Variable Input + 50: TypePointer Input 7(fvec4) + 57: 20(int) Constant 2 + 67(PS_IN): TypeStruct + 68: TypeArray 67(PS_IN) 10 + 69: TypePointer Input 68 + 70(i): 69(ptr) Variable Input + 71(GS_OUT): TypeStruct + 72: TypePointer Output 71(GS_OUT) + 73(ts): 72(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 43(i): 12(ptr) Variable Function - 58(ts): 14(ptr) Variable Function - 59(param): 12(ptr) Variable Function - 61(param): 14(ptr) Variable Function - 48: 47(ptr) AccessChain 46(i_pos) 23 - 49: 7(fvec4) Load 48 - 50: 35(ptr) AccessChain 43(i) 23 23 - Store 50 49 - 51: 47(ptr) AccessChain 46(i_pos) 41 + 46(i): 12(ptr) Variable Function + 61(ts): 14(ptr) Variable Function + 62(param): 12(ptr) Variable Function + 64(param): 14(ptr) Variable Function + 51: 50(ptr) AccessChain 49(i_pos) 23 52: 7(fvec4) Load 51 - 53: 35(ptr) AccessChain 43(i) 41 23 + 53: 35(ptr) AccessChain 46(i) 23 23 Store 53 52 - 55: 47(ptr) AccessChain 46(i_pos) 54 - 56: 7(fvec4) Load 55 - 57: 35(ptr) AccessChain 43(i) 54 23 - Store 57 56 - 60: 11 Load 43(i) - Store 59(param) 60 - 62: 2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 59(param) 61(param) + 54: 50(ptr) AccessChain 49(i_pos) 44 + 55: 7(fvec4) Load 54 + 56: 35(ptr) AccessChain 46(i) 44 23 + Store 56 55 + 58: 50(ptr) AccessChain 49(i_pos) 57 + 59: 7(fvec4) Load 58 + 60: 35(ptr) AccessChain 46(i) 57 23 + Store 60 59 + 63: 11 Load 46(i) + Store 62(param) 63 + 65: 2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 62(param) 64(param) + 66: 13(GS_OUT) Load 64(param) + Store 61(ts) 66 Return FunctionEnd 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;): 2 Function None 15 @@ -284,14 +307,15 @@ output primitive = triangle_strip 37: 7(fvec4) Load 36 38: 35(ptr) AccessChain 33(o) 23 Store 38 37 - 39: 13(GS_OUT) Load 33(o) - Store 17(ts) 39 + 41: 35(ptr) AccessChain 33(o) 23 + 42: 7(fvec4) Load 41 + Store 40(ts_pos) 42 EmitVertex Branch 27 27: Label - 40: 20(int) Load 22(x) - 42: 20(int) IAdd 40 41 - Store 22(x) 42 + 43: 20(int) Load 22(x) + 45: 20(int) IAdd 43 44 + Store 22(x) 45 Branch 24 26: Label Return diff --git a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out index 822f81997..05dcb2691 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out @@ -1,5 +1,5 @@ hlsl.struct.split.trivial.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 0:16 Function Parameters: @@ -50,7 +50,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 0:16 Function Parameters: @@ -105,6 +105,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 31 35 38 47 + Source HLSL 500 Name 4 "main" Name 8 "VS_INPUT" MemberName 8(VS_INPUT) 0 "Pos_in" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out index 64c60ed67..cb26bb001 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out @@ -1,5 +1,5 @@ hlsl.structIoFourWay.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left using depth_greater 0:? Sequence @@ -57,7 +57,7 @@ using depth_greater Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left using depth_greater 0:? Sequence @@ -121,6 +121,7 @@ using depth_greater EntryPoint Fragment 4 "main" 21 43 46 49 53 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthGreater + Source HLSL 500 Name 4 "main" Name 8 "T" MemberName 8(T) 0 "f" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out index 0fc40325c..3b2880561 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out @@ -1,5 +1,5 @@ hlsl.structStructName.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: @main( ( temp int) @@ -23,7 +23,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: @main( ( temp int) @@ -52,6 +52,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 20 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "@main(" Name 10 "S" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out index 7c84d37fc..d70af800c 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out @@ -1,5 +1,5 @@ hlsl.structarray.flatten.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) @@ -64,7 +64,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) @@ -135,6 +135,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 51 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out b/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out index 1af304d75..702f06e10 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out @@ -1,5 +1,5 @@ hlsl.structarray.flatten.geom -Shader version: 450 +Shader version: 500 invocations = -1 max_vertices = 4 input primitive = lines @@ -47,9 +47,31 @@ output primitive = triangle_strip 0:21 Constant: 0:21 0 (const int) 0:22 Sequence -0:22 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Sequence +0:22 move second child to first child ( temp 4-component vector of float) +0:? 'outStream_position' ( out 4-component vector of float Position) +0:22 position: direct index for structure ( temp 4-component vector of float) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 color: direct index for structure ( temp 4-component vector of float) +0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 0 (const int) +0:22 color: direct index for structure ( temp 4-component vector of float) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 1 (const int) +0:22 move second child to first child ( temp 2-component vector of float) +0:22 uv: direct index for structure ( temp 2-component vector of float) +0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 1 (const int) +0:22 uv: direct index for structure ( temp 2-component vector of float) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 2 (const int) 0:22 EmitVertex ( temp void) 0:16 Function Definition: main( ( temp void) 0:16 Function Parameters: @@ -62,12 +84,13 @@ output primitive = triangle_strip 0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Linker Objects 0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv}) Linked geometry stage: -Shader version: 450 +Shader version: 500 invocations = 1 max_vertices = 4 input primitive = lines @@ -115,9 +138,31 @@ output primitive = triangle_strip 0:21 Constant: 0:21 0 (const int) 0:22 Sequence -0:22 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Sequence +0:22 move second child to first child ( temp 4-component vector of float) +0:? 'outStream_position' ( out 4-component vector of float Position) +0:22 position: direct index for structure ( temp 4-component vector of float) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 color: direct index for structure ( temp 4-component vector of float) +0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 0 (const int) +0:22 color: direct index for structure ( temp 4-component vector of float) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 1 (const int) +0:22 move second child to first child ( temp 2-component vector of float) +0:22 uv: direct index for structure ( temp 2-component vector of float) +0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 1 (const int) +0:22 uv: direct index for structure ( temp 2-component vector of float) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 Constant: +0:22 2 (const int) 0:22 EmitVertex ( temp void) 0:16 Function Definition: main( ( temp void) 0:16 Function Parameters: @@ -130,19 +175,21 @@ output primitive = triangle_strip 0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Linker Objects 0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 47 +// Id's are bound by 61 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 40 + EntryPoint Geometry 4 "main" 38 43 53 ExecutionMode 4 InputLines ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 4 + Source HLSL 500 Name 4 "main" Name 9 "VertexData" MemberName 9(VertexData) 0 "position" @@ -156,12 +203,19 @@ output primitive = triangle_strip Name 17 "vin" Name 18 "outStream" Name 21 "vout" - Name 38 "vin" - Name 40 "vin" - Name 42 "outStream" - Name 43 "param" - Name 45 "param" - Decorate 40(vin) Location 0 + Name 38 "outStream_position" + Name 41 "PS_IN" + MemberName 41(PS_IN) 0 "color" + MemberName 41(PS_IN) 1 "uv" + Name 43 "outStream" + Name 51 "vin" + Name 53 "vin" + Name 55 "outStream" + Name 56 "param" + Name 58 "param" + Decorate 38(outStream_position) BuiltIn Position + Decorate 43(outStream) Location 0 + Decorate 53(vin) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -181,19 +235,27 @@ output primitive = triangle_strip 28: 22(int) Constant 2 29: TypePointer Function 8(fvec2) 33: 22(int) Constant 0 - 39: TypePointer Input 12 - 40(vin): 39(ptr) Variable Input + 37: TypePointer Output 7(fvec4) +38(outStream_position): 37(ptr) Variable Output + 41(PS_IN): TypeStruct 7(fvec4) 8(fvec2) + 42: TypePointer Output 41(PS_IN) + 43(outStream): 42(ptr) Variable Output + 49: TypePointer Output 8(fvec2) + 52: TypePointer Input 12 + 53(vin): 52(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 38(vin): 13(ptr) Variable Function - 42(outStream): 15(ptr) Variable Function - 43(param): 13(ptr) Variable Function - 45(param): 15(ptr) Variable Function - 41: 12 Load 40(vin) - Store 38(vin) 41 - 44: 12 Load 38(vin) - Store 43(param) 44 - 46: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 43(param) 45(param) + 51(vin): 13(ptr) Variable Function + 55(outStream): 15(ptr) Variable Function + 56(param): 13(ptr) Variable Function + 58(param): 15(ptr) Variable Function + 54: 12 Load 53(vin) + Store 51(vin) 54 + 57: 12 Load 51(vin) + Store 56(param) 57 + 59: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 56(param) 58(param) + 60: 14(PS_IN) Load 58(param) + Store 55(outStream) 60 Return FunctionEnd 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;): 2 Function None 16 @@ -213,8 +275,17 @@ output primitive = triangle_strip 35: 7(fvec4) Load 34 36: 24(ptr) AccessChain 21(vout) 33 Store 36 35 - 37: 14(PS_IN) Load 21(vout) - Store 18(outStream) 37 + 39: 24(ptr) AccessChain 21(vout) 33 + 40: 7(fvec4) Load 39 + Store 38(outStream_position) 40 + 44: 24(ptr) AccessChain 21(vout) 23 + 45: 7(fvec4) Load 44 + 46: 37(ptr) AccessChain 43(outStream) 33 + Store 46 45 + 47: 29(ptr) AccessChain 21(vout) 28 + 48: 8(fvec2) Load 47 + 50: 49(ptr) AccessChain 43(outStream) 23 + Store 50 48 EmitVertex Return FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out index a463a8878..c3a3f87a8 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out @@ -1,5 +1,5 @@ hlsl.structbuffer.atomics.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -238,7 +238,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -482,6 +482,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 80 83 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 12 "@main(u1;" Name 11 "pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out index f388f87d6..65419467b 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out @@ -1,5 +1,5 @@ hlsl.structbuffer.byte.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -163,7 +163,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -332,6 +332,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 107 110 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 12 "@main(u1;" Name 11 "pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out index f5210c0ee..fab95f75a 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out @@ -1,5 +1,5 @@ hlsl.structbuffer.coherent.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -89,7 +89,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -184,6 +184,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 71 74 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 12 "@main(u1;" Name 11 "pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out index 8ed27f681..762ea807e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out @@ -1,5 +1,5 @@ hlsl.structbuffer.fn.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) @@ -67,7 +67,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) @@ -140,6 +140,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 59 62 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "" MemberName 9 0 "@data" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out index 3c8b1146a..634c1b81e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out @@ -1,5 +1,5 @@ hlsl.structbuffer.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -95,7 +95,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -196,6 +196,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 87 90 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 12 "@main(u1;" Name 11 "pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out index bfe4c39b6..b1bba5837 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out @@ -1,5 +1,5 @@ hlsl.structbuffer.rw.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -89,7 +89,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:12 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -184,6 +184,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 71 74 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 12 "@main(u1;" Name 11 "pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out index e99bc435d..14c2eb69a 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out @@ -1,5 +1,5 @@ hlsl.structbuffer.rwbyte.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -504,7 +504,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: @main(u1; ( temp 4-component vector of float) @@ -1014,6 +1014,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 233 236 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 12 "@main(u1;" Name 11 "pos" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out index c621941e6..8378de216 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out @@ -1,5 +1,5 @@ hlsl.structin.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Parameters: @@ -132,7 +132,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Parameters: @@ -269,6 +269,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 48 51 54 58 62 66 78 + Source HLSL 500 Name 4 "main" Name 13 "VI" MemberName 13(VI) 0 "m" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out index 8ee9d7c42..c77da9339 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out @@ -1,5 +1,5 @@ hlsl.switch.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float) @@ -149,7 +149,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float) @@ -304,6 +304,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 88 92 95 98 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 15 "@PixelShaderFunction(vf4;i1;i1;" Name 12 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out index 4674b7643..59b432b4c 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out @@ -1,5 +1,5 @@ hlsl.swizzle.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -40,7 +40,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -85,6 +85,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "ShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out index 11ea394bf..9d0ccedf5 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out @@ -1,5 +1,5 @@ hlsl.templatetypes.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @PixelShaderFunction( ( temp float) @@ -255,7 +255,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @PixelShaderFunction( ( temp float) @@ -517,6 +517,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 151 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 8 "@PixelShaderFunction(" Name 12 "r00" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out index 8619468e2..b35e267ca 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out @@ -1,5 +1,5 @@ hlsl.this.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -121,7 +121,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence @@ -248,6 +248,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 96 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "type1" MemberName 9(type1) 0 "bar" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out index 9e1db24f3..12d5f178e 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out @@ -1,5 +1,5 @@ hlsl.tx.bracket.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: Fn1(vi4; ( temp 4-component vector of int) @@ -212,7 +212,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:38 Function Definition: Fn1(vi4; ( temp 4-component vector of int) @@ -431,6 +431,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 164 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "Fn1(vi4;" Name 10 "x" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out index 104c73946..889d79bf0 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out @@ -1,5 +1,5 @@ hlsl.type.half.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @main( ( temp 4-component vector of float) @@ -55,7 +55,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: @main( ( temp 4-component vector of float) @@ -116,6 +116,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 34 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 9 "@main(" Name 12 "h0" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out index e8a763c97..19773408a 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out @@ -1,5 +1,5 @@ hlsl.type.identifier.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:6 Function Definition: fn(f1; ( temp float) @@ -115,7 +115,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:6 Function Definition: fn(f1; ( temp float) @@ -236,6 +236,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 95 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 10 "fn(f1;" Name 9 "float" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out index 7d55c4404..217e7ec1e 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out @@ -1,5 +1,5 @@ hlsl.typeGraphCopy.vert -Shader version: 450 +Shader version: 500 0:? Sequence 0:22 Function Definition: @main( ( temp float) 0:22 Function Parameters: @@ -32,7 +32,7 @@ Shader version: 450 Linked vertex stage: -Shader version: 450 +Shader version: 500 0:? Sequence 0:22 Function Definition: @main( ( temp float) 0:22 Function Parameters: @@ -69,6 +69,7 @@ Shader version: 450 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Vertex 4 "main" 26 + Source HLSL 500 Name 4 "main" Name 8 "@main(" Name 11 "N1" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out index 6edb191d7..1c1a35128 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out @@ -1,5 +1,5 @@ hlsl.typedef.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: ShaderFunction(vf4;i1; ( temp 4-component vector of float) @@ -41,7 +41,7 @@ Linked fragment stage: WARNING: Linking fragment stage: Entry point not found -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:4 Function Definition: ShaderFunction(vf4;i1; ( temp 4-component vector of float) @@ -87,6 +87,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 14 "ShaderFunction(vf4;i1;" Name 12 "input" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out index 584f3784f..1df35a636 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out @@ -1,5 +1,5 @@ hlsl.void.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Function Definition: foo1( ( temp void) @@ -28,7 +28,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:1 Function Definition: foo1( ( temp void) @@ -62,6 +62,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 22 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 6 "foo1(" Name 8 "foo2(" diff --git a/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out index 2f68da116..cd47dc7ae 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out @@ -1,5 +1,5 @@ hlsl.whileLoop.frag -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -49,7 +49,7 @@ gl_FragCoord origin is upper left Linked fragment stage: -Shader version: 450 +Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) @@ -104,6 +104,7 @@ gl_FragCoord origin is upper left MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 45 48 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "PixelShaderFunction" Name 11 "@PixelShaderFunction(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out index 5af75db03..af309a147 100644 --- a/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out +++ b/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out @@ -11,6 +11,7 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out b/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out index c5d8a010e..dd2917e6f 100644 --- a/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out +++ b/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out @@ -9,6 +9,7 @@ remap.hlsl.templatetypes.none.frag MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 153 156 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "@main(vf4;" Name 10 "input" diff --git a/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out b/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out index 8fb6215cc..2a316eedd 100644 --- a/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out @@ -8,6 +8,7 @@ spv.buffer.autoassign.frag MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/spv.hlslOffsets.vert.out b/3rdparty/glslang/Test/baseResults/spv.hlslOffsets.vert.out new file mode 100644 index 000000000..c1f6cb25e --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.hlslOffsets.vert.out @@ -0,0 +1,78 @@ +spv.hlslOffsets.vert +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +Shader version: 450 +0:? Sequence +0:27 Function Definition: main( ( global void) +0:27 Function Parameters: +0:? Linker Objects +0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112}) + + +Linked vertex stage: + + +Shader version: 450 +0:? Sequence +0:27 Function Definition: main( ( global void) +0:27 Function Parameters: +0:? Linker Objects +0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 14 + + Capability Shader + Capability Float64 + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" + Source GLSL 450 + Name 4 "main" + Name 11 "block" + MemberName 11(block) 0 "m0" + MemberName 11(block) 1 "m4" + MemberName 11(block) 2 "m16" + MemberName 11(block) 3 "m20" + MemberName 11(block) 4 "m32" + MemberName 11(block) 5 "m48" + MemberName 11(block) 6 "m56" + MemberName 11(block) 7 "m64" + MemberName 11(block) 8 "m68" + MemberName 11(block) 9 "m76" + MemberName 11(block) 10 "m80" + MemberName 11(block) 11 "m88" + MemberName 11(block) 12 "m96" + MemberName 11(block) 13 "m112" + Name 13 "" + MemberDecorate 11(block) 0 Offset 0 + MemberDecorate 11(block) 1 Offset 4 + MemberDecorate 11(block) 2 Offset 16 + MemberDecorate 11(block) 3 Offset 20 + MemberDecorate 11(block) 4 Offset 32 + MemberDecorate 11(block) 5 Offset 48 + MemberDecorate 11(block) 6 Offset 56 + MemberDecorate 11(block) 7 Offset 64 + MemberDecorate 11(block) 8 Offset 68 + MemberDecorate 11(block) 9 Offset 76 + MemberDecorate 11(block) 10 Offset 80 + MemberDecorate 11(block) 11 Offset 88 + MemberDecorate 11(block) 12 Offset 96 + MemberDecorate 11(block) 13 Offset 112 + Decorate 11(block) BufferBlock + Decorate 13 DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 3 + 8: TypeVector 6(float) 2 + 9: TypeFloat 64 + 10: TypeVector 9(float) 2 + 11(block): TypeStruct 6(float) 7(fvec3) 6(float) 7(fvec3) 7(fvec3) 8(fvec2) 8(fvec2) 6(float) 8(fvec2) 6(float) 6(float) 8(fvec2) 8(fvec2) 10(fvec2) + 12: TypePointer Uniform 11(block) + 13: 12(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out b/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out index c8273dd14..f09a4682c 100644 --- a/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out @@ -8,6 +8,7 @@ spv.register.autoassign-2.frag MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 44 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out b/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out index ae048ce98..4874d90c9 100644 --- a/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out @@ -9,6 +9,7 @@ spv.register.autoassign.frag MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main_ep" 151 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main_ep" Name 9 "Func1(" Name 11 "Func2(" diff --git a/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out b/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out index afadc48f9..71c0b37ea 100644 --- a/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out @@ -9,6 +9,7 @@ spv.register.noautoassign.frag MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main_ep" 151 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main_ep" Name 9 "Func1(" Name 11 "Func2(" diff --git a/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out b/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out index e2b544abe..9069666de 100644 --- a/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out @@ -10,6 +10,7 @@ spv.rw.autoassign.frag MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 39 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" diff --git a/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out b/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out index 8d10b6b75..7ec2a30a0 100644 --- a/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out @@ -8,6 +8,7 @@ spv.ssbo.autoassign.frag MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 88 91 ExecutionMode 4 OriginUpperLeft + Source HLSL 500 Name 4 "main" Name 11 "@main(vf4;" Name 10 "pos" diff --git a/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out b/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out index e544d9ee3..acc2ced1a 100755 --- a/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out +++ b/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out @@ -8,7 +8,8 @@ ERROR: 0:69: '##' : combined token is invalid ERROR: 0:82: 'macro expansion' : Too few args in Macro rec ERROR: 0:82: '##' : unexpected location ERROR: 0:82: '##' : unexpected location -ERROR: 8 compilation errors. No code generated. +ERROR: 0:86: '##' : unexpected location; end of argument +ERROR: 9 compilation errors. No code generated. Shader version: 450 diff --git a/3rdparty/glslang/Test/hlsl.domain.2.tese b/3rdparty/glslang/Test/hlsl.domain.2.tese new file mode 100644 index 000000000..ffb53f1f9 --- /dev/null +++ b/3rdparty/glslang/Test/hlsl.domain.2.tese @@ -0,0 +1,35 @@ +// This will test having the PCF input to the domain shader not be given at the end of +// the argument list. We must move it to the end of the linkage in this case. + +struct ds_in_t +{ + float4 pos : POSITION; + float3 norm : TEXCOORD0; +}; + +struct pcf_in_t +{ + float flTessFactor [3] : SV_TessFactor; + float flInsideTessFactor : SV_InsideTessFactor; + float foo : PCF_FOO; +}; + +struct gs_in_t +{ + float4 pos : POSITION; + float3 norm : TEXCOORD0; +}; + +[domain ( "tri" )] +gs_in_t main (pcf_in_t pcf_data, const OutputPatch i, float3 tesscoord : SV_DomainLocation) +{ + gs_in_t o; + + o.pos = i[0].pos + tesscoord.x; + o.norm = i[0].norm + tesscoord.y; + + tesscoord.z; + + return o; +} + diff --git a/3rdparty/glslang/Test/hlsl.domain.3.tese b/3rdparty/glslang/Test/hlsl.domain.3.tese new file mode 100644 index 000000000..aeceedacb --- /dev/null +++ b/3rdparty/glslang/Test/hlsl.domain.3.tese @@ -0,0 +1,31 @@ +// Test vec2 tessellation coordinate: the IO form should be a vec3, copied to a vec2 +// at the entry point boundary. + +struct ds_in_t +{ + float4 pos : POSITION; + float3 norm : TEXCOORD0; +}; + +struct pcf_in_t +{ + float flTessFactor [3] : SV_TessFactor; + float flInsideTessFactor : SV_InsideTessFactor; +}; + +struct gs_in_t +{ + float4 pos : POSITION; + float3 norm : TEXCOORD0; +}; + +[domain ( "isoline" )] +gs_in_t main (const OutputPatch i, float2 tesscoord : SV_DomainLocation, pcf_in_t pcf_data ) +{ + gs_in_t o; + + o.pos = i[0].pos + tesscoord.x; + o.norm = i[0].norm + tesscoord.y; + + return o; +} diff --git a/3rdparty/glslang/Test/hlsl.hlslOffset.vert b/3rdparty/glslang/Test/hlsl.hlslOffset.vert new file mode 100755 index 000000000..aa95f6a34 --- /dev/null +++ b/3rdparty/glslang/Test/hlsl.hlslOffset.vert @@ -0,0 +1,20 @@ +cbuffer b { + float m0; + float3 m4; + ////// + float m16; + float3 m20 : packoffset(c1.y); + ///// + float3 m36 : packoffset(c2.y); + ///// + float2 m56 : packoffset(c3.z); + ///// + float m64; + float2 m68; + float m76; + ////// + float m80; + float2 m96[1]; +}; + +void main() {} diff --git a/3rdparty/glslang/Test/hlsl.hull.ctrlpt-2.tesc b/3rdparty/glslang/Test/hlsl.hull.ctrlpt-2.tesc new file mode 100644 index 000000000..1f65ce4b1 --- /dev/null +++ b/3rdparty/glslang/Test/hlsl.hull.ctrlpt-2.tesc @@ -0,0 +1,47 @@ +// *** +// per-control-point invocation of PCF from entry point return value with +// both OutputPatch and InputPatch given to PCF. +// *** + +struct hs_in_t +{ + float3 val : TEXCOORD0; +}; + +struct hs_pcf_t +{ + float tfactor[3] : SV_TessFactor; // must turn into a size 4 array in SPIR-V + float flInFactor : SV_InsideTessFactor; // must turn into a size 2 array in SPIR-V +}; + +struct hs_out_t +{ + float3 val : TEXCOORD0; +}; + +[ domain ("tri") ] +[ partitioning ("fractional_odd") ] +[ outputtopology ("triangle_cw") ] +[ outputcontrolpoints (3) ] +[ patchconstantfunc ( "PCF" ) ] +hs_out_t main (InputPatch i , uint cpid : SV_OutputControlPointID) +{ + i[0].val; + + hs_out_t o; + o.val = cpid; + return o; +} + +hs_pcf_t PCF( const OutputPatch pcf_out, + const InputPatch pcf_in) +{ + hs_pcf_t o; + + o.tfactor[0] = pcf_out[0].val.x; + o.tfactor[1] = pcf_out[1].val.x; + o.tfactor[2] = pcf_out[2].val.x; + o.flInFactor = 4; + + return o; +} diff --git a/3rdparty/glslang/Test/hlsl.isfinite.frag b/3rdparty/glslang/Test/hlsl.isfinite.frag new file mode 100644 index 000000000..a788bedf9 --- /dev/null +++ b/3rdparty/glslang/Test/hlsl.isfinite.frag @@ -0,0 +1,9 @@ + +uniform float f; + +float4 main() : SV_Target0 +{ + isfinite(f); + + return 0; +} diff --git a/3rdparty/glslang/Test/hlsl.nonint-index.frag b/3rdparty/glslang/Test/hlsl.nonint-index.frag new file mode 100644 index 000000000..c7a751e30 --- /dev/null +++ b/3rdparty/glslang/Test/hlsl.nonint-index.frag @@ -0,0 +1,9 @@ +static const float array[3] = { 1, 2, 3 }; + +float main(float input : IN) : SV_Target0 +{ + // non-integer indexes get converted to uints: + // uint(input) 3.0 2.0 1.0 + return array[input] + array[2.0] + array[true] + array[false]; +} + diff --git a/3rdparty/glslang/Test/hlsl.scalarCast.vert b/3rdparty/glslang/Test/hlsl.scalarCast.vert new file mode 100755 index 000000000..83bfd6eb2 --- /dev/null +++ b/3rdparty/glslang/Test/hlsl.scalarCast.vert @@ -0,0 +1,37 @@ +struct VertexOut { + float4 position : SV_Position; + float2 texCoord : TEXCOORD; +}; +VertexOut r0() { + const float f = 2.0; + return (VertexOut)f; +} +VertexOut r1() { + const float f = 2.0; + return (VertexOut)(f + 1.0); +} +VertexOut r2() { + const float f = 2.0; + return (VertexOut)(sin(f)); +} +VertexOut r3() { + float f = 2.0; + return (VertexOut)f; +} +VertexOut r4() { + float f = 2.0; + return (VertexOut)(f + 1.0); +} +VertexOut r5() { + float f = 2.0; + return (VertexOut)(sin(f)); +} +VertexOut main() { + VertexOut v0 = r0(); + VertexOut v1 = r1(); + VertexOut v2 = r2(); + VertexOut v3 = r3(); + VertexOut v4 = r4(); + VertexOut v5 = r5(); + return (VertexOut)1; +} diff --git a/3rdparty/glslang/Test/runtests b/3rdparty/glslang/Test/runtests index 86ffef345..efc449d9b 100755 --- a/3rdparty/glslang/Test/runtests +++ b/3rdparty/glslang/Test/runtests @@ -73,6 +73,20 @@ echo Running explicit stage test $EXE -i -S vert nosuffix > $TARGETDIR/nosuffix.out diff -b $BASEDIR/nosuffix.out $TARGETDIR/nosuffix.out || HASERROR=1 +# +# Testing --hlsl-offsets +# +echo Running hlsl offsets +$EXE -i --hlsl-offsets -H spv.hlslOffsets.vert > $TARGETDIR/spv.hlslOffsets.vert.out +diff -b $BASEDIR/spv.hlslOffsets.vert.out $TARGETDIR/spv.hlslOffsets.vert.out || HASERROR=1 + +echo Running hlsl offsets +$EXE -i --hlsl-offsets -D -e main -H hlsl.hlslOffset.vert > $TARGETDIR/hlsl.hlslOffset.vert.out +diff -b $BASEDIR/hlsl.hlslOffset.vert.out $TARGETDIR/hlsl.hlslOffset.vert.out || HASERROR=1 + +# +# Final checking +# if [ $HASERROR -eq 0 ] then echo Tests Succeeded. diff --git a/3rdparty/glslang/Test/spv.hlslOffsets.vert b/3rdparty/glslang/Test/spv.hlslOffsets.vert new file mode 100755 index 000000000..87e32a729 --- /dev/null +++ b/3rdparty/glslang/Test/spv.hlslOffsets.vert @@ -0,0 +1,27 @@ +#version 450 + +buffer block { + float m0; + vec3 m4; + ////// + float m16; + layout(offset=20) vec3 m20; + ///// + vec3 m32; + ///// + vec2 m48; + vec2 m56; + //// + float m64; + vec2 m68; + float m76; + ////// + float m80; + layout(offset=88) vec2 m88; + ////// + vec2 m96; + /////// + dvec2 m112; +}; + +void main() {} \ No newline at end of file diff --git a/3rdparty/glslang/Test/tokenPaste.vert b/3rdparty/glslang/Test/tokenPaste.vert index 7aa113a29..40de6f921 100644 --- a/3rdparty/glslang/Test/tokenPaste.vert +++ b/3rdparty/glslang/Test/tokenPaste.vert @@ -79,4 +79,8 @@ uniform M_OUTER(argPaste); uniform M_OUTER2(argPaste); #define rec(x)## -rec(rec()) \ No newline at end of file +rec(rec()) + +#define bax(bay) +#define baz bax(/##) +baz diff --git a/3rdparty/glslang/glslang/Include/BaseTypes.h b/3rdparty/glslang/glslang/Include/BaseTypes.h index 230a6b9cb..a805a0603 100644 --- a/3rdparty/glslang/glslang/Include/BaseTypes.h +++ b/3rdparty/glslang/glslang/Include/BaseTypes.h @@ -219,6 +219,9 @@ enum TBuiltInVariable { EbvFragDepthGreater, EbvFragDepthLesser, EbvStencilRef, + EbvGsOutputStream, + EbvOutputPatch, + EbvInputPatch, EbvLast }; diff --git a/3rdparty/glslang/glslang/Include/Types.h b/3rdparty/glslang/glslang/Include/Types.h index 2207d0b3f..6f58a52c3 100644 --- a/3rdparty/glslang/glslang/Include/Types.h +++ b/3rdparty/glslang/glslang/Include/Types.h @@ -43,6 +43,8 @@ #include "../Public/ShaderLang.h" #include "arrays.h" +#include + namespace glslang { const int GlslangMaxTypeLength = 200; // TODO: need to print block/struct one member per line, so this can stay bounded @@ -1382,127 +1384,80 @@ public: return !isPerVertexAndBuiltIn(language); } + // return true if this type contains any subtype which satisfies the given predicate. + template + bool contains(P predicate) const + { + if (predicate(this)) + return true; + + const auto hasa = [predicate](const TTypeLoc& tl) { return tl.type->contains(predicate); }; + + return structure && std::any_of(structure->begin(), structure->end(), hasa); + } + // Recursively checks if the type contains the given basic type virtual bool containsBasicType(TBasicType checkType) const { - if (basicType == checkType) - return true; - if (! structure) - return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->containsBasicType(checkType)) - return true; - } - return false; + return contains([checkType](const TType* t) { return t->basicType == checkType; } ); } // Recursively check the structure for any arrays, needed for some error checks virtual bool containsArray() const { - if (isArray()) - return true; - if (structure == nullptr) - return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->containsArray()) - return true; - } - return false; + return contains([](const TType* t) { return t->isArray(); } ); } // Check the structure for any structures, needed for some error checks virtual bool containsStructure() const { - if (structure == nullptr) - return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->structure) - return true; - } - return false; + return contains([this](const TType* t) { return t != this && t->isStruct(); } ); } // Recursively check the structure for any implicitly-sized arrays, needed for triggering a copyUp(). virtual bool containsImplicitlySizedArray() const { - if (isImplicitlySizedArray()) - return true; - if (structure == nullptr) - return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->containsImplicitlySizedArray()) - return true; - } - return false; + return contains([](const TType* t) { return t->isImplicitlySizedArray(); } ); } virtual bool containsOpaque() const { - if (isOpaque()) - return true; - if (! structure) - return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->containsOpaque()) - return true; - } - return false; + return contains([](const TType* t) { return t->isOpaque(); } ); } // Recursively checks if the type contains an interstage IO builtin virtual bool containsBuiltInInterstageIO(EShLanguage language) const { - if (isBuiltInInterstageIO(language)) - return true; - - if (! structure) - return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->containsBuiltInInterstageIO(language)) - return true; - } - return false; + return contains([language](const TType* t) { return t->isBuiltInInterstageIO(language); } ); } virtual bool containsNonOpaque() const { - // list all non-opaque types - switch (basicType) { - case EbtVoid: - case EbtFloat: - case EbtDouble: + const auto nonOpaque = [](const TType* t) { + switch (t->basicType) { + case EbtVoid: + case EbtFloat: + case EbtDouble: #ifdef AMD_EXTENSIONS - case EbtFloat16: + case EbtFloat16: #endif - case EbtInt: - case EbtUint: - case EbtInt64: - case EbtUint64: - case EbtBool: + case EbtInt: + case EbtUint: + case EbtInt64: + case EbtUint64: + case EbtBool: return true; - default: - break; - } - if (! structure) + default: return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->containsNonOpaque()) - return true; - } - return false; + } + }; + + return contains(nonOpaque); } virtual bool containsSpecializationSize() const { - if (isArray() && arraySizes->containsNode()) - return true; - if (! structure) - return false; - for (unsigned int i = 0; i < structure->size(); ++i) { - if ((*structure)[i].type->containsSpecializationSize()) - return true; - } - return false; + return contains([](const TType* t) { return t->isArray() && t->arraySizes->containsNode(); } ); } // Array editing methods. Array descriptors can be shared across diff --git a/3rdparty/glslang/glslang/Include/revision.h b/3rdparty/glslang/glslang/Include/revision.h index c53275c5d..31b5fee48 100644 --- a/3rdparty/glslang/glslang/Include/revision.h +++ b/3rdparty/glslang/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1958" -#define GLSLANG_DATE "31-Mar-2017" +#define GLSLANG_REVISION "Overload400-PrecQual.1985" +#define GLSLANG_DATE "07-Apr-2017" diff --git a/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp b/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp index 52192d42f..85c0151de 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp @@ -920,7 +920,7 @@ bool TIntermediate::canImplicitlyPromote(TBasicType from, TBasicType to, TOperat case EbtUint: switch (from) { case EbtInt: - return version >= 400; + return version >= 400 || (source == EShSourceHlsl); case EbtUint: return true; case EbtBool: diff --git a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp index ccd5bf7ac..bc4398614 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp @@ -342,10 +342,8 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn TIntermTyped* result = nullptr; int indexValue = 0; - if (index->getQualifier().isFrontEndConstant()) { + if (index->getQualifier().isFrontEndConstant()) indexValue = index->getAsConstantUnion()->getConstArray()[0].getIConst(); - checkIndex(loc, base->getType(), indexValue); - } variableCheck(base); if (! base->isArray() && ! base->isMatrix() && ! base->isVector()) { @@ -353,10 +351,12 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn error(loc, " left of '[' is not of type array, matrix, or vector ", base->getAsSymbolNode()->getName().c_str(), ""); else error(loc, " left of '[' is not of type array, matrix, or vector ", "expression", ""); - } else if (base->getType().getQualifier().isFrontEndConstant() && index->getQualifier().isFrontEndConstant()) + } else if (base->getType().getQualifier().isFrontEndConstant() && index->getQualifier().isFrontEndConstant()) { + // both base and index are front-end constants + checkIndex(loc, base->getType(), indexValue); return intermediate.foldDereference(base, indexValue, loc); - else { - // at least one of base and index is variable... + } else { + // at least one of base and index is not a front-end constant variable... if (base->getAsSymbolNode() && isIoResizeArray(base->getType())) handleIoResizeArrayAccess(loc, base); @@ -364,6 +364,8 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn if (index->getQualifier().isFrontEndConstant()) { if (base->getType().isImplicitlySizedArray()) updateImplicitArraySize(loc, base, indexValue); + else + checkIndex(loc, base->getType(), indexValue); result = intermediate.addIndex(EOpIndexDirect, base, index, loc); } else { if (base->getType().isImplicitlySizedArray()) { diff --git a/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp b/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp index 8b3a30636..f61439f44 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp @@ -175,7 +175,7 @@ bool TInputScanner::scanVersion(int& version, EProfile& profile, bool& notFirstT bool versionNotFirst = false; // means not first WRT comments and white space, nothing more notFirstToken = false; // means not first WRT to real tokens - version = 0; // means not found + version = 0; // means not found profile = ENoProfile; bool foundNonSpaceTab = false; diff --git a/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp b/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp index 5a8f679d1..14f2bde2a 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp @@ -442,7 +442,7 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo bool correct = true; if (source == EShSourceHlsl) { - version = 450; // TODO: GLSL parser is still used for builtins. + version = 500; // shader model; currently a characteristic of glslang, not the input profile = ECoreProfile; // allow doubles in prototype parsing return correct; } @@ -679,13 +679,13 @@ bool ProcessDeferred( // First, without using the preprocessor or parser, find the #version, so we know what // symbol tables, processing rules, etc. to set up. This does not need the extra strings // outlined above, just the user shader. - int version; - EProfile profile; glslang::TInputScanner userInput(numStrings, &strings[numPre], &lengths[numPre]); // no preamble - bool versionNotFirstToken; - bool versionNotFirst = userInput.scanVersion(version, profile, versionNotFirstToken); + int version = 0; + EProfile profile = ENoProfile; + bool versionNotFirstToken = false; + bool versionNotFirst = (messages & EShMsgReadHlsl) ? true : userInput.scanVersion(version, profile, versionNotFirstToken); bool versionNotFound = version == 0; - if (forceDefaultVersionAndProfile) { + if (forceDefaultVersionAndProfile && (messages & EShMsgReadHlsl) == 0) { if (! (messages & EShMsgSuppressWarnings) && ! versionNotFound && (version != defaultVersion || profile != defaultProfile)) { compiler->infoSink.info << "Warning, (version, profile) forced to be (" @@ -726,6 +726,8 @@ bool ProcessDeferred( intermediate.setSpv(spvVersion); if (spvVersion.vulkan >= 100) intermediate.setOriginUpperLeft(); + if (messages & EShMsgHlslOffsets) // source-language independent + intermediate.setHlslOffsets(); SetupBuiltinSymbolTable(version, profile, spvVersion, source); TSymbolTable* cachedTable = SharedSymbolTables[MapVersionToIndex(version)] diff --git a/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp b/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp index 0328009d3..4bb295104 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp @@ -1047,9 +1047,9 @@ unsigned int TIntermediate::computeTypeXfbSize(const TType& type, bool& contains const int baseAlignmentVec4Std140 = 16; -// Return the size and alignment of a scalar. +// Return the size and alignment of a component of the given type. // The size is returned in the 'size' parameter -// Return value is the alignment of the type. +// Return value is the alignment.. int TIntermediate::getBaseAlignmentScalar(const TType& type, int& size) { switch (type.getBasicType()) { @@ -1219,4 +1219,14 @@ int TIntermediate::getBaseAlignment(const TType& type, int& size, int& stride, b return baseAlignmentVec4Std140; } +// To aid the basic HLSL rule about crossing vec4 boundaries. +bool TIntermediate::improperStraddle(const TType& type, int size, int offset) +{ + if (! type.isVector() || type.isArray()) + return false; + + return size <= 16 ? offset / 16 != (offset + size - 1) / 16 + : offset % 16 != 0; +} + } // end namespace glslang diff --git a/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h b/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h index 5460dd5f9..2cd912b0a 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h +++ b/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h @@ -177,7 +177,8 @@ public: shiftSsboBinding(0), autoMapBindings(false), flattenUniformArrays(false), - useUnknownFormat(false) + useUnknownFormat(false), + hlslOffsets(false) { localSize[0] = 1; localSize[1] = 1; @@ -216,6 +217,8 @@ public: bool getFlattenUniformArrays() const { return flattenUniformArrays; } void setNoStorageFormat(bool b) { useUnknownFormat = b; } bool getNoStorageFormat() const { return useUnknownFormat; } + void setHlslOffsets() { hlslOffsets = true; } + bool usingHlslOFfsets() const { return hlslOffsets; } void setVersion(int v) { version = v; } int getVersion() const { return version; } @@ -413,7 +416,9 @@ public: } int addXfbBufferOffset(const TType&); unsigned int computeTypeXfbSize(const TType&, bool& containsDouble) const; + static int getBaseAlignmentScalar(const TType&, int& size); static int getBaseAlignment(const TType&, int& size, int& stride, bool std140, bool rowMajor); + static bool improperStraddle(const TType& type, int size, int offset); bool promote(TIntermOperator*); #ifdef NV_EXTENSIONS @@ -443,7 +448,6 @@ protected: void inOutLocationCheck(TInfoSink&); TIntermSequence& findLinkerObjects() const; bool userOutputUsed() const; - static int getBaseAlignmentScalar(const TType&, int& size); bool isSpecializationOperation(const TIntermOperator&) const; bool promoteUnary(TIntermUnary&); bool promoteBinary(TIntermBinary&); @@ -499,6 +503,7 @@ protected: bool autoMapBindings; bool flattenUniformArrays; bool useUnknownFormat; + bool hlslOffsets; typedef std::list TGraph; TGraph callGraph; diff --git a/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp index b9e7a5b54..dd1626932 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp @@ -799,6 +799,7 @@ int TPpContext::tokenPaste(int token, TPpToken& ppToken) token = scanToken(&pastedPpToken); assert(token == PpAtomPaste); + // This covers end of macro expansion if (endOfReplacementList()) { parseContext.ppError(ppToken.loc, "unexpected location; end of replacement list", "##", ""); break; @@ -807,6 +808,12 @@ int TPpContext::tokenPaste(int token, TPpToken& ppToken) // get the token after the ## token = scanToken(&pastedPpToken); + // This covers end of argument expansion + if (token == tMarkerInput::marker) { + parseContext.ppError(ppToken.loc, "unexpected location; end of argument", "##", ""); + break; + } + // get the token text switch (resultToken) { case PpAtomIdentifier: diff --git a/3rdparty/glslang/glslang/OSDependent/Unix/ossource.cpp b/3rdparty/glslang/glslang/OSDependent/Unix/ossource.cpp index 4f8098b75..24b77e162 100644 --- a/3rdparty/glslang/glslang/OSDependent/Unix/ossource.cpp +++ b/3rdparty/glslang/glslang/OSDependent/Unix/ossource.cpp @@ -184,20 +184,6 @@ void ReleaseGlobalLock() pthread_mutex_unlock(&gMutex); } -// TODO: non-windows: if we need these on linux, flesh them out -void* OS_CreateThread(TThreadEntrypoint /*entry*/) -{ - return 0; -} - -void OS_WaitForAllThreads(void* /*threads*/, int /*numThreads*/) -{ -} - -void OS_Sleep(int /*milliseconds*/) -{ -} - void OS_DumpMemoryCounters() { } diff --git a/3rdparty/glslang/glslang/OSDependent/Windows/ossource.cpp b/3rdparty/glslang/glslang/OSDependent/Windows/ossource.cpp index 73ae0ca71..870840c56 100644 --- a/3rdparty/glslang/glslang/OSDependent/Windows/ossource.cpp +++ b/3rdparty/glslang/glslang/OSDependent/Windows/ossource.cpp @@ -131,21 +131,6 @@ unsigned int __stdcall EnterGenericThread (void* entry) return ((TThreadEntrypoint)entry)(0); } -void* OS_CreateThread(TThreadEntrypoint entry) -{ - return (void*)_beginthreadex(0, 0, EnterGenericThread, (void*)entry, 0, 0); -} - -void OS_WaitForAllThreads(void* threads, int numThreads) -{ - WaitForMultipleObjects(numThreads, (HANDLE*)threads, true, INFINITE); -} - -void OS_Sleep(int milliseconds) -{ - Sleep(milliseconds); -} - //#define DUMP_COUNTERS void OS_DumpMemoryCounters() diff --git a/3rdparty/glslang/glslang/OSDependent/osinclude.h b/3rdparty/glslang/glslang/OSDependent/osinclude.h index e8325268e..218abe4f2 100644 --- a/3rdparty/glslang/glslang/OSDependent/osinclude.h +++ b/3rdparty/glslang/glslang/OSDependent/osinclude.h @@ -53,11 +53,8 @@ void GetGlobalLock(); void ReleaseGlobalLock(); typedef unsigned int (*TThreadEntrypoint)(void*); -void* OS_CreateThread(TThreadEntrypoint); -void OS_WaitForAllThreads(void* threads, int numThreads); void OS_CleanupThreadData(void); -void OS_Sleep(int milliseconds); void OS_DumpMemoryCounters(); diff --git a/3rdparty/glslang/glslang/Public/ShaderLang.h b/3rdparty/glslang/glslang/Public/ShaderLang.h index 8d8abd777..7ea944664 100644 --- a/3rdparty/glslang/glslang/Public/ShaderLang.h +++ b/3rdparty/glslang/glslang/Public/ShaderLang.h @@ -147,6 +147,7 @@ enum EShMessages { EShMsgReadHlsl = (1 << 6), // use HLSL parsing rules and semantics EShMsgCascadingErrors = (1 << 7), // get cascading errors; risks error-recovery issues, instead of an early exit EShMsgKeepUncalled = (1 << 8), // for testing, don't eliminate uncalled functions + EShMsgHlslOffsets = (1 << 9), // allow block offsets to follow HLSL rules instead of GLSL rules }; // @@ -466,25 +467,25 @@ class TIoMapResolver public: virtual ~TIoMapResolver() {} - // Should return true if the resulting/current binding would be ok. + // Should return true if the resulting/current binding would be okay. // Basic idea is to do aliasing binding checks with this. virtual bool validateBinding(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; // Should return a value >= 0 if the current binding should be overridden. // Return -1 if the current binding (including no binding) should be kept. virtual int resolveBinding(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; - // Should return a value >= 0 if the current set should be overriden. + // Should return a value >= 0 if the current set should be overridden. // Return -1 if the current set (including no set) should be kept. virtual int resolveSet(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; - // Should return true if the resuling/current setup would be ok. + // Should return true if the resulting/current setup would be okay. // Basic idea is to do aliasing checks and reject invalid semantic names. virtual bool validateInOut(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; - // Should return a value >= 0 if the current location should be overriden. + // Should return a value >= 0 if the current location should be overridden. // Return -1 if the current location (including no location) should be kept. virtual int resolveInOutLocation(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; - // Should return a value >= 0 if the current component index should be overriden. + // Should return a value >= 0 if the current component index should be overridden. // Return -1 if the current component index (including no index) should be kept. virtual int resolveInOutComponent(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; - // Should return a value >= 0 if the current color index should be overriden. + // Should return a value >= 0 if the current color index should be overridden. // Return -1 if the current color index (including no index) should be kept. virtual int resolveInOutIndex(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; }; diff --git a/3rdparty/glslang/gtests/Hlsl.FromFile.cpp b/3rdparty/glslang/gtests/Hlsl.FromFile.cpp index efbc970ed..6bbc16b9b 100644 --- a/3rdparty/glslang/gtests/Hlsl.FromFile.cpp +++ b/3rdparty/glslang/gtests/Hlsl.FromFile.cpp @@ -124,16 +124,20 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.getdimensions.dx10.vert", "main"}, {"hlsl.getsampleposition.dx10.frag", "main"}, {"hlsl.domain.1.tese", "main"}, + {"hlsl.domain.2.tese", "main"}, + {"hlsl.domain.3.tese", "main"}, {"hlsl.hull.1.tesc", "main"}, {"hlsl.hull.2.tesc", "main"}, {"hlsl.hull.void.tesc", "main"}, {"hlsl.hull.ctrlpt-1.tesc", "main"}, + {"hlsl.hull.ctrlpt-2.tesc", "main"}, {"hlsl.identifier.sample.frag", "main"}, {"hlsl.if.frag", "PixelShaderFunction"}, {"hlsl.implicitBool.frag", "main"}, {"hlsl.inoutquals.frag", "main"}, {"hlsl.init.frag", "ShaderFunction"}, {"hlsl.init2.frag", "main"}, + {"hlsl.isfinite.frag", "main"}, {"hlsl.intrinsics.barriers.comp", "ComputeShaderFunction"}, {"hlsl.intrinsics.comp", "ComputeShaderFunction"}, {"hlsl.intrinsics.evalfns.frag", "main"}, @@ -167,6 +171,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.logicalConvert.frag", "main"}, {"hlsl.logical.unary.frag", "main"}, {"hlsl.namespace.frag", "main"}, + {"hlsl.nonint-index.frag", "main"}, {"hlsl.matNx1.frag", "main"}, {"hlsl.matrixSwizzle.vert", "ShaderFunction"}, {"hlsl.mintypes.frag", "main"}, @@ -220,6 +225,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.samplelevel.offsetarray.dx10.frag", "main"}, {"hlsl.sample.sub-vec4.dx10.frag", "main"}, {"hlsl.scalar-length.frag", "main"}, + {"hlsl.scalarCast.vert", "main"}, {"hlsl.semicolons.frag", "main"}, {"hlsl.shapeConv.frag", "main"}, {"hlsl.shapeConvRet.frag", "main"}, diff --git a/3rdparty/glslang/hlsl/hlslGrammar.cpp b/3rdparty/glslang/hlsl/hlslGrammar.cpp index 4c9bdae2b..b8932cea3 100755 --- a/3rdparty/glslang/hlsl/hlslGrammar.cpp +++ b/3rdparty/glslang/hlsl/hlslGrammar.cpp @@ -611,12 +611,15 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type, TIntermNode*& nodeList) qualifier.layoutFormat = type.getQualifier().layoutFormat; qualifier.precision = type.getQualifier().precision; - if (type.getQualifier().storage == EvqVaryingOut || + if (type.getQualifier().storage == EvqOut || type.getQualifier().storage == EvqBuffer) { qualifier.storage = type.getQualifier().storage; qualifier.readonly = type.getQualifier().readonly; } + if (type.getQualifier().builtIn != EbvNone) + qualifier.builtIn = type.getQualifier().builtIn; + type.getQualifier() = qualifier; } @@ -960,14 +963,14 @@ bool HlslGrammar::acceptOutputPrimitiveGeometry(TLayoutGeometry& geometry) // : INPUTPATCH // | OUTPUTPATCH // -bool HlslGrammar::acceptTessellationDeclType() +bool HlslGrammar::acceptTessellationDeclType(TBuiltInVariable& patchType) { // read geometry type const EHlslTokenClass tessType = peek(); switch (tessType) { - case EHTokInputPatch: break; - case EHTokOutputPatch: break; + case EHTokInputPatch: patchType = EbvInputPatch; break; + case EHTokOutputPatch: patchType = EbvOutputPatch; break; default: return false; // not a tessellation decl } @@ -981,7 +984,9 @@ bool HlslGrammar::acceptTessellationDeclType() // bool HlslGrammar::acceptTessellationPatchTemplateType(TType& type) { - if (! acceptTessellationDeclType()) + TBuiltInVariable patchType; + + if (! acceptTessellationDeclType(patchType)) return false; if (! acceptTokenClass(EHTokLeftAngle)) @@ -1008,6 +1013,7 @@ bool HlslGrammar::acceptTessellationPatchTemplateType(TType& type) TArraySizes* arraySizes = new TArraySizes; arraySizes->addInnerSize(size->getAsConstantUnion()->getConstArray()[0].getIConst()); type.newArraySizes(*arraySizes); + type.getQualifier().builtIn = patchType; if (! acceptTokenClass(EHTokRightAngle)) { expected("right angle bracket"); @@ -1035,7 +1041,8 @@ bool HlslGrammar::acceptStreamOutTemplateType(TType& type, TLayoutGeometry& geom return false; } - type.getQualifier().storage = EvqVaryingOut; + type.getQualifier().storage = EvqOut; + type.getQualifier().builtIn = EbvGsOutputStream; if (! acceptTokenClass(EHTokRightAngle)) { expected("right angle bracket"); @@ -1145,9 +1152,10 @@ bool HlslGrammar::acceptTextureType(TType& type) bool array = false; bool ms = false; bool image = false; + bool combined = true; switch (textureType) { - case EHTokBuffer: dim = EsdBuffer; break; + case EHTokBuffer: dim = EsdBuffer; combined = false; break; case EHTokTexture1d: dim = Esd1D; break; case EHTokTexture1darray: dim = Esd1D; array = true; break; case EHTokTexture2d: dim = Esd2D; break; @@ -1252,6 +1260,10 @@ bool HlslGrammar::acceptTextureType(TType& type) // Remember the declared vector size. sampler.vectorSize = txType.getVectorSize(); + // Force uncombined, if necessary + if (!combined) + sampler.combined = false; + type.shallowCopy(TType(sampler, EvqUniform, arraySizes)); type.getQualifier().layoutFormat = format; @@ -2207,7 +2219,7 @@ bool HlslGrammar::acceptDefaultParameterDeclaration(const TType& type, TIntermTy // For initializer lists, we have to const-fold into a constructor for the type, so build // that. - TFunction* constructor = parseContext.handleConstructorCall(token.loc, type); + TFunction* constructor = parseContext.makeConstructorCall(token.loc, type); if (constructor == nullptr) // cannot construct return false; @@ -2616,7 +2628,7 @@ bool HlslGrammar::acceptUnaryExpression(TIntermTyped*& node) return false; // Hook it up like a constructor - TFunction* constructorFunction = parseContext.handleConstructorCall(loc, castType); + TFunction* constructorFunction = parseContext.makeConstructorCall(loc, castType); if (constructorFunction == nullptr) { expected("type that can be constructed"); return false; @@ -2804,6 +2816,8 @@ bool HlslGrammar::acceptPostfixExpression(TIntermTyped*& node) } advanceToken(); node = parseContext.handleBracketDereference(indexNode->getLoc(), node, indexNode); + if (node == nullptr) + return false; break; } case EOpPostIncrement: @@ -2829,7 +2843,7 @@ bool HlslGrammar::acceptConstructor(TIntermTyped*& node) // type TType type; if (acceptType(type)) { - TFunction* constructorFunction = parseContext.handleConstructorCall(token.loc, type); + TFunction* constructorFunction = parseContext.makeConstructorCall(token.loc, type); if (constructorFunction == nullptr) return false; diff --git a/3rdparty/glslang/hlsl/hlslGrammar.h b/3rdparty/glslang/hlsl/hlslGrammar.h index e88d78057..6d8ed8fd6 100755 --- a/3rdparty/glslang/hlsl/hlslGrammar.h +++ b/3rdparty/glslang/hlsl/hlslGrammar.h @@ -79,7 +79,7 @@ namespace glslang { bool acceptTemplateVecMatBasicType(TBasicType&); bool acceptVectorTemplateType(TType&); bool acceptMatrixTemplateType(TType&); - bool acceptTessellationDeclType(); + bool acceptTessellationDeclType(TBuiltInVariable&); bool acceptTessellationPatchTemplateType(TType&); bool acceptStreamOutTemplateType(TType&, TLayoutGeometry&); bool acceptOutputPrimitiveGeometry(TLayoutGeometry&); diff --git a/3rdparty/glslang/hlsl/hlslParseHelper.cpp b/3rdparty/glslang/hlsl/hlslParseHelper.cpp index c5c0a1d63..745ee4005 100755 --- a/3rdparty/glslang/hlsl/hlslParseHelper.cpp +++ b/3rdparty/glslang/hlsl/hlslParseHelper.cpp @@ -66,7 +66,9 @@ HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& int nextInLocation(0), nextOutLocation(0), sourceEntryPointName(sourceEntryPointName), entryPointFunction(nullptr), - entryPointFunctionBody(nullptr) + entryPointFunctionBody(nullptr), + gsStreamOutput(nullptr), + inputPatch(nullptr) { globalUniformDefaults.clear(); globalUniformDefaults.layoutMatrix = ElmRowMajor; @@ -333,13 +335,6 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* [](bool isSet) { return isSet; } ); }; - // helper to create a temporary variable - const auto addTmpVar = [&](const char* name, const TType& derefType) -> TIntermSymbol* { - TVariable* tmpVar = makeInternalVariable(name, derefType); - tmpVar->getWritableType().getQualifier().makeTemporary(); - return intermediate.addSymbol(*tmpVar, loc); - }; - // Create swizzle matching input swizzle const auto addSwizzle = [&](TIntermSymbol* var, TIntermBinary* swizzle) -> TIntermTyped* { if (swizzle) @@ -417,7 +412,7 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* TIntermTyped* coordTmp = coord; if (rhsTmp == nullptr || isModifyOp || lhsIsSwizzle) { - rhsTmp = addTmpVar("storeTemp", objDerefType); + rhsTmp = makeInternalVariableNode(loc, "storeTemp", objDerefType); // Partial updates not yet supported if (!writesAllComponents(rhsTmp, lhsAsBinary)) { @@ -427,7 +422,7 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* // Assign storeTemp = rhs if (isModifyOp) { // We have to make a temp var for the coordinate, to avoid evaluating it twice. - coordTmp = addTmpVar("coordTemp", coord->getType()); + coordTmp = makeInternalVariableNode(loc, "coordTemp", coord->getType()); makeBinary(EOpAssign, coordTmp, coord); // coordtmp = load[param1] makeLoad(rhsTmp, object, coordTmp, objDerefType); // rhsTmp = OpImageLoad(object, coordTmp) } @@ -460,8 +455,8 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* // OpImageStore(object, coordTmp, rhsTmp) // rhsTmp - TIntermSymbol* rhsTmp = addTmpVar("storeTemp", objDerefType); - TIntermTyped* coordTmp = addTmpVar("coordTemp", coord->getType()); + TIntermSymbol* rhsTmp = makeInternalVariableNode(loc, "storeTemp", objDerefType); + TIntermTyped* coordTmp = makeInternalVariableNode(loc, "coordTemp", coord->getType()); makeBinary(EOpAssign, coordTmp, coord); // coordtmp = load[param1] makeLoad(rhsTmp, object, coordTmp, objDerefType); // rhsTmp = OpImageLoad(object, coordTmp) @@ -481,9 +476,9 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* // rhsTmp2 op // OpImageStore(object, coordTmp, rhsTmp2) // rhsTmp1 (pre-op value) - TIntermSymbol* rhsTmp1 = addTmpVar("storeTempPre", objDerefType); - TIntermSymbol* rhsTmp2 = addTmpVar("storeTempPost", objDerefType); - TIntermTyped* coordTmp = addTmpVar("coordTemp", coord->getType()); + TIntermSymbol* rhsTmp1 = makeInternalVariableNode(loc, "storeTempPre", objDerefType); + TIntermSymbol* rhsTmp2 = makeInternalVariableNode(loc, "storeTempPost", objDerefType); + TIntermTyped* coordTmp = makeInternalVariableNode(loc, "coordTemp", coord->getType()); makeBinary(EOpAssign, coordTmp, coord); // coordtmp = load[param1] makeLoad(rhsTmp1, object, coordTmp, objDerefType); // rhsTmp1 = OpImageLoad(object, coordTmp) @@ -727,6 +722,18 @@ TIntermTyped* HlslParseContext::handleBracketDereference(const TSourceLoc& loc, if (result != nullptr) return result; // it was handled as an operator[] + const TBasicType indexBasicType = index->getType().getBasicType(); + + // Cast index to unsigned integer if it isn't one. + if (indexBasicType != EbtInt && indexBasicType != EbtUint && + indexBasicType != EbtInt64 && indexBasicType != EbtUint64) + index = intermediate.addConversion(EOpConstructUint, TType(EbtUint), index); + + if (index == nullptr) { + error(loc, " unknown undex type ", "", ""); + return nullptr; + } + bool flattened = false; int indexValue = 0; if (index->getQualifier().storage == EvqConst) { @@ -1047,7 +1054,7 @@ TType& HlslParseContext::split(TType& type, TString name, const TType* outerStru if (arraySizes) ioVar->getWritableType().newArraySizes(*arraySizes); - fixBuiltInArrayType(ioVar->getWritableType()); + fixBuiltInIoType(ioVar->getWritableType()); interstageBuiltInIo[tInterstageIoData(memberType, *outerStructType)] = ioVar; @@ -1376,6 +1383,7 @@ TIntermTyped* HlslParseContext::splitAccessStruct(const TSourceLoc& loc, TInterm void HlslParseContext::trackLinkage(TSymbol& symbol) { TBuiltInVariable biType = symbol.getType().getQualifier().builtIn; + if (biType != EbvNone) builtInLinkageSymbols[biType] = symbol.clone(); @@ -1386,28 +1394,44 @@ void HlslParseContext::trackLinkage(TSymbol& symbol) // Some types require fixed array sizes in SPIR-V, but can be scalars or // arrays of sizes SPIR-V doesn't allow. For example, tessellation factors. // This creates the right size. A conversion is performed when the internal -// type is copied to or from the external type. -void HlslParseContext::fixBuiltInArrayType(TType& type) +// type is copied to or from the external type. This corrects the externally +// facing input or output type to abide downstream semantics. +void HlslParseContext::fixBuiltInIoType(TType& type) { - int requiredSize = 0; + int requiredArraySize = 0; switch (type.getQualifier().builtIn) { - case EbvTessLevelOuter: requiredSize = 4; break; - case EbvTessLevelInner: requiredSize = 2; break; + case EbvTessLevelOuter: requiredArraySize = 4; break; + case EbvTessLevelInner: requiredArraySize = 2; break; case EbvClipDistance: // TODO: ... case EbvCullDistance: // TODO: ... + return; + case EbvTessCoord: + { + // tesscoord is always a vec3 for the IO variable, no matter the shader's + // declared vector size. + TType tessCoordType(type.getBasicType(), type.getQualifier().storage, 3); + + tessCoordType.getQualifier() = type.getQualifier(); + type.shallowCopy(tessCoordType); + + break; + } default: return; } - if (type.isArray()) { - // Already an array. Fix the size. - type.changeOuterArraySize(requiredSize); - } else { - // it wasn't an array, but needs to be. - TArraySizes arraySizes; - arraySizes.addInnerSize(requiredSize); - type.newArraySizes(arraySizes); + // Alter or set array size as needed. + if (requiredArraySize > 0) { + if (type.isArray()) { + // Already an array. Fix the size. + type.changeOuterArraySize(requiredArraySize); + } else { + // it wasn't an array, but needs to be. + TArraySizes arraySizes; + arraySizes.addInnerSize(requiredArraySize); + type.newArraySizes(arraySizes); + } } } @@ -1770,6 +1794,15 @@ void HlslParseContext::handleEntryPointAttributes(const TSourceLoc& loc, const T // TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunction& userFunction, const TAttributeMap& attributes) { + // Return true if this is a tessellation patch constant function input to a domain shader. + const auto isDsPcfInput = [this](const TType& type) { + return language == EShLangTessEvaluation && + type.contains([](const TType* t) { + return t->getQualifier().builtIn == EbvTessLevelOuter || + t->getQualifier().builtIn == EbvTessLevelInner; + }); + }; + // if we aren't in the entry point, fix the IO as such and exit if (userFunction.getName().compare(intermediate.getEntryPointName().c_str()) != 0) { remapNonEntryPointIO(userFunction); @@ -1801,15 +1834,28 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct else if (variable.getType().containsBuiltInInterstageIO(language)) split(variable); } + assignLocations(variable); }; if (entryPointOutput) makeVariableInOut(*entryPointOutput); for (auto it = inputs.begin(); it != inputs.end(); ++it) - makeVariableInOut(*(*it)); + if (!isDsPcfInput((*it)->getType())) // skip domain shader PCF input (see comment below) + makeVariableInOut(*(*it)); for (auto it = outputs.begin(); it != outputs.end(); ++it) makeVariableInOut(*(*it)); + // In the domain shader, PCF input must be at the end of the linkage. That's because in the + // hull shader there is no ordering: the output comes from the separate PCF, which does not + // participate in the argument list. That is always put at the end of the HS linkage, so the + // input side of the DS must match. The argument may be in any position in the DS argument list + // however, so this ensures the linkage is built in the correct order regardless of argument order. + if (language == EShLangTessEvaluation) { + for (auto it = inputs.begin(); it != inputs.end(); ++it) + if (isDsPcfInput((*it)->getType())) // skip domain shader PCF input (see comment below) + makeVariableInOut(*(*it)); + } + // Synthesize the call pushScope(); // matches the one in handleFunctionBody() @@ -1831,11 +1877,15 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct TIntermAggregate* synthBody = new TIntermAggregate(); auto inputIt = inputs.begin(); TIntermTyped* callingArgs = nullptr; + for (int i = 0; i < userFunction.getParamCount(); i++) { TParameter& param = userFunction[i]; argVars.push_back(makeInternalVariable(*param.name, *param.type)); + argVars.back()->getWritableType().getQualifier().makeTemporary(); + TIntermSymbol* arg = intermediate.addSymbol(*argVars.back()); + handleFunctionArgument(&callee, callingArgs, arg); if (param.type->getQualifier().isParamInput()) { intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, arg, @@ -1890,10 +1940,20 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct auto outputIt = outputs.begin(); for (int i = 0; i < userFunction.getParamCount(); i++) { TParameter& param = userFunction[i]; + + // GS outputs are via emit, so we do not copy them here. if (param.type->getQualifier().isParamOutput()) { - intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, - intermediate.addSymbol(**outputIt), - intermediate.addSymbol(*argVars[i]))); + if (param.declaredBuiltIn == EbvGsOutputStream) { + // GS output stream does not assign outputs here: it's the Append() method + // which writes to the output, probably multiple times separated by Emit. + // We merely remember the output to use, here. + gsStreamOutput = *outputIt; + } else { + intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, + intermediate.addSymbol(**outputIt), + intermediate.addSymbol(*argVars[i]))); + } + outputIt++; } } @@ -1952,6 +2012,9 @@ void HlslParseContext::remapEntryPointIO(TFunction& function, TVariable*& return correctOutput(ioVariable->getWritableType().getQualifier()); } ioVariable->getWritableType().getQualifier().storage = storage; + + fixBuiltInIoType(ioVariable->getWritableType()); + return ioVariable; }; @@ -1986,6 +2049,9 @@ void HlslParseContext::remapEntryPointIO(TFunction& function, TVariable*& return if (paramType.getQualifier().isParamInput()) { TVariable* argAsGlobal = makeIoVariable(function[i].name->c_str(), paramType, EvqVaryingIn); inputs.push_back(argAsGlobal); + + if (function[i].declaredBuiltIn == EbvInputPatch) + inputPatch = argAsGlobal; } if (paramType.getQualifier().isParamOutput()) { TVariable* argAsGlobal = makeIoVariable(function[i].name->c_str(), paramType, EvqVaryingOut); @@ -3280,9 +3346,15 @@ void HlslParseContext::decomposeGeometryMethods(const TSourceLoc& loc, TIntermTy emit->setLoc(loc); emit->setType(TType(EbtVoid)); + // find the matching output + if (gsStreamOutput == nullptr) { + error(loc, "unable to find output symbol for Append()", "", ""); + return; + } + sequence = intermediate.growAggregate(sequence, handleAssign(loc, EOpAssign, - argAggregate->getSequence()[0]->getAsTyped(), + intermediate.addSymbol(*gsStreamOutput, loc), argAggregate->getSequence()[1]->getAsTyped()), loc); @@ -3818,6 +3890,48 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& break; } + case EOpIsFinite: + { + // Since OPIsFinite in SPIR-V is only supported with the Kernel capability, we translate + // it to !isnan && !isinf + + TIntermTyped* arg0 = node->getAsUnaryNode()->getOperand(); + + // We'll make a temporary in case the RHS is cmoplex + TVariable* tempArg = makeInternalVariable("@finitetmp", arg0->getType()); + tempArg->getWritableType().getQualifier().makeTemporary(); + + TIntermTyped* tmpArgAssign = intermediate.addAssign(EOpAssign, + intermediate.addSymbol(*tempArg, loc), + arg0, loc); + + TIntermAggregate* compoundStatement = intermediate.makeAggregate(tmpArgAssign, loc); + + TIntermTyped* isnan = handleUnaryMath(loc, "isnan", EOpIsNan, intermediate.addSymbol(*tempArg, loc)); + isnan->setType(TType(EbtBool)); + + TIntermTyped* notnan = handleUnaryMath(loc, "!", EOpLogicalNot, isnan); + notnan->setType(TType(EbtBool)); + + TIntermTyped* isinf = handleUnaryMath(loc, "isinf", EOpIsInf, intermediate.addSymbol(*tempArg, loc)); + isinf->setType(TType(EbtBool)); + + TIntermTyped* notinf = handleUnaryMath(loc, "!", EOpLogicalNot, isinf); + notinf->setType(TType(EbtBool)); + + TIntermTyped* andNode = handleBinaryMath(loc, "and", EOpLogicalAnd, notnan, notinf); + andNode->setType(TType(EbtBool)); + + compoundStatement = intermediate.growAggregate(compoundStatement, andNode); + compoundStatement->setOperator(EOpSequence); + compoundStatement->setLoc(loc); + compoundStatement->setType(TType(EbtVoid)); + + node = compoundStatement; + + break; + } + default: break; // most pass through unchanged } @@ -3848,7 +3962,7 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct // // It's a constructor, of type 'type'. // - result = addConstructor(loc, arguments, type); + result = handleConstructor(loc, arguments, type); if (result == nullptr) error(loc, "cannot construct with these arguments", type.getCompleteString().c_str(), ""); } @@ -4259,9 +4373,13 @@ void HlslParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fn } // -// Handle seeing a built-in constructor in a grammar production. +// Handle seeing something in a grammar production that can be done by calling +// a constructor. // -TFunction* HlslParseContext::handleConstructorCall(const TSourceLoc& loc, const TType& type) +// The constructor still must be "handled" by handleFunctionCall(), which will +// then call handleConstructor(). +// +TFunction* HlslParseContext::makeConstructorCall(const TSourceLoc& loc, const TType& type) { TOperator op = intermediate.mapTypeToConstructorOp(type); @@ -4644,7 +4762,7 @@ bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node return true; } - if (op == EOpConstructStruct && ! type.isArray() && isZeroConstructor(node)) + if (op == EOpConstructStruct && ! type.isArray() && isScalarConstructor(node)) return false; if (op == EOpConstructStruct && ! type.isArray() && (int)type.getStruct()->size() != function.getParamCount()) { @@ -4661,10 +4779,21 @@ bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node return false; } -bool HlslParseContext::isZeroConstructor(const TIntermNode* node) +// See if 'node', in the context of constructing aggregates, is a scalar argument +// to a constructor. +// +bool HlslParseContext::isScalarConstructor(const TIntermNode* node) { - return node->getAsTyped()->isScalar() && node->getAsConstantUnion() && - node->getAsConstantUnion()->getConstArray()[0].getIConst() == 0; + // Obviously, it must be a scalar, but an aggregate node might not be fully + // completed yet: holding a sequence of initializers under an aggregate + // would not yet be typed, so don't check it's type. This corresponds to + // the aggregate operator also not being set yet. (An aggregate operation + // that legitimately yields a scalar will have a getOp() of that operator, + // not EOpNull.) + + return node->getAsTyped() != nullptr && + node->getAsTyped()->isScalar() && + (node->getAsAggregate() == nullptr || node->getAsAggregate()->getOp() != EOpNull); } // Verify all the correct semantics for constructing a combined texture/sampler. @@ -6200,6 +6329,15 @@ TVariable* HlslParseContext::makeInternalVariable(const char* name, const TType& return variable; } +// Make a symbol node holding a new internal temporary variable. +TIntermSymbol* HlslParseContext::makeInternalVariableNode(const TSourceLoc& loc, const char* name, const TType& type) const +{ + TVariable* tmpVar = makeInternalVariable(name, type); + tmpVar->getWritableType().getQualifier().makeTemporary(); + + return intermediate.addSymbol(*tmpVar, loc); +} + // // Declare a non-array variable, the main point being there is no redeclaration // for resizing allowed. @@ -6250,7 +6388,7 @@ TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TInterm skeletalType.shallowCopy(variable->getType()); skeletalType.getQualifier().makeTemporary(); if (initializer->getAsAggregate() && initializer->getAsAggregate()->getOp() == EOpNull) - initializer = convertInitializerList(loc, skeletalType, initializer); + initializer = convertInitializerList(loc, skeletalType, initializer, nullptr); if (! initializer) { // error recovery; don't leave const without constant values if (qualifier == EvqConst) @@ -6286,7 +6424,7 @@ TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TInterm return nullptr; } - // Const variables require a constant initializer, depending on version + // Const variables require a constant initializer if (qualifier == EvqConst) { if (initializer->getType().getQualifier().storage != EvqConst) { variable->getWritableType().getQualifier().storage = EvqConstReadOnly; @@ -6332,7 +6470,8 @@ TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TInterm // // Returns nullptr if there is an error. // -TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, const TType& type, TIntermTyped* initializer) +TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, const TType& type, + TIntermTyped* initializer, TIntermTyped* scalarInit) { // Will operate recursively. Once a subtree is found that is constructor style, // everything below it is already good: Only the "top part" of the initializer @@ -6378,12 +6517,12 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co } // lengthen list to be long enough - lengthenList(loc, initList->getSequence(), arrayType.getOuterArraySize()); + lengthenList(loc, initList->getSequence(), arrayType.getOuterArraySize(), scalarInit); // recursively process each element TType elementType(arrayType, 0); // dereferenced type for (int i = 0; i < arrayType.getOuterArraySize(); ++i) { - initList->getSequence()[i] = convertInitializerList(loc, elementType, initList->getSequence()[i]->getAsTyped()); + initList->getSequence()[i] = convertInitializerList(loc, elementType, initList->getSequence()[i]->getAsTyped(), scalarInit); if (initList->getSequence()[i] == nullptr) return nullptr; } @@ -6391,14 +6530,14 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co return addConstructor(loc, initList, arrayType); } else if (type.isStruct()) { // lengthen list to be long enough - lengthenList(loc, initList->getSequence(), static_cast(type.getStruct()->size())); + lengthenList(loc, initList->getSequence(), static_cast(type.getStruct()->size()), scalarInit); if (type.getStruct()->size() != initList->getSequence().size()) { error(loc, "wrong number of structure members", "initializer list", ""); return nullptr; } for (size_t i = 0; i < type.getStruct()->size(); ++i) { - initList->getSequence()[i] = convertInitializerList(loc, *(*type.getStruct())[i].type, initList->getSequence()[i]->getAsTyped()); + initList->getSequence()[i] = convertInitializerList(loc, *(*type.getStruct())[i].type, initList->getSequence()[i]->getAsTyped(), scalarInit); if (initList->getSequence()[i] == nullptr) return nullptr; } @@ -6409,7 +6548,7 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co // a constructor; no further processing needed. } else { // lengthen list to be long enough - lengthenList(loc, initList->getSequence(), type.getMatrixCols()); + lengthenList(loc, initList->getSequence(), type.getMatrixCols(), scalarInit); if (type.getMatrixCols() != (int)initList->getSequence().size()) { error(loc, "wrong number of matrix columns:", "initializer list", type.getCompleteString().c_str()); @@ -6417,14 +6556,14 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co } TType vectorType(type, 0); // dereferenced type for (int i = 0; i < type.getMatrixCols(); ++i) { - initList->getSequence()[i] = convertInitializerList(loc, vectorType, initList->getSequence()[i]->getAsTyped()); + initList->getSequence()[i] = convertInitializerList(loc, vectorType, initList->getSequence()[i]->getAsTyped(), scalarInit); if (initList->getSequence()[i] == nullptr) return nullptr; } } } else if (type.isVector()) { // lengthen list to be long enough - lengthenList(loc, initList->getSequence(), type.getVectorSize()); + lengthenList(loc, initList->getSequence(), type.getVectorSize(), scalarInit); // error check; we're at bottom, so work is finished below if (type.getVectorSize() != (int)initList->getSequence().size()) { @@ -6433,7 +6572,7 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co } } else if (type.isScalar()) { // lengthen list to be long enough - lengthenList(loc, initList->getSequence(), 1); + lengthenList(loc, initList->getSequence(), 1, scalarInit); if ((int)initList->getSequence().size() != 1) { error(loc, "scalar expected one element:", "initializer list", type.getCompleteString().c_str()); @@ -6446,9 +6585,9 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co // Now that the subtree is processed, process this node as if the // initializer list is a set of arguments to a constructor. - TIntermNode* emulatedConstructorArguments; + TIntermTyped* emulatedConstructorArguments; if (initList->getSequence().size() == 1) - emulatedConstructorArguments = initList->getSequence()[0]; + emulatedConstructorArguments = initList->getSequence()[0]->getAsTyped(); else emulatedConstructorArguments = initList; @@ -6458,10 +6597,21 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co // Lengthen list to be long enough to cover any gap from the current list size // to 'size'. If the list is longer, do nothing. // The value to lengthen with is the default for short lists. -void HlslParseContext::lengthenList(const TSourceLoc& loc, TIntermSequence& list, int size) +// +// By default, lists that are too short due to lack of initializers initialize to zero. +// Alternatively, it could be a scalar initializer for a structure. Both cases are handled, +// based on whether something is passed in as 'scalarInit'. +// +// 'scalarInit' must be safe to use each time this is called (no side effects replication). +// +void HlslParseContext::lengthenList(const TSourceLoc& loc, TIntermSequence& list, int size, TIntermTyped* scalarInit) { - for (int c = (int)list.size(); c < size; ++c) - list.push_back(intermediate.addConstantUnion(0, loc)); + for (int c = (int)list.size(); c < size; ++c) { + if (scalarInit == nullptr) + list.push_back(intermediate.addConstantUnion(0, loc)); + else + list.push_back(scalarInit); + } } // @@ -6470,15 +6620,38 @@ void HlslParseContext::lengthenList(const TSourceLoc& loc, TIntermSequence& list // // Returns nullptr for an error or the constructed node (aggregate or typed) for no error. // -TIntermTyped* HlslParseContext::addConstructor(const TSourceLoc& loc, TIntermNode* node, const TType& type) +TIntermTyped* HlslParseContext::handleConstructor(const TSourceLoc& loc, TIntermTyped* node, const TType& type) { - if (node == nullptr || node->getAsTyped() == nullptr) + if (node == nullptr) return nullptr; - // Handle the idiom "(struct type)0" - if (type.isStruct() && isZeroConstructor(node)) - return convertInitializerList(loc, type, intermediate.makeAggregate(loc)); + // Handle the idiom "(struct type)" + if (type.isStruct() && isScalarConstructor(node)) { + // 'node' will almost always get used multiple times, so should not be used directly, + // it would create a DAG instead of a tree, which might be okay (would + // like to formalize that for constants and symbols), but if it has + // side effects, they would get executed multiple times, which is not okay. + if (node->getAsConstantUnion() == nullptr && node->getAsSymbolNode() == nullptr) { + TIntermAggregate* seq = intermediate.makeAggregate(loc); + TIntermSymbol* copy = makeInternalVariableNode(loc, "scalarCopy", node->getType()); + seq = intermediate.growAggregate(seq, intermediate.addBinaryNode(EOpAssign, copy, node, loc)); + seq = intermediate.growAggregate(seq, convertInitializerList(loc, type, intermediate.makeAggregate(loc), copy)); + seq->setOp(EOpComma); + seq->setType(type); + return seq; + } else + return convertInitializerList(loc, type, intermediate.makeAggregate(loc), node); + } + return addConstructor(loc, node, type); +} + +// Add a constructor, either from the grammar, or other programmatic reasons. +// +// Return nullptr if it can't be done. +// +TIntermTyped* HlslParseContext::addConstructor(const TSourceLoc& loc, TIntermTyped* node, const TType& type) +{ TIntermAggregate* aggrNode = node->getAsAggregate(); TOperator op = intermediate.mapTypeToConstructorOp(type); @@ -6516,7 +6689,7 @@ TIntermTyped* HlslParseContext::addConstructor(const TSourceLoc& loc, TIntermNod else if (op == EOpConstructStruct) newNode = constructAggregate(node, *(*memberTypes).type, 1, node->getLoc()); else - newNode = constructBuiltIn(type, op, node->getAsTyped(), node->getLoc(), false); + newNode = constructBuiltIn(type, op, node, node->getLoc(), false); if (newNode && (type.isArray() || op == EOpConstructStruct)) newNode = intermediate.setAggregateOperator(newNode, EOpConstructStruct, type, loc); @@ -7532,7 +7705,10 @@ void HlslParseContext::addPatchConstantInvocation() // Look for builtin variables in a function's parameter list. const auto findBuiltIns = [&](const TFunction& function, std::set& builtIns) { for (int p=0; pgetQualifier().storage; + TStorageQualifier storage = function[p].type->getQualifier().storage; + + if (storage == EvqConstReadOnly) // treated identically to input + storage = EvqIn; if (function[p].declaredBuiltIn != EbvNone) builtIns.insert(HlslParseContext::tInterstageIoData(function[p].declaredBuiltIn, storage)); @@ -7563,9 +7739,11 @@ void HlslParseContext::addPatchConstantInvocation() } }; - const auto isPerCtrlPt = [this](const TType& type) { - // TODO: this is not sufficient to reject all such cases in malformed shaders. - return type.isArray() && !type.isRuntimeSizedArray(); + const auto isOutputPatch = [this](TFunction& patchConstantFunction, int param) { + const TType& type = *patchConstantFunction[param].type; + const TBuiltInVariable biType = patchConstantFunction[param].declaredBuiltIn; + + return type.isArray() && !type.isRuntimeSizedArray() && biType == EbvOutputPatch; }; // We will perform these steps. Each is in a scoped block for separation: they could @@ -7594,7 +7772,7 @@ void HlslParseContext::addPatchConstantInvocation() TIntermSymbol* invocationIdSym = findLinkageSymbol(EbvInvocationId); TIntermSequence& epBodySeq = entryPointFunctionBody->getAsAggregate()->getSequence(); - int perCtrlPtParam = -1; // -1 means there isn't one. + int outPatchParam = -1; // -1 means there isn't one. // ================ Step 1A: Union Interfaces ================ // Our patch constant function. @@ -7620,25 +7798,37 @@ void HlslParseContext::addPatchConstantInvocation() // Now we'll add those to the entry and to the linkage. for (int p=0; pgetQualifier().storage; + TStorageQualifier storage = patchConstantFunction[p].type->getQualifier().storage; - // Track whether there is any per control point input - if (isPerCtrlPt(*patchConstantFunction[p].type)) { - if (perCtrlPtParam >= 0) { - // Presently we only support one per ctrl pt input. TODO: does HLSL even allow multiple? - error(loc, "unimplemented: multiple per control point inputs to patch constant function", "", ""); + // Track whether there is an output patch param + if (isOutputPatch(patchConstantFunction, p)) { + if (outPatchParam >= 0) { + // Presently we only support one per ctrl pt input. + error(loc, "unimplemented: multiple output patches in patch constant function", "", ""); return; } - perCtrlPtParam = p; + outPatchParam = p; } if (biType != EbvNone) { TType* paramType = patchConstantFunction[p].type->clone(); - // Use the original declaration type for the linkage - paramType->getQualifier().builtIn = biType; - if (notInEntryPoint.count(tInterstageIoData(biType, storage)) == 1) - addToLinkage(*paramType, patchConstantFunction[p].name, nullptr); + if (storage == EvqConstReadOnly) // treated identically to input + storage = EvqIn; + + // Presently, the only non-builtin we support is InputPatch, which is treated as + // a pseudo-builtin. + if (biType == EbvInputPatch) { + builtInLinkageSymbols[biType] = inputPatch; + } else if (biType == EbvOutputPatch) { + // Nothing... + } else { + // Use the original declaration type for the linkage + paramType->getQualifier().builtIn = biType; + + if (notInEntryPoint.count(tInterstageIoData(biType, storage)) == 1) + addToLinkage(*paramType, patchConstantFunction[p].name, nullptr); + } } } @@ -7661,18 +7851,12 @@ void HlslParseContext::addPatchConstantInvocation() // TODO: handle struct or array inputs { for (int p=0; pisArray() && !isPerCtrlPt(*patchConstantFunction[p].type)) || - (!patchConstantFunction[p].type->isArray() && patchConstantFunction[p].type->isStruct())) { - error(loc, "unimplemented array or variable in patch constant function signature", "", ""); - return; - } - TIntermSymbol* inputArg = nullptr; - if (p == perCtrlPtParam) { + if (p == outPatchParam) { if (perCtrlPtVar == nullptr) { - perCtrlPtVar = makeInternalVariable(*patchConstantFunction[perCtrlPtParam].name, - *patchConstantFunction[perCtrlPtParam].type); + perCtrlPtVar = makeInternalVariable(*patchConstantFunction[outPatchParam].name, + *patchConstantFunction[outPatchParam].type); perCtrlPtVar->getWritableType().getQualifier().makeTemporary(); } @@ -7682,7 +7866,7 @@ void HlslParseContext::addPatchConstantInvocation() const TBuiltInVariable biType = patchConstantFunction[p].declaredBuiltIn; inputArg = findLinkageSymbol(biType); - + if (inputArg == nullptr) { error(loc, "unable to find patch constant function builtin variable", "", ""); return; @@ -7727,9 +7911,9 @@ void HlslParseContext::addPatchConstantInvocation() // invocations of the entry point to build up an array, or (TODO:) use a yet // unavailable extension to look across the SIMD lanes. This is the former // as a placeholder for the latter. - if (perCtrlPtParam >= 0) { + if (outPatchParam >= 0) { // We must introduce a local temp variable of the type wanted by the PCF input. - const int arraySize = patchConstantFunction[perCtrlPtParam].type->getOuterArraySize(); + const int arraySize = patchConstantFunction[outPatchParam].type->getOuterArraySize(); if (entryPointFunction->getType().getBasicType() == EbtVoid) { error(loc, "entry point must return a value for use with patch constant function", "", ""); diff --git a/3rdparty/glslang/hlsl/hlslParseHelper.h b/3rdparty/glslang/hlsl/hlslParseHelper.h index b46a58094..14c9809ea 100755 --- a/3rdparty/glslang/hlsl/hlslParseHelper.h +++ b/3rdparty/glslang/hlsl/hlslParseHelper.h @@ -96,7 +96,7 @@ public: void addInputArgumentConversions(const TFunction&, TIntermTyped*&); TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermOperator&); void builtInOpCheck(const TSourceLoc&, const TFunction&, TIntermOperator&); - TFunction* handleConstructorCall(const TSourceLoc&, const TType&); + TFunction* makeConstructorCall(const TSourceLoc&, const TType&); void handleSemantic(TSourceLoc, TQualifier&, TBuiltInVariable, const TString& upperCase); void handlePackOffset(const TSourceLoc&, TQualifier&, const glslang::TString& location, const glslang::TString* component); @@ -140,8 +140,9 @@ public: void declareStruct(const TSourceLoc&, TString& structName, TType&); TSymbol* lookupUserType(const TString&, TType&); TIntermNode* declareVariable(const TSourceLoc&, const TString& identifier, TType&, TIntermTyped* initializer = 0); - void lengthenList(const TSourceLoc&, TIntermSequence& list, int size); - TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&); + void lengthenList(const TSourceLoc&, TIntermSequence& list, int size, TIntermTyped* scalarInit); + TIntermTyped* handleConstructor(const TSourceLoc&, TIntermTyped*, const TType&); + TIntermTyped* addConstructor(const TSourceLoc&, TIntermTyped*, const TType&); TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&); TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset); void declareBlock(const TSourceLoc&, TType&, const TString* instanceName = 0, TArraySizes* arraySizes = 0); @@ -216,11 +217,12 @@ protected: TVariable* makeInternalVariable(const TString& name, const TType& type) const { return makeInternalVariable(name.c_str(), type); } + TIntermSymbol* makeInternalVariableNode(const TSourceLoc&, const char* name, const TType&) const; TVariable* declareNonArray(const TSourceLoc&, const TString& identifier, const TType&, bool track); void declareArray(const TSourceLoc&, const TString& identifier, const TType&, TSymbol*&, bool track); TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable); - TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer); - bool isZeroConstructor(const TIntermNode*); + TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer, TIntermTyped* scalarInit); + bool isScalarConstructor(const TIntermNode*); TOperator mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage); // Return true if this node requires L-value conversion (e.g, to an imageStore). @@ -248,7 +250,7 @@ protected: void addInterstageIoToLinkage(); void addPatchConstantInvocation(); - void fixBuiltInArrayType(TType&); + void fixBuiltInIoType(TType&); void flatten(const TSourceLoc& loc, const TVariable& variable); int flatten(const TSourceLoc& loc, const TVariable& variable, const TType&, TFlattenData&, TString name); @@ -386,6 +388,7 @@ protected: }; TMap interstageBuiltInIo; // individual builtin interstage IO vars, indexed by builtin type. + TVariable* inputPatch; // We have to move array references to structs containing builtin interstage IO to the split variables. // This is only handled for one level. This stores the index, because we'll need it in the future, since @@ -405,6 +408,8 @@ protected: TVector currentTypePrefix; // current scoping prefix for nested structures TVector implicitThisStack; // currently active 'this' variables for nested structures + + TVariable* gsStreamOutput; // geometry shader stream outputs, for emit (Append method) }; // This is the prefix we use for builtin methods to avoid namespace collisions with diff --git a/3rdparty/glslang/hlsl/hlslScanContext.cpp b/3rdparty/glslang/hlsl/hlslScanContext.cpp index 6ddb39d23..55304a095 100755 --- a/3rdparty/glslang/hlsl/hlslScanContext.cpp +++ b/3rdparty/glslang/hlsl/hlslScanContext.cpp @@ -878,28 +878,4 @@ EHlslTokenClass HlslScanContext::reservedWord() return EHTokNone; } -EHlslTokenClass HlslScanContext::identifierOrReserved(bool reserved) -{ - if (reserved) { - reservedWord(); - - return EHTokNone; - } - - if (parseContext.forwardCompatible) - parseContext.warn(loc, "using future reserved keyword", tokenText, ""); - - return identifierOrType(); -} - -// For a keyword that was never reserved, until it suddenly -// showed up. -EHlslTokenClass HlslScanContext::nonreservedKeyword(int version) -{ - if (parseContext.version < version) - return identifierOrType(); - - return keyword; -} - } // end namespace glslang