summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i965simple/brw_misc_state.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-06-29 12:16:13 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-06-29 12:16:13 +1000
commit01de2293d5449ab6ca1d99b007c9ea4f0037fef5 (patch)
tree8560aab576c3d8504f8d7935ab6fcd46ea35182e /src/gallium/drivers/i965simple/brw_misc_state.c
parentb831aa06dc0d099185bcaa180683ad10942feaa0 (diff)
parent9d94d133b019ef23ee03cc691fcb5602451604ae (diff)
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Diffstat (limited to 'src/gallium/drivers/i965simple/brw_misc_state.c')
-rw-r--r--src/gallium/drivers/i965simple/brw_misc_state.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/i965simple/brw_misc_state.c b/src/gallium/drivers/i965simple/brw_misc_state.c
index 925049ecc1..be812c5da9 100644
--- a/src/gallium/drivers/i965simple/brw_misc_state.c
+++ b/src/gallium/drivers/i965simple/brw_misc_state.c
@@ -224,7 +224,9 @@ static void upload_depthbuffer(struct brw_context *brw)
} else {
unsigned int format;
- switch (depth_surface->cpp) {
+ assert(depth_surface->block.width == 1);
+ assert(depth_surface->block.height == 1);
+ switch (depth_surface->block.size) {
case 2:
format = BRW_DEPTHFORMAT_D16_UNORM;
break;
@@ -239,7 +241,7 @@ static void upload_depthbuffer(struct brw_context *brw)
return;
}
- OUT_BATCH(((depth_surface->pitch * depth_surface->cpp) - 1) |
+ OUT_BATCH((depth_surface->stride - 1) |
(format << 18) |
(BRW_TILEWALK_YMAJOR << 26) |
// (depth_surface->region->tiled << 27) |
@@ -247,7 +249,7 @@ static void upload_depthbuffer(struct brw_context *brw)
OUT_RELOC(depth_surface->buffer,
PIPE_BUFFER_USAGE_GPU_READ | PIPE_BUFFER_USAGE_GPU_WRITE, 0);
OUT_BATCH((BRW_SURFACE_MIPMAPLAYOUT_BELOW << 1) |
- ((depth_surface->pitch - 1) << 6) |
+ ((depth_surface->stride/depth_surface->block.size - 1) << 6) |
((depth_surface->height - 1) << 19));
OUT_BATCH(0);
}