Skip to content

Feat: Misc Update#427

Merged
FlyAndNotDown merged 24 commits into
ExplosionEngine:masterfrom
FlyAndNotDown:master
Jul 9, 2026
Merged

Feat: Misc Update#427
FlyAndNotDown merged 24 commits into
ExplosionEngine:masterfrom
FlyAndNotDown:master

Conversation

@FlyAndNotDown

Copy link
Copy Markdown
Member

No description provided.

FlyAndNotDown and others added 24 commits June 28, 2026 14:33
…h the rest

Replace the per-DLL copy targets with two simpler owners so each shared
Binaries destination is still written exactly once (no parallel-build race)
without flooding the IDE target list:

- a first-party shared library copies itself into the shared dir from a
  POST_BUILD step on its producer. Each producer writes only its own file, so
  destinations never overlap, and POST_BUILD adds no edges to the graph so it
  cannot close a build cycle. Works on every generator.
- imported targets, plain-path third-party files and resources keep going
  through the single per-sub-project assets target; imported targets are
  resolved to concrete paths first since their $<TARGET_FILE:...> cannot be
  evaluated in that source-scope target.

Only one CopyDistAssets target per sub-project remains.
Wire push / root constants through the RHI: each PipelineConstantLayout
now carries an explicit DirectX12 register (hlslBinding / hlslBindingSpace)
alongside the Vulkan byte offset, and ComputePass / RasterPass recorders
gain SetPipelineConstants addressed by pipeline-constant index.

Vulkan resolves the index to its push constant range and calls
vkCmdPushConstants; DirectX12 appends a root 32-bit-constants parameter
per range and calls Set{Graphics,Compute}Root32BitConstants. Dummy gets
no-op overrides.
Mirror the buffer storage/rwStorage split for textures: storage* means
read-only (SRV), rwStorage* means read-write (UAV). Add rwStorageTexture
binding type, rwStorageBinding texture view type / usage bit, and rwStorage
texture state; drop the unused StorageTextureAccess enum.

Also fix the Vulkan storage-image descriptor layout (GENERAL instead of
SHADER_READ_ONLY_OPTIMAL) and give DX12 rw storage textures the
ALLOW_UNORDERED_ACCESS resource flag.
Add a ColorSpace enum (srgbNonLinear, hdr10St2084) and a colorSpace field
on SwapChainCreateInfo, thread it through CheckSwapChainFormatSupport, and
apply it per backend: Vulkan maps it to VkColorSpaceKHR (and enables the
optional VK_EXT_swapchain_colorspace instance extension so HDR spaces get
enumerated), DirectX12 maps it to DXGI_COLOR_SPACE_TYPE via SetColorSpace1.

Also fix present-mode handling: expand PresentMode to immediately/vsync/
mailbox/fifoRelaxed, make Vulkan fall back to the guaranteed FIFO mode
instead of asserting when the requested mode is unsupported, and give
DirectX12 real tearing for immediately via ALLOW_TEARING so the mode means
the same thing on both backends.
- fix dangling reference to the temporary view result in PlayerSystem::CreatePlayer
- pass FTransform (the registered reflected constructor argument) when emplacing WorldTransform/Name
- start the module-local render worker threads used by render graph code inlined into Runtime
- keep the graph cull from dropping the write-only depth attachment and view it with the depth aspect
- skip the vulkan stencil attachment for depth-only formats
- use bare hlsl semantics so dxil and spirv reflection keys match
- report physical pixels from the editor viewport so render targets match the swapchain extent
- thin DockManager over QMainWindow docking with layout persistence and view menu
- Name component and comp metadata tagging for the inspector's component catalog
- Outliner/Inspector/Log web panels bridged over QWebChannel with reflection-serialized payloads
- structured editor log stream attached to the engine logger
- EditorContext selection/mutation funnel shared across panels
@FlyAndNotDown FlyAndNotDown merged commit 3620178 into ExplosionEngine:master Jul 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant