Validate OpenGL command pass barriers
This commit is contained in:
@@ -370,21 +370,39 @@ OpenGlCommandPlan plan_recorded_render_commands(
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::upload_texture:
|
||||
++plan.upload_command_count;
|
||||
if (in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
}
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::generate_mipmaps:
|
||||
++plan.mipmap_command_count;
|
||||
if (in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
}
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::transition_texture:
|
||||
++plan.transition_command_count;
|
||||
if (in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
}
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::copy_texture:
|
||||
++plan.copy_command_count;
|
||||
if (in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
}
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::read_texture:
|
||||
++plan.readback_command_count;
|
||||
if (in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
}
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::capture_frame:
|
||||
++plan.capture_command_count;
|
||||
if (in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
}
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::passthrough:
|
||||
++plan.passthrough_command_count;
|
||||
@@ -395,6 +413,11 @@ OpenGlCommandPlan plan_recorded_render_commands(
|
||||
case OpenGlPlannedCommandKind::trace:
|
||||
++plan.trace_command_count;
|
||||
break;
|
||||
case OpenGlPlannedCommandKind::blit_render_target:
|
||||
if (in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (planned.requires_render_pass && !in_render_pass) {
|
||||
record_render_pass_order_error(plan, index);
|
||||
|
||||
Reference in New Issue
Block a user