SHA256
1
0
forked from pool/Mesa

- Update to 18.0.0-rc5

* The fifth and final release candidate for Mesa 18.0.0. Modulo
    serious regressions, it is anticipated that it will become
    Mesa 18.0.0 this Friday (2018-03-23) around 16:00 GMT
- supersedes u_glsl-linker-error.patch

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=728
This commit is contained in:
Stefan Dirsch 2018-03-21 15:50:03 +00:00 committed by Git OBS Bridge
parent 1a30e98e74
commit df91c744ba
9 changed files with 23 additions and 124 deletions

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Mar 21 15:06:52 UTC 2018 - sndirsch@suse.com
- Update to 18.0.0-rc5
* The fifth and final release candidate for Mesa 18.0.0. Modulo
serious regressions, it is anticipated that it will become
Mesa 18.0.0 this Friday (2018-03-23) around 16:00 GMT
- supersedes u_glsl-linker-error.patch
-------------------------------------------------------------------
Mon Mar 19 19:58:07 UTC 2018 - sndirsch@suse.com

View File

@ -43,7 +43,7 @@
%define glamor 1
%define _name_archive mesa
%define _version 18.0.0-rc4
%define _version 18.0.0-rc5
%define with_opencl 0
%define with_vulkan 0
%define with_llvm 0
@ -141,7 +141,6 @@ Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
# Upstream
Patch43: u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
Patch46: u_glsl-linker-error.patch
Patch47: u_st-dri-don-t-set-queryDmaBufFormats-queryDmaBufModif.patch
BuildRequires: autoconf >= 2.60
@ -754,7 +753,6 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%patch43 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Mar 21 15:06:52 UTC 2018 - sndirsch@suse.com
- Update to 18.0.0-rc5
* The fifth and final release candidate for Mesa 18.0.0. Modulo
serious regressions, it is anticipated that it will become
Mesa 18.0.0 this Friday (2018-03-23) around 16:00 GMT
- supersedes u_glsl-linker-error.patch
-------------------------------------------------------------------
Mon Mar 19 19:58:07 UTC 2018 - sndirsch@suse.com

View File

@ -42,7 +42,7 @@
%define glamor 1
%define _name_archive mesa
%define _version 18.0.0-rc4
%define _version 18.0.0-rc5
%define with_opencl 0
%define with_vulkan 0
%define with_llvm 0
@ -140,7 +140,6 @@ Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
# Upstream
Patch43: u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
Patch46: u_glsl-linker-error.patch
Patch47: u_st-dri-don-t-set-queryDmaBufFormats-queryDmaBufModif.patch
BuildRequires: autoconf >= 2.60
@ -753,7 +752,6 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%patch43 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad575becea192f04403b6783492955f395dd8faad7e51cbcbad203be70eb9075
size 11027596

Binary file not shown.

3
mesa-18.0.0-rc5.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a4e0c559e06157b4f2c184c51133d8c224eb39d296985f662b43868eed0c20d0
size 10970572

BIN
mesa-18.0.0-rc5.tar.xz.sig Normal file

Binary file not shown.

View File

@ -1,115 +0,0 @@
From 4195eed961ccfe404ae81b9112189fc93a254ded Mon Sep 17 00:00:00 2001
From: "Juan A. Suarez Romero" <jasuarez@igalia.com>
Date: Mon, 5 Feb 2018 17:38:39 +0100
Subject: glsl/linker: check same name is not used in block and outside
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
According with OpenGL GLSL 3.20 spec, section 4.3.9:
"It is a link-time error if any particular shader interface
contains:
- two different blocks, each having no instance name, and each
having a member of the same name, or
- a variable outside a block, and a block with no instance name,
where the variable has the same name as a member in the block."
This fixes a previous commit 9b894c8 ("glsl/linker: link-error using the
same name in unnamed block and outside") that covered this case, but
did not take in account that precision qualifiers are ignored when
comparing blocks with no instance name.
With this commit, the original tests
KHR-GL*.shaders.uniform_block.common.name_matching keep fixed, and also
dEQP-GLES31.functional.shaders.linkage.uniform.block.differing_precision
regression is fixed, which was broken by previous commit.
v2: use helper varibles (Matteo Bruni)
Fixes: 9b894c8 ("glsl/linker: link-error using the same name in unnamed block and outside")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104668
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104777
CC: Mark Janes <mark.a.janes@intel.com>
CC: "18.0" <mesa-stable@lists.freedesktop.org>
Tested-by: Matteo Bruni <matteo.mystral@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
---
src/compiler/glsl/linker.cpp | 53 +++++++++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 23 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index ce10193..d3d18c2 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -1111,29 +1111,6 @@ cross_validate_globals(struct gl_shader_program *prog,
return;
}
- /* In OpenGL GLSL 4.20 spec, section 4.3.9, page 57:
- *
- * "It is a link-time error if any particular shader interface
- * contains:
- *
- * - two different blocks, each having no instance name, and each
- * having a member of the same name, or
- *
- * - a variable outside a block, and a block with no instance name,
- * where the variable has the same name as a member in the block."
- */
- if (var->data.mode == existing->data.mode &&
- var->get_interface_type() != existing->get_interface_type()) {
- linker_error(prog, "declarations for %s `%s` are in "
- "%s and %s\n",
- mode_string(var), var->name,
- existing->get_interface_type() ?
- existing->get_interface_type()->name : "outside a block",
- var->get_interface_type() ?
- var->get_interface_type()->name : "outside a block");
-
- return;
- }
/* Only in GLSL ES 3.10, the precision qualifier should not match
* between block members defined in matched block names within a
* shader interface.
@@ -1155,6 +1132,36 @@ cross_validate_globals(struct gl_shader_program *prog,
mode_string(var), var->name);
}
}
+
+ /* In OpenGL GLSL 3.20 spec, section 4.3.9:
+ *
+ * "It is a link-time error if any particular shader interface
+ * contains:
+ *
+ * - two different blocks, each having no instance name, and each
+ * having a member of the same name, or
+ *
+ * - a variable outside a block, and a block with no instance name,
+ * where the variable has the same name as a member in the block."
+ */
+ const glsl_type *var_itype = var->get_interface_type();
+ const glsl_type *existing_itype = existing->get_interface_type();
+ if (var_itype != existing_itype) {
+ if (!var_itype || !existing_itype) {
+ linker_error(prog, "declarations for %s `%s` are inside block "
+ "`%s` and outside a block",
+ mode_string(var), var->name,
+ var_itype ? var_itype->name : existing_itype->name);
+ return;
+ } else if (strcmp(var_itype->name, existing_itype->name) != 0) {
+ linker_error(prog, "declarations for %s `%s` are inside blocks "
+ "`%s` and `%s`",
+ mode_string(var), var->name,
+ existing_itype->name,
+ var_itype->name);
+ return;
+ }
+ }
} else
variables->add_variable(var);
}
--
cgit v1.1