Class VfxShaderFileVulkan
Namespace: ValveResourceFormat.CompiledShader
Assembly: ValveResourceFormat.dll
Vulkan SPIR-V shader bytecode.
public class VfxShaderFileVulkan : VfxShaderFileInheritance
object ← ShaderDataBlock ← VfxShaderFile ← VfxShaderFileVulkan
Inherited Members
VfxShaderFile.ParentCombo, VfxShaderFile.BlockName, VfxShaderFile.ShaderFileId, VfxShaderFile.Size, VfxShaderFile.Bytecode, VfxShaderFile.HashMD5, VfxShaderFile.GetDecompiledFile(), VfxShaderFile.IsEmpty(), ShaderDataBlock.Start, ShaderDataBlock.ReadStringWithMaxLength(BinaryReader, int)
Constructors
VfxShaderFileVulkan(BinaryReader, int, Guid, VfxStaticComboData)
Initializes a new instance from pre-hashed data.
public VfxShaderFileVulkan(BinaryReader datareader, int sourceId, Guid hash, VfxStaticComboData parent)Parameters
datareader BinaryReader
sourceId int
hash Guid
parent VfxStaticComboData
VfxShaderFileVulkan(byte[])
Initializes a new instance from pure SPIR-V, unassociated with any combo.
public VfxShaderFileVulkan(byte[] bytecode)Parameters
bytecode byte[]
VfxShaderFileVulkan(BinaryReader, int, VfxStaticComboData, bool)
Initializes a new instance from a binary reader.
public VfxShaderFileVulkan(BinaryReader datareader, int sourceId, VfxStaticComboData parent, bool isMobile)Parameters
datareader BinaryReader
sourceId int
parent VfxStaticComboData
isMobile bool
Properties
AttribMap
public byte[]? AttribMap { get; }Property Value
byte[]?
BlockName
Gets the shader platform name.
public override string BlockName { get; }Property Value
BytecodeSize
Gets the size of the bytecode.
public int BytecodeSize { get; }Property Value
DefaultDescriptorSetBindingInfo
public VfxShaderFileVulkan.PerDescriptorSetBindingInfo? DefaultDescriptorSetBindingInfo { get; }Property Value
VfxShaderFileVulkan.PerDescriptorSetBindingInfo?
DescriptorSetHashes
public uint[]? DescriptorSetHashes { get; }Property Value
uint[]?
EntryPoints
public uint[]? EntryPoints { get; }Property Value
uint[]?
HiddenUAVCounters
public VfxShaderFileVulkan.HiddenUAVCounter[]? HiddenUAVCounters { get; }Property Value
VfxShaderFileVulkan.HiddenUAVCounter[]?
PushConstantSize
public int PushConstantSize { get; }Property Value
RequiredSubgroupSize
public short RequiredSubgroupSize { get; }Property Value
ShaderStorageBufferBindings
public VfxShaderFileVulkan.ShaderStorageBufferBinding[]? ShaderStorageBufferBindings { get; }Property Value
VfxShaderFileVulkan.ShaderStorageBufferBinding[]?
StaticDescriptorSetBindingInfoData
public byte[]? StaticDescriptorSetBindingInfoData { get; }Property Value
byte[]?
ThreadGroupSize
public int[]? ThreadGroupSize { get; }Property Value
int[]?
UnknownTrailingData
public byte[]? UnknownTrailingData { get; }Property Value
byte[]?
UseShaderStageName
public bool UseShaderStageName { get; }Property Value
Version
Gets the shader file version.
public int Version { get; }Property Value
Methods
GetDecompiledFile()
Decompiles the shader to source code.
public override string GetDecompiledFile()Returns
Remarks
Decompiles SPIR-V bytecode to HLSL or GLSL using SPIRV-Cross reflection, attempting multiple backends until successful.

