radeonsi: don't create temporary user buffer for r600_upload_const_buffer
This commit is contained in:
parent
0b7d48cbad
commit
65d451d9fa
|
@ -216,12 +216,9 @@ void r600_upload_index_buffer(struct r600_context *rctx,
|
|||
}
|
||||
|
||||
void r600_upload_const_buffer(struct r600_context *rctx, struct r600_resource **rbuffer,
|
||||
const uint8_t *ptr, unsigned size,
|
||||
uint32_t *const_offset)
|
||||
{
|
||||
if ((*rbuffer)->b.b.user_ptr) {
|
||||
uint8_t *ptr = (*rbuffer)->b.b.user_ptr;
|
||||
unsigned size = (*rbuffer)->b.b.width0;
|
||||
|
||||
*rbuffer = NULL;
|
||||
|
||||
if (R600_BIG_ENDIAN) {
|
||||
|
@ -245,7 +242,4 @@ void r600_upload_const_buffer(struct r600_context *rctx, struct r600_resource **
|
|||
u_upload_data(rctx->uploader, 0, size, ptr, const_offset,
|
||||
(struct pipe_resource**)rbuffer);
|
||||
}
|
||||
} else {
|
||||
*const_offset = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,6 +99,8 @@ void r600_texture_transfer_unmap(struct pipe_context *ctx,
|
|||
|
||||
struct r600_context;
|
||||
|
||||
void r600_upload_const_buffer(struct r600_context *rctx, struct r600_resource **rbuffer, uint32_t *offset);
|
||||
void r600_upload_const_buffer(struct r600_context *rctx, struct r600_resource **rbuffer,
|
||||
const uint8_t *ptr, unsigned size,
|
||||
uint32_t *const_offset);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -439,15 +439,12 @@ void r600_set_constant_buffer(struct pipe_context *ctx, uint shader, uint index,
|
|||
return;
|
||||
}
|
||||
|
||||
if (cb->user_buffer) {
|
||||
rbuffer = pipe_user_buffer_create(ctx->screen, cb->user_buffer,
|
||||
cb->buffer_size,
|
||||
PIPE_BIND_CONSTANT_BUFFER);
|
||||
}
|
||||
|
||||
r600_inval_shader_cache(rctx);
|
||||
|
||||
r600_upload_const_buffer(rctx, &rbuffer, &offset);
|
||||
if (cb->user_buffer)
|
||||
r600_upload_const_buffer(rctx, &rbuffer, cb->user_buffer, cb->buffer_size, &offset);
|
||||
else
|
||||
offset = 0;
|
||||
va_offset = r600_resource_va(ctx->screen, (void*)rbuffer);
|
||||
va_offset += offset;
|
||||
//va_offset >>= 8;
|
||||
|
|
Loading…
Reference in New Issue