galahad: do map/unmap counting for resources
[mesa.git] / src / gallium / drivers / i965 / intel_decode.c
index 1fb1b66cc89244c0fe10cf04444ce0fdad1b0050..bd8b9174a89311f02105eb253e39067c626f9b5c 100644 (file)
 
 #include <stdio.h>
 #include <stdarg.h>
+#include <stdint.h>
 #include <string.h>
-#include <inttypes.h>
 
+#include "util/u_string.h"
 #include "intel_decode.h"
 
 /*#include "intel_chipset.h"*/
@@ -70,7 +71,7 @@ int_as_float(uint32_t intval)
 }
 
 static void
-instr_out(uint32_t *data, uint32_t hw_offset, unsigned int index,
+instr_out(const uint32_t *data, uint32_t hw_offset, unsigned int index,
          char *fmt, ...)
 {
     va_list va;
@@ -84,7 +85,7 @@ instr_out(uint32_t *data, uint32_t hw_offset, unsigned int index,
 
 
 static int
-decode_mi(uint32_t *data, int count, uint32_t hw_offset, int *failures)
+decode_mi(const uint32_t *data, int count, uint32_t hw_offset, int *failures)
 {
     unsigned int opcode;
 
@@ -149,7 +150,7 @@ decode_mi(uint32_t *data, int count, uint32_t hw_offset, int *failures)
 }
 
 static int
-decode_2d(uint32_t *data, int count, uint32_t hw_offset, int *failures)
+decode_2d(const uint32_t *data, int count, uint32_t hw_offset, int *failures)
 {
     unsigned int opcode, len;
     char *format = NULL;
@@ -306,7 +307,7 @@ decode_2d(uint32_t *data, int count, uint32_t hw_offset, int *failures)
 }
 
 static int
-decode_3d_1c(uint32_t *data, int count, uint32_t hw_offset, int *failures)
+decode_3d_1c(const uint32_t *data, int count, uint32_t hw_offset, int *failures)
 {
     switch ((data[0] & 0x00f80000) >> 19) {
     case 0x11:
@@ -333,7 +334,7 @@ decode_3d_1c(uint32_t *data, int count, uint32_t hw_offset, int *failures)
 
 /** Sets the string dstname to describe the destination of the PS instruction */
 static void
-i915_get_instruction_dst(uint32_t *data, int i, char *dstname, int do_mask)
+i915_get_instruction_dst(const uint32_t *data, int i, char *dstname, int do_mask)
 {
     uint32_t a0 = data[i];
     int dst_nr = (a0 >> 14) & 0xf;
@@ -466,7 +467,7 @@ i915_get_instruction_src_name(uint32_t src_type, uint32_t src_nr, char *name)
 }
 
 static void
-i915_get_instruction_src0(uint32_t *data, int i, char *srcname)
+i915_get_instruction_src0(const uint32_t *data, int i, char *srcname)
 {
     uint32_t a0 = data[i];
     uint32_t a1 = data[i + 1];
@@ -478,13 +479,13 @@ i915_get_instruction_src0(uint32_t *data, int i, char *srcname)
     char swizzle[100];
 
     i915_get_instruction_src_name((a0 >> 7) & 0x7, src_nr, srcname);
-    sprintf(swizzle, ".%s%s%s%s", swizzle_x, swizzle_y, swizzle_z, swizzle_w);
+    util_snprintf(swizzle, sizeof(swizzle), ".%s%s%s%s", swizzle_x, swizzle_y, swizzle_z, swizzle_w);
     if (strcmp(swizzle, ".xyzw") != 0)
        strcat(srcname, swizzle);
 }
 
 static void
-i915_get_instruction_src1(uint32_t *data, int i, char *srcname)
+i915_get_instruction_src1(const uint32_t *data, int i, char *srcname)
 {
     uint32_t a1 = data[i + 1];
     uint32_t a2 = data[i + 2];
@@ -496,13 +497,13 @@ i915_get_instruction_src1(uint32_t *data, int i, char *srcname)
     char swizzle[100];
 
     i915_get_instruction_src_name((a1 >> 13) & 0x7, src_nr, srcname);
-    sprintf(swizzle, ".%s%s%s%s", swizzle_x, swizzle_y, swizzle_z, swizzle_w);
+    util_snprintf(swizzle, sizeof(swizzle), ".%s%s%s%s", swizzle_x, swizzle_y, swizzle_z, swizzle_w);
     if (strcmp(swizzle, ".xyzw") != 0)
        strcat(srcname, swizzle);
 }
 
 static void
-i915_get_instruction_src2(uint32_t *data, int i, char *srcname)
+i915_get_instruction_src2(const uint32_t *data, int i, char *srcname)
 {
     uint32_t a2 = data[i + 2];
     int src_nr = (a2 >> 16) & 0x1f;
@@ -513,7 +514,7 @@ i915_get_instruction_src2(uint32_t *data, int i, char *srcname)
     char swizzle[100];
 
     i915_get_instruction_src_name((a2 >> 21) & 0x7, src_nr, srcname);
-    sprintf(swizzle, ".%s%s%s%s", swizzle_x, swizzle_y, swizzle_z, swizzle_w);
+    util_snprintf(swizzle, sizeof(swizzle), ".%s%s%s%s", swizzle_x, swizzle_y, swizzle_z, swizzle_w);
     if (strcmp(swizzle, ".xyzw") != 0)
        strcat(srcname, swizzle);
 }
@@ -559,7 +560,7 @@ i915_get_instruction_addr(uint32_t src_type, uint32_t src_nr, char *name)
 }
 
 static void
-i915_decode_alu1(uint32_t *data, uint32_t hw_offset,
+i915_decode_alu1(const uint32_t *data, uint32_t hw_offset,
                 int i, char *instr_prefix, char *op_name)
 {
     char dst[100], src0[100];
@@ -574,7 +575,7 @@ i915_decode_alu1(uint32_t *data, uint32_t hw_offset,
 }
 
 static void
-i915_decode_alu2(uint32_t *data, uint32_t hw_offset,
+i915_decode_alu2(const uint32_t *data, uint32_t hw_offset,
                 int i, char *instr_prefix, char *op_name)
 {
     char dst[100], src0[100], src1[100];
@@ -590,7 +591,7 @@ i915_decode_alu2(uint32_t *data, uint32_t hw_offset,
 }
 
 static void
-i915_decode_alu3(uint32_t *data, uint32_t hw_offset,
+i915_decode_alu3(const uint32_t *data, uint32_t hw_offset,
                 int i, char *instr_prefix, char *op_name)
 {
     char dst[100], src0[100], src1[100], src2[100];
@@ -607,7 +608,7 @@ i915_decode_alu3(uint32_t *data, uint32_t hw_offset,
 }
 
 static void
-i915_decode_tex(uint32_t *data, uint32_t hw_offset, int i, char *instr_prefix,
+i915_decode_tex(const uint32_t *data, uint32_t hw_offset, int i, char *instr_prefix,
                char *tex_name)
 {
     uint32_t t0 = data[i];
@@ -629,7 +630,7 @@ i915_decode_tex(uint32_t *data, uint32_t hw_offset, int i, char *instr_prefix,
 }
 
 static void
-i915_decode_dcl(uint32_t *data, uint32_t hw_offset, int i, char *instr_prefix)
+i915_decode_dcl(const uint32_t *data, uint32_t hw_offset, int i, char *instr_prefix)
 {
     uint32_t d0 = data[i];
     char *sampletype;
@@ -642,7 +643,7 @@ i915_decode_dcl(uint32_t *data, uint32_t hw_offset, int i, char *instr_prefix)
 
     switch ((d0 >> 19) & 0x3) {
     case 1:
-       sprintf(dcl_mask, ".%s%s%s%s", dcl_x, dcl_y, dcl_z, dcl_w);
+       util_snprintf(dcl_mask, sizeof(dcl_mask), ".%s%s%s%s", dcl_x, dcl_y, dcl_z, dcl_w);
        if (strcmp(dcl_mask, ".") == 0)
            fprintf(out, "bad (empty) dcl mask\n");
 
@@ -710,7 +711,7 @@ i915_decode_dcl(uint32_t *data, uint32_t hw_offset, int i, char *instr_prefix)
 }
 
 static void
-i915_decode_instruction(uint32_t *data, uint32_t hw_offset,
+i915_decode_instruction(const uint32_t *data, uint32_t hw_offset,
                        int i, char *instr_prefix)
 {
     switch ((data[i] >> 24) & 0x1f) {
@@ -800,7 +801,7 @@ i915_decode_instruction(uint32_t *data, uint32_t hw_offset,
 }
 
 static int
-decode_3d_1d(uint32_t *data, int count, uint32_t hw_offset, int *failures, int i830)
+decode_3d_1d(const uint32_t *data, int count, uint32_t hw_offset, int *failures, int i830)
 {
     unsigned int len, i, c, opcode, word, map, sampler, instr;
     char *format;
@@ -976,7 +977,7 @@ decode_3d_1d(uint32_t *data, int count, uint32_t hw_offset, int *failures, int i
 
            if (i + 3 >= count)
                BUFFER_FAIL(count, len, "3DSTATE_PIXEL_SHADER_PROGRAM");
-           sprintf(instr_prefix, "PS%03d", instr);
+           util_snprintf(instr_prefix, sizeof(instr_prefix), "PS%03d", instr);
            i915_decode_instruction(data, hw_offset, i, instr_prefix);
            i += 3;
        }
@@ -1073,7 +1074,7 @@ decode_3d_1d(uint32_t *data, int count, uint32_t hw_offset, int *failures, int i
 }
 
 static int
-decode_3d_primitive(uint32_t *data, int count, uint32_t hw_offset,
+decode_3d_primitive(const uint32_t *data, int count, uint32_t hw_offset,
                    int *failures)
 {
     char immediate = (data[0] & (1 << 23)) == 0;
@@ -1260,7 +1261,7 @@ decode_3d_primitive(uint32_t *data, int count, uint32_t hw_offset,
 }
 
 static int
-decode_3d(uint32_t *data, int count, uint32_t hw_offset, int *failures)
+decode_3d(const uint32_t *data, int count, uint32_t hw_offset, int *failures)
 {
     unsigned int opcode;
 
@@ -1406,7 +1407,7 @@ get_965_prim_type(uint32_t data)
 }
 
 static int
-decode_3d_965(uint32_t *data, int count, uint32_t hw_offset, int *failures)
+decode_3d_965(const uint32_t *data, int count, uint32_t hw_offset, int *failures)
 {
     unsigned int opcode, len;
     int i;
@@ -1667,7 +1668,7 @@ decode_3d_965(uint32_t *data, int count, uint32_t hw_offset, int *failures)
 }
 
 static int
-decode_3d_i830(uint32_t *data, int count, uint32_t hw_offset, int *failures)
+decode_3d_i830(const uint32_t *data, int count, uint32_t hw_offset, int *failures)
 {
     unsigned int opcode;
 
@@ -1741,7 +1742,7 @@ decode_3d_i830(uint32_t *data, int count, uint32_t hw_offset, int *failures)
  * \param hw_offset hardware address for the buffer
  */
 int
-intel_decode(uint32_t *data, int count, uint32_t hw_offset, uint32_t devid)
+intel_decode(const uint32_t *data, int count, uint32_t hw_offset, uint32_t devid)
 {
     int index = 0;
     int failures = 0;