Skip to content

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 05:20
· 19 commits to main since this release
  • Pipeline layout helpers, additions only. UnionOptions for PipelineLayout.TryCreateUnion(entries, options, ...): IgnoreTextureDimension lets a 2D and a cube texture share a slot, MergeStorageAccess merges read-only and read-write buffers of one family to read-write. WebGpuLayoutOptions.TextureDimensions picks the viewDimension of such a slot (without a pick TryToWebGpu reports it as unsupported, and it refuses a merged read-only/read-write buffer unless ReadOnlyStorageBuffers names it). PipelineLayout.ToBindings(BindingOptions?) returns target-neutral BindingDescriptions (BindingType, TextureDimension, TextureSampleKind, comparison flag, count, stages, dynamic flag, Metal index). VertexLayout.TrySplit(streams, ..., overrides) spreads a vertex input over several buffers with per-vertex or per-instance step (VertexStream, VertexStreamLayout.ToVulkan/ToMetal/ToWebGpu); overlapping attributes, a too-small stride and a location in no stream are LayoutErrors.
  • Source-level debug information. CompileOptions.DebugInfo (DebugInfoLevel.None by default; Lines, Full) and DebugSourceRoot. SPIR-V: Lines writes OpSource (with the text of the main and each included file) and OpLine/OpNoLine, as DXC's -Zi; Full writes NonSemantic.Shader.DebugInfo.100 (compilation unit, one DebugSource per file, functions, lexical blocks, inlined-at records, local variables with DebugDeclare/DebugValue, global variables, types, lines, entry point), as DXC's -fspv-debug=vulkan-with-source, for RenderDoc and Nsight. MSL: #line directives for Metal's -gline-tables-only -frecord-sources and Xcode. WGSL is unchanged. Paths in the output are relative to DebugSourceRoot and never absolute. Off by default, and then every blob is byte-identical to before. The optimizer keeps running with debug information on and keeps positions through every pass; Optimize = false gives one step per statement with every local visible. Command line: -Zi, -fspv-debug=vulkan-with-source (also vulkan, file, source, line, tool), --debug-root. Build package: OneShaderDebugInfo (true/full/lines/false) and OneShaderOptimize, item metadata DebugInfo and Optimize. See docs/debugging.md.