diff options
author | Vincent Lejeune <[email protected]> | 2013-01-11 19:48:28 +0100 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2013-01-18 20:34:21 +0000 |
commit | 7b205264667f5b5b59dfb721cfc701d1f482de99 (patch) | |
tree | 3972a89a86e4c58b8ff4ce19d52520bbda5f6fc2 /src/gallium/drivers/r600/r600_shader.c | |
parent | ce34ff1ad7379f804ac09733e1af6afb63f0aa5a (diff) |
r600g/llvm: tgsi to llvm emits stream output intrinsics.
Reviewed-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_shader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 410ffce28ba..ad8b91fb08b 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -1416,6 +1416,7 @@ static int r600_shader_from_tgsi(struct r600_screen *rscreen, radeon_llvm_ctx.color_buffer_count = MAX2(key.nr_cbufs , 1); radeon_llvm_ctx.chip_class = ctx.bc->chip_class; radeon_llvm_ctx.fs_color_all = shader->fs_write_all && (rscreen->chip_class >= EVERGREEN); + radeon_llvm_ctx.stream_outputs = &so; mod = r600_tgsi_llvm(&radeon_llvm_ctx, tokens); if (debug_get_bool_option("R600_DUMP_SHADERS", FALSE)) { dump = 1; @@ -1572,7 +1573,7 @@ static int r600_shader_from_tgsi(struct r600_screen *rscreen, } /* Add stream outputs. */ - if (ctx.type == TGSI_PROCESSOR_VERTEX && so.num_outputs) { + if (ctx.type == TGSI_PROCESSOR_VERTEX && so.num_outputs && !use_llvm) { unsigned so_gpr[PIPE_MAX_SHADER_OUTPUTS]; /* Sanity checking. */ |