diff options
author | LW-archlinux | 2016-08-15 01:42:36 +0200 |
---|---|---|
committer | LW-archlinux | 2016-08-15 01:42:36 +0200 |
commit | 32308f50e6728a8e82f242d81fbecf770a648424 (patch) | |
tree | 5a37515dd08700fc214f5b57bc2e5a2c0e9b3aa2 | |
parent | 1776d22ab6ccd77c60ecf788be9a46cf59fe85e3 (diff) | |
download | aur-32308f50e6728a8e82f242d81fbecf770a648424.tar.gz |
patch added, see PKGBUILD
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | 0001-st-mesa-candidate-fix-for-sRGB-blit-errors.patch | 139 | ||||
-rw-r--r-- | PKGBUILD | 19 |
3 files changed, 158 insertions, 10 deletions
@@ -1,6 +1,6 @@ pkgbase = lib32-mesa-git pkgdesc = an open-source implementation of the OpenGL specification, git version for multilib applications - pkgver = 12.1.0_devel.83426.d2b4b16 + pkgver = 12.1.0_devel.83858.5c1ccd8 pkgrel = 1 url = http://mesa3d.sourceforge.net arch = x86_64 @@ -37,9 +37,11 @@ pkgbase = lib32-mesa-git source = mesa::git://anongit.freedesktop.org/mesa/mesa#branch=master source = LICENSE source = disable-pthread-stubs-on-linux.patch - md5sums = SKIP - md5sums = 5c65a0fe315dd347e09b1f2826a1df5a - md5sums = a1435715781d62ce096295c5ce656d5c + source = 0001-st-mesa-candidate-fix-for-sRGB-blit-errors.patch + sha512sums = SKIP + sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2 + sha512sums = 1a8ffbc194a8264ae08cad7b886ec87cd331047f35272fdcb11901ddb0c6f64e2cd69af946e01254c9df8fe881ad1e42162202e1bc38db97aaf294313fb0f9ce + sha512sums = 4c10f379c4ce905f33282e9dcbbe235fc62064d6f89ef44acc839a8c909eed5278679d41be6441f179dc6b17336ca6c8fffe2dcc85de5fc89db3787f5bb76561 pkgname = lib32-mesa-vdpau-git pkgdesc = Mesa VDPAU drivers (32-bit) diff --git a/0001-st-mesa-candidate-fix-for-sRGB-blit-errors.patch b/0001-st-mesa-candidate-fix-for-sRGB-blit-errors.patch new file mode 100644 index 000000000000..b0ded6f3c582 --- /dev/null +++ b/0001-st-mesa-candidate-fix-for-sRGB-blit-errors.patch @@ -0,0 +1,139 @@ +From 9fc607ddf2d2b656c69144ea13bf75b5c037dee8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nicolai=20H=C3=A4hnle?= <nicolai.haehnle@amd.com> +Date: Thu, 11 Aug 2016 13:06:47 +0200 +Subject: [PATCH] st/mesa: candidate fix for sRGB blit errors + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97285 +--- + src/mesa/state_tracker/st_cb_blit.c | 34 ++++++++++++++++++---------------- + 1 file changed, 18 insertions(+), 16 deletions(-) + +diff --git a/src/mesa/state_tracker/st_cb_blit.c b/src/mesa/state_tracker/st_cb_blit.c +index cfcf3f7..8aa849b 100644 +--- a/src/mesa/state_tracker/st_cb_blit.c ++++ b/src/mesa/state_tracker/st_cb_blit.c +@@ -38,29 +38,20 @@ + #include "st_texture.h" + #include "st_cb_bitmap.h" + #include "st_cb_blit.h" + #include "st_cb_fbo.h" + #include "st_manager.h" + #include "st_scissor.h" + + #include "util/u_format.h" + + static void +-st_adjust_blit_for_srgb(struct pipe_blit_info *blit, bool framebuffer_srgb) +-{ +- if (!framebuffer_srgb) { +- blit->dst.format = util_format_linear(blit->dst.format); +- blit->src.format = util_format_linear(blit->src.format); +- } +-} +- +-static void + st_BlitFramebuffer(struct gl_context *ctx, + struct gl_framebuffer *readFB, + struct gl_framebuffer *drawFB, + GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, + GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, + GLbitfield mask, GLenum filter) + { + const GLbitfield depthStencil = (GL_DEPTH_BUFFER_BIT | + GL_STENCIL_BUFFER_BIT); + struct st_context *st = st_context(ctx); +@@ -192,73 +183,84 @@ st_BlitFramebuffer(struct gl_context *ctx, + + if (!srcObj || !srcObj->pt) { + return; + } + + for (i = 0; i < drawFB->_NumColorDrawBuffers; i++) { + struct st_renderbuffer *dstRb = + st_renderbuffer(drawFB->_ColorDrawBuffers[i]); + + if (dstRb) { +- struct pipe_surface *dstSurf = dstRb->surface; ++ struct pipe_surface *dstSurf; ++ ++ st_update_renderbuffer_surface(st, dstRb); ++ ++ dstSurf = dstRb->surface; + + if (dstSurf) { + blit.dst.resource = dstSurf->texture; + blit.dst.level = dstSurf->u.tex.level; + blit.dst.box.z = dstSurf->u.tex.first_layer; + blit.dst.format = dstSurf->format; + + blit.src.resource = srcObj->pt; + blit.src.level = srcAtt->TextureLevel; + blit.src.box.z = srcAtt->Zoffset + srcAtt->CubeMapFace; + blit.src.format = srcObj->pt->format; + +- st_adjust_blit_for_srgb(&blit, ctx->Color.sRGBEnabled); ++ if (!ctx->Color.sRGBEnabled) ++ blit.src.format = util_format_linear(blit.src.format); + + st->pipe->blit(st->pipe, &blit); + dstRb->defined = true; /* front buffer tracking */ + } + } + } + } + else { + struct st_renderbuffer *srcRb = + st_renderbuffer(readFB->_ColorReadBuffer); + struct pipe_surface *srcSurf; + GLuint i; + +- if (!srcRb || !srcRb->surface) { ++ if (!srcRb) ++ return; ++ ++ st_update_renderbuffer_surface(st, srcRb); ++ ++ if (!srcRb->surface) + return; +- } + + srcSurf = srcRb->surface; + + for (i = 0; i < drawFB->_NumColorDrawBuffers; i++) { + struct st_renderbuffer *dstRb = + st_renderbuffer(drawFB->_ColorDrawBuffers[i]); + + if (dstRb) { +- struct pipe_surface *dstSurf = dstRb->surface; ++ struct pipe_surface *dstSurf; ++ ++ st_update_renderbuffer_surface(st, dstRb); ++ ++ dstSurf = dstRb->surface; + + if (dstSurf) { + blit.dst.resource = dstSurf->texture; + blit.dst.level = dstSurf->u.tex.level; + blit.dst.box.z = dstSurf->u.tex.first_layer; + blit.dst.format = dstSurf->format; + + blit.src.resource = srcSurf->texture; + blit.src.level = srcSurf->u.tex.level; + blit.src.box.z = srcSurf->u.tex.first_layer; + blit.src.format = srcSurf->format; + +- st_adjust_blit_for_srgb(&blit, ctx->Color.sRGBEnabled); +- + st->pipe->blit(st->pipe, &blit); + dstRb->defined = true; /* front buffer tracking */ + } + } + } + } + } + + if (mask & depthStencil) { + /* depth and/or stencil blit */ +-- +2.7.4 + @@ -13,7 +13,7 @@ pkgbase=lib32-mesa-git pkgname=('lib32-mesa-vdpau-git' 'lib32-mesa-vulkan-intel-git' 'lib32-mesa-libgl-git' 'lib32-libva-mesa-driver-git' 'lib32-mesa-git') pkgdesc="an open-source implementation of the OpenGL specification, git version for multilib applications" -pkgver=12.1.0_devel.83426.d2b4b16 +pkgver=12.1.0_devel.83858.5c1ccd8 pkgrel=1 arch=('x86_64') makedepends=('python2' 'lib32-libxml2' 'lib32-expat' 'lib32-libx11' 'glproto' 'lib32-libdrm>=2.4.66' 'dri2proto' 'dri3proto' 'presentproto' @@ -25,14 +25,21 @@ url="http://mesa3d.sourceforge.net" license=('custom') source=('mesa::git://anongit.freedesktop.org/mesa/mesa#branch=master' 'LICENSE' - 'disable-pthread-stubs-on-linux.patch') -md5sums=('SKIP' - '5c65a0fe315dd347e09b1f2826a1df5a' - 'a1435715781d62ce096295c5ce656d5c') + 'disable-pthread-stubs-on-linux.patch' + '0001-st-mesa-candidate-fix-for-sRGB-blit-errors.patch') +sha512sums=('SKIP' + '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2' + '1a8ffbc194a8264ae08cad7b886ec87cd331047f35272fdcb11901ddb0c6f64e2cd69af946e01254c9df8fe881ad1e42162202e1bc38db97aaf294313fb0f9ce' + '4c10f379c4ce905f33282e9dcbbe235fc62064d6f89ef44acc839a8c909eed5278679d41be6441f179dc6b17336ca6c8fffe2dcc85de5fc89db3787f5bb76561') prepare() { cd ${srcdir}/mesa - patch -Np1 -i ../disable-pthread-stubs-on-linux.patch + + # pthread-stubs is useless on linux + patch -Np1 -i "${srcdir}"/disable-pthread-stubs-on-linux.patch + + # https://bugs.freedesktop.org/show_bug.cgi?id=97285 + patch -Np1 -i "${srcdir}"/0001-st-mesa-candidate-fix-for-sRGB-blit-errors.patch } pkgver() { |