summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/etnaviv/Makefile.am
diff options
context:
space:
mode:
authorPhilipp Zabel <[email protected]>2017-05-09 18:26:57 +0200
committerLucas Stach <[email protected]>2017-07-14 17:12:36 +0200
commite9b3381715f55f4c6b0bc6bec3290fb1be338bb8 (patch)
treee2f0714bd93fc89262666dee9525ebac806eae7b /src/gallium/drivers/etnaviv/Makefile.am
parenta98c1fbd9bd8601ef4aecb5edbb8af74a32067c2 (diff)
etnaviv: flush color cache and depth cache together before resolves
Before resolving a rendertarget or a depth/stencil resource into a texture, flush both the color cache and the depth cache together. It is unclear whether this is necessary for the following stall to work properly, or whether the depth flush just adds enough time for the color cache flush to finish before the resolver is started, but this change removes artifacts that otherwise appear if a texture is sampled directly after rendering into it. The test case is a simple QML scene graph with a QtWebEngine based WebView rendered on top of a blue background: import QtQuick 2.0 import QtQuick.Window 2.2 import QtWebView 1.1 Window { Rectangle { id: background anchors.fill: parent color: "blue" } WebView { id: webView anchors.fill: parent } Component.onCompleted: { webView.url = "<some animated website>" } } If the website is animated, the WebView renders the site contents into texture tiles and immediately afterwards samples from them to draw the tiles into the Qt renderbuffer. Without this patch, a small irregular triangle in the lower right of each browser tile appears solid blue, as if the texture sampler samples zeroes instead of the website contents, and the previously rendered blue Rectangle shows through. Other attempts such as adding a pipeline stall before the color flush or a TS cache flush afterwards or flushing multiple times, with stalls before and after each flush, have shown no effect. Signed-off-by: Philipp Zabel <[email protected]>
Diffstat (limited to 'src/gallium/drivers/etnaviv/Makefile.am')
0 files changed, 0 insertions, 0 deletions