mesa/program: Use sampler object state if present
authorPauli Nieminen <pauli.nieminen@linux.intel.com>
Tue, 12 Jun 2012 18:38:54 +0000 (21:38 +0300)
committerEric Anholt <eric@anholt.net>
Wed, 1 Aug 2012 22:31:17 +0000 (15:31 -0700)
CompareFailValue is part of Sampler state that needs to be read from
bound sampler object if present.

Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/program/prog_statevars.c

index 3d1338674234967b08268d616d5db24021d37c36..91212218e7a7bfb8e82448c2b5355ede37e604fb 100644 (file)
@@ -37,6 +37,7 @@
 #include "main/fbobject.h"
 #include "prog_statevars.h"
 #include "prog_parameter.h"
+#include "main/samplerobj.h"
 
 
 /**
@@ -555,11 +556,13 @@ _mesa_fetch_state(struct gl_context *ctx, const gl_state_index state[],
             const int unit = (int) state[2];
             const struct gl_texture_object *texObj
                = ctx->Texture.Unit[unit]._Current;
+            const struct gl_sampler_object *samp =
+               _mesa_get_samplerobj(ctx, unit);
             if (texObj) {
                value[0] =
                value[1] =
                value[2] =
-               value[3] = texObj->Sampler.CompareFailValue;
+               value[3] = samp->CompareFailValue;
             }
          }
          return;