- [Core] fix bug with parsing Shader [GI]

This commit is contained in:
Razmoth
2024-02-02 09:42:46 +04:00
parent 9ad9230946
commit cf3ef2f88e

View File

@@ -587,8 +587,9 @@ namespace AssetStudio
public List<UAVParameter> m_UAVParams;
public List<SamplerParameter> m_Samplers;
public static bool HasGlobalLocalKeywordIndices(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A", "450A058C218DAF000647948F2F59DA6D");
public static bool HasInstancedStructuredBuffers(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A");
public static bool HasGlobalLocalKeywordIndices(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A", "450A058C218DAF000647948F2F59DA6D", "B239746E4EC6E4D6D7BA27C84178610A");
public static bool HasInstancedStructuredBuffers(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A", "B239746E4EC6E4D6D7BA27C84178610A");
public static bool HasIsAdditionalBlob(SerializedType type) => type.Match("B239746E4EC6E4D6D7BA27C84178610A");
public SerializedSubProgram(ObjectReader reader)
{
@@ -600,6 +601,11 @@ namespace AssetStudio
}
m_BlobIndex = reader.ReadUInt32();
if (HasIsAdditionalBlob(reader.serializedType))
{
var m_IsAdditionalBlob = reader.ReadBoolean();
reader.AlignStream();
}
m_Channels = new ParserBindChannels(reader);
if ((version[0] >= 2019 && version[0] < 2021) || (version[0] == 2021 && version[1] < 2) || HasGlobalLocalKeywordIndices(reader.serializedType)) //2019 ~2021.1