diff options
author | Gert Wollny <gert.wollny@collabora.com> | 2022-11-10 18:58:59 +0100 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-11-16 08:50:52 +0000 |
commit | 98be3d1adfb8c37340b6abfe5edfbd4183fae802 (patch) | |
tree | 90d191c656f9d1ded21fd45b8f09d65c8e0dbd2f | |
parent | f509cdae76d76794ac85da024f5a6d27bb23c72f (diff) | |
download | virglrenderer-98be3d1adfb8c37340b6abfe5edfbd4183fae802.tar.gz |
shader: force setting the shader version after translating the shader
Only after translating the shader we actually know whether the
system UBO is used, and hence, the minimum shader version needs
to be set.
Fixes: 2f6aa408882cb
shader: require glsl 1.40 when using a sysvalue UBO
Closes #294
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/980>
-rw-r--r-- | src/vrend_shader.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c index aca018e1..60d7eb7f 100644 --- a/src/vrend_shader.c +++ b/src/vrend_shader.c @@ -7884,10 +7884,6 @@ bool vrend_convert_shader(const struct vrend_context *rctx, if (cfg->use_core_profile && cfg->glsl_version >= 140) ctx.glsl_ver_required = require_glsl_ver(&ctx, 140); - /* If we need a sysvalue UBO then we require GLSL 1.40 */ - if (ctx.glsl_strbufs.required_sysval_uniform_decls) - ctx.glsl_ver_required = require_glsl_ver(&ctx, 140); - if (sinfo->so_info.num_outputs) { ctx.so = &sinfo->so_info; ctx.so_names = calloc(sinfo->so_info.num_outputs, sizeof(char *)); @@ -7914,6 +7910,10 @@ bool vrend_convert_shader(const struct vrend_context *rctx, if (bret == false) goto fail; + /* If we need a sysvalue UBO then we require GLSL 1.40 */ + if (ctx.glsl_strbufs.required_sysval_uniform_decls) + ctx.glsl_ver_required = require_glsl_ver(&ctx, 140); + if (!ctx.cfg->use_gles && ( key->in_arrays.num_arrays > 0 ) && (ctx.prog_type == TGSI_PROCESSOR_GEOMETRY || |