aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGert Wollny <gert.wollny@collabora.com>2022-11-10 16:09:31 +0100
committerMarge Bot <emma+marge@anholt.net>2022-11-10 16:50:04 +0000
commit2f6aa408882cb12b152c6abb2b71e37251feb8cf (patch)
tree685c18d1e15747d6b0ef849b2de96dce28cd681a
parent910320907d5d280fa64dc5dfac2c5195844505db (diff)
downloadvirglrenderer-2f6aa408882cb12b152c6abb2b71e37251feb8cf.tar.gz
shader: require glsl 1.40 when using a sysvalue UBO
Using an UBO with std140 needs GLSL 1.40 Closes #294 Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/978>
-rw-r--r--src/vrend_shader.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index 13569fda..fdcfefcb 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -7875,6 +7875,10 @@ 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 *));