diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2012-04-23 12:08:32 -0400 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2012-05-17 14:50:55 -0400 |
commit | 78038ec3e603c4c2ad5417e3f92b9aee8b8d0860 (patch) | |
tree | e4b29a2b2addedab9f78f2af83031826d2ac0ed9 | |
parent | d1b94b8d4a8177c8ed2acf4b4f3af071d3df883f (diff) |
r600g: Handle PIPE_SHADER_CAP_PREFERRED_IR
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index cb13ca767c9..06d7a6e4beb 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -491,6 +491,7 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e { case PIPE_SHADER_FRAGMENT: case PIPE_SHADER_VERTEX: + case PIPE_SHADER_COMPUTE: break; case PIPE_SHADER_GEOMETRY: /* XXX: support and enable geometry programs */ @@ -538,8 +539,12 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e return rscreen->glsl_feature_level >= 130; case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: return 16; - case PIPE_SHADER_CAP_PREFERRED_IR: - return PIPE_SHADER_IR_TGSI; + case PIPE_SHADER_CAP_PREFERRED_IR: + if (shader == PIPE_SHADER_COMPUTE) { + return PIPE_SHADER_IR_LLVM_R600; + } else { + return PIPE_SHADER_IR_TGSI; + } } return 0; } |