diff options
| -rw-r--r-- | c2.cpp | 12 | ||||
| -rw-r--r-- | video.cpp | 19 | ||||
| -rw-r--r-- | video.hpp | 2 | 
3 files changed, 32 insertions, 1 deletions
| @@ -182,7 +182,11 @@ extern "C" int entrypoint() {  		draw.vertex_count = 3;  		draw.instance_count = 1; -		dev->get_ctx().submit(draw, pip, pass); +		Context& ctx = dev->get_ctx(); + +		ctx.debug_push("autism triangle"); +		ctx.submit(draw, pip, pass); +		ctx.debug_pop();  		pb.begin_rp();  		pb.rp_depth_target(dev->get_depth_target(), 1.0f); @@ -213,6 +217,7 @@ extern "C" int entrypoint() {  			raxis  		));  		monkey->update_transforms(); +		ctx.debug_push("depth prepass");  		monkey->render(  			dev,  			&frame_arena, @@ -220,6 +225,8 @@ extern "C" int entrypoint() {  			transform,  			projection  		); +		ctx.debug_pop(); +		ctx.debug_push("forward");  		monkey->render(  			dev,  			&frame_arena, @@ -227,8 +234,11 @@ extern "C" int entrypoint() {  			transform,  			projection  		); +		ctx.debug_pop(); +		ctx.debug_push("ui");  		ui->render(&frame_arena, dev->get_backbuffer()); +		ctx.debug_pop();  		r += 10;  		rot += 0.05f; @@ -2303,6 +2303,25 @@ void Context::transition(Texture_Id id, Resource_State state) {  	);  } +void Context::debug_push(const char* name) { +#ifdef DEBUG +	VkDebugUtilsLabelEXT l{}; +	Context_Vk* ctx = (Context_Vk*)this; +	l.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT; +	l.pLabelName = name; +	vkCmdBeginDebugUtilsLabelEXT(ctx->cb, &l); +#else +	(void)name; +#endif +} + +void Context::debug_pop() { +#ifdef DEBUG +	Context_Vk* ctx = (Context_Vk*)this; +	vkCmdEndDebugUtilsLabelEXT(ctx->cb); +#endif +} +  std::pair<Renderpass_Vk&, Framebuffer_Vk&> Context_Vk::begin_rp(  	const Render_Pass& rp  ) { @@ -467,6 +467,8 @@ struct Context {  	void copy(Buffer_Id dst, Buffer_Id src);  	void copy(Texture_Id dst, Buffer_Id src);  	void transition(Texture_Id id, Resource_State state); +	void debug_push(const char* name); +	void debug_pop();  };  struct Shader : public Asset { |