summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv30
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2012-07-25 13:47:58 +0200
committerChristoph Bumiller <[email protected]>2012-07-28 14:58:18 +0200
commit5d5af7d359e0060fa00b90a8f04900b96f9058b0 (patch)
treea104989f811f7c0b7712fb6f7e73025bbf31ce0b /src/gallium/drivers/nv30
parent51e41a0d894109249448ecc6a6bfc09e095acada (diff)
gallium: specify resource_resolve destination via a pipe_surface
The format member of pipe_surface may differ from that of the pipe_resource, which is used to communicate, for instance, whether sRGB encode should be enabled in the resolve operation or not. Fixes resolve to sRGB surfaces in mesa/st when GL_FRAMEBUFFER_SRGB is disabled. Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nv30')
-rw-r--r--src/gallium/drivers/nv30/nv30_miptree.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/nv30/nv30_miptree.c b/src/gallium/drivers/nv30/nv30_miptree.c
index 7e677291f6a..cd6a81428d9 100644
--- a/src/gallium/drivers/nv30/nv30_miptree.c
+++ b/src/gallium/drivers/nv30/nv30_miptree.c
@@ -153,7 +153,10 @@ nv30_resource_resolve(struct pipe_context *pipe,
define_rect(info->src.res, 0, 0, info->src.x0, info->src.y0,
info->src.x1 - info->src.x0, info->src.y1 - info->src.y0, &src);
- define_rect(info->dst.res, info->dst.level, 0, info->dst.x0, info->dst.y0,
+ define_rect(info->dst.surface->texture,
+ info->dst.surface->u.tex.level,
+ info->dst.surface->u.tex.first_layer,
+ info->dst.x0, info->dst.y0,
info->dst.x1 - info->dst.x0, info->dst.y1 - info->dst.y0, &dst);
nv30_transfer_rect(nv30, BILINEAR, &src, &dst);