Skip to content

Commit ed2ca01

Browse files
committed
vo_gpu: add support for DEFINE parameters
1 parent 741c5a7 commit ed2ca01

3 files changed

Lines changed: 7 additions & 0 deletions

File tree

video/out/gpu/user_shaders.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ bool parse_shader_param_value(struct mp_log *log, struct gl_user_shader_param *p
3636
mp_err(log, "Missing type for param '%.*s'\n", BSTR_P(param->name));
3737
return false;
3838
case GL_USER_SHADER_PARAM_INT:
39+
case GL_USER_SHADER_PARAM_DEFINE:
3940
v = bstrtoll(val, &rest, 10);
4041
range[0] = INT_MIN;
4142
range[1] = INT_MAX;
@@ -136,6 +137,8 @@ static bool parse_param(struct mp_log *log, struct bstr *body,
136137
param->type = GL_USER_SHADER_PARAM_FLOAT;
137138
} else if (bstr_equals0(line, "int")) {
138139
param->type = GL_USER_SHADER_PARAM_INT;
140+
} else if (bstr_equals0(line, "DEFINE")) {
141+
param->type = GL_USER_SHADER_PARAM_DEFINE;
139142
} else {
140143
mp_err(log, "Unrecognized PARAM TYPE: '%.*s'!\n", BSTR_P(line));
141144
return false;

video/out/gpu/user_shaders.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ enum gl_user_shader_param_type {
6767
GL_USER_SHADER_PARAM_UNKNOWN,
6868
GL_USER_SHADER_PARAM_FLOAT,
6969
GL_USER_SHADER_PARAM_INT,
70+
GL_USER_SHADER_PARAM_DEFINE,
7071
};
7172

7273
struct gl_user_shader_param {

video/out/gpu/video.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2203,6 +2203,9 @@ static void user_hook(struct gl_video *p, struct image img,
22032203
case GL_USER_SHADER_PARAM_INT:
22042204
gl_sc_uniform_i_bstr(p->sc, param->name, lrint(value));
22052205
break;
2206+
case GL_USER_SHADER_PARAM_DEFINE:
2207+
GLSLHF("#define %.*s %d\n", BSTR_P(param->name), (int)lrint(value));
2208+
break;
22062209
}
22072210
}
22082211

0 commit comments

Comments
 (0)