diff options
author | 2016-02-18 15:57:34 +0100 | |
---|---|---|
committer | 2016-02-21 03:03:23 +0100 | |
commit | 9a47a870df619656e9092f2f77622e84e640307a (patch) | |
tree | b8640bf79ffb55d0c9ed6fc27bbd4ce16a5e1a2e /src/osd/modules/render/drawbgfx.h | |
parent | dadf8e7d79696996ab3ef840fe99a588ede538fa (diff) |
First take on render API reorg, nw
Diffstat (limited to 'src/osd/modules/render/drawbgfx.h')
-rw-r--r-- | src/osd/modules/render/drawbgfx.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/osd/modules/render/drawbgfx.h b/src/osd/modules/render/drawbgfx.h index 86619eab718..67064b686f8 100644 --- a/src/osd/modules/render/drawbgfx.h +++ b/src/osd/modules/render/drawbgfx.h @@ -3,11 +3,19 @@ #ifndef __RENDER_BGFX__ #define __RENDER_BGFX__ +#include <bgfx/bgfx.h> + #include <map> #include <vector> #include "binpacker.h" +class texture_manager; +class shader_manager; +class effect_manager; +class bgfx_texture; +class bgfx_effect; + /* sdl_info is the information about SDL for the current screen */ class renderer_bgfx : public osd_renderer { @@ -17,8 +25,10 @@ public: , m_dimensions(0, 0) { } + virtual ~renderer_bgfx(); virtual int create() override; + virtual int init(running_machine &machine) override { return 0; } virtual int draw(const int update) override; #ifdef OSD_SDL virtual int xy_to_render_target(const int x, const int y, int *xt, int *yt) override; @@ -27,7 +37,6 @@ public: virtual void record() override { } virtual void toggle_fsfx() override { } #endif - virtual void destroy() override; virtual render_primitive_list *get_primitives() override { osd_dim wdim = window().get_size(); @@ -83,18 +92,18 @@ private: const bgfx::Memory* mame_texture_data_to_bgfx_texture_data(UINT32 format, int width, int height, int rowpixels, const rgb_t *palette, void *base); UINT32 get_texture_hash(render_primitive *prim); - bgfx::ProgramHandle loadProgram(bx::FileReaderI* _reader, const char* _vsName, const char* _fsName); - bgfx::ProgramHandle loadProgram(const char* _vsName, const char* _fsName); - - bgfx::ProgramHandle m_progQuad; - bgfx::ProgramHandle m_progQuadTexture; - bgfx::UniformHandle m_s_texColor; - bgfx::FrameBufferHandle fbh; - bgfx::TextureHandle m_texture_cache; + bgfx::FrameBufferHandle m_framebuffer; + bgfx_texture* m_texture_cache; // Original display_mode osd_dim m_dimensions; + texture_manager* m_textures; + shader_manager* m_shaders; + effect_manager* m_effects; + bgfx_effect* m_gui_effect[4]; + bgfx_effect* m_screen_effect[4]; + std::map<UINT32, rectangle_packer::packed_rectangle> m_hash_to_entry; std::vector<rectangle_packer::packable_rectangle> m_texinfo; rectangle_packer m_packer; |