mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-24 15:36:33 +00:00
Fix checks for individual features in EXT dyn state 2
This commit is contained in:
@@ -415,6 +415,8 @@ private:
|
||||
bool m_NULLDescriptorsAllowed = false;
|
||||
bool m_ExtendedDynState = false;
|
||||
bool m_ExtendedDynState2 = false;
|
||||
bool m_ExtendedDynState2Logic = false;
|
||||
bool m_ExtendedDynState2CPs = false;
|
||||
bool m_FragmentShadingRate = false;
|
||||
bool m_DynColorWrite = false;
|
||||
bool m_DynVertexInput = false;
|
||||
@@ -1164,6 +1166,8 @@ public:
|
||||
bool NULLDescriptorsAllowed() const { return m_NULLDescriptorsAllowed; }
|
||||
bool ExtendedDynamicState() const { return m_ExtendedDynState; }
|
||||
bool ExtendedDynamicState2() const { return m_ExtendedDynState2; }
|
||||
bool ExtendedDynamicState2Logic() const { return m_ExtendedDynState2Logic; }
|
||||
bool ExtendedDynamicState2CPs() const { return m_ExtendedDynState2CPs; }
|
||||
bool FragmentShadingRate() const { return m_FragmentShadingRate; }
|
||||
bool DynamicColorWrite() const { return m_DynColorWrite; }
|
||||
bool DynamicVertexInput() const { return m_DynVertexInput; }
|
||||
|
||||
@@ -384,15 +384,21 @@ void VulkanRenderState::BindPipeline(WrappedVulkan *vk, VkCommandBuffer cmd,
|
||||
{
|
||||
if(dynamicStates[VkDynamicDepthBiasEnable])
|
||||
ObjDisp(cmd)->CmdSetDepthBiasEnableEXT(Unwrap(cmd), depthBiasEnable);
|
||||
if(dynamicStates[VkDynamicLogicOpEXT])
|
||||
ObjDisp(cmd)->CmdSetLogicOpEXT(Unwrap(cmd), logicOp);
|
||||
if(dynamicStates[VkDynamicControlPointsEXT])
|
||||
ObjDisp(cmd)->CmdSetPatchControlPointsEXT(Unwrap(cmd), patchControlPoints);
|
||||
if(dynamicStates[VkDynamicPrimRestart])
|
||||
ObjDisp(cmd)->CmdSetPrimitiveRestartEnableEXT(Unwrap(cmd), primRestartEnable);
|
||||
if(dynamicStates[VkDynamicRastDiscard])
|
||||
ObjDisp(cmd)->CmdSetRasterizerDiscardEnableEXT(Unwrap(cmd), rastDiscardEnable);
|
||||
}
|
||||
if(vk->ExtendedDynamicState2Logic())
|
||||
{
|
||||
if(dynamicStates[VkDynamicLogicOpEXT])
|
||||
ObjDisp(cmd)->CmdSetLogicOpEXT(Unwrap(cmd), logicOp);
|
||||
}
|
||||
if(vk->ExtendedDynamicState2CPs())
|
||||
{
|
||||
if(dynamicStates[VkDynamicControlPointsEXT])
|
||||
ObjDisp(cmd)->CmdSetPatchControlPointsEXT(Unwrap(cmd), patchControlPoints);
|
||||
}
|
||||
|
||||
if(dynamicStates[VkDynamicLineWidth])
|
||||
ObjDisp(cmd)->CmdSetLineWidth(Unwrap(cmd), lineWidth);
|
||||
|
||||
@@ -2893,6 +2893,8 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi
|
||||
CHECK_PHYS_EXT_FEATURE(extendedDynamicState2PatchControlPoints);
|
||||
|
||||
m_ExtendedDynState2 = (ext->extendedDynamicState2 != VK_FALSE);
|
||||
m_ExtendedDynState2Logic = (ext->extendedDynamicState2LogicOp != VK_FALSE);
|
||||
m_ExtendedDynState2CPs = (ext->extendedDynamicState2PatchControlPoints != VK_FALSE);
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user