-
Notifications
You must be signed in to change notification settings - Fork 0
Bone matrices are silently dropped on both DX backends #170
Copy link
Copy link
Open
Labels
area: renderingRenderer, shaders, post processingRenderer, shaders, post processingbackend: dx11Specific to the dx11 backendSpecific to the dx11 backendbackend: dx12Specific to the dx12 backendSpecific to the dx12 backendbackend: openglSpecific to the opengl backendSpecific to the opengl backendbackend: vulkanSpecific to the vulkan backendSpecific to the vulkan backendbugSomething isn't workingSomething isn't workingpriority: mediumWorth doing, not urgentWorth doing, not urgentvisualIncorrect or degraded rendering outputIncorrect or degraded rendering output
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
area: renderingRenderer, shaders, post processingRenderer, shaders, post processingbackend: dx11Specific to the dx11 backendSpecific to the dx11 backendbackend: dx12Specific to the dx12 backendSpecific to the dx12 backendbackend: openglSpecific to the opengl backendSpecific to the opengl backendbackend: vulkanSpecific to the vulkan backendSpecific to the vulkan backendbugSomething isn't workingSomething isn't workingpriority: mediumWorth doing, not urgentWorth doing, not urgentvisualIncorrect or degraded rendering outputIncorrect or degraded rendering output
src/Graphics/Common/RenderCommands.cpp:78-79;include/private/Graphics/Common/RenderContext.hpp:87RenderCommands.cpp:78-79routes slot-3 constant buffers toBindBoneBufferinstead ofBindConstantBuffer.BindBoneBufferhas a no-op default body (RenderContext.hpp:87) and is overriddenonly by the GL and Vulkan renderers.
So DX11/DX12 do not merely skip a fast path: they never bind the bone constant buffer at all. Every skinned
mesh renders with whatever is stale in slot 3.
This is a Common-layer defect: the dispatch decision is made in backend-agnostic code that assumes an
override exists.
Severity: visual (all skeletal animation broken on DX).
Found by a full audit of the graphics layer. Assessed severity: visual.