public StripShaderCompilerData(UnityEditor.Rendering.ShaderCompilerData shaderCompilerData, bool isStripped = false)
        {
            if (shaderKeywordSet == null)
            {
                shaderKeywordSet = new List <StripShaderKeyword>();
            }
            UnityEngine.Rendering.ShaderKeyword[] keywordSet = shaderCompilerData.shaderKeywordSet.GetShaderKeywords();
            for (int i = 0; i < keywordSet.Length; i++)
            {
                StripShaderKeyword shaderKeyword = new StripShaderKeyword(keywordSet[i]);
                shaderKeywordSet.Add(shaderKeyword);
            }
            Array array = Enum.GetValues(typeof(UnityEngine.Rendering.BuiltinShaderDefine));

            foreach (UnityEngine.Rendering.BuiltinShaderDefine v in array)
            {
                if (shaderCompilerData.platformKeywordSet.IsEnabled(v))
                {
                    StripBuiltinShaderDefine newdefine = StripTypeConvert.ConvertUnityTypeToStripType(v);
                    platformKeywordSet = platformKeywordSet | newdefine;
                }
            }
            shaderRequirements     = shaderCompilerData.shaderRequirements;
            graphicsTier           = shaderCompilerData.graphicsTier;
            shaderCompilerPlatform = shaderCompilerData.shaderCompilerPlatform;
            this.isStripped        = isStripped;
        }
示例#2
0
        /// <remarks>
        /// See ShaderCompilerGetPlatformName in ShaderCompilerClient.cpp
        /// </remarks>
        internal static string ShaderCompilerGetPlatformName(UnityEditor.Rendering.ShaderCompilerPlatform platform)
        {
            switch (platform)
            {
            case UnityEditor.Rendering.ShaderCompilerPlatform.D3D:
                return("d3d11");

            case UnityEditor.Rendering.ShaderCompilerPlatform.GLES20:
                return("gles");

            case UnityEditor.Rendering.ShaderCompilerPlatform.GLES3x:
                return("gles3");

            case UnityEditor.Rendering.ShaderCompilerPlatform.Metal:
                return("metal");

            case UnityEditor.Rendering.ShaderCompilerPlatform.OpenGLCore:
                return("glcore");

            case UnityEditor.Rendering.ShaderCompilerPlatform.Vulkan:
                return("vulkan");

            default:
                return($"Unsupported platform {platform}");
            }
        }