#ifndef EMULATOR_SRC_GRAPHICS_HOST_GPU_RENDERER_DEBUG_H_ #define EMULATOR_SRC_GRAPHICS_HOST_GPU_RENDERER_DEBUG_H_ #include "graphics/host_gpu/vulkanCommon.h" #include #include #include namespace Libs::Graphics { class RenderCommandBuffer; namespace HW { class Context; class Shader; class UserConfig; struct RenderTarget; struct ScanModeControl; struct ScreenViewport; } // namespace HW struct ScissorRect { int left = 0; int top = 0; int right = 0; int bottom = 0; }; uint32_t render_target_mask_slot(uint32_t mask, uint32_t slot); uint32_t render_target_first_bound_slot(const RenderCommandBuffer& buffer); bool graphics_debug_dump_enabled(); void uc_print(const char* func, const HW::UserConfig& uc); void uc_check(const HW::UserConfig& uc); void sh_print(const char* func, const HW::Shader& uc); std::vector rt_print(const char* func, const HW::RenderTarget& rt); bool RenderIsColorTileModeLinear(uint32_t tile_mode); void hw_print(const RenderCommandBuffer& buffer); void hw_check(const RenderCommandBuffer& buffer); void LogDrawPhase(const char* draw_name, const char* phase); ScissorRect calc_final_scissor(const HW::ScreenViewport& vp, const HW::ScanModeControl& smc, vk::Extent2D extent); } // namespace Libs::Graphics #endif // EMULATOR_SRC_GRAPHICS_HOST_GPU_RENDERER_DEBUG_H_