Module: Mesa
Branch: master
Commit: 4c0e68dfe5a0bb69f07466ca39e8a243b00d06b8
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c0e68dfe5a0bb69f07466ca39e8a243b00d06b8

Author: Marek Olšák <[email protected]>
Date:   Thu Apr 27 19:19:53 2017 +0200

radeonsi: don't use util_memcpy_cpu_to_le32 for shader uploads

at least I think this is correct.

Reviewed-by: Nicolai Hähnle <[email protected]>

---

 src/gallium/drivers/radeonsi/si_shader.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c 
b/src/gallium/drivers/radeonsi/si_shader.c
index c4d102e020..f9b9405259 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -6575,27 +6575,28 @@ int si_shader_binary_upload(struct si_screen *sscreen, 
struct si_shader *shader)
                                        PIPE_TRANSFER_READ_WRITE |
                                        PIPE_TRANSFER_UNSYNCHRONIZED);
 
+       /* Don't use util_memcpy_cpu_to_le32. LLVM binaries are
+        * endian-independent. */
        if (prolog) {
-               util_memcpy_cpu_to_le32(ptr, prolog->code, prolog->code_size);
+               memcpy(ptr, prolog->code, prolog->code_size);
                ptr += prolog->code_size;
        }
        if (previous_stage) {
-               util_memcpy_cpu_to_le32(ptr, previous_stage->code,
-                                       previous_stage->code_size);
+               memcpy(ptr, previous_stage->code, previous_stage->code_size);
                ptr += previous_stage->code_size;
        }
        if (prolog2) {
-               util_memcpy_cpu_to_le32(ptr, prolog2->code, prolog2->code_size);
+               memcpy(ptr, prolog2->code, prolog2->code_size);
                ptr += prolog2->code_size;
        }
 
-       util_memcpy_cpu_to_le32(ptr, mainb->code, mainb->code_size);
+       memcpy(ptr, mainb->code, mainb->code_size);
        ptr += mainb->code_size;
 
        if (epilog)
-               util_memcpy_cpu_to_le32(ptr, epilog->code, epilog->code_size);
+               memcpy(ptr, epilog->code, epilog->code_size);
        else if (mainb->rodata_size > 0)
-               util_memcpy_cpu_to_le32(ptr, mainb->rodata, mainb->rodata_size);
+               memcpy(ptr, mainb->rodata, mainb->rodata_size);
 
        sscreen->b.ws->buffer_unmap(shader->bo->buf);
        return 0;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to