summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_transfer.c
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2014-01-07 11:57:42 +0800
committerChia-I Wu <[email protected]>2014-01-08 18:11:35 +0800
commite7b4219e2287f98a323b6883ce5f42545cab0e8f (patch)
tree8ff2385270634f4c580bc725afb06314e4bfbeec /src/gallium/drivers/ilo/ilo_transfer.c
parent77e3db464f108531e5d4b3a7547aca234b5619d6 (diff)
ilo: resolve Z/HiZ correctly
When the depth buffer is to be read, perform a Depth Buffer Resolve if it has been rendered. When the depth buffer is to be rendered, perform a HiZ Buffer Resolve when the depth buffer is modified externally.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_transfer.c')
-rw-r--r--src/gallium/drivers/ilo/ilo_transfer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_transfer.c b/src/gallium/drivers/ilo/ilo_transfer.c
index 4bd688d5c73..5b8a6588e94 100644
--- a/src/gallium/drivers/ilo/ilo_transfer.c
+++ b/src/gallium/drivers/ilo/ilo_transfer.c
@@ -29,6 +29,7 @@
#include "util/u_transfer.h"
#include "util/u_format_etc.h"
+#include "ilo_blit.h"
#include "ilo_cp.h"
#include "ilo_context.h"
#include "ilo_resource.h"
@@ -997,6 +998,8 @@ ilo_transfer_map(struct pipe_context *pipe,
xfer->base.usage = usage;
xfer->base.box = *box;
+ ilo_blit_resolve_transfer(ilo, &xfer->base);
+
if (res->target == PIPE_BUFFER)
success = buf_map(ilo, xfer);
else