Mesa (master): r600g: fix "Fixed-Point Data Conversions"

Christian König deathsimple at kemper.freedesktop.org
Sat May 21 14:42:24 UTC 2011


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

Author: Christian König <deathsimple at vodafone.de>
Date:   Sat May 21 15:37:29 2011 +0200

r600g: fix "Fixed-Point Data Conversions"

According to OpenGL 3.1 chapter 2.1.5 the representation without zero
should only be used for vertex attribute values, but not for textures
or frame-buffers.

---

 src/gallium/drivers/r600/evergreen_state.c |    2 +-
 src/gallium/drivers/r600/r600_state.c      |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index 654b04e..187f00e 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -424,7 +424,7 @@ static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_conte
 				(tmp->offset[1] + r600_bo_offset(bo[1])) >> 8, 0xFFFFFFFF, bo[1]);
 	r600_pipe_state_add_reg(rstate, R_030010_RESOURCE0_WORD4,
 				word4 |
-				S_030010_SRF_MODE_ALL(V_030010_SRF_MODE_NO_ZERO) |
+				S_030010_SRF_MODE_ALL(V_030010_SRF_MODE_ZERO_CLAMP_MINUS_ONE) |
 				S_030010_ENDIAN_SWAP(endian) |
 				S_030010_BASE_LEVEL(state->u.tex.first_level), 0xFFFFFFFF, NULL);
 	r600_pipe_state_add_reg(rstate, R_030014_RESOURCE0_WORD5,
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index 960fb29..21e6abc 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -485,7 +485,7 @@ static struct pipe_sampler_view *r600_create_sampler_view(struct pipe_context *c
 				(tmp->offset[1] + r600_bo_offset(bo[1])) >> 8, 0xFFFFFFFF, bo[1]);
 	r600_pipe_state_add_reg(rstate, R_038010_RESOURCE0_WORD4,
 				word4 |
-				S_038010_SRF_MODE_ALL(V_038010_SRF_MODE_NO_ZERO) |
+				S_038010_SRF_MODE_ALL(V_038010_SRF_MODE_ZERO_CLAMP_MINUS_ONE) |
 				S_038010_REQUEST_SIZE(1) |
 				S_038010_ENDIAN_SWAP(endian) |
 				S_038010_BASE_LEVEL(state->u.tex.first_level), 0xFFFFFFFF, NULL);




More information about the mesa-commit mailing list