From 0411aeba5eff20ddb14c33f00ecb4d2b628717c7 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 21 Mar 2014 11:33:26 -0400 Subject: [PATCH] mesa: Don't optimize out glClear if drawbuffer size is 0x0 (fdo #75797) --- ...ize-out-glClear-if-drawbuffer-size-i.patch | 34 +++++++++++++++++++ mesa.spec | 8 ++++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 0001-mesa-Don-t-optimize-out-glClear-if-drawbuffer-size-i.patch diff --git a/0001-mesa-Don-t-optimize-out-glClear-if-drawbuffer-size-i.patch b/0001-mesa-Don-t-optimize-out-glClear-if-drawbuffer-size-i.patch new file mode 100644 index 0000000..7084ab7 --- /dev/null +++ b/0001-mesa-Don-t-optimize-out-glClear-if-drawbuffer-size-i.patch @@ -0,0 +1,34 @@ +From 1fb986f3a722e8476af90b5ab512e495f0caf10f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= +Date: Thu, 6 Mar 2014 16:58:32 -0800 +Subject: [PATCH] mesa: Don't optimize out glClear() if drawbuffer size is 0x0 + +The driver acquires buffer lazily and may not yet have buffers for +a newly current drawable. In that case the drawable size is 0x0 but +we still need to call into the driver and make it fetch buffers and get +the drawable size. + +https://bugs.freedesktop.org/show_bug.cgi?id=75797 +--- + src/mesa/main/clear.c | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c +index 077c5fc..c3f7474 100644 +--- a/src/mesa/main/clear.c ++++ b/src/mesa/main/clear.c +@@ -155,11 +155,6 @@ _mesa_Clear( GLbitfield mask ) + return; + } + +- if (ctx->DrawBuffer->Width == 0 || ctx->DrawBuffer->Height == 0 || +- ctx->DrawBuffer->_Xmin >= ctx->DrawBuffer->_Xmax || +- ctx->DrawBuffer->_Ymin >= ctx->DrawBuffer->_Ymax) +- return; +- + if (ctx->RasterDiscard) + return; + +-- +1.8.5.3 + diff --git a/mesa.spec b/mesa.spec index 93fc44d..a92b34a 100644 --- a/mesa.spec +++ b/mesa.spec @@ -51,7 +51,7 @@ Summary: Mesa graphics libraries Name: mesa Version: 10.1 -Release: 3.%{gitdate}%{?dist} +Release: 4.%{gitdate}%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org @@ -73,6 +73,8 @@ Patch12: mesa-8.0.1-fix-16bpp.patch Patch15: mesa-9.2-hardware-float.patch Patch20: mesa-9.2-evergreen-big-endian.patch +# https://bugs.freedesktop.org/show_bug.cgi?id=75797#c1 +Patch21: 0001-mesa-Don-t-optimize-out-glClear-if-drawbuffer-size-i.patch # https://bugs.freedesktop.org/show_bug.cgi?id=73512 Patch99: 0001-opencl-use-versioned-.so-in-mesa.icd.patch @@ -328,6 +330,7 @@ grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1 %patch15 -p1 -b .hwfloat %patch20 -p1 -b .egbe +%patch21 -p1 -b .clear %if 0%{?with_opencl} %patch99 -p1 -b .icd @@ -635,6 +638,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Fri Mar 21 2014 Adam Jackson 10.1-4.20140305 +- mesa: Don't optimize out glClear if drawbuffer size is 0x0 (fdo #75797) + * Wed Mar 19 2014 Dave Airlie 10.1-3.20140305 - rebuild against backported llvm 3.4-5 for radeonsi GL 3.3 support.