After operations are done, where resources have been copied to the GPU,
we need to mark those resources as little-endian for future operations on
them.

Signed-off-by: Oded Gabbay <[email protected]>
---
 src/gallium/drivers/radeon/r600_texture.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/radeon/r600_texture.c 
b/src/gallium/drivers/radeon/r600_texture.c
index 704cdf9..e5a1c65 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -99,6 +99,8 @@ static void r600_copy_from_staging_texture(struct 
pipe_context *ctx, struct r600
                r600_copy_region_with_blit(ctx, dst, transfer->level,
                                           transfer->box.x, transfer->box.y, 
transfer->box.z,
                                           src, 0, &sbox);
+               /* texture is now inside GPU, so mark it accordingly */
+               dst->endian_format = PIPE_ENDIAN_LITTLE;
                return;
        }
 
@@ -1313,6 +1315,8 @@ static void r600_texture_transfer_unmap(struct 
pipe_context *ctx,
                                                  transfer->box.x, 
transfer->box.y, transfer->box.z,
                                                  &rtransfer->staging->b.b, 
transfer->level,
                                                  &transfer->box);
+                       /* texture is now inside GPU, so mark it accordingly */
+                       texture->endian_format = PIPE_ENDIAN_LITTLE;
                } else {
                        r600_copy_from_staging_texture(ctx, rtransfer);
                }
-- 
2.5.5

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

Reply via email to