r300/compiler: Add NPOT compatibility fields to external state.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Sun, 11 Apr 2010 20:31:54 +0000 (13:31 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Mon, 12 Apr 2010 06:38:24 +0000 (23:38 -0700)
Completely unused for now.

src/mesa/drivers/dri/r300/compiler/radeon_code.h

index 6d979bbaecf7b17060dc66e426e31b9dcf0dde37..45cc7df1e310d08174edec5c3e03d43a0802e1dc 100644 (file)
@@ -107,6 +107,18 @@ typedef enum {
        RC_COMPARE_FUNC_ALWAYS
 } rc_compare_func;
 
+/**
+ * Coordinate wrapping modes.
+ *
+ * These are not quite the same as their GL counterparts yet.
+ */
+typedef enum {
+       RC_WRAP_NONE = 0,
+       RC_WRAP_CLAMP,
+       RC_WRAP_REPEAT,
+       RC_WRAP_MIRROR
+} rc_wrap_mode;
+
 /**
  * Stores state that influences the compilation of a fragment program.
  */
@@ -127,11 +139,23 @@ struct r300_fragment_program_external_state {
                 * this field specifies the compare function.
                 *
                 * Otherwise, this field is \ref RC_COMPARE_FUNC_NEVER (aka 0).
-                *
-                * Otherwise, this field is 0.
                 * \sa rc_compare_func
                 */
                unsigned texture_compare_func : 3;
+
+               /**
+                * If the sampler will be accessed with non-normalized coords,
+                * this field is set.
+                */
+               unsigned non_normalized_coords : 1;
+
+               /**
+                * This field specifies wrapping modes for the sampler.
+                *
+                * If this field is \ref RC_WRAP_NONE (aka 0), no wrapping maths
+                * will be performed on the coordinates.
+                */
+               unsigned wrap_mode : 2;
        } unit[16];
 };