aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/ir3/ir3_shader.h
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2014-09-29 10:44:46 -0400
committerRob Clark <[email protected]>2014-09-29 18:30:43 -0400
commit7cdd4679943a72b97aad1c584da4bcb0e1f003f2 (patch)
treebdae118969b3ffab4d27a8c40787e9ebf00d3806 /src/gallium/drivers/freedreno/ir3/ir3_shader.h
parent3541705816f18bce0f9f6794e9b1c409a81ed98e (diff)
freedreno/a3xx: add support to emulate GL_CLAMP
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/ir3_shader.h')
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_shader.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_shader.h b/src/gallium/drivers/freedreno/ir3/ir3_shader.h
index ea861649176..04a737ef19d 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_shader.h
+++ b/src/gallium/drivers/freedreno/ir3/ir3_shader.h
@@ -52,8 +52,23 @@ static inline uint16_t sem2idx(ir3_semantic sem)
/* Configuration key used to identify a shader variant.. different
* shader variants can be used to implement features not supported
* in hw (two sided color), binning-pass vertex shader, etc.
+ *
+ * TODO since shader key is starting to get larger (than 32bit)
+ * we probably should pass it around by ptr rather than value more
+ * of the places.. but watch out in ir3_shader_variant() where the
+ * key gets normalized, we need to make a copy there.
*/
struct ir3_shader_key {
+ /* bitmask of sampler which needs coords clamped for vertex
+ * shader:
+ */
+ unsigned vsaturate_s, vsaturate_t, vsaturate_r;
+
+ /* bitmask of sampler which needs coords clamped for frag
+ * shader:
+ */
+ unsigned fsaturate_s, fsaturate_t, fsaturate_r;
+
/*
* Vertex shader variant parameters:
*/