summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2012-07-31 15:56:09 +0200
committerChristoph Bumiller <[email protected]>2012-08-01 15:39:46 +0200
commit6286d9810b7ebae588060370cd7a63c327478a2f (patch)
tree615439a67beb92f629bfeffe27217257a94679c1 /src/mesa/state_tracker
parentbe2dcc5e9f61d380aec93eeb01227cbb6b5037c1 (diff)
Revert "gallium: specify resource_resolve destination via a pipe_surface"
This reverts commit 5d5af7d359e0060fa00b90a8f04900b96f9058b0. It turns out the issue this was supposed to fix merely counter-acted a bug in the hardware driver that I wasn't aware of. The resource_resolve is not supposed to do sRGB conversion, period. (This would violate the requirement that source and destination must be of the same format).
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_cb_blit.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/mesa/state_tracker/st_cb_blit.c b/src/mesa/state_tracker/st_cb_blit.c
index b189cb40688..1486779fd9f 100644
--- a/src/mesa/state_tracker/st_cb_blit.c
+++ b/src/mesa/state_tracker/st_cb_blit.c
@@ -80,8 +80,9 @@ st_BlitFramebuffer_resolve(struct gl_context *ctx,
info->src.res = srcRb->texture;
info->src.layer = srcRb->surface->u.tex.first_layer;
-
- info->dst.surface = dstRb->surface;
+ info->dst.res = dstRb->texture;
+ info->dst.level = dstRb->surface->u.tex.level;
+ info->dst.layer = dstRb->surface->u.tex.first_layer;
st->pipe->resource_resolve(st->pipe, info);
}
@@ -113,8 +114,9 @@ st_BlitFramebuffer_resolve(struct gl_context *ctx,
info->src.res = srcRb->texture;
info->src.layer = srcRb->surface->u.tex.first_layer;
-
- info->dst.surface = dstRb->surface;
+ info->dst.res = dstRb->texture;
+ info->dst.level = dstRb->surface->u.tex.level;
+ info->dst.layer = dstRb->surface->u.tex.first_layer;
st->pipe->resource_resolve(st->pipe, info);
}
@@ -128,8 +130,9 @@ st_BlitFramebuffer_resolve(struct gl_context *ctx,
info->src.res = srcRb->texture;
info->src.layer = srcRb->surface->u.tex.first_layer;
-
- info->dst.surface = dstRb->surface;
+ info->dst.res = dstRb->texture;
+ info->dst.level = dstRb->surface->u.tex.level;
+ info->dst.layer = dstRb->surface->u.tex.first_layer;
st->pipe->resource_resolve(st->pipe, info);
}