]> git.pld-linux.org Git - packages/Mesa.git/commitdiff
- fix a bug in intel drivers that crashes xfwm4 with compositor and vblank enabled auto/th/Mesa-19.1.5-2
authorJan Rękorajski <baggins@pld-linux.org>
Mon, 26 Aug 2019 22:11:36 +0000 (00:11 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Mon, 26 Aug 2019 22:11:36 +0000 (00:11 +0200)
- rel 2

Mesa.spec
i9x5-tex-ignore-the-diff-between-GL_TEXTURE_2D-and-GL_TEXTURE_RECTANGLE.patch [new file with mode: 0644]

index 8936138a49ca3c6d4d0255e2e6c91a0d099c6659..38580a0fa0b884c8adf7670db45f2e6fa6d682d8 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -56,7 +56,7 @@ Summary:      Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
 Version:       19.1.5
-Release:       1
+Release:       2
 License:       MIT (core) and others - see license.html file
 Group:         X11/Libraries
 #Source0:      ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz
@@ -64,6 +64,7 @@ Group:                X11/Libraries
 Source0:       https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-%{version}/mesa-mesa-%{version}.tar.bz2
 # Source0-md5: 751a9f0fc21b7c0c58518adff8b5ec2b
 Patch0:                nouveau_no_rtti.patch
+Patch1:                i9x5-tex-ignore-the-diff-between-GL_TEXTURE_2D-and-GL_TEXTURE_RECTANGLE.patch
 URL:           http://www.mesa3d.org/
 %{?with_opencl:BuildRequires:  clang-devel >= %{llvm_ver}}
 BuildRequires: elfutils-devel
@@ -1299,8 +1300,8 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
 
 %prep
 %setup -q -n mesa-mesa-%{version}
-
 %patch0 -p1
+%patch1 -p1
 
 %build
 
diff --git a/i9x5-tex-ignore-the-diff-between-GL_TEXTURE_2D-and-GL_TEXTURE_RECTANGLE.patch b/i9x5-tex-ignore-the-diff-between-GL_TEXTURE_2D-and-GL_TEXTURE_RECTANGLE.patch
new file mode 100644 (file)
index 0000000..7256552
--- /dev/null
@@ -0,0 +1,81 @@
+i965/tex: ignore the diff between GL_TEXTURE_2D and GL_TEXTURE_RECTANGLE
+
+the difference between GL_TEXTURE_2D and GL_TEXTURE_RECTANGLE
+doesn't matter as far as the miptree is concerned;
+genX(update_sampler_state) only looks at the
+gl_texture_object and not the miptree when determining whether or
+not to use normalized coordinates.
+
+Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107117
+---
+ src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+index 7d1fa96..dc45a06 100644
+--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
++++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+@@ -58,6 +58,12 @@ static void *intel_miptree_map_raw(struct brw_context *brw,
+ static void intel_miptree_unmap_raw(struct intel_mipmap_tree *mt);
++static GLenum
++tex_rect_to_tex2d(GLenum val)
++{
++    return (GL_TEXTURE_RECTANGLE == val) ? GL_TEXTURE_2D : val;
++}
++
+ static bool
+ intel_miptree_supports_mcs(struct brw_context *brw,
+                            const struct intel_mipmap_tree *mt)
+@@ -1320,13 +1326,15 @@ intel_miptree_match_image(struct intel_mipmap_tree *mt,
+ {
+    struct intel_texture_image *intelImage = intel_texture_image(image);
+    GLuint level = intelImage->base.Base.Level;
++   GLenum texObjTarget = tex_rect_to_tex2d(mt->target);
++   GLenum mipmapTreeTarget = tex_rect_to_tex2d(image->TexObject->Target);
+    int width, height, depth;
+    /* glTexImage* choose the texture object based on the target passed in, and
+     * objects can't change targets over their lifetimes, so this should be
+     * true.
+     */
+-   assert(image->TexObject->Target == mt->target);
++   assert(texObjTarget == mipmapTreeTarget);
+    mesa_format mt_format = mt->format;
+    if (mt->format == MESA_FORMAT_Z24_UNORM_X8_UINT && mt->stencil_mt)
+--- mesa-mesa-19.1.5/src/mesa/drivers/dri/i915/intel_mipmap_tree.c.orig        2019-08-26 23:37:27.779941449 +0200
++++ mesa-mesa-19.1.5/src/mesa/drivers/dri/i915/intel_mipmap_tree.c     2019-08-26 23:38:47.553273174 +0200
+@@ -403,6 +403,12 @@
+    }
+ }
++static GLenum
++tex_rect_to_tex2d(GLenum val)
++{
++    return (GL_TEXTURE_RECTANGLE == val) ? GL_TEXTURE_2D : val;
++}
++
+ /**
+  * Can the image be pulled into a unified mipmap tree?  This mirrors
+  * the completeness test in a lot of ways.
+@@ -415,13 +421,15 @@
+ {
+    struct intel_texture_image *intelImage = intel_texture_image(image);
+    GLuint level = intelImage->base.Base.Level;
++   GLenum texObjTarget = tex_rect_to_tex2d(mt->target);
++   GLenum mipmapTreeTarget = tex_rect_to_tex2d(image->TexObject->Target);
+    int width, height, depth;
+    /* glTexImage* choose the texture object based on the target passed in, and
+     * objects can't change targets over their lifetimes, so this should be
+     * true.
+     */
+-   assert(target_to_target(image->TexObject->Target) == mt->target);
++   assert(texObjTarget == mipmapTreeTarget);
+    mesa_format mt_format = mt->format;
This page took 0.139001 seconds and 4 git commands to generate.