summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-06-01 16:08:41 -0400
committerTom Stellard <[email protected]>2012-06-01 16:52:26 -0400
commitc108831d4451f624167d2c433282c6ac63541a79 (patch)
tree8b2d6a77ecabf7d9a107ae9226d332475b8ba180 /src
parent85a68814ee98d649e92223a42bab9db7392649ba (diff)
radeon/llvm: Emit 2 bytes for vertex fetch offsets
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/r600/r600_shader.c2
-rw-r--r--src/gallium/drivers/radeon/R600CodeEmitter.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 5f3c76eafbb..8a80dba38a4 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -458,7 +458,9 @@ static int r600_vtx_from_byte_stream(struct r600_shader_ctx *ctx,
vtx.num_format_all = bytes[bytes_read++];
vtx.format_comp_all = bytes[bytes_read++];
vtx.srf_mode_all = bytes[bytes_read++];
+ /* offset is 2 bytes wide */
vtx.offset = bytes[bytes_read++];
+ vtx.offset |= bytes[bytes_read++];
vtx.endian = bytes[bytes_read++];
if (r600_bytecode_add_vtx(ctx->bc, &vtx)) {
diff --git a/src/gallium/drivers/radeon/R600CodeEmitter.cpp b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
index fdc79a67499..8715f1133e8 100644
--- a/src/gallium/drivers/radeon/R600CodeEmitter.cpp
+++ b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
@@ -255,7 +255,7 @@ bool R600CodeEmitter::runOnMachineFunction(MachineFunction &MF) {
emitByte(0);
// offset
- emitByte(0);
+ emitTwoBytes(0);
// endian
emitByte(0);