No, there isn't. That's a very good point. Marek
On Sun, Aug 10, 2014 at 5:10 AM, Michel Dänzer <mic...@daenzer.net> wrote: > On 10.08.2014 06:54, Marek Olšák wrote: >> From: Marek Olšák <marek.ol...@amd.com> >> >> Point util_memcpy_cpu_to_le32 to a buffer storage directly. >> --- >> src/gallium/drivers/radeonsi/si_descriptors.c | 15 +++------------ >> 1 file changed, 3 insertions(+), 12 deletions(-) >> >> diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c >> b/src/gallium/drivers/radeonsi/si_descriptors.c >> index 81ad14b..bfd2b76 100644 >> --- a/src/gallium/drivers/radeonsi/si_descriptors.c >> +++ b/src/gallium/drivers/radeonsi/si_descriptors.c >> @@ -649,20 +649,11 @@ void si_upload_const_buffer(struct si_context *sctx, >> struct r600_resource **rbuf >> const uint8_t *ptr, unsigned size, uint32_t >> *const_offset) >> { >> if (SI_BIG_ENDIAN) { >> - uint32_t *tmpPtr; >> - unsigned i; >> - >> - if (!(tmpPtr = malloc(size))) { >> - R600_ERR("Failed to allocate BE swap buffer.\n"); >> - return; >> - } >> + void *tmpPtr; >> >> + u_upload_alloc(sctx->b.uploader, 0, size, const_offset, >> + (struct pipe_resource**)rbuffer, &tmpPtr); >> util_memcpy_cpu_to_le32(tmpPtr, ptr, size); >> - >> - u_upload_data(sctx->b.uploader, 0, size, tmpPtr, const_offset, >> - (struct pipe_resource**)rbuffer); >> - >> - free(tmpPtr); >> } else { >> u_upload_data(sctx->b.uploader, 0, size, ptr, const_offset, >> (struct pipe_resource**)rbuffer); >> > > Since util_memcpy_cpu_to_le32() is memcpy() on little endian, is there > any point keeping the separate (non-)SI_BIG_ENDIAN paths here? Either way, > > Reviewed-by: Michel Dänzer <michel.daen...@amd.com> > > > -- > Earthling Michel Dänzer | http://www.amd.com > Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev