r600g: don't flush depth textures set as colorbuffers
The only case a depth buffer can be set as a color buffer is when flushing. That wasn't always the case, but now this code isn't required anymore. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
6842d5fced
commit
fe1fd67556
|
@ -212,26 +212,8 @@ static void r600_flush_depth_textures(struct r600_context *rctx,
|
||||||
|
|
||||||
void r600_flush_all_depth_textures(struct r600_context *rctx)
|
void r600_flush_all_depth_textures(struct r600_context *rctx)
|
||||||
{
|
{
|
||||||
unsigned i;
|
|
||||||
|
|
||||||
r600_flush_depth_textures(rctx, &rctx->ps_samplers);
|
r600_flush_depth_textures(rctx, &rctx->ps_samplers);
|
||||||
r600_flush_depth_textures(rctx, &rctx->vs_samplers);
|
r600_flush_depth_textures(rctx, &rctx->vs_samplers);
|
||||||
|
|
||||||
/* also check CB here */
|
|
||||||
for (i = 0; i < rctx->framebuffer.nr_cbufs; i++) {
|
|
||||||
struct r600_resource_texture *tex;
|
|
||||||
struct pipe_surface *surf = rctx->framebuffer.cbufs[i];
|
|
||||||
tex = (struct r600_resource_texture *)surf->texture;
|
|
||||||
|
|
||||||
if (!tex->is_depth || tex->is_flushing_texture)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
r600_blit_uncompress_depth(&rctx->context, tex, NULL,
|
|
||||||
surf->u.tex.level,
|
|
||||||
surf->u.tex.level,
|
|
||||||
surf->u.tex.first_layer,
|
|
||||||
surf->u.tex.last_layer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void r600_clear(struct pipe_context *ctx, unsigned buffers,
|
static void r600_clear(struct pipe_context *ctx, unsigned buffers,
|
||||||
|
|
Loading…
Reference in New Issue