Revert "r600g: Flush upload buffers before draws instead of before flushes."
This reverts commit a1d9a58b82.
Flushing the upload buffers on draw is wrong, uploads aren't supposed to
cause flushes in the first place. The real issue was
radeon_bo_pb_map_internal() not respecting PB_USAGE_UNSYNCHRONIZED.
This commit is contained in:
@@ -70,6 +70,10 @@ void r600_flush(struct pipe_context *ctx, unsigned flags,
|
||||
struct r600_context *rctx = r600_context(ctx);
|
||||
struct r600_query *rquery = NULL;
|
||||
|
||||
/* flush upload buffers */
|
||||
u_upload_flush(rctx->upload_vb);
|
||||
u_upload_flush(rctx->upload_ib);
|
||||
|
||||
/* suspend queries */
|
||||
r600_queries_suspend(ctx);
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#include <util/u_math.h>
|
||||
#include <util/u_inlines.h>
|
||||
#include <util/u_memory.h>
|
||||
#include <util/u_upload_mgr.h>
|
||||
#include "radeon.h"
|
||||
#include "r600_screen.h"
|
||||
#include "r600_context.h"
|
||||
@@ -126,10 +125,6 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
|
||||
|
||||
memset(&draw, 0, sizeof(draw));
|
||||
|
||||
/* flush upload buffers */
|
||||
u_upload_flush(rctx->upload_vb);
|
||||
u_upload_flush(rctx->upload_ib);
|
||||
|
||||
if (rctx->any_user_vbs) {
|
||||
r600_upload_user_buffers(rctx);
|
||||
rctx->any_user_vbs = false;
|
||||
|
||||
Reference in New Issue
Block a user