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.
This commit is contained in:
Dave Airlie 2009-06-18 13:12:21 +10:00
parent 3817a54912
commit b165fa7d45

View file

@ -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;