Browse Source

r300g: fix occlusion query hangs.

Okay need to revist the whole OQ stuff anyways, glean test asserts
which is never good.

I'm liking the cached bufmgr restrictions less and less, I think I'll
probably play with the fence and/or busy stuff ASAP and try and clean it up.

Signed-off-by: Dave Airlie <airlied@redhat.com>
tags/mesa-7.9-rc1
Dave Airlie 15 years ago
parent
commit
bb324182fc

+ 1
- 1
src/gallium/drivers/r300/r300_context.c View File

@@ -200,7 +200,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,

/* Open up the OQ BO. */
r300->oqbo = screen->buffer_create(screen, 4096,
PIPE_BUFFER_USAGE_VERTEX, 4096);
PIPE_BUFFER_USAGE_PIXEL, 4096);
make_empty_list(&r300->query_list);

r300_init_flush_functions(r300);

+ 4
- 2
src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c View File

@@ -73,8 +73,10 @@ radeon_drm_buffer_map(struct pb_buffer *_buf,
int write;

if (flags & PIPE_BUFFER_USAGE_DONTBLOCK) {
if (radeon_bo_is_referenced_by_cs(buf->bo, buf->mgr->rws->cs))
return NULL;
if ((_buf->base.usage & PIPE_BUFFER_USAGE_VERTEX) ||
(_buf->base.usage & PIPE_BUFFER_USAGE_INDEX))
if (radeon_bo_is_referenced_by_cs(buf->bo, buf->mgr->rws->cs))
return NULL;
}

if (buf->bo->ptr != NULL)

Loading…
Cancel
Save