Rev 4358 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4358 | Rev 4401 | ||
---|---|---|---|
Line 2392... | Line 2392... | ||
2392 | depth = texture->array_size; |
2392 | depth = texture->array_size; |
2393 | } |
2393 | } |
Line 2394... | Line 2394... | ||
2394 | 2394 | ||
2395 | va = r600_resource_va(ctx->screen, texture); |
2395 | va = r600_resource_va(ctx->screen, texture); |
- | 2396 | va += surflevel[0].offset; |
|
2396 | va += surflevel[0].offset; |
2397 | va += tmp->mipmap_shift * surflevel[texture->last_level].slice_size; |
2397 | view->state[0] = va >> 8; |
2398 | view->state[0] = va >> 8; |
2398 | view->state[1] = (S_008F14_BASE_ADDRESS_HI(va >> 40) | |
2399 | view->state[1] = (S_008F14_BASE_ADDRESS_HI(va >> 40) | |
2399 | S_008F14_DATA_FORMAT(format) | |
2400 | S_008F14_DATA_FORMAT(format) | |
2400 | S_008F14_NUM_FORMAT(num_format)); |
2401 | S_008F14_NUM_FORMAT(num_format)); |
2401 | view->state[2] = (S_008F18_WIDTH(width - 1) | |
2402 | view->state[2] = (S_008F18_WIDTH(width - 1) | |
2402 | S_008F18_HEIGHT(height - 1)); |
2403 | S_008F18_HEIGHT(height - 1)); |
2403 | view->state[3] = (S_008F1C_DST_SEL_X(si_map_swizzle(swizzle[0])) | |
2404 | view->state[3] = (S_008F1C_DST_SEL_X(si_map_swizzle(swizzle[0])) | |
2404 | S_008F1C_DST_SEL_Y(si_map_swizzle(swizzle[1])) | |
2405 | S_008F1C_DST_SEL_Y(si_map_swizzle(swizzle[1])) | |
2405 | S_008F1C_DST_SEL_Z(si_map_swizzle(swizzle[2])) | |
2406 | S_008F1C_DST_SEL_Z(si_map_swizzle(swizzle[2])) | |
2406 | S_008F1C_DST_SEL_W(si_map_swizzle(swizzle[3])) | |
2407 | S_008F1C_DST_SEL_W(si_map_swizzle(swizzle[3])) | |
2407 | S_008F1C_BASE_LEVEL(state->u.tex.first_level) | |
2408 | S_008F1C_BASE_LEVEL(state->u.tex.first_level - tmp->mipmap_shift) | |
2408 | S_008F1C_LAST_LEVEL(state->u.tex.last_level) | |
2409 | S_008F1C_LAST_LEVEL(state->u.tex.last_level - tmp->mipmap_shift) | |
2409 | S_008F1C_TILING_INDEX(si_tile_mode_index(tmp, 0, false)) | |
2410 | S_008F1C_TILING_INDEX(si_tile_mode_index(tmp, 0, false)) | |
2410 | S_008F1C_POW2_PAD(texture->last_level > 0) | |
2411 | S_008F1C_POW2_PAD(texture->last_level > 0) | |
2411 | S_008F1C_TYPE(si_tex_dim(texture->target))); |
2412 | S_008F1C_TYPE(si_tex_dim(texture->target))); |
2412 | view->state[4] = (S_008F20_DEPTH(depth - 1) | S_008F20_PITCH(pitch - 1)); |
2413 | view->state[4] = (S_008F20_DEPTH(depth - 1) | S_008F20_PITCH(pitch - 1)); |