Mesa (master): i965: Don' t try to normalize cubemap coordinates for textureSize.

Kenneth Graunke kwg at kemper.freedesktop.org
Sat Nov 12 09:00:25 UTC 2011


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Nov  9 01:09:03 2011 -0800

i965: Don't try to normalize cubemap coordinates for textureSize.

Although textureSize is represented as an ir_texture with op == ir_txs,
it doesn't have a coordinate, so normalizing it doesn't make sense.

Fixes crashes in oglconform glsl-bif-tex-size basic.samplerCube.* tests.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 .../drivers/dri/i965/brw_cubemap_normalize.cpp     |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp b/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
index 37f6d11..9e149f9 100644
--- a/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
+++ b/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
@@ -51,6 +51,9 @@ brw_cubemap_normalize_visitor::visit_leave(ir_texture *ir)
    if (ir->sampler->type->sampler_dimensionality != GLSL_SAMPLER_DIM_CUBE)
       return visit_continue;
 
+   if (ir->op == ir_txs)
+      return visit_continue;
+
    void *mem_ctx = ralloc_parent(ir);
 
    ir_variable *var = new(mem_ctx) ir_variable(ir->coordinate->type,




More information about the mesa-commit mailing list