diff --git a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out index 7ce3058dceffbdf74a97678a5561ce8b75e7a94d..621fae5186c3231572ddfeca736637482cd6758e 100644 --- a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out +++ b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out @@ -1,4 +1,5 @@ hlsl.aliasOpaque.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 87 diff --git a/Test/baseLegalResults/hlsl.array.flatten.frag.out b/Test/baseLegalResults/hlsl.array.flatten.frag.out deleted file mode 100644 index 62e05963d25da323ba4209c9d558f4f593eb446d..0000000000000000000000000000000000000000 --- a/Test/baseLegalResults/hlsl.array.flatten.frag.out +++ /dev/null @@ -1,59 +0,0 @@ -hlsl.array.flatten.frag -// Module Version 10000 -// Generated by (magic number): 80005 -// Id's are bound by 180 - - Capability Shader - Capability Sampled1D - 1: ExtInstImport "GLSL.std.450" - MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 110 - ExecutionMode 4 OriginUpperLeft - Source HLSL 500 - Name 4 "main" - Name 42 "g_tex" - Name 47 "g_samp" - Name 110 "ps_output.color" - Decorate 42(g_tex) DescriptorSet 0 - Decorate 47(g_samp) DescriptorSet 0 - Decorate 110(ps_output.color) Location 0 - 2: TypeVoid - 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 11: TypeImage 6(float) 1D sampled format:Unknown - 12: TypeInt 32 0 - 13: 12(int) Constant 3 - 14: TypeArray 11 13 - 16: TypeSampler - 17: TypeArray 16 13 - 30: TypeInt 32 1 - 35: 30(int) Constant 1 - 41: TypePointer UniformConstant 14 - 42(g_tex): 41(ptr) Variable UniformConstant - 43: TypePointer UniformConstant 11 - 46: TypePointer UniformConstant 17 - 47(g_samp): 46(ptr) Variable UniformConstant - 48: TypePointer UniformConstant 16 - 51: TypeSampledImage 11 - 53: 6(float) Constant 1045220557 - 109: TypePointer Output 7(fvec4) -110(ps_output.color): 109(ptr) Variable Output - 4(main): 2 Function None 3 - 5: Label - 139: 43(ptr) AccessChain 42(g_tex) 35 - 140: 11 Load 139 - 141: 48(ptr) AccessChain 47(g_samp) 35 - 142: 16 Load 141 - 143: 51 SampledImage 140 142 - 144: 7(fvec4) ImageSampleImplicitLod 143 53 - 133: 14 Load 42(g_tex) - 173: 11 CompositeExtract 133 2 - 134: 17 Load 47(g_samp) - 179: 16 CompositeExtract 134 2 - 150: 51 SampledImage 173 179 - 151: 7(fvec4) ImageSampleImplicitLod 150 53 - 136: 7(fvec4) FAdd 144 151 - Store 110(ps_output.color) 136 - Return - FunctionEnd diff --git a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out index 16f060dc0cb7c2f08516dd96a60d2e71a9e2d824..1e90a0869a6a55cb6cb26e5d526fedd6d62740cd 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out +++ b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out @@ -1,4 +1,5 @@ hlsl.flattenOpaque.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 185 diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out index c181243f2106ee5f8cab61cdc9786c56564bd64c..d5800557e1a109af89c9131ac826254c03300d9d 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out +++ b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out @@ -1,4 +1,5 @@ hlsl.flattenOpaqueInit.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 134 diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out index aca925fff6a27848ccb7488b11791dfead335fd7..054d4bda8ffaa5ad7e205b3526948f907c14fcb7 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out +++ b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out @@ -1,4 +1,5 @@ hlsl.flattenOpaqueInitMix.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 80 diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out index 01d6699f2354dd8f25b1958b1b21e3f534f391c6..bbffe8ae077da3944288c90d66beb740ea1c9ca0 100755 --- a/Test/baseLegalResults/hlsl.flattenSubset.frag.out +++ b/Test/baseLegalResults/hlsl.flattenSubset.frag.out @@ -1,4 +1,5 @@ hlsl.flattenSubset.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 66 diff --git a/Test/baseLegalResults/hlsl.flattenSubset2.frag.out b/Test/baseLegalResults/hlsl.flattenSubset2.frag.out index bb1ec4b449b5bcad999afb5516e049e9a908dfb6..ea93e7a1e974aa621822f14d47d5dd9c1bb0e88b 100755 --- a/Test/baseLegalResults/hlsl.flattenSubset2.frag.out +++ b/Test/baseLegalResults/hlsl.flattenSubset2.frag.out @@ -1,4 +1,5 @@ hlsl.flattenSubset2.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 53 diff --git a/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out b/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out index 104a729062c83895e34c4b67199c6d67143d61c6..0ec29fb05f85fa8f0cc3734c556b9ae167d48604 100755 --- a/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out +++ b/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out @@ -1,4 +1,5 @@ hlsl.partialFlattenLocal.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 169 diff --git a/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out b/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out index 1bee2bd4f5d0454c701efc583deac6665948953e..8497977c271f677b719bf45c89e489d67826f5af 100755 --- a/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out +++ b/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out @@ -1,4 +1,5 @@ hlsl.partialFlattenMixed.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize // Module Version 10000 // Generated by (magic number): 80005 // Id's are bound by 36 diff --git a/Test/baseLegalResults/hlsl.samplecmp.dualmode.frag.out b/Test/baseLegalResults/hlsl.samplecmp.dualmode.frag.out deleted file mode 100644 index 8577f73a085eab004c21eb6666b386192d8d65ca..0000000000000000000000000000000000000000 --- a/Test/baseLegalResults/hlsl.samplecmp.dualmode.frag.out +++ /dev/null @@ -1,28 +0,0 @@ -hlsl.samplecmp.dualmode.frag -// Module Version 10000 -// Generated by (magic number): 80005 -// Id's are bound by 42 - - Capability Shader - Capability Sampled1D - 1: ExtInstImport "GLSL.std.450" - MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 41 - ExecutionMode 4 OriginUpperLeft - Source HLSL 500 - Name 4 "main" - Name 41 "@entryPointOutput" - Decorate 41(@entryPointOutput) Location 0 - 2: TypeVoid - 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 36: 6(float) Constant 0 - 37: 7(fvec4) ConstantComposite 36 36 36 36 - 40: TypePointer Output 7(fvec4) -41(@entryPointOutput): 40(ptr) Variable Output - 4(main): 2 Function None 3 - 5: Label - Store 41(@entryPointOutput) 37 - Return - FunctionEnd diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out index 0e1841c5a62f3f68a6a57d753074e59633d8852e..f729efac9d39a0a98f282761523854cc1072b5db 100755 --- a/Test/baseResults/hlsl.aliasOpaque.frag.out +++ b/Test/baseResults/hlsl.aliasOpaque.frag.out @@ -1,4 +1,5 @@ hlsl.aliasOpaque.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out index d6abea32392c150f3db660a321e8a9cf09b70c37..699acc068afad869e7db0199fb8d7a51c4d6ca35 100755 --- a/Test/baseResults/hlsl.flattenOpaque.frag.out +++ b/Test/baseResults/hlsl.flattenOpaque.frag.out @@ -1,4 +1,5 @@ hlsl.flattenOpaque.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out index 916d63888738973c7d3f5426a1332bdad59799ec..df5a1c62f51dc52cc3a7ab63d1c825c1eaf3d72b 100755 --- a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out +++ b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out @@ -1,4 +1,5 @@ hlsl.flattenOpaqueInit.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 0:? Sequence 0:5 Function Definition: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float) diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out index b0cc8de4cf20e004b5c0e4c350fb5b4b3ef07bea..c973b7568dccef1ccf98a5ba1fafd5ca2afd251c 100755 --- a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out +++ b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out @@ -1,4 +1,5 @@ hlsl.flattenOpaqueInitMix.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 0:? Sequence 0:5 Function Definition: lookUp(struct-FxaaTex-p1-t21-f11; ( temp 4-component vector of float) diff --git a/Test/baseResults/hlsl.flattenSubset.frag.out b/Test/baseResults/hlsl.flattenSubset.frag.out index 4e104d8fb0abead6083e9c173957fec95abc867a..2a7d21c454dec16c33de9bdb441c1ae37fbe3738 100755 --- a/Test/baseResults/hlsl.flattenSubset.frag.out +++ b/Test/baseResults/hlsl.flattenSubset.frag.out @@ -1,4 +1,5 @@ hlsl.flattenSubset.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out index fb5001561d26d4bc9bb88e8d08a2a86480d80e75..4454e433aa6d7a63c555e80f59c10a922c5ce044 100755 --- a/Test/baseResults/hlsl.flattenSubset2.frag.out +++ b/Test/baseResults/hlsl.flattenSubset2.frag.out @@ -1,4 +1,5 @@ hlsl.flattenSubset2.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out index 5f44aa99d7614db1aa584a7d73977f3e62eecb32..a8303e04fa0f1fe7452639105a5b55b86d57cac5 100755 --- a/Test/baseResults/hlsl.partialFlattenLocal.vert.out +++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out @@ -1,4 +1,5 @@ hlsl.partialFlattenLocal.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 0:? Sequence 0:12 Function Definition: @main(vf4; ( temp 4-component vector of float) diff --git a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out index beecd01c29b57519119e38defad57504494ed78f..191e918f9ec103032440c204604f866c7e74b7f0 100644 --- a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out +++ b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out @@ -1,4 +1,5 @@ hlsl.samplecmp.dualmode.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index 2bf2e53f2c0c0f68ad6fc36d6a15337810712a03..2c92bdb7fb9d0edfec15aa8a49fe12ac9361e8ae 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -92,6 +92,7 @@ INSTANTIATE_TEST_CASE_P( ToSpirv, HlslCompileTest, ::testing::ValuesIn(std::vector<FileNameEntryPointPair>{ {"hlsl.amend.frag", "f1"}, + {"hlsl.aliasOpaque.frag", "main"}, {"hlsl.array.frag", "PixelShaderFunction"}, {"hlsl.array.implicit-size.frag", "PixelShaderFunction"}, {"hlsl.array.multidim.frag", "main"}, @@ -152,6 +153,11 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.float1.frag", "PixelShaderFunction"}, {"hlsl.float4.frag", "PixelShaderFunction"}, {"hlsl.flatten.return.frag", "main"}, + {"hlsl.flattenOpaque.frag", "main"}, + {"hlsl.flattenOpaqueInit.vert", "main"}, + {"hlsl.flattenOpaqueInitMix.vert", "main"}, + {"hlsl.flattenSubset.frag", "main"}, + {"hlsl.flattenSubset2.frag", "main"}, {"hlsl.forLoop.frag", "PixelShaderFunction"}, {"hlsl.gather.array.dx10.frag", "main"}, {"hlsl.gather.basic.dx10.frag", "main"}, @@ -248,6 +254,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.params.default.frag", "main"}, {"hlsl.params.default.negative.frag", "main"}, {"hlsl.partialInit.frag", "PixelShaderFunction"}, + {"hlsl.partialFlattenLocal.vert", "main"}, {"hlsl.PointSize.geom", "main"}, {"hlsl.PointSize.vert", "main"}, {"hlsl.pp.vert", "main"}, @@ -273,6 +280,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.samplebias.offsetarray.dx10.frag", "main"}, {"hlsl.samplecmp.array.dx10.frag", "main"}, {"hlsl.samplecmp.basic.dx10.frag", "main"}, + {"hlsl.samplecmp.dualmode.frag", "main"}, {"hlsl.samplecmp.offset.dx10.frag", "main"}, {"hlsl.samplecmp.offsetarray.dx10.frag", "main"}, {"hlsl.samplecmp.negative.frag", "main"}, @@ -361,32 +369,22 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.typeGraphCopy.vert", "main"}, {"hlsl.typedef.frag", "PixelShaderFunction"}, {"hlsl.whileLoop.frag", "PixelShaderFunction"}, - {"hlsl.void.frag", "PixelShaderFunction"}, - {"hlsl.aliasOpaque.frag", "main"}, - {"hlsl.flattenOpaque.frag", "main"}, - {"hlsl.flattenOpaqueInit.vert", "main"}, - {"hlsl.flattenOpaqueInitMix.vert", "main"}, - {"hlsl.flattenSubset.frag", "main"}, - {"hlsl.flattenSubset2.frag", "main"}, - {"hlsl.partialFlattenLocal.vert", "main"}, - {"hlsl.samplecmp.dualmode.frag", "main"}, + {"hlsl.void.frag", "PixelShaderFunction"} }), FileNameAsCustomTestSuffix ); // clang-format on -#ifndef ENABLE_OPT // clang-format off INSTANTIATE_TEST_CASE_P( ToSpirv, HlslCompileAndFlattenTest, ::testing::ValuesIn(std::vector<FileNameEntryPointPair>{ {"hlsl.array.flatten.frag", "main"}, - {"hlsl.partialFlattenMixed.vert", "main"} + {"hlsl.partialFlattenMixed.vert", "main"}, }), FileNameAsCustomTestSuffix ); // clang-format on -#endif #ifdef ENABLE_OPT // clang-format off @@ -400,9 +398,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.flattenSubset.frag", "main"}, {"hlsl.flattenSubset2.frag", "main"}, {"hlsl.partialFlattenLocal.vert", "main"}, - {"hlsl.array.flatten.frag", "main"}, - {"hlsl.partialFlattenMixed.vert", "main"}, - {"hlsl.samplecmp.dualmode.frag", "main"} + {"hlsl.partialFlattenMixed.vert", "main"} }), FileNameAsCustomTestSuffix ); diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index 969619cfa77474018d3152400f23d69c3ea6ec69..2395dafe940ca749eb18243fb7b227f82fefc191 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -9885,12 +9885,10 @@ void HlslParseContext::finish() addPatchConstantInvocation(); fixTextureShadowModes(); -#ifndef ENABLE_OPT // Communicate out (esp. for command line) that we formed AST that will make // illegal AST SPIR-V and it needs transforms to legalize it. if (intermediate.needsLegalization()) infoSink.info << "WARNING: AST will form illegal SPIR-V; need to transform to legalize"; -#endif TParseContextBase::finish(); }