summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/r600/r600_pipe.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index cc35d867092..fd8edcc9fbf 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -603,10 +603,14 @@ static int r600_get_shader_param(struct pipe_screen* pscreen,
} else {
return PIPE_SHADER_IR_TGSI;
}
- case PIPE_SHADER_CAP_SUPPORTED_IRS:
+ case PIPE_SHADER_CAP_SUPPORTED_IRS: {
+ int ir = 0;
+ if (shader == PIPE_SHADER_COMPUTE)
+ ir = 1 << PIPE_SHADER_IR_NATIVE;
if (rscreen->b.family >= CHIP_CEDAR)
- return (1 << PIPE_SHADER_IR_TGSI);
- return 0;
+ ir |= 1 << PIPE_SHADER_IR_TGSI;
+ return ir;
+ }
case PIPE_SHADER_CAP_TGSI_FMA_SUPPORTED:
if (rscreen->b.family == CHIP_ARUBA ||
rscreen->b.family == CHIP_CAYMAN ||