radeon_cs_setup_bo: Fix accounting if caller specified write and read domains.
Only account for the write domain in that case. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=43893 . Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>main
parent
230ec7d7bb
commit
2cfac57d36
|
@ -65,13 +65,16 @@ static inline int radeon_cs_setup_bo(struct radeon_cs_space_check *sc, struct ra
|
|||
}
|
||||
|
||||
if (bo->space_accounted == 0) {
|
||||
if (write_domain == RADEON_GEM_DOMAIN_VRAM)
|
||||
sizes->op_vram_write += bo->size;
|
||||
else if (write_domain == RADEON_GEM_DOMAIN_GTT)
|
||||
sizes->op_gart_write += bo->size;
|
||||
else
|
||||
if (write_domain) {
|
||||
if (write_domain == RADEON_GEM_DOMAIN_VRAM)
|
||||
sizes->op_vram_write += bo->size;
|
||||
else if (write_domain == RADEON_GEM_DOMAIN_GTT)
|
||||
sizes->op_gart_write += bo->size;
|
||||
sc->new_accounted = write_domain;
|
||||
} else {
|
||||
sizes->op_read += bo->size;
|
||||
sc->new_accounted = (read_domains << 16) | write_domain;
|
||||
sc->new_accounted = read_domains << 16;
|
||||
}
|
||||
} else {
|
||||
uint16_t old_read, old_write;
|
||||
|
||||
|
|
Loading…
Reference in New Issue