summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/opengl/gl_shader_mgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/opengl/gl_shader_mgr.h')
-rw-r--r--src/osd/modules/opengl/gl_shader_mgr.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/osd/modules/opengl/gl_shader_mgr.h b/src/osd/modules/opengl/gl_shader_mgr.h
new file mode 100644
index 00000000000..9c3aef19815
--- /dev/null
+++ b/src/osd/modules/opengl/gl_shader_mgr.h
@@ -0,0 +1,46 @@
+
+#ifndef GL_SHADER_MGR_H
+#define GL_SHADER_MGR_H
+
+// #define GLSL_SOURCE_ON_DISK 1
+
+enum GLSL_SHADER_FEATURE {
+ GLSL_SHADER_FEAT_PLAIN,
+ GLSL_SHADER_FEAT_BILINEAR,
+ GLSL_SHADER_FEAT_INT_NUMBER,
+ GLSL_SHADER_FEAT_CUSTOM = GLSL_SHADER_FEAT_INT_NUMBER,
+ GLSL_SHADER_FEAT_MAX_NUMBER,
+};
+
+// old code passed sdl_info * to functions here
+// however the parameter was not used
+// changed interface to more generic one.
+struct glsl_shader_info
+{
+ int dummy; // avoid compiler breakage
+};
+
+
+/**
+ * returns pointer if ok, otherwise NULL
+ */
+glsl_shader_info *glsl_shader_init(osd_gl_context *gl_ctx);
+
+/**
+ * returns 0 if ok, otherwise an error value
+ */
+int glsl_shader_free(glsl_shader_info *shinfo);
+
+/**
+ * returns the GLSL program if ok/available, otherwise 0
+ */
+GLhandleARB glsl_shader_get_program_mamebm(int glslShaderFeature, int idx);
+
+const char * glsl_shader_get_filter_name_mamebm(int glslShaderFeature);
+
+int glsl_shader_add_mamebm(glsl_shader_info *shinfo, const char * custShaderPrefix, int idx);
+
+GLhandleARB glsl_shader_get_program_scrn(int idx);
+int glsl_shader_add_scrn(glsl_shader_info *shinfo, const char * custShaderPrefix, int idx);
+
+#endif // GL_SHADER_MGR_H