#include "Warp.h" Warp::Warp(const std::string& name, int id) : BucketRenderer(name, id), m_generic(name, id) {} Warp::~Warp() {} void Warp::draw_debug_window() { m_generic.draw_debug_window(); } void Warp::render(DmaFollower& dma, SharedRenderState* render_state, ScopedProfilerNode& prof) { m_fb_copier.copy_now(render_state->render_fb_w, render_state->render_fb_h, render_state->render_fb_x, render_state->render_fb_y, render_state->render_fb); render_state->texture_pool->move_existing_to_vram(m_warp_src_tex, m_tbp); m_generic.render_in_mode(dma, render_state, prof, Generic2::Mode::NORMAL); } void Warp::init_shaders(ShaderLibrary& shaders) { m_generic.init_shaders(shaders); } void Warp::init_textures(TexturePool& tex_pool, GameVersion version) { TextureInput in; // point to fb copier's texture. in.gpu_texture = m_fb_copier.texture(); in.w = 32; in.h = 32; in.debug_page_name = "PC-WARP"; in.debug_name = "PC-WARP"; in.id = tex_pool.allocate_pc_port_texture(version); m_warp_src_tex = tex_pool.give_texture_and_load_to_vram(in, m_tbp); m_generic.init_textures(tex_pool, version); }