From ca0f515f851f04a3849ac049868825e94382681d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 3 Nov 2011 15:20:55 +0100 Subject: [PATCH] r300g: force buffer placements to GTT on big endian machines --- src/gallium/drivers/r300/r300_screen_buffer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/r300/r300_screen_buffer.c b/src/gallium/drivers/r300/r300_screen_buffer.c index 5424f260e97..a5ec8ef9656 100644 --- a/src/gallium/drivers/r300/r300_screen_buffer.c +++ b/src/gallium/drivers/r300/r300_screen_buffer.c @@ -196,6 +196,12 @@ struct pipe_resource *r300_buffer_create(struct pipe_screen *screen, return &rbuf->b.b.b; } +#ifdef PIPE_ARCH_BIG_ENDIAN + /* Force buffer placement to GTT on big endian machines, because + * the vertex fetcher can't swap bytes from VRAM. */ + rbuf->b.b.b.usage = PIPE_USAGE_STAGING; +#endif + rbuf->buf = r300screen->rws->buffer_create(r300screen->rws, rbuf->b.b.b.width0, alignment, -- 2.30.2