Mesa (master): radeonsi: Fall back to dummy pixel shader instead of trying indirect addressing.

Michel Dänzer daenzer at kemper.freedesktop.org
Thu Jan 24 08:53:15 UTC 2013


Module: Mesa
Branch: master
Commit: 35f0dc2cc71f49ff8de8ba7a0f93a6b6f725161b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=35f0dc2cc71f49ff8de8ba7a0f93a6b6f725161b

Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Jan 22 17:08:24 2013 +0100

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 <michel.daenzer at amd.com>

---

 src/gallium/drivers/radeonsi/radeonsi_shader.c |    5 +++++
 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 52ecef9..f398e6c 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;




More information about the mesa-commit mailing list