Hello,
I am reading Vulkan Spec 1.4 pdf
If I use Shader Objects, I don’t need to create Pipelines
However, it looks I need to use Dynamic States concepts if I use Shader Objects
But strangely, this Dynamic States belong to the Chapter about Pipelines and also, it looks Dynamics States are using Pipeline objects
So could you please introduce to me
how to use Shader Objects without Pipelines in coding command buffer writing functions ?
Because there are validation errors such that
ERROR: [-1511012899][VUID-vkCmdDrawIndexed-None-07846] : Validation Error: [ VUID-vkCmdDrawIndexed-None-07846 ] Object 0: handle = 0x15f99e638f0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0xa5efc5dd | vkCmdDrawIndexed(): VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE state is dynamic, but the command buffer never called vkCmdSetDepthBoundsTestEnable.
vkCmdSetRasterizerDiscardEnable last set rasterizerDiscardEnable to VK_FALSE.
The Vulkan spec states: If the depthBounds feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthBoundsTestEnable must have been called and not subsequently invalidated in the current command buffer prior to this drawing command (Drawing Commands :: Vulkan Documentation Project)