Mesa (master): r600g: report INTEGERS cap if glsl130 is on.

Dave Airlie airlied at kemper.freedesktop.org
Fri Apr 20 18:38:33 UTC 2012


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Apr 20 19:33:22 2012 +0100

r600g: report INTEGERS cap if glsl130 is on.

This cap is used by u_blitter to decide if it can use integers
in vertex data.

fixes some crashes with glsl130 in piglit

Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/gallium/drivers/r600/r600_pipe.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index 34e508a..3a947d8 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -501,6 +501,7 @@ static float r600_get_paramf(struct pipe_screen* pscreen,
 
 static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, enum pipe_shader_cap param)
 {
+	struct r600_screen *rscreen = (struct r600_screen *)pscreen;
 	switch(shader)
 	{
 	case PIPE_SHADER_FRAGMENT:
@@ -549,7 +550,7 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e
 	case PIPE_SHADER_CAP_SUBROUTINES:
 		return 0;
 	case PIPE_SHADER_CAP_INTEGERS:
-		return 0;
+		return rscreen->glsl_feature_level >= 130;
 	case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
 		return 16;
 	}




More information about the mesa-commit mailing list