public record class EffectBindingDataOne resource the shader binds, with everything a set layout needs.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
One record for two jobs: Bindings, which answers "where does source go", and the DescriptorSetLayoutDescription the device wants. They were separate in the compiler's reflection and separating them here too would leave two lists that have to agree and no reason they would.
Fields and properties (9)
public string NameThe shader's own name for it.
public DescriptorSetSlot SetWhich of the four conventional sets holds it.
public uint BindingIts index within that set.
public DescriptorKind KindWhat it binds.
public ShaderStage StagesWhich stages reference it.
public int CountArray length; 1 for a single resource, 0 for unbounded.
public int SizeHow many bytes a block binding is; 0 for a resource. Per binding rather than per effect because a shader that marks its sets has a block in each of them.
public DescriptorSampleType SampleTypeHow the binding is read — Depth on both halves of a shadow lookup, the texture and its comparison sampler. ⚠ Last and defaulted so an effect serialized before this existed still loads, and Float is the right answer for every one of them: nothing could declare a depth texture until Raven had the type.
public bool DynamicOffsetWhether the shader said this block is bound at an offset that moves per draw — Raven's [DynamicOffset]. ⚠ Defaulted false, and false is the right answer for an effect serialized before Raven could say it: the engine's fallback inference is what EffectLoader applies where nothing declared anything, and it is the rule that shipped for as long as the attribute did not exist.
Methods (1)
public EffectBindingData(string Name = "", DescriptorSetSlot Set = PerMaterial, uint Binding = 0, DescriptorKind Kind = UniformBuffer, ShaderStage Stages = None, int Count = 1, int Size = 0, DescriptorSampleType SampleType = Float, bool DynamicOffset = false)One resource the shader binds, with everything a set layout needs.
Used by (27)
- BindlessSetLayoutTestsVixen.Shaders.Tests
- ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
- DistanceFieldDeviceTestsVixen.Graphics.Golden.Tests
- DynamicUniformBlockTestsVixen.Shaders.Tests
- EffectCacheTestsVixen.Shaders.Tests
- EffectDataVixen.Shaders
- EffectLoaderVixen.Shaders
- ForwardFrameTestsVixen.Rendering.Tests
- IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
- ScreenProbeUpsampleCompileTestsVixen.Graphics.Golden.Tests
- TypeRegistrationVixen.Shaders
- Vixen_Shaders_EffectBindingDataSerializerVixen.Shaders
- Vixen_Shaders_EffectDataSerializerVixen.Shaders
- EffectCompilerTestsVixen.ShaderCompiler.Tests
- EffectTranslatorVixen.ShaderCompiler
- ShaderGraphPreviewTestsVixen.Editor.ShaderGraph.Tests
- TextureAnalysisKernelTestsVixen.Editor.TextureGraph.Tests
- TextureColourKernelTestsVixen.Editor.TextureGraph.Tests
- TextureFilterKernelTestsVixen.Editor.TextureGraph.Tests
- TextureGraphCompilerTestsVixen.Editor.TextureGraph.Tests
- TextureKernelSabotageTestsVixen.Editor.TextureGraph.Tests
- TextureKernelTestsVixen.Editor.TextureGraph.Tests
- TextureNodeLibraryTestsVixen.Editor.TextureGraph.Tests
- TexturePixelProcessorTestsVixen.Editor.TextureGraph.Tests
- TexturePlacementKernelTestsVixen.Editor.TextureGraph.Tests
- TextureSourceKernelTestsVixen.Editor.TextureGraph.Tests
- TextureSurfaceKernelTestsVixen.Editor.TextureGraph.Tests