summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2012-04-23 12:08:32 -0400
committerTom Stellard <thomas.stellard@amd.com>2012-05-11 12:16:58 -0400
commita985e478b6eb15f6dcd246aec554b6081d45edde (patch)
tree8075b1034dff3282346d366074000a054914569b
parentf3324fba92042a5890d3d44fb08c0563f1f11e94 (diff)
r600g: Handle PIPE_SHADER_CAP_PREFERRED_IR
-rw-r--r--src/gallium/drivers/r600/r600_pipe.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index 11f0fde177e..595b3843aa8 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -513,6 +513,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 */
@@ -560,6 +561,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:
+ if (shader == PIPE_SHADER_COMPUTE) {
+ return PIPE_SHADER_IR_LLVM_R600;
+ } else {
+ return PIPE_SHADER_IR_TGSI;
+ }
}
return 0;
}