diff options
author | Christian König <[email protected]> | 2013-02-04 17:55:32 +0100 |
---|---|---|
committer | Christian König <[email protected]> | 2013-02-12 18:57:12 +0100 |
commit | 8c80894fb32134129a4b6a9632d66bab126a4848 (patch) | |
tree | 4d26166a84602f06bd6c57ee9c8e28b1454516d3 /src/gallium/drivers/radeonsi | |
parent | 8514f5ac01cb769b16dab0a307f9b0313556a495 (diff) |
radeonsi: remove constant index limitation v3
With the llvm patches, fixing 14 piglit tests in total.
v2: increase the const limit
v3: document the const limit
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_pipe.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_shader.c | 6 |
2 files changed, 1 insertions, 7 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.c b/src/gallium/drivers/radeonsi/radeonsi_pipe.c index 744dac4be0c..acf3e2d77a1 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_pipe.c +++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.c @@ -456,7 +456,7 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e /* FIXME Isn't this equal to TEMPS? */ return 1; /* Max native address registers */ case PIPE_SHADER_CAP_MAX_CONSTS: - return 64; + return 4096; /* actually only memory limits this */ case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: return 1; case PIPE_SHADER_CAP_MAX_PREDS: diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c index 1556a0768b1..7e61560369d 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_shader.c +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c @@ -455,12 +455,6 @@ static LLVMValueRef fetch_constant( * CONST[0].x will have an offset of 0 and CONST[1].x will have an * offset of 4. */ idx = (reg->Register.Index * 4) + swizzle; - - /* index loads above 255 are currently not supported */ - if (idx > 255) { - assert(0); - idx = 0; - } offset = lp_build_const_int32(base->gallivm, idx); load = build_indexed_load(base->gallivm, const_ptr, offset); |