SDK or header version if building from repo: 1.3.283
Options enabled (synchronization, best practices, etc.): BestPractices
My renderer uses multiple dispatches and draws, one vkCmdDispatchIndirect uses push constants but doesnt write the whole pushconstants range. The vkCmdDrawIndexedIndirectCount after the vkCmdDispatchIndirect reports the problem.
After multiple vkCmdDispatchIndirect/vkCmdDispatch/vkCmdDrawIndexedIndirectCount calls the following commands happen:
vkCmdDispatchIndirect which uses pushconstants but doesnt write the whole range.
vkCmdDrawIndexedIndirectCount is called with a pipeline without pushconstants and reports the error below.
Expected behavior
The validation warning should be reported for the vkCmdDispatchIndirect call.
Valid Usage ID
validation layer: Validation Warning: [ BestPractices-PushConstants ] Object 0: handle = 0x23d61103790, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x1248c6a4 | vkCmdDrawIndexedIndirectCount(): Pipeline uses push constants with 104 bytes, but byte 88 was never set with vkCmdPushConstants.
Environment:
My renderer uses multiple dispatches and draws, one vkCmdDispatchIndirect uses push constants but doesnt write the whole pushconstants range. The vkCmdDrawIndexedIndirectCount after the vkCmdDispatchIndirect reports the problem.
After multiple vkCmdDispatchIndirect/vkCmdDispatch/vkCmdDrawIndexedIndirectCount calls the following commands happen:
Expected behavior The validation warning should be reported for the vkCmdDispatchIndirect call.
Valid Usage ID validation layer: Validation Warning: [ BestPractices-PushConstants ] Object 0: handle = 0x23d61103790, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x1248c6a4 | vkCmdDrawIndexedIndirectCount(): Pipeline uses push constants with 104 bytes, but byte 88 was never set with vkCmdPushConstants.