|
|
|
@@ -680,10 +680,17 @@ static void evergreen_cb(struct r600_pipe_context *rctx, struct r600_pipe_state |
|
|
|
level, state->cbufs[cb]->u.tex.first_layer); |
|
|
|
pitch = rtex->pitch_in_blocks[level] / 8 - 1; |
|
|
|
slice = rtex->pitch_in_blocks[level] * surf->aligned_height / 64 - 1; |
|
|
|
ntype = V_028C70_NUMBER_UNORM; |
|
|
|
desc = util_format_description(surf->base.format); |
|
|
|
for (i = 0; i < 4; i++) { |
|
|
|
if (desc->channel[i].type != UTIL_FORMAT_TYPE_VOID) { |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
ntype = V_028C70_NUMBER_UNORM; |
|
|
|
if (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) |
|
|
|
ntype = V_028C70_NUMBER_SRGB; |
|
|
|
else if (desc->channel[i].type == UTIL_FORMAT_TYPE_SIGNED) |
|
|
|
ntype = V_028C70_NUMBER_SNORM; |
|
|
|
|
|
|
|
format = r600_translate_colorformat(surf->base.format); |
|
|
|
swap = r600_translate_colorswap(surf->base.format); |
|
|
|
@@ -698,11 +705,6 @@ static void evergreen_cb(struct r600_pipe_context *rctx, struct r600_pipe_state |
|
|
|
S_028C70_BLEND_CLAMP(1) | |
|
|
|
S_028C70_NUMBER_TYPE(ntype); |
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) { |
|
|
|
if (desc->channel[i].type != UTIL_FORMAT_TYPE_VOID) { |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* we can only set the export size if any thing is snorm/unorm component is > 11 bits, |
|
|
|
if we aren't a float, sint or uint */ |