summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/radeonsi_shader.c
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2013-01-22 17:08:24 +0100
committerMichel Dänzer <[email protected]>2013-01-24 08:46:48 +0100
commit35f0dc2cc71f49ff8de8ba7a0f93a6b6f725161b (patch)
treef55e1eafac01c2dd2df56325d69cec53f35362ab /src/gallium/drivers/radeonsi/radeonsi_shader.c
parent68cebb9a8fff5f490b0edb584ee9474becc711db (diff)
radeonsi: Fall back to dummy pixel shader instead of trying indirect addressing.
Indirect addressing isn't fully handled yet. Fixes crashes with piglit tests using indirect addressing. Signed-off-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/radeonsi_shader.c')
-rw-r--r--src/gallium/drivers/radeonsi/radeonsi_shader.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index 52ecef9b547..f398e6ca066 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
@@ -913,6 +913,11 @@ int si_pipe_shader_create(
bld_base = &si_shader_ctx.radeon_bld.soa.bld_base;
tgsi_scan_shader(sel->tokens, &shader_info);
+ if (shader_info.indirect_files != 0) {
+ fprintf(stderr, "Indirect addressing not fully handled yet\n");
+ return -ENOSYS;
+ }
+
shader->shader.uses_kill = shader_info.uses_kill;
bld_base->info = &shader_info;
bld_base->emit_fetch_funcs[TGSI_FILE_CONSTANT] = fetch_constant;