draw: Properly limit vertex buffer fetches on draw arrays.
[mesa.git] / src / gallium / drivers / r300 / r300_reg.h
index 5edbb22a7437476df82d55bb0f140b7071bf778c..5e1d81019106b6b16ecb2c818d0b80b2511ccf22 100644 (file)
@@ -2083,13 +2083,14 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #       define R300_ALU_OUTC_FRC                (9 << 23)
 #       define R300_ALU_OUTC_REPL_ALPHA         (10 << 23)
 
-#       define R300_ALU_OUTC_MOD_NOP            (0 << 27)
-#       define R300_ALU_OUTC_MOD_MUL2           (1 << 27)
-#       define R300_ALU_OUTC_MOD_MUL4           (2 << 27)
-#       define R300_ALU_OUTC_MOD_MUL8           (3 << 27)
-#       define R300_ALU_OUTC_MOD_DIV2           (4 << 27)
-#       define R300_ALU_OUTC_MOD_DIV4           (5 << 27)
-#       define R300_ALU_OUTC_MOD_DIV8           (6 << 27)
+#      define R300_ALU_OUTC_MOD_SHIFT          27
+#       define R300_ALU_OUTC_MOD_NOP            (0 << R300_ALU_OUTC_MOD_SHIFT)
+#       define R300_ALU_OUTC_MOD_MUL2           (1 << R300_ALU_OUTC_MOD_SHIFT)
+#       define R300_ALU_OUTC_MOD_MUL4           (2 << R300_ALU_OUTC_MOD_SHIFT)
+#       define R300_ALU_OUTC_MOD_MUL8           (3 << R300_ALU_OUTC_MOD_SHIFT)
+#       define R300_ALU_OUTC_MOD_DIV2           (4 << R300_ALU_OUTC_MOD_SHIFT)
+#       define R300_ALU_OUTC_MOD_DIV4           (5 << R300_ALU_OUTC_MOD_SHIFT)
+#       define R300_ALU_OUTC_MOD_DIV8           (6 << R300_ALU_OUTC_MOD_SHIFT)
 
 #       define R300_ALU_OUTC_CLAMP              (1 << 30)
 #       define R300_ALU_INSERT_NOP              (1 << 31)
@@ -3054,14 +3055,15 @@ enum {
 #   define R500_ALPHA_MOD_B_NEG                                (1 << 24)
 #   define R500_ALPHA_MOD_B_ABS                                (2 << 24)
 #   define R500_ALPHA_MOD_B_NAB                                (3 << 24)
-#   define R500_ALPHA_OMOD_IDENTITY                    (0 << 26)
-#   define R500_ALPHA_OMOD_MUL_2                       (1 << 26)
-#   define R500_ALPHA_OMOD_MUL_4                       (2 << 26)
-#   define R500_ALPHA_OMOD_MUL_8                       (3 << 26)
-#   define R500_ALPHA_OMOD_DIV_2                       (4 << 26)
-#   define R500_ALPHA_OMOD_DIV_4                       (5 << 26)
-#   define R500_ALPHA_OMOD_DIV_8                       (6 << 26)
-#   define R500_ALPHA_OMOD_DISABLE                     (7 << 26)
+#   define R500_ALPHA_OMOD_SHIFT               26
+#   define R500_ALPHA_OMOD_IDENTITY            (0 << R500_ALPHA_OMOD_SHIFT)
+#   define R500_ALPHA_OMOD_MUL_2               (1 << R500_ALPHA_OMOD_SHIFT)
+#   define R500_ALPHA_OMOD_MUL_4               (2 << R500_ALPHA_OMOD_SHIFT)
+#   define R500_ALPHA_OMOD_MUL_8               (3 << R500_ALPHA_OMOD_SHIFT)
+#   define R500_ALPHA_OMOD_DIV_2               (4 << R500_ALPHA_OMOD_SHIFT)
+#   define R500_ALPHA_OMOD_DIV_4               (5 << R500_ALPHA_OMOD_SHIFT)
+#   define R500_ALPHA_OMOD_DIV_8               (6 << R500_ALPHA_OMOD_SHIFT)
+#   define R500_ALPHA_OMOD_DISABLE             (7 << R500_ALPHA_OMOD_SHIFT)
 #   define R500_ALPHA_TARGET(x)                                ((x) << 29)
 #   define R500_ALPHA_W_OMASK                          (1 << 31)
 #define R500_US_ALU_ALPHA_ADDR_0                       0x9800
@@ -3211,14 +3213,15 @@ enum {
 #   define R500_ALU_RGB_MOD_B_NEG                      (1 << 24)
 #   define R500_ALU_RGB_MOD_B_ABS                      (2 << 24)
 #   define R500_ALU_RGB_MOD_B_NAB                      (3 << 24)
-#   define R500_ALU_RGB_OMOD_IDENTITY                  (0 << 26)
-#   define R500_ALU_RGB_OMOD_MUL_2                     (1 << 26)
-#   define R500_ALU_RGB_OMOD_MUL_4                     (2 << 26)
-#   define R500_ALU_RGB_OMOD_MUL_8                     (3 << 26)
-#   define R500_ALU_RGB_OMOD_DIV_2                     (4 << 26)
-#   define R500_ALU_RGB_OMOD_DIV_4                     (5 << 26)
-#   define R500_ALU_RGB_OMOD_DIV_8                     (6 << 26)
-#   define R500_ALU_RGB_OMOD_DISABLE                   (7 << 26)
+#   define R500_ALU_RGB_OMOD_SHIFT             26
+#   define R500_ALU_RGB_OMOD_IDENTITY          (0 << R500_ALU_RGB_OMOD_SHIFT)
+#   define R500_ALU_RGB_OMOD_MUL_2             (1 << R500_ALU_RGB_OMOD_SHIFT)
+#   define R500_ALU_RGB_OMOD_MUL_4             (2 << R500_ALU_RGB_OMOD_SHIFT)
+#   define R500_ALU_RGB_OMOD_MUL_8             (3 << R500_ALU_RGB_OMOD_SHIFT)
+#   define R500_ALU_RGB_OMOD_DIV_2             (4 << R500_ALU_RGB_OMOD_SHIFT)
+#   define R500_ALU_RGB_OMOD_DIV_4             (5 << R500_ALU_RGB_OMOD_SHIFT)
+#   define R500_ALU_RGB_OMOD_DIV_8             (6 << R500_ALU_RGB_OMOD_SHIFT)
+#   define R500_ALU_RGB_OMOD_DISABLE           (7 << R500_ALU_RGB_OMOD_SHIFT)
 #   define R500_ALU_RGB_TARGET(x)                      ((x) << 29)
 #   define R500_ALU_RGB_WMASK                          (1 << 31)
 #define R500_US_ALU_RGB_ADDR_0                         0x9000
@@ -3241,7 +3244,8 @@ enum {
 #   define R500_INST_TYPE_OUT                          (1 << 0)
 #   define R500_INST_TYPE_FC                           (2 << 0)
 #   define R500_INST_TYPE_TEX                          (3 << 0)
-#   define R500_INST_TEX_SEM_WAIT                      (1 << 2)
+#   define R500_INST_TEX_SEM_WAIT_SHIFT                        2
+#   define R500_INST_TEX_SEM_WAIT                      (1 << R500_INST_TEX_SEM_WAIT_SHIFT)
 #   define R500_INST_RGB_PRED_SEL_NONE                 (0 << 3)
 #   define R500_INST_RGB_PRED_SEL_RGBA                 (1 << 3)
 #   define R500_INST_RGB_PRED_SEL_RRRR                 (2 << 3)
@@ -3423,7 +3427,8 @@ enum {
 #   define R500_TEX_INST_LODBIAS                       (4 << 22)
 #   define R500_TEX_INST_LOD                           (5 << 22)
 #   define R500_TEX_INST_DXDY                          (6 << 22)
-#   define R500_TEX_SEM_ACQUIRE                                (1 << 25)
+#   define R500_TEX_SEM_ACQUIRE_SHIFT                  25
+#   define R500_TEX_SEM_ACQUIRE                                (1 << R500_TEX_SEM_ACQUIRE_SHIFT)
 #   define R500_TEX_IGNORE_UNCOVERED                   (1 << 26)
 #   define R500_TEX_UNSCALED                           (1 << 27)
 #define R300_US_W_FMT                                  0x46b4