diff options
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 10 |
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 || |