diff options
Diffstat (limited to 'src/osd/modules/render/bgfx/shadermanager.h')
-rw-r--r-- | src/osd/modules/render/bgfx/shadermanager.h | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/osd/modules/render/bgfx/shadermanager.h b/src/osd/modules/render/bgfx/shadermanager.h index bee48dcea81..12ac739d35a 100644 --- a/src/osd/modules/render/bgfx/shadermanager.h +++ b/src/osd/modules/render/bgfx/shadermanager.h @@ -9,33 +9,36 @@ // //============================================================ -#pragma once +#ifndef MAME_RENDER_BGFX_SHADERMANAGER_H +#define MAME_RENDER_BGFX_SHADERMANAGER_H -#ifndef __DRAWBGFX_SHADER_MANAGER__ -#define __DRAWBGFX_SHADER_MANAGER__ +#pragma once #include <bgfx/bgfx.h> -#include "modules/lib/osdobj_common.h" - #include <map> #include <string> -class shader_manager { +class osd_options; + + +class shader_manager +{ public: - shader_manager(osd_options& options) : m_options(options) { } + shader_manager() { } ~shader_manager(); // Getters - bgfx::ShaderHandle shader(std::string name); + bgfx::ShaderHandle get_or_load_shader(const osd_options &options, const std::string &name); + static bgfx::ShaderHandle load_shader(const osd_options &options, const std::string &name); + static bool is_shader_present(const osd_options &options, const std::string &name); private: - bgfx::ShaderHandle load_shader(std::string name); - static const bgfx::Memory* load_mem(std::string name); + static std::string make_path_string(const osd_options &options, const std::string &name); + static const bgfx::Memory* load_mem(const std::string &name); - std::map<std::string, bgfx::ShaderHandle> m_shaders; - osd_options& m_options; + std::map<std::string, bgfx::ShaderHandle> m_shaders; }; -#endif // __DRAWBGFX_SHADER_MANAGER__ +#endif // MAME_RENDER_BGFX_SHADERMANAGER_H |