@@ -4099,12 +4099,24 @@ bool CoreChecks::ValidateBeginRenderingDepthAndStencilAttachment(VkCommandBuffer
4099
4099
// Flags validation error if the associated call is made inside a render pass. The apiName routine should ONLY be called outside a
4100
4100
// render pass.
4101
4101
bool CoreChecks::InsideRenderPass (const vvl::CommandBuffer &cb_state, const Location &loc, const char *vuid) const {
4102
- bool inside = false ;
4102
+ bool skip = false ;
4103
4103
if (cb_state.active_render_pass ) {
4104
- inside = LogError (vuid, cb_state.Handle (), loc, " It is invalid to issue this call inside an active %s." ,
4105
- FormatHandle (cb_state.active_render_pass ->Handle ()).c_str ());
4104
+ if (cb_state.active_render_pass ->use_dynamic_rendering ) {
4105
+ skip =
4106
+ LogError (vuid, cb_state.Handle (), loc,
4107
+ " It is invalid to issue this call inside an active render pass instance begun with vkCmdBeginRendering." );
4108
+ } else if (cb_state.active_render_pass ->use_dynamic_rendering_inherited ) {
4109
+ skip |=
4110
+ LogError (vuid, cb_state.Handle (), loc,
4111
+ " It is invalid to issue this call inside this secondary command buffer as it was begun with "
4112
+ " VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT and viewed as being inside a render pass instance begun "
4113
+ " with vkCmdBeginRendering." );
4114
+ } else {
4115
+ skip = LogError (vuid, cb_state.Handle (), loc, " It is invalid to issue this call inside an active %s." ,
4116
+ FormatHandle (cb_state.active_render_pass ->Handle ()).c_str ());
4117
+ }
4106
4118
}
4107
- return inside ;
4119
+ return skip ;
4108
4120
}
4109
4121
4110
4122
// Flags validation error if the associated call is made outside a render pass. The apiName
0 commit comments