From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 109524] "Invalid glsl version in shading_language_version()" when trying to run directX games using wine Date: Thu, 04 Jul 2019 23:41:19 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0604649018==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id EC59C6E3EB for ; Thu, 4 Jul 2019 23:41:18 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0604649018== Content-Type: multipart/alternative; boundary="15622836782.2F85f.31907" Content-Transfer-Encoding: 7bit --15622836782.2F85f.31907 Date: Thu, 4 Jul 2019 23:41:18 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D109524 --- Comment #8 from Ilia Mirkin --- Doing a little more digging, we enabled GL_ARB_shading_language_100 unconditionally in 2013: commit 70966570f3e4275dc15b5a94c70698f6aef64150 Author: Ian Romanick Date: Thu Jun 27 18:20:31 2013 -0700 mesa: GL_ARB_shading_language_100 is not optional However it appears that wine code has something like https://source.winehq.org/git/wine.git/blob/201d13a3c31131f204f89d61be37bf7= 5d58dc6dd:/dlls/wined3d/adapter_gl.c#l3737 3737 if (gl_info->supported[ARB_SHADING_LANGUAGE_100]) 3738 { 3739 const char *str =3D (const char *)gl_info->gl_ops.gl.p_glGetString(GL_SHADING_LANGUAGE_VERSION_ARB); 3740 unsigned int major, minor; 3741=20 3742 TRACE("GLSL version string: %s.\n", debugstr_a(str)); 3743=20 3744 /* The format of the GLSL version string is "major.minor[.rele= ase] [vendor info]". */ 3745 sscanf(str, "%u.%u", &major, &minor); 3746 gl_info->glsl_version =3D MAKEDWORD_VERSION(major, minor); I think the debugstr_a(NULL) is giving problems, but if it's not, sscanf probably will. I'm not 100% sure who's right here. Certainly the GL_ARB_shading_language_1= 00 spec talks about GL_SHADING_LANGUAGE_VERSION_ARB not being available due to= it not existing in early extension specs.=20 However the current behavior is a bit questionable on the mesa side. I don't know what the rationale was for always exposing the ext (as given, it's bec= ause one ought to check for ARB_vertex_program/etc, but that seems weak). --=20 You are receiving this mail because: You are the assignee for the bug.= --15622836782.2F85f.31907 Date: Thu, 4 Jul 2019 23:41:18 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated

Commen= t # 8 on bug 10952= 4 from Ilia Mirkin
Doing a little more digging, we enabled GL_ARB_shading_languag=
e_100
unconditionally in 2013:

commit 70966570f3e4275dc15b5a94c70698f6aef64150
Author: Ian Romanick <ia=
n.d.romanick@intel.com>
Date:   Thu Jun 27 18:20:31 2013 -0700

    mesa: GL_ARB_shading_language_100 is not optional

However it appears that wine code has something like

https://source.wineh=
q.org/git/wine.git/blob/201d13a3c31131f204f89d61be37bf75d58dc6dd:/dlls/wine=
d3d/adapter_gl.c#l3737

3737     if (gl_info->supported[ARB_SHADING_LANGUAGE_100])
3738     {
3739         const char *str =3D (const char
*)gl_info->gl_ops.gl.p_glGetString(GL_SHADING_LANGUAGE_VERSION_ARB);
3740         unsigned int major, minor;
3741=20
3742         TRACE("GLSL version string: %s.\n", debugstr_a(str));
3743=20
3744         /* The format of the GLSL version string is "major.minor[=
.release]
[vendor info]". */
3745         sscanf(str, "%u.%u", &major, &minor);
3746         gl_info->glsl_version =3D MAKEDWORD_VERSION(major, minor);

I think the debugstr_a(NULL) is giving problems, but if it's not, sscanf
probably will.

I'm not 100% sure who's right here. Certainly the GL_ARB_shading_language_1=
00
spec talks about GL_SHADING_LANGUAGE_VERSION_ARB not being available due to=
 it
not existing in early extension specs.=20

However the current behavior is a bit questionable on the mesa side. I don't
know what the rationale was for always exposing the ext (as given, it's bec=
ause
one ought to check for ARB_vertex_program/etc, but that seems weak).


You are receiving this mail because:
  • You are the assignee for the bug.
= --15622836782.2F85f.31907-- --===============0604649018== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============0604649018==--