Module: Mesa Branch: master Commit: b165fa7d45e230f9e61fcf3a09babf0c61c67319 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b165fa7d45e230f9e61fcf3a09babf0c61c67319
Author: Dave Airlie <[email protected]> Date: Thu Jun 18 13:12:21 2009 +1000 radeon: don't re-add BOs to validate list if its on the list its on the list don't go readding it. multitexturing from the same texture could cause this. --- src/mesa/drivers/dri/radeon/radeon_common.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index 32fe4d5..7bd4a6f 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -999,6 +999,13 @@ void radeon_validate_reset_bos(radeonContextPtr radeon) void radeon_validate_bo(radeonContextPtr radeon, struct radeon_bo *bo, uint32_t read_domains, uint32_t write_domain) { + int i; + for (i = 0; i < radeon->state.validated_bo_count; i++) { + if (radeon->state.bos[i].bo == bo && + radeon->state.bos[i].read_domains == read_domains && + radeon->state.bos[i].write_domain == write_domain) + return; + } radeon_bo_ref(bo); radeon->state.bos[radeon->state.validated_bo_count].bo = bo; radeon->state.bos[radeon->state.validated_bo_count].read_domains = read_domains; _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
