Skip to content

Vulkan/D3D12: Make resource transitions explicit, remove the Vulkan auto-transition pass - #3338

Merged
xen2 merged 14 commits into
masterfrom
feature/explicit-compute-transitions
Aug 10, 2026
Merged

Vulkan/D3D12: Make resource transitions explicit, remove the Vulkan auto-transition pass#3338
xen2 merged 14 commits into
masterfrom
feature/explicit-compute-transitions

Conversation

@xen2

@xen2 xen2 commented Aug 8, 2026

Copy link
Copy Markdown
Member

PR Details

Stacked on #3337.
Counter-proposal to #3329: instead of adding automatic barrier tracking to D3D12, resource transitions are now explicit at the renderer level on all backends.
This removes stopgap and temporary code from old implementation and align all platforms as intended.

Changes

  • Compute dispatches (ComputeEffectShader) transition their bound textures explicitly, based on effect reflection.
  • Vulkan Clear now leaves targets in their write layout, matching D3D12.
  • Read-only depth is driven by the bound view's DepthStencilReadOnly flag, with an explicit transition where ForwardRenderer binds it, instead of layouts baked into the pipeline.
  • The Vulkan per-draw auto-transition pass (TransitionBoundResources) is deleted, along with the unused D3D12 ResourceTracking scaffolding.
  • With pipelines no longer forcing render pass restarts, the render pass instance stays open across pipeline switches.

Related Issue

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My change requires a change to the documentation.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • I have built and run the editor to try this change out.

@xen2
xen2 force-pushed the feature/explicit-compute-transitions branch from bbd054f to a987b91 Compare August 8, 2026 16:47
@xen2 xen2 added ci-enduser Run the end-user sample screenshot + packaging suite on this PR ci-editor Run the GameStudio editor screenshot suite on this PR labels Aug 8, 2026
@xen2
xen2 force-pushed the feature/explicit-compute-transitions branch from bdf0356 to 004fb6e Compare August 9, 2026 09:10
Base automatically changed from feature/vulkan-1-3 to master August 9, 2026 11:36
@xen2
xen2 force-pushed the feature/explicit-compute-transitions branch from 004fb6e to c9f5541 Compare August 9, 2026 11:36
@xen2
xen2 merged commit fd0906d into master Aug 10, 2026
36 checks passed
@xen2
xen2 deleted the feature/explicit-compute-transitions branch August 10, 2026 06:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-editor Run the GameStudio editor screenshot suite on this PR ci-enduser Run the end-user sample screenshot + packaging suite on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant