<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Frontbuffer rendering corruption on mesa master"
href="https://bugs.freedesktop.org/show_bug.cgi?id=102496">102496</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Frontbuffer rendering corruption on mesa master
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Mesa core
</td>
</tr>
<tr>
<th>Assignee</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>bruce.cherniak@intel.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>Frontbuffer applications aren't flushing correctly.
GLUT Olympic rings run single buffered (-sb) on llvmpipe, swr, and softpipe
displays corruption.
(<a href="https://www.opengl.org/archives/resources/code/samples/glut_examples/examples/olympic.c">https://www.opengl.org/archives/resources/code/samples/glut_examples/examples/olympic.c</a>)
Other frontbuffer applications display similar errors.
Bistected to:
eceb6710024716433069d705fbd873d6d136c2cc is the first bad commit
commit eceb6710024716433069d705fbd873d6d136c2cc
Author: Thomas Hellstrom <<a href="mailto:thellstrom@vmware.com">thellstrom@vmware.com</a>> 2017-06-20 14:12:50
Committer: Thomas Hellstrom <<a href="mailto:thellstrom@vmware.com">thellstrom@vmware.com</a>> 2017-08-02 04:55:35
mesa/st: Reduce the number of frontbuffer flush calls
The mesa state tracker was needlessly flushing the front buffer even if it
hadn't been drawn to since the last flush. This was happening during
glXSwapBuffers if we at some point previously had set that frontbuffer as
a read- or draw renderbuffer, or at glFlush() or glFinish() if we at some
point previously had rendered to the front buffer. Since the frontbuffer
flush typically means a full drawable copy, it's a pretty big waste.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>