diff options
author | Christian König <[email protected]> | 2012-08-24 12:55:34 +0200 |
---|---|---|
committer | Christian König <[email protected]> | 2012-09-03 11:23:08 +0200 |
commit | e7723b5bdfe7dc725dd29a725c4637a7f34eda83 (patch) | |
tree | 0fd622db0720ea026c29f89c85f23b2f33528428 | |
parent | a96119cc8c9988e3ad97b20bf8f2ca5ded0e7864 (diff) |
radeonsi: handle indirect constants gracefully
It's not supported yet, so at least don't try to crash the box.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_shader.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c index 2f417ecda52..9734ab3ad0d 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_shader.c +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c @@ -362,6 +362,13 @@ static LLVMValueRef fetch_constant( LLVMValueRef offset; LLVMValueRef load; + /* currently not supported */ + if (reg->Register.Indirect) { + assert(0); + load = lp_build_const_int32(base->gallivm, 0); + return bitcast(bld_base, type, load); + } + /* XXX: Assume the pointer to the constant buffer is being stored in * SGPR[0:1] */ const_ptr = use_sgpr(base->gallivm, SGPR_CONST_PTR_F32, 0); |