Бранимир Караџић 6 лет назад
Родитель
Сommit
dca534e77a

Разница между файлами не показана из-за своего большого размера
+ 603 - 608
3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out


+ 1 - 1
3rdparty/glslang/Test/baseResults/web.array.frag.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 74
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.basic.vert.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 38
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.builtins.frag.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 69
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.builtins.vert.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 33
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.comp.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 108
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.controlFlow.frag.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 193
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.operations.frag.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 207
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.separate.frag.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 99
 ; Schema: 0
                OpCapability Shader

+ 1 - 1
3rdparty/glslang/Test/baseResults/web.texture.frag.out

@@ -1,6 +1,6 @@
 ; SPIR-V
 ; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 7
+; Generator: Khronos Glslang Reference Front End; 8
 ; Bound: 189
 ; Schema: 0
                OpCapability Shader

+ 1 - 0
3rdparty/glslang/Test/hlsl.intrinsics.frag

@@ -53,6 +53,7 @@ float PixelShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, int in
     float r031 = floor(inF0);
     // TODO: fma(inD0, inD1, inD2);
     float r033 = fmod(inF0, inF1);
+    float r033i = fmod(inF0, 2);
     float r034 = frac(inF0);
     float r036 = fwidth(inF0);
     bool r037 = isinf(inF0);

+ 15 - 17
3rdparty/glslang/glslang/Include/Types.h

@@ -80,27 +80,13 @@ struct TSampler {   // misnomer now; includes images, textures without sampler,
     bool      image : 1;  // image, combined should be false
     bool   combined : 1;  // true means texture is combined with a sampler, false means texture with no sampler
     bool    sampler : 1;  // true means a pure sampler, other fields should be clear()
-#ifdef ENABLE_HLSL
-    unsigned int vectorSize : 3;  // vector return type size.
-    unsigned int getVectorSize() const { return vectorSize; }
-    void clearReturnStruct() { structReturnIndex = noReturnStruct; }
-    bool hasReturnStruct() const { return structReturnIndex != noReturnStruct; }
-    unsigned getStructReturnIndex() const { return structReturnIndex; }
-
-    static const unsigned structReturnIndexBits = 4;                        // number of index bits to use.
-    static const unsigned structReturnSlots = (1<<structReturnIndexBits)-1; // number of valid values
-    static const unsigned noReturnStruct = structReturnSlots;               // value if no return struct type.
 
-    // Index into a language specific table of texture return structures.
-    unsigned int structReturnIndex : structReturnIndexBits;
-#else
+#ifdef GLSLANG_WEB
     unsigned int getVectorSize() const { return 4; }
     void clearReturnStruct() const { }
     bool hasReturnStruct() const { return false; }
     unsigned getStructReturnIndex() const { return 0; }
-#endif
 
-#ifdef GLSLANG_WEB
     bool is1D()          const { return false; }
     bool isBuffer()      const { return false; }
     bool isRect()        const { return false; }
@@ -113,10 +99,22 @@ struct TSampler {   // misnomer now; includes images, textures without sampler,
     void setExternal(bool e) { }
     bool isYuv()         const { return false; }
 #else
-    bool   external : 1;  // GL_OES_EGL_image_external
-    bool        yuv : 1;  // GL_EXT_YUV_target
+    unsigned int vectorSize : 3;  // vector return type size.
     // Some languages support structures as sample results.  Storing the whole structure in the
     // TSampler is too large, so there is an index to a separate table.
+    static const unsigned structReturnIndexBits = 4;                        // number of index bits to use.
+    static const unsigned structReturnSlots = (1<<structReturnIndexBits)-1; // number of valid values
+    static const unsigned noReturnStruct = structReturnSlots;               // value if no return struct type.
+    // Index into a language specific table of texture return structures.
+    unsigned int structReturnIndex : structReturnIndexBits;
+
+    bool   external : 1;  // GL_OES_EGL_image_external
+    bool        yuv : 1;  // GL_EXT_YUV_target
+
+    unsigned int getVectorSize() const { return vectorSize; }
+    void clearReturnStruct() { structReturnIndex = noReturnStruct; }
+    bool hasReturnStruct() const { return structReturnIndex != noReturnStruct; }
+    unsigned getStructReturnIndex() const { return structReturnIndex; }
 
     bool is1D()          const { return dim == Esd1D; }
     bool isBuffer()      const { return dim == EsdBuffer; }

+ 3 - 3
3rdparty/glslang/glslang/Include/intermediate.h

@@ -1223,7 +1223,7 @@ public:
     // it is essential to use "symbol = sym" to assign to symbol
     TIntermSymbol(int i, const TString& n, const TType& t)
         : TIntermTyped(t), id(i),
-#ifdef ENABLE_HLSL
+#ifndef GLSLANG_WEB
         flattenSubset(-1),
 #endif
         constSubtree(nullptr)
@@ -1238,7 +1238,7 @@ public:
     const TConstUnionArray& getConstArray() const { return constArray; }
     void setConstSubtree(TIntermTyped* subtree) { constSubtree = subtree; }
     TIntermTyped* getConstSubtree() const { return constSubtree; }
-#ifdef ENABLE_HLSL
+#ifndef GLSLANG_WEB
     void setFlattenSubset(int subset) { flattenSubset = subset; }
     int getFlattenSubset() const { return flattenSubset; } // -1 means full object
 #endif
@@ -1249,7 +1249,7 @@ public:
 
 protected:
     int id;                      // the unique id of the symbol this node represents
-#ifdef ENABLE_HLSL
+#ifndef GLSLANG_WEB
     int flattenSubset;           // how deeply the flattened object rooted at id has been dereferenced
 #endif
     TString name;                // the name of the symbol this node represents

+ 1 - 0
3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp

@@ -1129,6 +1129,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt
     case EOpLit:
     case EOpMax:
     case EOpMin:
+    case EOpMod:
     case EOpModf:
     case EOpPow:
     case EOpReflect:

+ 7 - 11
3rdparty/glslang/glslang/MachineIndependent/localintermediate.h

@@ -229,10 +229,6 @@ class TIntermediate {
 public:
     explicit TIntermediate(EShLanguage l, int v = 0, EProfile p = ENoProfile) :
         language(l),
-#ifdef ENABLE_HLSL
-        implicitThisName("@this"), implicitCounterName("@count"),
-        source(EShSourceNone),
-#endif
         profile(p), version(v), treeRoot(0),
         numEntryPoints(0), numErrors(0), numPushConstants(0), recursive(false),
         invertY(false),
@@ -241,6 +237,8 @@ public:
         depthReplacing(false)
 #ifndef GLSLANG_WEB
         ,
+        implicitThisName("@this"), implicitCounterName("@count"),
+        source(EShSourceNone),
         useVulkanMemoryModel(false),
         invocations(TQualifier::layoutNotSet), vertices(TQualifier::layoutNotSet),
         inputPrimitive(ElgNone), outputPrimitive(ElgNone),
@@ -895,13 +893,6 @@ protected:
     static const char* getResourceName(TResourceType);
 
     const EShLanguage language;  // stage, known at construction time
-#ifdef ENABLE_HLSL
-public:
-    const char* const implicitThisName;
-    const char* const implicitCounterName;
-protected:
-    EShSource source;            // source language, known a bit later
-#endif
     std::string entryPointName;
     std::string entryPointMangledName;
     typedef std::list<TCall> TGraph;
@@ -925,6 +916,11 @@ protected:
     bool localSizeNotDefault[3];
     int localSizeSpecId[3];
 #ifndef GLSLANG_WEB
+public:
+    const char* const implicitThisName;
+    const char* const implicitCounterName;
+protected:
+    EShSource source;            // source language, known a bit later
     bool useVulkanMemoryModel;
     int invocations;
     int vertices;

Некоторые файлы не были показаны из-за большого количества измененных файлов