summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-07-24 15:04:31 +0200
committerwm4 <wm4@nowhere>2017-07-24 15:04:31 +0200
commitd88f8e90acd9325efa06825c8d75d39d36000f3e (patch)
tree3781b18c672385700bf906a43a9e7dc9d8343c37
parent03bfada9b9ed59dcc863515ad5b0998e17e3bd6b (diff)
downloadmpv-render_abstraction.tar.bz2
mpv-render_abstraction.tar.xz
-rw-r--r--video/out/opengl/utils.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/video/out/opengl/utils.h b/video/out/opengl/utils.h
index 0a536b4d46..9974de1c85 100644
--- a/video/out/opengl/utils.h
+++ b/video/out/opengl/utils.h
@@ -195,8 +195,10 @@ struct ra {
struct ra_fns *fns;
void *priv;
- // Supported GLSL shader version.
+ // Set by the RA backend on init: highest supported GLSL shader version.
int glsl_version;
+ // Set by the RA backend on init: ES GLSL variant required.
+ bool glsl_es;
// RA_CAP_* bit field. The RA backend must set supported features at init
// time.
@@ -261,6 +263,8 @@ struct ra_tex_params {
// this requires creation of a FBO
bool require_download; // CPU->GPU transfer must be possible
bool require_upload; // GPU->CPU transfer must be possible
+ // XXX model this as separate buffers, or make staging textures an abstraction
+ // (might be aligned better with actual GPU APIs)
bool create_mapping; // create a persistent mapping (ra_tex.map)
// only available if
// When used as render source texture.
@@ -310,6 +314,7 @@ struct ra_renderpass_params {
int vertex_stride;
// Shader text, in GLSL. (Yes, you need a GLSL compiler.)
+ // These are complete shaders, including prelude and declarations.
const char *vertex_shader;
const char *frag_shader;
const char *compute_shader; // I guess?