[Mesa-dev] [PATCH 29/30] r600: enable ARB_shader_image_load_store on evergreen/cayman

Dave Airlie airlied at gmail.com
Thu Mar 31 07:03:58 UTC 2016


From: Dave Airlie <airlied at redhat.com>

This isn't tested on cayman properly yet.

Also the hw only support images on compute/fragment shaders,
no other shader stages.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/gallium/drivers/r600/r600_pipe.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index b801191..fd306ee 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -545,7 +545,10 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e
 	case PIPE_SHADER_CAP_TGSI_DFRACEXP_DLDEXP_SUPPORTED:
 	case PIPE_SHADER_CAP_TGSI_FMA_SUPPORTED:
 	case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
+		return 0;
 	case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
+		if (rscreen->b.family >= CHIP_CEDAR && shader == PIPE_SHADER_FRAGMENT)
+			return 8;
 		return 0;
 	case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
 		/* due to a bug in the shader compiler, some loops hang
-- 
2.5.0



More information about the mesa-dev mailing list