RHI: Remove无效的动态状态方法 - SetDepthStencilState/SetBlendState
重构原因: - D3D12 PSO是不可变的,SetDepthStencilState/SetBlendState调用原本就是空实现(TODO) - 这些方法在D3D12中完全无效,是死代码 移除的方法: - SetDepthStencilState(const DepthStencilState&) - D3D12空实现,OpenGL直接调用GL函数 - SetBlendState(const BlendState&) - D3D12只设置BlendFactor其他忽略,OpenGL直接调用GL函数 保留的真正动态状态: - SetViewport/SetViewports - SetScissorRect/SetScissorRects - SetStencilRef (D3D12动态状态) - SetBlendFactor (D3D12动态状态) 注:PrimitiveTopology保留在CommandList,因为D3D12允许动态改变topology type 测试状态:150个RHI单元测试全部通过,8个集成测试全部通过
This commit is contained in:
@@ -549,14 +549,6 @@ void D3D12CommandList::SetStencilRef(uint8_t stencilRef) {
|
||||
m_commandList->OMSetStencilRef(stencilRef);
|
||||
}
|
||||
|
||||
void D3D12CommandList::SetDepthStencilState(const DepthStencilState& state) {
|
||||
// TODO: Implement depth stencil state
|
||||
}
|
||||
|
||||
void D3D12CommandList::SetBlendState(const BlendState& state) {
|
||||
m_commandList->OMSetBlendFactor(state.blendFactor);
|
||||
}
|
||||
|
||||
void D3D12CommandList::SetDepthBias(float depthBias, float slopeScaledDepthBias, float depthBiasClamp) {
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user