summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2012-01-03 14:32:18 -0800
committerEric Anholt <eric@anholt.net>2012-01-04 14:49:44 -0800
commit683855f65523c978562ead56f9d68f50ffdca1a2 (patch)
tree078e74f9858d18f63d55d23ce3592a15ddfc540d
parentccbc40340b7b472939a90ae8afc0a82b358ce189 (diff)
intel: Add regression tests for batch decode.
The .batch was generated using the dump-a-batch branch of git://people.freedesktop.org/~anholt/mesa using glxgears on gen7 hardware, using INTEL_DEVID_OVERRIDE for non-gen7 (this means that offsets in the buffers for non-gen7 are 0!). The .ref was generated by: ./test_decode tests/gen7-3d.batch -dump. The .sh exists because you can't supply arguments to tests using the simple automake tests driver. Something reasonable could be done using automake's parallel-tests driver (in fact, a previous version of the patch did that), but I was concerned that: 1) The parallel-tests driver is documented to be unstable -- they may change interfaces on us later. 2) The parallel-tests driver hides the output of tests in .log files scattered all over the tree, which was ugly and more painful to work with. v2: Actually add the batch files, add a .gitignore for the *-new.txt files added after failures, and fix failure mode for undetected chipset name. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> (v1)
-rw-r--r--intel/Makefile.am17
-rw-r--r--intel/test_decode.c1
-rw-r--r--intel/tests/.gitignore1
-rw-r--r--intel/tests/gen4-3d.batchbin0 -> 1952 bytes
-rw-r--r--intel/tests/gen4-3d.batch-ref.txt488
l---------intel/tests/gen4-3d.batch.sh1
-rw-r--r--intel/tests/gen5-3d.batchbin0 -> 2048 bytes
-rw-r--r--intel/tests/gen5-3d.batch-ref.txt512
l---------intel/tests/gen5-3d.batch.sh1
-rw-r--r--intel/tests/gen6-3d.batchbin0 -> 3960 bytes
-rw-r--r--intel/tests/gen6-3d.batch-ref.txt990
l---------intel/tests/gen6-3d.batch.sh1
-rw-r--r--intel/tests/gen7-3d.batchbin0 -> 4504 bytes
-rw-r--r--intel/tests/gen7-3d.batch-ref.txt1350
l---------intel/tests/gen7-3d.batch.sh1
-rw-r--r--intel/tests/gm45-3d.batchbin0 -> 1952 bytes
-rw-r--r--intel/tests/gm45-3d.batch-ref.txt488
l---------intel/tests/gm45-3d.batch.sh1
-rwxr-xr-xintel/tests/test-batch.sh20
19 files changed, 3872 insertions, 0 deletions
diff --git a/intel/Makefile.am b/intel/Makefile.am
index 2d3d8c4c..581c8c0d 100644
--- a/intel/Makefile.am
+++ b/intel/Makefile.am
@@ -57,6 +57,23 @@ libdrm_intelinclude_HEADERS = intel_bufmgr.h \
# This may be interesting even outside of "make check", due to the -dump option.
noinst_PROGRAMS = test_decode
+BATCHES = \
+ tests/gen4-3d.batch \
+ tests/gm45-3d.batch \
+ tests/gen5-3d.batch \
+ tests/gen6-3d.batch \
+ tests/gen7-3d.batch
+
+TESTS = \
+ $(BATCHES:.batch=.batch.sh)
+
+EXTRA_DIST = \
+ $(BATCHES) \
+ $(BATCHES:.batch=.batch.sh) \
+ $(BATCHES:.batch=.batch-ref.txt) \
+ $(BATCHES:.batch=.batch-ref.txt) \
+ tests/test-batch.sh
+
test_decode_LDADD = libdrm_intel.la
pkgconfig_DATA = libdrm_intel.pc
diff --git a/intel/test_decode.c b/intel/test_decode.c
index d41b0b26..c9ab7adc 100644
--- a/intel/test_decode.c
+++ b/intel/test_decode.c
@@ -144,6 +144,7 @@ infer_devid(const char *batch_filename)
{ "gen5", PCI_CHIP_ILD_G },
{ "gen6", PCI_CHIP_SANDYBRIDGE_GT2 },
{ "gen7", PCI_CHIP_IVYBRIDGE_GT2 },
+ { NULL, 0 },
};
int i;
diff --git a/intel/tests/.gitignore b/intel/tests/.gitignore
new file mode 100644
index 00000000..e9d01ecb
--- /dev/null
+++ b/intel/tests/.gitignore
@@ -0,0 +1 @@
+*-new.txt
diff --git a/intel/tests/gen4-3d.batch b/intel/tests/gen4-3d.batch
new file mode 100644
index 00000000..e6911a43
--- /dev/null
+++ b/intel/tests/gen4-3d.batch
Binary files differ
diff --git a/intel/tests/gen4-3d.batch-ref.txt b/intel/tests/gen4-3d.batch-ref.txt
new file mode 100644
index 00000000..20aa1d4e
--- /dev/null
+++ b/intel/tests/gen4-3d.batch-ref.txt
@@ -0,0 +1,488 @@
+0x12300000: 0x61040000: 3DSTATE_PIPELINE_SELECT
+0x12300004: 0x79090000: 3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP
+0x12300008: 0x00000000: dword 1
+0x1230000c: 0x61020000: STATE_SIP
+0x12300010: 0x00000000: dword 1
+0x12300014: 0x780b0000: 3DSTATE_VF_STATISTICS
+0x12300018: 0x61010004: STATE_BASE_ADDRESS
+0x1230001c: 0x00000001: general state base address 0x00000000
+0x12300020: 0x00000001: surface state base address 0x00000000
+0x12300024: 0x00000001: indirect state base address 0x00000000
+0x12300028: 0x00000001: general state upper bound disabled
+0x1230002c: 0x00000001: indirect state upper bound disabled
+0x12300030: 0x78010004: 3DSTATE_BINDING_TABLE_POINTERS
+0x12300034: 0x00007e20: VS binding table
+0x12300038: 0x00000000: GS binding table
+0x1230003c: 0x00000000: Clip binding table
+0x12300040: 0x00000000: SF binding table
+0x12300044: 0x00007e20: WM binding table
+0x12300048: 0x79010003: 3DSTATE_CONSTANT_COLOR
+0x1230004c: 0x00000000: dword 1
+0x12300050: 0x00000000: dword 2
+0x12300054: 0x00000000: dword 3
+0x12300058: 0x00000000: dword 4
+0x1230005c: 0x79050003: 3DSTATE_DEPTH_BUFFER
+0x12300060: 0x2c0805ff: 2D, z24s8, pitch = 1536 bytes, tiled
+0x12300064: 0x00000000: depth offset
+0x12300068: 0x09584ac0: 300x300
+0x1230006c: 0x00000000: volume depth
+0x12300070: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300074: 0x00007d60: VS state
+0x12300078: 0x00000000: GS state
+0x1230007c: 0x00007d21: Clip state
+0x12300080: 0x00007d80: SF state
+0x12300084: 0x00007de0: WM state
+0x12300088: 0x00007fc0: CC state
+0x1230008c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300090: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300094: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x12300098: 0x60010000: CS_URB_STATE
+0x1230009c: 0x00000024: entry_size: 2 [192 bytes], n_entries: 4
+0x123000a0: 0x79000002: 3DSTATE_DRAWING_RECTANGLE
+0x123000a4: 0x00000000: top left: 0,0
+0x123000a8: 0x012b012b: bottom right: 299,299
+0x123000ac: 0x00000000: origin: 0,0
+0x123000b0: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123000b4: 0x0000000c: buffer 0: sequential, pitch 12b
+0x123000b8: 0x00000000: buffer address
+0x123000bc: 0x00000000: max index
+0x123000c0: 0x00000000: mbz
+0x123000c4: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123000c8: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123000cc: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123000d0: 0x60020100: CONSTANT_BUFFER: valid
+0x123000d4: 0x00000001: offset: 0x00000000, length: 128 bytes
+0x123000d8: 0x7b001804: 3DPRIMITIVE: tri fan sequential
+0x123000dc: 0x00000004: vertex count
+0x123000e0: 0x00000000: start vertex
+0x123000e4: 0x00000001: instance count
+0x123000e8: 0x00000000: start instance
+0x123000ec: 0x00000000: index bias
+0x123000f0: 0x78010004: 3DSTATE_BINDING_TABLE_POINTERS
+0x123000f4: 0x00007b40: VS binding table
+0x123000f8: 0x00000000: GS binding table
+0x123000fc: 0x00000000: Clip binding table
+0x12300100: 0x00000000: SF binding table
+0x12300104: 0x00007b40: WM binding table
+0x12300108: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x1230010c: 0x00007aa0: VS state
+0x12300110: 0x00007a41: GS state
+0x12300114: 0x00007a61: Clip state
+0x12300118: 0x00007ac0: SF state
+0x1230011c: 0x00007b00: WM state
+0x12300120: 0x00007cc0: CC state
+0x12300124: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300128: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x1230012c: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x12300130: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300134: 0x0000000c: buffer 0: sequential, pitch 12b
+0x12300138: 0x00000000: buffer address
+0x1230013c: 0x00000000: max index
+0x12300140: 0x00000000: mbz
+0x12300144: 0x60020100: CONSTANT_BUFFER: valid
+0x12300148: 0x00000082: offset: 0x00000080, length: 192 bytes
+0x1230014c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300150: 0x00000052: vertex count
+0x12300154: 0x00000000: start vertex
+0x12300158: 0x00000001: instance count
+0x1230015c: 0x00000000: start instance
+0x12300160: 0x00000000: index bias
+0x12300164: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300168: 0x00007aa0: VS state
+0x1230016c: 0x00007a21: GS state
+0x12300170: 0x00007a61: Clip state
+0x12300174: 0x00007ac0: SF state
+0x12300178: 0x00007b00: WM state
+0x1230017c: 0x00007cc0: CC state
+0x12300180: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300184: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300188: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230018c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300190: 0x00000082: offset: 0x00000080, length: 192 bytes
+0x12300194: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300198: 0x00000050: vertex count
+0x1230019c: 0x00000052: start vertex
+0x123001a0: 0x00000001: instance count
+0x123001a4: 0x00000000: start instance
+0x123001a8: 0x00000000: index bias
+0x123001ac: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123001b0: 0x00007aa0: VS state
+0x123001b4: 0x00007a01: GS state
+0x123001b8: 0x00007a61: Clip state
+0x123001bc: 0x00007ac0: SF state
+0x123001c0: 0x00007b00: WM state
+0x123001c4: 0x00007cc0: CC state
+0x123001c8: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123001cc: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x123001d0: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x123001d4: 0x60020100: CONSTANT_BUFFER: valid
+0x123001d8: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x123001dc: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123001e0: 0x00000052: vertex count
+0x123001e4: 0x000000a2: start vertex
+0x123001e8: 0x00000001: instance count
+0x123001ec: 0x00000000: start instance
+0x123001f0: 0x00000000: index bias
+0x123001f4: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123001f8: 0x00007aa0: VS state
+0x123001fc: 0x000079e1: GS state
+0x12300200: 0x00007a61: Clip state
+0x12300204: 0x00007ac0: SF state
+0x12300208: 0x00007b00: WM state
+0x1230020c: 0x00007cc0: CC state
+0x12300210: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300214: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300218: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230021c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300220: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x12300224: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300228: 0x00000050: vertex count
+0x1230022c: 0x000000f4: start vertex
+0x12300230: 0x00000001: instance count
+0x12300234: 0x00000000: start instance
+0x12300238: 0x00000000: index bias
+0x1230023c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300240: 0x00007aa0: VS state
+0x12300244: 0x000079c1: GS state
+0x12300248: 0x00007a61: Clip state
+0x1230024c: 0x00007ac0: SF state
+0x12300250: 0x00007b00: WM state
+0x12300254: 0x00007cc0: CC state
+0x12300258: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230025c: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300260: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x12300264: 0x60020100: CONSTANT_BUFFER: valid
+0x12300268: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x1230026c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300270: 0x000079a0: VS state
+0x12300274: 0x000079c1: GS state
+0x12300278: 0x00007a61: Clip state
+0x1230027c: 0x00007ac0: SF state
+0x12300280: 0x00007b00: WM state
+0x12300284: 0x00007cc0: CC state
+0x12300288: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230028c: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300290: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x12300294: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300298: 0x00000018: buffer 0: sequential, pitch 24b
+0x1230029c: 0x00000f48: buffer address
+0x123002a0: 0x00000000: max index
+0x123002a4: 0x00000000: mbz
+0x123002a8: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x123002ac: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123002b0: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123002b4: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x123002b8: 0x11130004: (X, Y, Z, 1.0), dst offset 0x10 bytes
+0x123002bc: 0x60020100: CONSTANT_BUFFER: valid
+0x123002c0: 0x00000202: offset: 0x00000200, length: 192 bytes
+0x123002c4: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123002c8: 0x000000a2: vertex count
+0x123002cc: 0x00000000: start vertex
+0x123002d0: 0x00000001: instance count
+0x123002d4: 0x00000000: start instance
+0x123002d8: 0x00000000: index bias
+0x123002dc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123002e0: 0x000079a0: VS state
+0x123002e4: 0x00000000: GS state
+0x123002e8: 0x00007901: Clip state
+0x123002ec: 0x00007940: SF state
+0x123002f0: 0x00007960: WM state
+0x123002f4: 0x00007cc0: CC state
+0x123002f8: 0x00000000: MI_NOOP
+0x123002fc: 0x00000000: MI_NOOP
+0x12300300: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300304: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300308: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230030c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300310: 0x00000202: offset: 0x00000200, length: 192 bytes
+0x12300314: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x12300318: 0x0000002a: vertex count
+0x1230031c: 0x000000a2: start vertex
+0x12300320: 0x00000001: instance count
+0x12300324: 0x00000000: start instance
+0x12300328: 0x00000000: index bias
+0x1230032c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300330: 0x00007860: VS state
+0x12300334: 0x00007801: GS state
+0x12300338: 0x00007821: Clip state
+0x1230033c: 0x00007880: SF state
+0x12300340: 0x000078a0: WM state
+0x12300344: 0x00007cc0: CC state
+0x12300348: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230034c: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300350: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x12300354: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300358: 0x0000000c: buffer 0: sequential, pitch 12b
+0x1230035c: 0x00002268: buffer address
+0x12300360: 0x00000000: max index
+0x12300364: 0x00000000: mbz
+0x12300368: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x1230036c: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300370: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300374: 0x60020100: CONSTANT_BUFFER: valid
+0x12300378: 0x000002c2: offset: 0x000002c0, length: 192 bytes
+0x1230037c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300380: 0x0000002a: vertex count
+0x12300384: 0x00000000: start vertex
+0x12300388: 0x00000001: instance count
+0x1230038c: 0x00000000: start instance
+0x12300390: 0x00000000: index bias
+0x12300394: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300398: 0x00007860: VS state
+0x1230039c: 0x000077e1: GS state
+0x123003a0: 0x00007821: Clip state
+0x123003a4: 0x00007880: SF state
+0x123003a8: 0x000078a0: WM state
+0x123003ac: 0x00007cc0: CC state
+0x123003b0: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123003b4: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x123003b8: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x123003bc: 0x60020100: CONSTANT_BUFFER: valid
+0x123003c0: 0x000002c2: offset: 0x000002c0, length: 192 bytes
+0x123003c4: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x123003c8: 0x00000028: vertex count
+0x123003cc: 0x0000002a: start vertex
+0x123003d0: 0x00000001: instance count
+0x123003d4: 0x00000000: start instance
+0x123003d8: 0x00000000: index bias
+0x123003dc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123003e0: 0x00007860: VS state
+0x123003e4: 0x000077c1: GS state
+0x123003e8: 0x00007821: Clip state
+0x123003ec: 0x00007880: SF state
+0x123003f0: 0x000078a0: WM state
+0x123003f4: 0x00007cc0: CC state
+0x123003f8: 0x00000000: MI_NOOP
+0x123003fc: 0x00000000: MI_NOOP
+0x12300400: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300404: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300408: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230040c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300410: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x12300414: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300418: 0x0000002a: vertex count
+0x1230041c: 0x00000052: start vertex
+0x12300420: 0x00000001: instance count
+0x12300424: 0x00000000: start instance
+0x12300428: 0x00000000: index bias
+0x1230042c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300430: 0x00007860: VS state
+0x12300434: 0x000077a1: GS state
+0x12300438: 0x00007821: Clip state
+0x1230043c: 0x00007880: SF state
+0x12300440: 0x000078a0: WM state
+0x12300444: 0x00007cc0: CC state
+0x12300448: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230044c: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300450: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x12300454: 0x60020100: CONSTANT_BUFFER: valid
+0x12300458: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x1230045c: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300460: 0x00000028: vertex count
+0x12300464: 0x0000007c: start vertex
+0x12300468: 0x00000001: instance count
+0x1230046c: 0x00000000: start instance
+0x12300470: 0x00000000: index bias
+0x12300474: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300478: 0x00007860: VS state
+0x1230047c: 0x00007781: GS state
+0x12300480: 0x00007821: Clip state
+0x12300484: 0x00007880: SF state
+0x12300488: 0x000078a0: WM state
+0x1230048c: 0x00007cc0: CC state
+0x12300490: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300494: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300498: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230049c: 0x60020100: CONSTANT_BUFFER: valid
+0x123004a0: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x123004a4: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123004a8: 0x00007760: VS state
+0x123004ac: 0x00007781: GS state
+0x123004b0: 0x00007821: Clip state
+0x123004b4: 0x00007880: SF state
+0x123004b8: 0x000078a0: WM state
+0x123004bc: 0x00007cc0: CC state
+0x123004c0: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123004c4: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x123004c8: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x123004cc: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123004d0: 0x00000018: buffer 0: sequential, pitch 24b
+0x123004d4: 0x00002a30: buffer address
+0x123004d8: 0x00000000: max index
+0x123004dc: 0x00000000: mbz
+0x123004e0: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x123004e4: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123004e8: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123004ec: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x123004f0: 0x11130004: (X, Y, Z, 1.0), dst offset 0x10 bytes
+0x123004f4: 0x60020100: CONSTANT_BUFFER: valid
+0x123004f8: 0x00000442: offset: 0x00000440, length: 192 bytes
+0x123004fc: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300500: 0x00000052: vertex count
+0x12300504: 0x00000000: start vertex
+0x12300508: 0x00000001: instance count
+0x1230050c: 0x00000000: start instance
+0x12300510: 0x00000000: index bias
+0x12300514: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300518: 0x00007760: VS state
+0x1230051c: 0x00000000: GS state
+0x12300520: 0x000076c1: Clip state
+0x12300524: 0x00007700: SF state
+0x12300528: 0x00007720: WM state
+0x1230052c: 0x00007cc0: CC state
+0x12300530: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300534: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300538: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230053c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300540: 0x00000442: offset: 0x00000440, length: 192 bytes
+0x12300544: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x12300548: 0x00000016: vertex count
+0x1230054c: 0x00000052: start vertex
+0x12300550: 0x00000001: instance count
+0x12300554: 0x00000000: start instance
+0x12300558: 0x00000000: index bias
+0x1230055c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300560: 0x00007620: VS state
+0x12300564: 0x000075c1: GS state
+0x12300568: 0x000075e1: Clip state
+0x1230056c: 0x00007640: SF state
+0x12300570: 0x00007660: WM state
+0x12300574: 0x00007cc0: CC state
+0x12300578: 0x00000000: MI_NOOP
+0x1230057c: 0x00000000: MI_NOOP
+0x12300580: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300584: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300588: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230058c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300590: 0x0000000c: buffer 0: sequential, pitch 12b
+0x12300594: 0x000033f0: buffer address
+0x12300598: 0x00000000: max index
+0x1230059c: 0x00000000: mbz
+0x123005a0: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123005a4: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123005a8: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123005ac: 0x60020100: CONSTANT_BUFFER: valid
+0x123005b0: 0x00000502: offset: 0x00000500, length: 192 bytes
+0x123005b4: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123005b8: 0x0000002a: vertex count
+0x123005bc: 0x00000000: start vertex
+0x123005c0: 0x00000001: instance count
+0x123005c4: 0x00000000: start instance
+0x123005c8: 0x00000000: index bias
+0x123005cc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123005d0: 0x00007620: VS state
+0x123005d4: 0x000075a1: GS state
+0x123005d8: 0x000075e1: Clip state
+0x123005dc: 0x00007640: SF state
+0x123005e0: 0x00007660: WM state
+0x123005e4: 0x00007cc0: CC state
+0x123005e8: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123005ec: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x123005f0: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x123005f4: 0x60020100: CONSTANT_BUFFER: valid
+0x123005f8: 0x00000502: offset: 0x00000500, length: 192 bytes
+0x123005fc: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300600: 0x00000028: vertex count
+0x12300604: 0x0000002a: start vertex
+0x12300608: 0x00000001: instance count
+0x1230060c: 0x00000000: start instance
+0x12300610: 0x00000000: index bias
+0x12300614: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300618: 0x00007620: VS state
+0x1230061c: 0x00007581: GS state
+0x12300620: 0x000075e1: Clip state
+0x12300624: 0x00007640: SF state
+0x12300628: 0x00007660: WM state
+0x1230062c: 0x00007cc0: CC state
+0x12300630: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300634: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300638: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230063c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300640: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x12300644: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300648: 0x0000002a: vertex count
+0x1230064c: 0x00000052: start vertex
+0x12300650: 0x00000001: instance count
+0x12300654: 0x00000000: start instance
+0x12300658: 0x00000000: index bias
+0x1230065c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300660: 0x00007620: VS state
+0x12300664: 0x00007561: GS state
+0x12300668: 0x000075e1: Clip state
+0x1230066c: 0x00007640: SF state
+0x12300670: 0x00007660: WM state
+0x12300674: 0x00007cc0: CC state
+0x12300678: 0x00000000: MI_NOOP
+0x1230067c: 0x00000000: MI_NOOP
+0x12300680: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300684: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300688: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230068c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300690: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x12300694: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300698: 0x00000028: vertex count
+0x1230069c: 0x0000007c: start vertex
+0x123006a0: 0x00000001: instance count
+0x123006a4: 0x00000000: start instance
+0x123006a8: 0x00000000: index bias
+0x123006ac: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123006b0: 0x00007620: VS state
+0x123006b4: 0x00007541: GS state
+0x123006b8: 0x000075e1: Clip state
+0x123006bc: 0x00007640: SF state
+0x123006c0: 0x00007660: WM state
+0x123006c4: 0x00007cc0: CC state
+0x123006c8: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123006cc: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x123006d0: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x123006d4: 0x60020100: CONSTANT_BUFFER: valid
+0x123006d8: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x123006dc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123006e0: 0x00007520: VS state
+0x123006e4: 0x00007541: GS state
+0x123006e8: 0x000075e1: Clip state
+0x123006ec: 0x00007640: SF state
+0x123006f0: 0x00007660: WM state
+0x123006f4: 0x00007cc0: CC state
+0x123006f8: 0x00000000: MI_NOOP
+0x123006fc: 0x00000000: MI_NOOP
+0x12300700: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300704: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300708: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230070c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300710: 0x00000018: buffer 0: sequential, pitch 24b
+0x12300714: 0x00003bb8: buffer address
+0x12300718: 0x00000000: max index
+0x1230071c: 0x00000000: mbz
+0x12300720: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12300724: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300728: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x1230072c: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x12300730: 0x11130004: (X, Y, Z, 1.0), dst offset 0x10 bytes
+0x12300734: 0x60020100: CONSTANT_BUFFER: valid
+0x12300738: 0x00000682: offset: 0x00000680, length: 192 bytes
+0x1230073c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300740: 0x00000052: vertex count
+0x12300744: 0x00000000: start vertex
+0x12300748: 0x00000001: instance count
+0x1230074c: 0x00000000: start instance
+0x12300750: 0x00000000: index bias
+0x12300754: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300758: 0x00007520: VS state
+0x1230075c: 0x00000000: GS state
+0x12300760: 0x00007481: Clip state
+0x12300764: 0x000074c0: SF state
+0x12300768: 0x000074e0: WM state
+0x1230076c: 0x00007cc0: CC state
+0x12300770: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300774: 0x0320a020: vs fence: 32, clip_fence: 50, gs_fence: 40
+0x12300778: 0x10000042: sf fence: 66, vfe_fence: 0, cs_fence: 256
+0x1230077c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300780: 0x00000682: offset: 0x00000680, length: 192 bytes
+0x12300784: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x12300788: 0x00000016: vertex count
+0x1230078c: 0x00000052: start vertex
+0x12300790: 0x00000001: instance count
+0x12300794: 0x00000000: start instance
+0x12300798: 0x00000000: index bias
+0x1230079c: 0x05000000: MI_BATCH_BUFFER_END
diff --git a/intel/tests/gen4-3d.batch.sh b/intel/tests/gen4-3d.batch.sh
new file mode 120000
index 00000000..796ca5fe
--- /dev/null
+++ b/intel/tests/gen4-3d.batch.sh
@@ -0,0 +1 @@
+test-batch.sh \ No newline at end of file
diff --git a/intel/tests/gen5-3d.batch b/intel/tests/gen5-3d.batch
new file mode 100644
index 00000000..cf9d8d8e
--- /dev/null
+++ b/intel/tests/gen5-3d.batch
Binary files differ
diff --git a/intel/tests/gen5-3d.batch-ref.txt b/intel/tests/gen5-3d.batch-ref.txt
new file mode 100644
index 00000000..a0271ab7
--- /dev/null
+++ b/intel/tests/gen5-3d.batch-ref.txt
@@ -0,0 +1,512 @@
+0x12300000: 0x69040000: 3DSTATE_PIPELINE_SELECT
+0x12300004: 0x79090000: 3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP
+0x12300008: 0x00000000: dword 1
+0x1230000c: 0x61020000: STATE_SIP
+0x12300010: 0x00000000: dword 1
+0x12300014: 0x680b0000: 3DSTATE_VF_STATISTICS
+0x12300018: 0x61010006: STATE_BASE_ADDRESS
+0x1230001c: 0x00000001: general state base address 0x00000000
+0x12300020: 0x00000001: surface state base address 0x00000000
+0x12300024: 0x00000001: indirect state base address 0x00000000
+0x12300028: 0x00000001: instruction state base address 0x00000000
+0x1230002c: 0x00000001: general state upper bound disabled
+0x12300030: 0x00000001: indirect state upper bound disabled
+0x12300034: 0x00000001: instruction state upper bound disabled
+0x12300038: 0x78010004: 3DSTATE_BINDING_TABLE_POINTERS
+0x1230003c: 0x00007e20: VS binding table
+0x12300040: 0x00000000: GS binding table
+0x12300044: 0x00000000: Clip binding table
+0x12300048: 0x00000000: SF binding table
+0x1230004c: 0x00007e20: WM binding table
+0x12300050: 0x79010003: 3DSTATE_CONSTANT_COLOR
+0x12300054: 0x00000000: dword 1
+0x12300058: 0x00000000: dword 2
+0x1230005c: 0x00000000: dword 3
+0x12300060: 0x00000000: dword 4
+0x12300064: 0x79050004: 3DSTATE_DEPTH_BUFFER
+0x12300068: 0x2c0805ff: 2D, z24s8, pitch = 1536 bytes, tiled, HiZ 0, Seperate Stencil 0
+0x1230006c: 0x00000000: depth offset
+0x12300070: 0x09584ac0: 300x300
+0x12300074: 0x00000000: volume depth
+0x12300078: 0x00000000:
+0x1230007c: 0x02000000: MI_FLUSH
+0x12300080: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300084: 0x00007d60: VS state
+0x12300088: 0x00000000: GS state
+0x1230008c: 0x00007d21: Clip state
+0x12300090: 0x00007d80: SF state
+0x12300094: 0x00007de0: WM state
+0x12300098: 0x00007fc0: CC state
+0x1230009c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123000a0: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123000a4: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123000a8: 0x60010000: CS_URB_STATE
+0x123000ac: 0x00000024: entry_size: 2 [192 bytes], n_entries: 4
+0x123000b0: 0x79000002: 3DSTATE_DRAWING_RECTANGLE
+0x123000b4: 0x00000000: top left: 0,0
+0x123000b8: 0x012b012b: bottom right: 299,299
+0x123000bc: 0x00000000: origin: 0,0
+0x123000c0: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123000c4: 0x0000000c: buffer 0: sequential, pitch 12b
+0x123000c8: 0x00000000: buffer address
+0x123000cc: 0x0000ffff: max index
+0x123000d0: 0x00000000: mbz
+0x123000d4: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123000d8: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123000dc: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123000e0: 0x60020100: CONSTANT_BUFFER: valid
+0x123000e4: 0x00000001: offset: 0x00000000, length: 128 bytes
+0x123000e8: 0x7b001804: 3DPRIMITIVE: tri fan sequential
+0x123000ec: 0x00000004: vertex count
+0x123000f0: 0x00000000: start vertex
+0x123000f4: 0x00000001: instance count
+0x123000f8: 0x00000000: start instance
+0x123000fc: 0x00000000: index bias
+0x12300100: 0x78010004: 3DSTATE_BINDING_TABLE_POINTERS
+0x12300104: 0x00007b40: VS binding table
+0x12300108: 0x00000000: GS binding table
+0x1230010c: 0x00000000: Clip binding table
+0x12300110: 0x00000000: SF binding table
+0x12300114: 0x00007b40: WM binding table
+0x12300118: 0x02000000: MI_FLUSH
+0x1230011c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300120: 0x00007aa0: VS state
+0x12300124: 0x00007a41: GS state
+0x12300128: 0x00007a61: Clip state
+0x1230012c: 0x00007ac0: SF state
+0x12300130: 0x00007b00: WM state
+0x12300134: 0x00007cc0: CC state
+0x12300138: 0x00000000: MI_NOOP
+0x1230013c: 0x00000000: MI_NOOP
+0x12300140: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300144: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300148: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x1230014c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300150: 0x0000000c: buffer 0: sequential, pitch 12b
+0x12300154: 0x00000000: buffer address
+0x12300158: 0x00007fff: max index
+0x1230015c: 0x00000000: mbz
+0x12300160: 0x60020100: CONSTANT_BUFFER: valid
+0x12300164: 0x00000082: offset: 0x00000080, length: 192 bytes
+0x12300168: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x1230016c: 0x00000052: vertex count
+0x12300170: 0x00000000: start vertex
+0x12300174: 0x00000001: instance count
+0x12300178: 0x00000000: start instance
+0x1230017c: 0x00000000: index bias
+0x12300180: 0x02000000: MI_FLUSH
+0x12300184: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300188: 0x00007aa0: VS state
+0x1230018c: 0x00007a21: GS state
+0x12300190: 0x00007a61: Clip state
+0x12300194: 0x00007ac0: SF state
+0x12300198: 0x00007b00: WM state
+0x1230019c: 0x00007cc0: CC state
+0x123001a0: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123001a4: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123001a8: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123001ac: 0x60020100: CONSTANT_BUFFER: valid
+0x123001b0: 0x00000082: offset: 0x00000080, length: 192 bytes
+0x123001b4: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x123001b8: 0x00000050: vertex count
+0x123001bc: 0x00000052: start vertex
+0x123001c0: 0x00000001: instance count
+0x123001c4: 0x00000000: start instance
+0x123001c8: 0x00000000: index bias
+0x123001cc: 0x02000000: MI_FLUSH
+0x123001d0: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123001d4: 0x00007aa0: VS state
+0x123001d8: 0x00007a01: GS state
+0x123001dc: 0x00007a61: Clip state
+0x123001e0: 0x00007ac0: SF state
+0x123001e4: 0x00007b00: WM state
+0x123001e8: 0x00007cc0: CC state
+0x123001ec: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123001f0: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123001f4: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123001f8: 0x60020100: CONSTANT_BUFFER: valid
+0x123001fc: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x12300200: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300204: 0x00000052: vertex count
+0x12300208: 0x000000a2: start vertex
+0x1230020c: 0x00000001: instance count
+0x12300210: 0x00000000: start instance
+0x12300214: 0x00000000: index bias
+0x12300218: 0x02000000: MI_FLUSH
+0x1230021c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300220: 0x00007aa0: VS state
+0x12300224: 0x000079e1: GS state
+0x12300228: 0x00007a61: Clip state
+0x1230022c: 0x00007ac0: SF state
+0x12300230: 0x00007b00: WM state
+0x12300234: 0x00007cc0: CC state
+0x12300238: 0x00000000: MI_NOOP
+0x1230023c: 0x00000000: MI_NOOP
+0x12300240: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300244: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300248: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x1230024c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300250: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x12300254: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300258: 0x00000050: vertex count
+0x1230025c: 0x000000f4: start vertex
+0x12300260: 0x00000001: instance count
+0x12300264: 0x00000000: start instance
+0x12300268: 0x00000000: index bias
+0x1230026c: 0x02000000: MI_FLUSH
+0x12300270: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300274: 0x00007aa0: VS state
+0x12300278: 0x000079c1: GS state
+0x1230027c: 0x00007a61: Clip state
+0x12300280: 0x00007ac0: SF state
+0x12300284: 0x00007b00: WM state
+0x12300288: 0x00007cc0: CC state
+0x1230028c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300290: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300294: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300298: 0x60020100: CONSTANT_BUFFER: valid
+0x1230029c: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x123002a0: 0x02000000: MI_FLUSH
+0x123002a4: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123002a8: 0x000079a0: VS state
+0x123002ac: 0x000079c1: GS state
+0x123002b0: 0x00007a61: Clip state
+0x123002b4: 0x00007ac0: SF state
+0x123002b8: 0x00007b00: WM state
+0x123002bc: 0x00007cc0: CC state
+0x123002c0: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123002c4: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123002c8: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123002cc: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123002d0: 0x00000018: buffer 0: sequential, pitch 24b
+0x123002d4: 0x00000f48: buffer address
+0x123002d8: 0x00007fff: max index
+0x123002dc: 0x00000000: mbz
+0x123002e0: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x123002e4: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123002e8: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123002ec: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x123002f0: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123002f4: 0x60020100: CONSTANT_BUFFER: valid
+0x123002f8: 0x00000202: offset: 0x00000200, length: 192 bytes
+0x123002fc: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300300: 0x000000a2: vertex count
+0x12300304: 0x00000000: start vertex
+0x12300308: 0x00000001: instance count
+0x1230030c: 0x00000000: start instance
+0x12300310: 0x00000000: index bias
+0x12300314: 0x02000000: MI_FLUSH
+0x12300318: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x1230031c: 0x000079a0: VS state
+0x12300320: 0x00000000: GS state
+0x12300324: 0x00007901: Clip state
+0x12300328: 0x00007940: SF state
+0x1230032c: 0x00007960: WM state
+0x12300330: 0x00007cc0: CC state
+0x12300334: 0x00000000: MI_NOOP
+0x12300338: 0x00000000: MI_NOOP
+0x1230033c: 0x00000000: MI_NOOP
+0x12300340: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300344: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300348: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x1230034c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300350: 0x00000202: offset: 0x00000200, length: 192 bytes
+0x12300354: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x12300358: 0x0000002a: vertex count
+0x1230035c: 0x000000a2: start vertex
+0x12300360: 0x00000001: instance count
+0x12300364: 0x00000000: start instance
+0x12300368: 0x00000000: index bias
+0x1230036c: 0x02000000: MI_FLUSH
+0x12300370: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300374: 0x00007860: VS state
+0x12300378: 0x00007801: GS state
+0x1230037c: 0x00007821: Clip state
+0x12300380: 0x00007880: SF state
+0x12300384: 0x000078a0: WM state
+0x12300388: 0x00007cc0: CC state
+0x1230038c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300390: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300394: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300398: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x1230039c: 0x0000000c: buffer 0: sequential, pitch 12b
+0x123003a0: 0x00002268: buffer address
+0x123003a4: 0x00007fff: max index
+0x123003a8: 0x00000000: mbz
+0x123003ac: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123003b0: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123003b4: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123003b8: 0x60020100: CONSTANT_BUFFER: valid
+0x123003bc: 0x000002c2: offset: 0x000002c0, length: 192 bytes
+0x123003c0: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123003c4: 0x0000002a: vertex count
+0x123003c8: 0x00000000: start vertex
+0x123003cc: 0x00000001: instance count
+0x123003d0: 0x00000000: start instance
+0x123003d4: 0x00000000: index bias
+0x123003d8: 0x02000000: MI_FLUSH
+0x123003dc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123003e0: 0x00007860: VS state
+0x123003e4: 0x000077e1: GS state
+0x123003e8: 0x00007821: Clip state
+0x123003ec: 0x00007880: SF state
+0x123003f0: 0x000078a0: WM state
+0x123003f4: 0x00007cc0: CC state
+0x123003f8: 0x00000000: MI_NOOP
+0x123003fc: 0x00000000: MI_NOOP
+0x12300400: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300404: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300408: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x1230040c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300410: 0x000002c2: offset: 0x000002c0, length: 192 bytes
+0x12300414: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300418: 0x00000028: vertex count
+0x1230041c: 0x0000002a: start vertex
+0x12300420: 0x00000001: instance count
+0x12300424: 0x00000000: start instance
+0x12300428: 0x00000000: index bias
+0x1230042c: 0x02000000: MI_FLUSH
+0x12300430: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300434: 0x00007860: VS state
+0x12300438: 0x000077c1: GS state
+0x1230043c: 0x00007821: Clip state
+0x12300440: 0x00007880: SF state
+0x12300444: 0x000078a0: WM state
+0x12300448: 0x00007cc0: CC state
+0x1230044c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300450: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300454: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300458: 0x60020100: CONSTANT_BUFFER: valid
+0x1230045c: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x12300460: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300464: 0x0000002a: vertex count
+0x12300468: 0x00000052: start vertex
+0x1230046c: 0x00000001: instance count
+0x12300470: 0x00000000: start instance
+0x12300474: 0x00000000: index bias
+0x12300478: 0x02000000: MI_FLUSH
+0x1230047c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300480: 0x00007860: VS state
+0x12300484: 0x000077a1: GS state
+0x12300488: 0x00007821: Clip state
+0x1230048c: 0x00007880: SF state
+0x12300490: 0x000078a0: WM state
+0x12300494: 0x00007cc0: CC state
+0x12300498: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230049c: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123004a0: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123004a4: 0x60020100: CONSTANT_BUFFER: valid
+0x123004a8: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x123004ac: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x123004b0: 0x00000028: vertex count
+0x123004b4: 0x0000007c: start vertex
+0x123004b8: 0x00000001: instance count
+0x123004bc: 0x00000000: start instance
+0x123004c0: 0x00000000: index bias
+0x123004c4: 0x02000000: MI_FLUSH
+0x123004c8: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123004cc: 0x00007860: VS state
+0x123004d0: 0x00007781: GS state
+0x123004d4: 0x00007821: Clip state
+0x123004d8: 0x00007880: SF state
+0x123004dc: 0x000078a0: WM state
+0x123004e0: 0x00007cc0: CC state
+0x123004e4: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123004e8: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123004ec: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123004f0: 0x60020100: CONSTANT_BUFFER: valid
+0x123004f4: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x123004f8: 0x02000000: MI_FLUSH
+0x123004fc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300500: 0x00007760: VS state
+0x12300504: 0x00007781: GS state
+0x12300508: 0x00007821: Clip state
+0x1230050c: 0x00007880: SF state
+0x12300510: 0x000078a0: WM state
+0x12300514: 0x00007cc0: CC state
+0x12300518: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230051c: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300520: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300524: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300528: 0x00000018: buffer 0: sequential, pitch 24b
+0x1230052c: 0x00002a30: buffer address
+0x12300530: 0x00007fff: max index
+0x12300534: 0x00000000: mbz
+0x12300538: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x1230053c: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300540: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300544: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x12300548: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x1230054c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300550: 0x00000442: offset: 0x00000440, length: 192 bytes
+0x12300554: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300558: 0x00000052: vertex count
+0x1230055c: 0x00000000: start vertex
+0x12300560: 0x00000001: instance count
+0x12300564: 0x00000000: start instance
+0x12300568: 0x00000000: index bias
+0x1230056c: 0x02000000: MI_FLUSH
+0x12300570: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300574: 0x00007760: VS state
+0x12300578: 0x00000000: GS state
+0x1230057c: 0x000076c1: Clip state
+0x12300580: 0x00007700: SF state
+0x12300584: 0x00007720: WM state
+0x12300588: 0x00007cc0: CC state
+0x1230058c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300590: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300594: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300598: 0x60020100: CONSTANT_BUFFER: valid
+0x1230059c: 0x00000442: offset: 0x00000440, length: 192 bytes
+0x123005a0: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x123005a4: 0x00000016: vertex count
+0x123005a8: 0x00000052: start vertex
+0x123005ac: 0x00000001: instance count
+0x123005b0: 0x00000000: start instance
+0x123005b4: 0x00000000: index bias
+0x123005b8: 0x02000000: MI_FLUSH
+0x123005bc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123005c0: 0x00007620: VS state
+0x123005c4: 0x000075c1: GS state
+0x123005c8: 0x000075e1: Clip state
+0x123005cc: 0x00007640: SF state
+0x123005d0: 0x00007660: WM state
+0x123005d4: 0x00007cc0: CC state
+0x123005d8: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123005dc: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123005e0: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123005e4: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123005e8: 0x0000000c: buffer 0: sequential, pitch 12b
+0x123005ec: 0x000033f0: buffer address
+0x123005f0: 0x00007fff: max index
+0x123005f4: 0x00000000: mbz
+0x123005f8: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123005fc: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300600: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300604: 0x60020100: CONSTANT_BUFFER: valid
+0x12300608: 0x00000502: offset: 0x00000500, length: 192 bytes
+0x1230060c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300610: 0x0000002a: vertex count
+0x12300614: 0x00000000: start vertex
+0x12300618: 0x00000001: instance count
+0x1230061c: 0x00000000: start instance
+0x12300620: 0x00000000: index bias
+0x12300624: 0x02000000: MI_FLUSH
+0x12300628: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x1230062c: 0x00007620: VS state
+0x12300630: 0x000075a1: GS state
+0x12300634: 0x000075e1: Clip state
+0x12300638: 0x00007640: SF state
+0x1230063c: 0x00007660: WM state
+0x12300640: 0x00007cc0: CC state
+0x12300644: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300648: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x1230064c: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300650: 0x60020100: CONSTANT_BUFFER: valid
+0x12300654: 0x00000502: offset: 0x00000500, length: 192 bytes
+0x12300658: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x1230065c: 0x00000028: vertex count
+0x12300660: 0x0000002a: start vertex
+0x12300664: 0x00000001: instance count
+0x12300668: 0x00000000: start instance
+0x1230066c: 0x00000000: index bias
+0x12300670: 0x02000000: MI_FLUSH
+0x12300674: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300678: 0x00007620: VS state
+0x1230067c: 0x00007581: GS state
+0x12300680: 0x000075e1: Clip state
+0x12300684: 0x00007640: SF state
+0x12300688: 0x00007660: WM state
+0x1230068c: 0x00007cc0: CC state
+0x12300690: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300694: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300698: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x1230069c: 0x60020100: CONSTANT_BUFFER: valid
+0x123006a0: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x123006a4: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123006a8: 0x0000002a: vertex count
+0x123006ac: 0x00000052: start vertex
+0x123006b0: 0x00000001: instance count
+0x123006b4: 0x00000000: start instance
+0x123006b8: 0x00000000: index bias
+0x123006bc: 0x02000000: MI_FLUSH
+0x123006c0: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123006c4: 0x00007620: VS state
+0x123006c8: 0x00007561: GS state
+0x123006cc: 0x000075e1: Clip state
+0x123006d0: 0x00007640: SF state
+0x123006d4: 0x00007660: WM state
+0x123006d8: 0x00007cc0: CC state
+0x123006dc: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123006e0: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123006e4: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123006e8: 0x60020100: CONSTANT_BUFFER: valid
+0x123006ec: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x123006f0: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x123006f4: 0x00000028: vertex count
+0x123006f8: 0x0000007c: start vertex
+0x123006fc: 0x00000001: instance count
+0x12300700: 0x00000000: start instance
+0x12300704: 0x00000000: index bias
+0x12300708: 0x02000000: MI_FLUSH
+0x1230070c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300710: 0x00007620: VS state
+0x12300714: 0x00007541: GS state
+0x12300718: 0x000075e1: Clip state
+0x1230071c: 0x00007640: SF state
+0x12300720: 0x00007660: WM state
+0x12300724: 0x00007cc0: CC state
+0x12300728: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230072c: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300730: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300734: 0x60020100: CONSTANT_BUFFER: valid
+0x12300738: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x1230073c: 0x02000000: MI_FLUSH
+0x12300740: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300744: 0x00007520: VS state
+0x12300748: 0x00007541: GS state
+0x1230074c: 0x000075e1: Clip state
+0x12300750: 0x00007640: SF state
+0x12300754: 0x00007660: WM state
+0x12300758: 0x00007cc0: CC state
+0x1230075c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300760: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x12300764: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x12300768: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x1230076c: 0x00000018: buffer 0: sequential, pitch 24b
+0x12300770: 0x00003bb8: buffer address
+0x12300774: 0x00007fff: max index
+0x12300778: 0x00000000: mbz
+0x1230077c: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12300780: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300784: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300788: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x1230078c: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300790: 0x60020100: CONSTANT_BUFFER: valid
+0x12300794: 0x00000682: offset: 0x00000680, length: 192 bytes
+0x12300798: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x1230079c: 0x00000052: vertex count
+0x123007a0: 0x00000000: start vertex
+0x123007a4: 0x00000001: instance count
+0x123007a8: 0x00000000: start instance
+0x123007ac: 0x00000000: index bias
+0x123007b0: 0x02000000: MI_FLUSH
+0x123007b4: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123007b8: 0x00007520: VS state
+0x123007bc: 0x00000000: GS state
+0x123007c0: 0x00007481: Clip state
+0x123007c4: 0x000074c0: SF state
+0x123007c8: 0x000074e0: WM state
+0x123007cc: 0x00007cc0: CC state
+0x123007d0: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123007d4: 0x12444100: vs fence: 256, clip_fence: 292, gs_fence: 272
+0x123007d8: 0x40000184: sf fence: 388, vfe_fence: 0, cs_fence: 1024
+0x123007dc: 0x60020100: CONSTANT_BUFFER: valid
+0x123007e0: 0x00000682: offset: 0x00000680, length: 192 bytes
+0x123007e4: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x123007e8: 0x00000016: vertex count
+0x123007ec: 0x00000052: start vertex
+0x123007f0: 0x00000001: instance count
+0x123007f4: 0x00000000: start instance
+0x123007f8: 0x00000000: index bias
+0x123007fc: 0x05000000: MI_BATCH_BUFFER_END
diff --git a/intel/tests/gen5-3d.batch.sh b/intel/tests/gen5-3d.batch.sh
new file mode 120000
index 00000000..796ca5fe
--- /dev/null
+++ b/intel/tests/gen5-3d.batch.sh
@@ -0,0 +1 @@
+test-batch.sh \ No newline at end of file
diff --git a/intel/tests/gen6-3d.batch b/intel/tests/gen6-3d.batch
new file mode 100644
index 00000000..d57147e9
--- /dev/null
+++ b/intel/tests/gen6-3d.batch
Binary files differ
diff --git a/intel/tests/gen6-3d.batch-ref.txt b/intel/tests/gen6-3d.batch-ref.txt
new file mode 100644
index 00000000..9499ed16
--- /dev/null
+++ b/intel/tests/gen6-3d.batch-ref.txt
@@ -0,0 +1,990 @@
+0x12300000: 0x7a000002: PIPE_CONTROL
+0x12300004: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300008: 0x00000000:
+0x1230000c: 0x00000000:
+0x12300010: 0x7a000002: PIPE_CONTROL
+0x12300014: 0x00004000: qword write,
+0x12300018: 0x00000000:
+0x1230001c: 0x00000000:
+0x12300020: 0x69040000: 3DSTATE_PIPELINE_SELECT
+0x12300024: 0x790d0001: 3DSTATE_MULTISAMPLE
+0x12300028: 0x00000000: dword 1
+0x1230002c: 0x00000000: dword 2
+0x12300030: 0x78180000: 3DSTATE_SAMPLE_MASK
+0x12300034: 0x00000001: dword 1
+0x12300038: 0x790b0002: 3DSTATE_GS_SVB_INDEX
+0x1230003c: 0x00000000: dword 1
+0x12300040: 0x00000000: dword 2
+0x12300044: 0xffffffff: dword 3
+0x12300048: 0x790b0002: 3DSTATE_GS_SVB_INDEX
+0x1230004c: 0x20000000: dword 1
+0x12300050: 0x00000000: dword 2
+0x12300054: 0xffffffff: dword 3
+0x12300058: 0x790b0002: 3DSTATE_GS_SVB_INDEX
+0x1230005c: 0x40000000: dword 1
+0x12300060: 0x00000000: dword 2
+0x12300064: 0xffffffff: dword 3
+0x12300068: 0x790b0002: 3DSTATE_GS_SVB_INDEX
+0x1230006c: 0x60000000: dword 1
+0x12300070: 0x00000000: dword 2
+0x12300074: 0xffffffff: dword 3
+0x12300078: 0x61020000: STATE_SIP
+0x1230007c: 0x00000000: dword 1
+0x12300080: 0x680b0000: 3DSTATE_VF_STATISTICS
+0x12300084: 0x61010008: STATE_BASE_ADDRESS
+0x12300088: 0x00000001: general state base address 0x00000000
+0x1230008c: 0x00000001: surface state base address 0x00000000
+0x12300090: 0x00000001: dynamic state base address 0x00000000
+0x12300094: 0x00000001: indirect state base address 0x00000000
+0x12300098: 0x00000001: instruction state base address 0x00000000
+0x1230009c: 0x00000001: general state upper bound disabled
+0x123000a0: 0x00000001: dynamic state upper bound disabled
+0x123000a4: 0x00000001: indirect state upper bound disabled
+0x123000a8: 0x00000001: instruction state upper bound disabled
+0x123000ac: 0x780d1c02: 3DSTATE_VIEWPORT_STATE_POINTERS
+0x123000b0: 0x00007fe0: clip
+0x123000b4: 0x00007fc0: sf
+0x123000b8: 0x00007fa0: cc
+0x123000bc: 0x78050001: 3DSTATE_URB
+0x123000c0: 0x00000100: VS entries 256, alloc size 1 (1024bit row)
+0x123000c4: 0x00000000: GS entries 0, alloc size 1 (1024bit row)
+0x123000c8: 0x780e0002: 3DSTATE_CC_STATE_POINTERS
+0x123000cc: 0x00007f81: blend change 1
+0x123000d0: 0x00007f01: depth stencil change 1
+0x123000d4: 0x00007f41: cc change 1
+0x123000d8: 0x78021302: 3DSTATE_SAMPLER_STATE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x123000dc: 0x00000000: VS sampler state
+0x123000e0: 0x00000000: GS sampler state
+0x123000e4: 0x00000000: WM sampler state
+0x123000e8: 0x78150003: 3DSTATE_CONSTANT_VS_STATE
+0x123000ec: 0x00000000: dword 1
+0x123000f0: 0x00000000: dword 2
+0x123000f4: 0x00000000: dword 3
+0x123000f8: 0x00000000: dword 4
+0x123000fc: 0x78100004: 3DSTATE_VS
+0x12300100: 0x00000000: kernel pointer
+0x12300104: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300108: 0x00000000: scratch offset
+0x1230010c: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300110: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300114: 0x7a000002: PIPE_CONTROL
+0x12300118: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x1230011c: 0x00000000:
+0x12300120: 0x00000000:
+0x12300124: 0x78160003: 3DSTATE_CONSTANT_GS_STATE
+0x12300128: 0x00000000: dword 1
+0x1230012c: 0x00000000: dword 2
+0x12300130: 0x00000000: dword 3
+0x12300134: 0x00000000: dword 4
+0x12300138: 0x78110005: 3DSTATE_GS
+0x1230013c: 0x00000000: kernel pointer
+0x12300140: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300144: 0x00000000: scratch offset
+0x12300148: 0x00000001: Dispatch GRF start 1, VUE read length 0, VUE read offset 0
+0x1230014c: 0x00000500: Max Threads 1, Rendering enable
+0x12300150: 0x00000000: Reorder disable, Discard Adjaceny disable, GS disable
+0x12300154: 0x78120002: 3DSTATE_CLIP
+0x12300158: 0x00000400: UserClip distance cull test mask 0x0
+0x1230015c: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300160: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300164: 0x78130012: 3DSTATE_SF
+0x12300168: 0x00200810: Attrib Out 0, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x1230016c: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300170: 0x22000000: AA disable, CullMode 1, Scissor disable, Multisample m ode 0
+0x12300174: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300178: 0x00000000: Global Depth Offset Constant 0.000000
+0x1230017c: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300180: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300184: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300188: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230018c: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300190: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300194: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300198: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230019c: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123001a0: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123001a4: 0x00000000: Point Sprite TexCoord Enable
+0x123001a8: 0x00000000: Const Interp Enable
+0x123001ac: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x123001b0: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x123001b4: 0x78171003: 3DSTATE_CONSTANT_PS_STATE
+0x123001b8: 0x00007ee0: dword 1
+0x123001bc: 0x00000000: dword 2
+0x123001c0: 0x00000000: dword 3
+0x123001c4: 0x00000000: dword 4
+0x123001c8: 0x78140007: 3DSTATE_WM
+0x123001cc: 0x000000c0: kernel start pointer 0
+0x123001d0: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123001d4: 0x00000000: scratch offset
+0x123001d8: 0x80020002: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 2, start[1] 0, start[2] 2
+0x123001dc: 0x4e084003: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 1
+0x123001e0: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x123001e4: 0x00000000: kernel start pointer 1
+0x123001e8: 0x00000140: kernel start pointer 2
+0x123001ec: 0x780f0000: 3DSTATE_SCISSOR_POINTERS
+0x123001f0: 0x00007d20: scissor rect offset
+0x123001f4: 0x78011302: 3DSTATE_BINDING_TABLE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x123001f8: 0x00007d40: VS binding table
+0x123001fc: 0x00007d40: GS binding table
+0x12300200: 0x00007d40: WM binding table
+0x12300204: 0x7a000002: PIPE_CONTROL
+0x12300208: 0x00002000: no write, depth stall,
+0x1230020c: 0x00000000:
+0x12300210: 0x00000000:
+0x12300214: 0x7a000002: PIPE_CONTROL
+0x12300218: 0x00000001: no write, depth cache flush,
+0x1230021c: 0x00000000:
+0x12300220: 0x00000000:
+0x12300224: 0x7a000002: PIPE_CONTROL
+0x12300228: 0x00002000: no write, depth stall,
+0x1230022c: 0x00000000:
+0x12300230: 0x00000000:
+0x12300234: 0x79050005: 3DSTATE_DEPTH_BUFFER
+0x12300238: 0x2c6c05ff: 2D, unknown, pitch = 1536 bytes, tiled, HiZ 1, Seperate Stencil 1
+0x1230023c: 0x00000000: depth offset
+0x12300240: 0x09584ac0: 300x300
+0x12300244: 0x00000000: volume depth
+0x12300248: 0x00000000:
+0x1230024c: 0x00000000:
+0x12300250: 0x790f0001: 3D UNKNOWN: 3d_965 opcode = 0x790f
+0x12300254: 0x000005ff: MI_NOOP
+0x12300258: 0x00000000: MI_NOOP
+0x1230025c: 0x790e0001: 3D UNKNOWN: 3d_965 opcode = 0x790e
+0x12300260: 0x0000027f: MI_NOOP
+0x12300264: 0x00000000: MI_NOOP
+0x12300268: 0x79100000: 3DSTATE_CLEAR_PARAMS
+0x1230026c: 0x00000000: dword 1
+0x12300270: 0x79000002: 3DSTATE_DRAWING_RECTANGLE
+0x12300274: 0x00000000: top left: 0,0
+0x12300278: 0x012b012b: bottom right: 299,299
+0x1230027c: 0x00000000: origin: 0,0
+0x12300280: 0x790b0002: 3DSTATE_GS_SVB_INDEX
+0x12300284: 0x00000000: dword 1
+0x12300288: 0x00000000: dword 2
+0x1230028c: 0x00000000: dword 3
+0x12300290: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300294: 0x0000000c: buffer 0: sequential, pitch 12b
+0x12300298: 0x00000000: buffer address
+0x1230029c: 0x0000ffff: max index
+0x123002a0: 0x00000000: mbz
+0x123002a4: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123002a8: 0x02400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123002ac: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123002b0: 0x7b001804: 3DPRIMITIVE: tri fan sequential
+0x123002b4: 0x00000004: vertex count
+0x123002b8: 0x00000000: start vertex
+0x123002bc: 0x00000001: instance count
+0x123002c0: 0x00000000: start instance
+0x123002c4: 0x00000000: index bias
+0x123002c8: 0x78050001: 3DSTATE_URB
+0x123002cc: 0x00000100: VS entries 256, alloc size 1 (1024bit row)
+0x123002d0: 0x00000000: GS entries 0, alloc size 1 (1024bit row)
+0x123002d4: 0x780e0002: 3DSTATE_CC_STATE_POINTERS
+0x123002d8: 0x00007f81: blend change 1
+0x123002dc: 0x00007cc1: depth stencil change 1
+0x123002e0: 0x00007d01: cc change 1
+0x123002e4: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x123002e8: 0x00007b85: dword 1
+0x123002ec: 0x00000000: dword 2
+0x123002f0: 0x00000000: dword 3
+0x123002f4: 0x00000000: dword 4
+0x123002f8: 0x78100004: 3DSTATE_VS
+0x123002fc: 0x00000240: kernel pointer
+0x12300300: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300304: 0x00000000: scratch offset
+0x12300308: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x1230030c: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300310: 0x7a000002: PIPE_CONTROL
+0x12300314: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300318: 0x00000000:
+0x1230031c: 0x00000000:
+0x12300320: 0x7a000002: PIPE_CONTROL
+0x12300324: 0x00004000: qword write,
+0x12300328: 0x00000000:
+0x1230032c: 0x00000000:
+0x12300330: 0x7a000002: PIPE_CONTROL
+0x12300334: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300338: 0x00000000:
+0x1230033c: 0x00000000:
+0x12300340: 0x78120002: 3DSTATE_CLIP
+0x12300344: 0x00000400: UserClip distance cull test mask 0x0
+0x12300348: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x1230034c: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300350: 0x78130012: 3DSTATE_SF
+0x12300354: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300358: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x1230035c: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x12300360: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300364: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300368: 0x00000000: Global Depth Offset Scale 0.000000
+0x1230036c: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300370: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300374: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300378: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230037c: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300380: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300384: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300388: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230038c: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300390: 0x00000000: Point Sprite TexCoord Enable
+0x12300394: 0x00000001: Const Interp Enable
+0x12300398: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x1230039c: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x123003a0: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x123003a4: 0x00000000: dword 1
+0x123003a8: 0x00000000: dword 2
+0x123003ac: 0x00000000: dword 3
+0x123003b0: 0x00000000: dword 4
+0x123003b4: 0x78140007: 3DSTATE_WM
+0x123003b8: 0x00000500: kernel start pointer 0
+0x123003bc: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123003c0: 0x00000000: scratch offset
+0x123003c4: 0x80020000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 2, start[1] 0, start[2] 0
+0x123003c8: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x123003cc: 0x00100000: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x123003d0: 0x00000000: kernel start pointer 1
+0x123003d4: 0x00000500: kernel start pointer 2
+0x123003d8: 0x78011302: 3DSTATE_BINDING_TABLE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x123003dc: 0x00007a00: VS binding table
+0x123003e0: 0x00007a00: GS binding table
+0x123003e4: 0x00007a00: WM binding table
+0x123003e8: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123003ec: 0x0000000c: buffer 0: sequential, pitch 12b
+0x123003f0: 0x00000000: buffer address
+0x123003f4: 0x00007fff: max index
+0x123003f8: 0x00000000: mbz
+0x123003fc: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300400: 0x00000052: vertex count
+0x12300404: 0x00000000: start vertex
+0x12300408: 0x00000001: instance count
+0x1230040c: 0x00000000: start instance
+0x12300410: 0x00000000: index bias
+0x12300414: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300418: 0x00000050: vertex count
+0x1230041c: 0x00000052: start vertex
+0x12300420: 0x00000001: instance count
+0x12300424: 0x00000000: start instance
+0x12300428: 0x00000000: index bias
+0x1230042c: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300430: 0x000078c5: dword 1
+0x12300434: 0x00000000: dword 2
+0x12300438: 0x00000000: dword 3
+0x1230043c: 0x00000000: dword 4
+0x12300440: 0x78100004: 3DSTATE_VS
+0x12300444: 0x00000240: kernel pointer
+0x12300448: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x1230044c: 0x00000000: scratch offset
+0x12300450: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300454: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300458: 0x7a000002: PIPE_CONTROL
+0x1230045c: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300460: 0x00000000:
+0x12300464: 0x00000000:
+0x12300468: 0x7a000002: PIPE_CONTROL
+0x1230046c: 0x00004000: qword write,
+0x12300470: 0x00000000:
+0x12300474: 0x00000000:
+0x12300478: 0x7a000002: PIPE_CONTROL
+0x1230047c: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300480: 0x00000000:
+0x12300484: 0x00000000:
+0x12300488: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x1230048c: 0x00000000: dword 1
+0x12300490: 0x00000000: dword 2
+0x12300494: 0x00000000: dword 3
+0x12300498: 0x00000000: dword 4
+0x1230049c: 0x78140007: 3DSTATE_WM
+0x123004a0: 0x00000500: kernel start pointer 0
+0x123004a4: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123004a8: 0x00000000: scratch offset
+0x123004ac: 0x80020000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 2, start[1] 0, start[2] 0
+0x123004b0: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x123004b4: 0x00100000: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x123004b8: 0x00000000: kernel start pointer 1
+0x123004bc: 0x00000500: kernel start pointer 2
+0x123004c0: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123004c4: 0x00000052: vertex count
+0x123004c8: 0x000000a2: start vertex
+0x123004cc: 0x00000001: instance count
+0x123004d0: 0x00000000: start instance
+0x123004d4: 0x00000000: index bias
+0x123004d8: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x123004dc: 0x00000050: vertex count
+0x123004e0: 0x000000f4: start vertex
+0x123004e4: 0x00000001: instance count
+0x123004e8: 0x00000000: start instance
+0x123004ec: 0x00000000: index bias
+0x123004f0: 0x78050001: 3DSTATE_URB
+0x123004f4: 0x00000100: VS entries 256, alloc size 1 (1024bit row)
+0x123004f8: 0x00000000: GS entries 0, alloc size 1 (1024bit row)
+0x123004fc: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300500: 0x00007785: dword 1
+0x12300504: 0x00000000: dword 2
+0x12300508: 0x00000000: dword 3
+0x1230050c: 0x00000000: dword 4
+0x12300510: 0x78100004: 3DSTATE_VS
+0x12300514: 0x00000640: kernel pointer
+0x12300518: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x1230051c: 0x00000000: scratch offset
+0x12300520: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300524: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300528: 0x7a000002: PIPE_CONTROL
+0x1230052c: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300530: 0x00000000:
+0x12300534: 0x00000000:
+0x12300538: 0x7a000002: PIPE_CONTROL
+0x1230053c: 0x00004000: qword write,
+0x12300540: 0x00000000:
+0x12300544: 0x00000000:
+0x12300548: 0x7a000002: PIPE_CONTROL
+0x1230054c: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300550: 0x00000000:
+0x12300554: 0x00000000:
+0x12300558: 0x78130012: 3DSTATE_SF
+0x1230055c: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300560: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300564: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x12300568: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x1230056c: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300570: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300574: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300578: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230057c: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300580: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300584: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300588: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230058c: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300590: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300594: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300598: 0x00000000: Point Sprite TexCoord Enable
+0x1230059c: 0x00000001: Const Interp Enable
+0x123005a0: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x123005a4: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x123005a8: 0x78011302: 3DSTATE_BINDING_TABLE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x123005ac: 0x00007600: VS binding table
+0x123005b0: 0x00007600: GS binding table
+0x123005b4: 0x00007600: WM binding table
+0x123005b8: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123005bc: 0x00000018: buffer 0: sequential, pitch 24b
+0x123005c0: 0x00000f48: buffer address
+0x123005c4: 0x00007fff: max index
+0x123005c8: 0x00000000: mbz
+0x123005cc: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x123005d0: 0x02400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123005d4: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123005d8: 0x0240000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x123005dc: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123005e0: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123005e4: 0x000000a2: vertex count
+0x123005e8: 0x00000000: start vertex
+0x123005ec: 0x00000001: instance count
+0x123005f0: 0x00000000: start instance
+0x123005f4: 0x00000000: index bias
+0x123005f8: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x123005fc: 0x000074c5: dword 1
+0x12300600: 0x00000000: dword 2
+0x12300604: 0x00000000: dword 3
+0x12300608: 0x00000000: dword 4
+0x1230060c: 0x78100004: 3DSTATE_VS
+0x12300610: 0x00000640: kernel pointer
+0x12300614: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300618: 0x00000000: scratch offset
+0x1230061c: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300620: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300624: 0x7a000002: PIPE_CONTROL
+0x12300628: 0x00100002: no write, cs stall, stall at scoreboard,
+0x1230062c: 0x00000000:
+0x12300630: 0x00000000:
+0x12300634: 0x7a000002: PIPE_CONTROL
+0x12300638: 0x00004000: qword write,
+0x1230063c: 0x00000000:
+0x12300640: 0x00000000:
+0x12300644: 0x7a000002: PIPE_CONTROL
+0x12300648: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x1230064c: 0x00000000:
+0x12300650: 0x00000000:
+0x12300654: 0x78120002: 3DSTATE_CLIP
+0x12300658: 0x00000400: UserClip distance cull test mask 0x0
+0x1230065c: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300660: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300664: 0x78130012: 3DSTATE_SF
+0x12300668: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x1230066c: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300670: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x12300674: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300678: 0x00000000: Global Depth Offset Constant 0.000000
+0x1230067c: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300680: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300684: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300688: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230068c: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300690: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300694: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300698: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230069c: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123006a0: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123006a4: 0x00000000: Point Sprite TexCoord Enable
+0x123006a8: 0x00000000: Const Interp Enable
+0x123006ac: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x123006b0: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x123006b4: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x123006b8: 0x00000000: dword 1
+0x123006bc: 0x00000000: dword 2
+0x123006c0: 0x00000000: dword 3
+0x123006c4: 0x00000000: dword 4
+0x123006c8: 0x78140007: 3DSTATE_WM
+0x123006cc: 0x00000900: kernel start pointer 0
+0x123006d0: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123006d4: 0x00000000: scratch offset
+0x123006d8: 0x80060000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 6, start[1] 0, start[2] 0
+0x123006dc: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x123006e0: 0x00100400: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x1, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x123006e4: 0x00000000: kernel start pointer 1
+0x123006e8: 0x00000900: kernel start pointer 2
+0x123006ec: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123006f0: 0x0000002a: vertex count
+0x123006f4: 0x000000a2: start vertex
+0x123006f8: 0x00000001: instance count
+0x123006fc: 0x00000000: start instance
+0x12300700: 0x00000000: index bias
+0x12300704: 0x78050001: 3DSTATE_URB
+0x12300708: 0x00000100: VS entries 256, alloc size 1 (1024bit row)
+0x1230070c: 0x00000000: GS entries 0, alloc size 1 (1024bit row)
+0x12300710: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300714: 0x00007385: dword 1
+0x12300718: 0x00000000: dword 2
+0x1230071c: 0x00000000: dword 3
+0x12300720: 0x00000000: dword 4
+0x12300724: 0x78100004: 3DSTATE_VS
+0x12300728: 0x00000240: kernel pointer
+0x1230072c: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300730: 0x00000000: scratch offset
+0x12300734: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300738: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x1230073c: 0x7a000002: PIPE_CONTROL
+0x12300740: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300744: 0x00000000:
+0x12300748: 0x00000000:
+0x1230074c: 0x7a000002: PIPE_CONTROL
+0x12300750: 0x00004000: qword write,
+0x12300754: 0x00000000:
+0x12300758: 0x00000000:
+0x1230075c: 0x7a000002: PIPE_CONTROL
+0x12300760: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300764: 0x00000000:
+0x12300768: 0x00000000:
+0x1230076c: 0x78120002: 3DSTATE_CLIP
+0x12300770: 0x00000400: UserClip distance cull test mask 0x0
+0x12300774: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300778: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x1230077c: 0x78130012: 3DSTATE_SF
+0x12300780: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300784: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300788: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x1230078c: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300790: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300794: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300798: 0x00000000: Global Depth Offset Clamp 0.000000
+0x1230079c: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007a0: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007a4: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007a8: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007ac: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007b0: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007b4: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007b8: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007bc: 0x00000000: Point Sprite TexCoord Enable
+0x123007c0: 0x00000001: Const Interp Enable
+0x123007c4: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x123007c8: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x123007cc: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x123007d0: 0x00000000: dword 1
+0x123007d4: 0x00000000: dword 2
+0x123007d8: 0x00000000: dword 3
+0x123007dc: 0x00000000: dword 4
+0x123007e0: 0x78140007: 3DSTATE_WM
+0x123007e4: 0x00000500: kernel start pointer 0
+0x123007e8: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123007ec: 0x00000000: scratch offset
+0x123007f0: 0x80020000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 2, start[1] 0, start[2] 0
+0x123007f4: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x123007f8: 0x00100000: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x123007fc: 0x00000000: kernel start pointer 1
+0x12300800: 0x00000500: kernel start pointer 2
+0x12300804: 0x78011302: 3DSTATE_BINDING_TABLE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x12300808: 0x00007200: VS binding table
+0x1230080c: 0x00007200: GS binding table
+0x12300810: 0x00007200: WM binding table
+0x12300814: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300818: 0x0000000c: buffer 0: sequential, pitch 12b
+0x1230081c: 0x00002268: buffer address
+0x12300820: 0x00007fff: max index
+0x12300824: 0x00000000: mbz
+0x12300828: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x1230082c: 0x02400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300830: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300834: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300838: 0x0000002a: vertex count
+0x1230083c: 0x00000000: start vertex
+0x12300840: 0x00000001: instance count
+0x12300844: 0x00000000: start instance
+0x12300848: 0x00000000: index bias
+0x1230084c: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300850: 0x00000028: vertex count
+0x12300854: 0x0000002a: start vertex
+0x12300858: 0x00000001: instance count
+0x1230085c: 0x00000000: start instance
+0x12300860: 0x00000000: index bias
+0x12300864: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300868: 0x000070c5: dword 1
+0x1230086c: 0x00000000: dword 2
+0x12300870: 0x00000000: dword 3
+0x12300874: 0x00000000: dword 4
+0x12300878: 0x78100004: 3DSTATE_VS
+0x1230087c: 0x00000240: kernel pointer
+0x12300880: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300884: 0x00000000: scratch offset
+0x12300888: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x1230088c: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300890: 0x7a000002: PIPE_CONTROL
+0x12300894: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300898: 0x00000000:
+0x1230089c: 0x00000000:
+0x123008a0: 0x7a000002: PIPE_CONTROL
+0x123008a4: 0x00004000: qword write,
+0x123008a8: 0x00000000:
+0x123008ac: 0x00000000:
+0x123008b0: 0x7a000002: PIPE_CONTROL
+0x123008b4: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x123008b8: 0x00000000:
+0x123008bc: 0x00000000:
+0x123008c0: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x123008c4: 0x00000000: dword 1
+0x123008c8: 0x00000000: dword 2
+0x123008cc: 0x00000000: dword 3
+0x123008d0: 0x00000000: dword 4
+0x123008d4: 0x78140007: 3DSTATE_WM
+0x123008d8: 0x00000500: kernel start pointer 0
+0x123008dc: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123008e0: 0x00000000: scratch offset
+0x123008e4: 0x80020000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 2, start[1] 0, start[2] 0
+0x123008e8: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x123008ec: 0x00100000: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x123008f0: 0x00000000: kernel start pointer 1
+0x123008f4: 0x00000500: kernel start pointer 2
+0x123008f8: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123008fc: 0x0000002a: vertex count
+0x12300900: 0x00000052: start vertex
+0x12300904: 0x00000001: instance count
+0x12300908: 0x00000000: start instance
+0x1230090c: 0x00000000: index bias
+0x12300910: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300914: 0x00000028: vertex count
+0x12300918: 0x0000007c: start vertex
+0x1230091c: 0x00000001: instance count
+0x12300920: 0x00000000: start instance
+0x12300924: 0x00000000: index bias
+0x12300928: 0x78050001: 3DSTATE_URB
+0x1230092c: 0x00000100: VS entries 256, alloc size 1 (1024bit row)
+0x12300930: 0x00000000: GS entries 0, alloc size 1 (1024bit row)
+0x12300934: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300938: 0x00006f85: dword 1
+0x1230093c: 0x00000000: dword 2
+0x12300940: 0x00000000: dword 3
+0x12300944: 0x00000000: dword 4
+0x12300948: 0x78100004: 3DSTATE_VS
+0x1230094c: 0x00000640: kernel pointer
+0x12300950: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300954: 0x00000000: scratch offset
+0x12300958: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x1230095c: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300960: 0x7a000002: PIPE_CONTROL
+0x12300964: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300968: 0x00000000:
+0x1230096c: 0x00000000:
+0x12300970: 0x7a000002: PIPE_CONTROL
+0x12300974: 0x00004000: qword write,
+0x12300978: 0x00000000:
+0x1230097c: 0x00000000:
+0x12300980: 0x7a000002: PIPE_CONTROL
+0x12300984: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300988: 0x00000000:
+0x1230098c: 0x00000000:
+0x12300990: 0x78130012: 3DSTATE_SF
+0x12300994: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300998: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x1230099c: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x123009a0: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x123009a4: 0x00000000: Global Depth Offset Constant 0.000000
+0x123009a8: 0x00000000: Global Depth Offset Scale 0.000000
+0x123009ac: 0x00000000: Global Depth Offset Clamp 0.000000
+0x123009b0: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009b4: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009b8: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009bc: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009c0: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009c4: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009c8: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009cc: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123009d0: 0x00000000: Point Sprite TexCoord Enable
+0x123009d4: 0x00000001: Const Interp Enable
+0x123009d8: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x123009dc: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x123009e0: 0x78011302: 3DSTATE_BINDING_TABLE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x123009e4: 0x00006e00: VS binding table
+0x123009e8: 0x00006e00: GS binding table
+0x123009ec: 0x00006e00: WM binding table
+0x123009f0: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123009f4: 0x00000018: buffer 0: sequential, pitch 24b
+0x123009f8: 0x00002a30: buffer address
+0x123009fc: 0x00007fff: max index
+0x12300a00: 0x00000000: mbz
+0x12300a04: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12300a08: 0x02400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300a0c: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300a10: 0x0240000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x12300a14: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300a18: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300a1c: 0x00000052: vertex count
+0x12300a20: 0x00000000: start vertex
+0x12300a24: 0x00000001: instance count
+0x12300a28: 0x00000000: start instance
+0x12300a2c: 0x00000000: index bias
+0x12300a30: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300a34: 0x00006cc5: dword 1
+0x12300a38: 0x00000000: dword 2
+0x12300a3c: 0x00000000: dword 3
+0x12300a40: 0x00000000: dword 4
+0x12300a44: 0x78100004: 3DSTATE_VS
+0x12300a48: 0x00000640: kernel pointer
+0x12300a4c: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300a50: 0x00000000: scratch offset
+0x12300a54: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300a58: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300a5c: 0x7a000002: PIPE_CONTROL
+0x12300a60: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300a64: 0x00000000:
+0x12300a68: 0x00000000:
+0x12300a6c: 0x7a000002: PIPE_CONTROL
+0x12300a70: 0x00004000: qword write,
+0x12300a74: 0x00000000:
+0x12300a78: 0x00000000:
+0x12300a7c: 0x7a000002: PIPE_CONTROL
+0x12300a80: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300a84: 0x00000000:
+0x12300a88: 0x00000000:
+0x12300a8c: 0x78120002: 3DSTATE_CLIP
+0x12300a90: 0x00000400: UserClip distance cull test mask 0x0
+0x12300a94: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300a98: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300a9c: 0x78130012: 3DSTATE_SF
+0x12300aa0: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300aa4: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300aa8: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x12300aac: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300ab0: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300ab4: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300ab8: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300abc: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ac0: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ac4: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ac8: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300acc: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ad0: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ad4: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ad8: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300adc: 0x00000000: Point Sprite TexCoord Enable
+0x12300ae0: 0x00000000: Const Interp Enable
+0x12300ae4: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300ae8: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x12300aec: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x12300af0: 0x00000000: dword 1
+0x12300af4: 0x00000000: dword 2
+0x12300af8: 0x00000000: dword 3
+0x12300afc: 0x00000000: dword 4
+0x12300b00: 0x78140007: 3DSTATE_WM
+0x12300b04: 0x00000900: kernel start pointer 0
+0x12300b08: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300b0c: 0x00000000: scratch offset
+0x12300b10: 0x80060000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 6, start[1] 0, start[2] 0
+0x12300b14: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x12300b18: 0x00100400: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x1, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300b1c: 0x00000000: kernel start pointer 1
+0x12300b20: 0x00000900: kernel start pointer 2
+0x12300b24: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300b28: 0x00000016: vertex count
+0x12300b2c: 0x00000052: start vertex
+0x12300b30: 0x00000001: instance count
+0x12300b34: 0x00000000: start instance
+0x12300b38: 0x00000000: index bias
+0x12300b3c: 0x78050001: 3DSTATE_URB
+0x12300b40: 0x00000100: VS entries 256, alloc size 1 (1024bit row)
+0x12300b44: 0x00000000: GS entries 0, alloc size 1 (1024bit row)
+0x12300b48: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300b4c: 0x00006b85: dword 1
+0x12300b50: 0x00000000: dword 2
+0x12300b54: 0x00000000: dword 3
+0x12300b58: 0x00000000: dword 4
+0x12300b5c: 0x78100004: 3DSTATE_VS
+0x12300b60: 0x00000240: kernel pointer
+0x12300b64: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300b68: 0x00000000: scratch offset
+0x12300b6c: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300b70: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300b74: 0x7a000002: PIPE_CONTROL
+0x12300b78: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300b7c: 0x00000000:
+0x12300b80: 0x00000000:
+0x12300b84: 0x7a000002: PIPE_CONTROL
+0x12300b88: 0x00004000: qword write,
+0x12300b8c: 0x00000000:
+0x12300b90: 0x00000000:
+0x12300b94: 0x7a000002: PIPE_CONTROL
+0x12300b98: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300b9c: 0x00000000:
+0x12300ba0: 0x00000000:
+0x12300ba4: 0x78120002: 3DSTATE_CLIP
+0x12300ba8: 0x00000400: UserClip distance cull test mask 0x0
+0x12300bac: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300bb0: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300bb4: 0x78130012: 3DSTATE_SF
+0x12300bb8: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300bbc: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300bc0: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x12300bc4: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300bc8: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300bcc: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300bd0: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300bd4: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300bd8: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300bdc: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300be0: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300be4: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300be8: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300bec: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300bf0: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300bf4: 0x00000000: Point Sprite TexCoord Enable
+0x12300bf8: 0x00000001: Const Interp Enable
+0x12300bfc: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300c00: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x12300c04: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x12300c08: 0x00000000: dword 1
+0x12300c0c: 0x00000000: dword 2
+0x12300c10: 0x00000000: dword 3
+0x12300c14: 0x00000000: dword 4
+0x12300c18: 0x78140007: 3DSTATE_WM
+0x12300c1c: 0x00000500: kernel start pointer 0
+0x12300c20: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300c24: 0x00000000: scratch offset
+0x12300c28: 0x80020000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 2, start[1] 0, start[2] 0
+0x12300c2c: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x12300c30: 0x00100000: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300c34: 0x00000000: kernel start pointer 1
+0x12300c38: 0x00000500: kernel start pointer 2
+0x12300c3c: 0x78011302: 3DSTATE_BINDING_TABLE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x12300c40: 0x00006a00: VS binding table
+0x12300c44: 0x00006a00: GS binding table
+0x12300c48: 0x00006a00: WM binding table
+0x12300c4c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300c50: 0x0000000c: buffer 0: sequential, pitch 12b
+0x12300c54: 0x000033f0: buffer address
+0x12300c58: 0x00007fff: max index
+0x12300c5c: 0x00000000: mbz
+0x12300c60: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x12300c64: 0x02400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300c68: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300c6c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300c70: 0x0000002a: vertex count
+0x12300c74: 0x00000000: start vertex
+0x12300c78: 0x00000001: instance count
+0x12300c7c: 0x00000000: start instance
+0x12300c80: 0x00000000: index bias
+0x12300c84: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300c88: 0x00000028: vertex count
+0x12300c8c: 0x0000002a: start vertex
+0x12300c90: 0x00000001: instance count
+0x12300c94: 0x00000000: start instance
+0x12300c98: 0x00000000: index bias
+0x12300c9c: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300ca0: 0x000068c5: dword 1
+0x12300ca4: 0x00000000: dword 2
+0x12300ca8: 0x00000000: dword 3
+0x12300cac: 0x00000000: dword 4
+0x12300cb0: 0x78100004: 3DSTATE_VS
+0x12300cb4: 0x00000240: kernel pointer
+0x12300cb8: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300cbc: 0x00000000: scratch offset
+0x12300cc0: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300cc4: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300cc8: 0x7a000002: PIPE_CONTROL
+0x12300ccc: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300cd0: 0x00000000:
+0x12300cd4: 0x00000000:
+0x12300cd8: 0x7a000002: PIPE_CONTROL
+0x12300cdc: 0x00004000: qword write,
+0x12300ce0: 0x00000000:
+0x12300ce4: 0x00000000:
+0x12300ce8: 0x7a000002: PIPE_CONTROL
+0x12300cec: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300cf0: 0x00000000:
+0x12300cf4: 0x00000000:
+0x12300cf8: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x12300cfc: 0x00000000: dword 1
+0x12300d00: 0x00000000: dword 2
+0x12300d04: 0x00000000: dword 3
+0x12300d08: 0x00000000: dword 4
+0x12300d0c: 0x78140007: 3DSTATE_WM
+0x12300d10: 0x00000500: kernel start pointer 0
+0x12300d14: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300d18: 0x00000000: scratch offset
+0x12300d1c: 0x80020000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 2, start[1] 0, start[2] 0
+0x12300d20: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x12300d24: 0x00100000: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300d28: 0x00000000: kernel start pointer 1
+0x12300d2c: 0x00000500: kernel start pointer 2
+0x12300d30: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300d34: 0x0000002a: vertex count
+0x12300d38: 0x00000052: start vertex
+0x12300d3c: 0x00000001: instance count
+0x12300d40: 0x00000000: start instance
+0x12300d44: 0x00000000: index bias
+0x12300d48: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300d4c: 0x00000028: vertex count
+0x12300d50: 0x0000007c: start vertex
+0x12300d54: 0x00000001: instance count
+0x12300d58: 0x00000000: start instance
+0x12300d5c: 0x00000000: index bias
+0x12300d60: 0x78050001: 3DSTATE_URB
+0x12300d64: 0x00000100: VS entries 256, alloc size 1 (1024bit row)
+0x12300d68: 0x00000000: GS entries 0, alloc size 1 (1024bit row)
+0x12300d6c: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300d70: 0x00006785: dword 1
+0x12300d74: 0x00000000: dword 2
+0x12300d78: 0x00000000: dword 3
+0x12300d7c: 0x00000000: dword 4
+0x12300d80: 0x78100004: 3DSTATE_VS
+0x12300d84: 0x00000640: kernel pointer
+0x12300d88: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300d8c: 0x00000000: scratch offset
+0x12300d90: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300d94: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300d98: 0x7a000002: PIPE_CONTROL
+0x12300d9c: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300da0: 0x00000000:
+0x12300da4: 0x00000000:
+0x12300da8: 0x7a000002: PIPE_CONTROL
+0x12300dac: 0x00004000: qword write,
+0x12300db0: 0x00000000:
+0x12300db4: 0x00000000:
+0x12300db8: 0x7a000002: PIPE_CONTROL
+0x12300dbc: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300dc0: 0x00000000:
+0x12300dc4: 0x00000000:
+0x12300dc8: 0x78130012: 3DSTATE_SF
+0x12300dcc: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300dd0: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300dd4: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x12300dd8: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300ddc: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300de0: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300de4: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300de8: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300dec: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300df0: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300df4: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300df8: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300dfc: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300e00: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300e04: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300e08: 0x00000000: Point Sprite TexCoord Enable
+0x12300e0c: 0x00000001: Const Interp Enable
+0x12300e10: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300e14: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x12300e18: 0x78011302: 3DSTATE_BINDING_TABLE_POINTERS: VS mod 1, GS mod 1, PS mod 1
+0x12300e1c: 0x00006600: VS binding table
+0x12300e20: 0x00006600: GS binding table
+0x12300e24: 0x00006600: WM binding table
+0x12300e28: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300e2c: 0x00000018: buffer 0: sequential, pitch 24b
+0x12300e30: 0x00003bb8: buffer address
+0x12300e34: 0x00007fff: max index
+0x12300e38: 0x00000000: mbz
+0x12300e3c: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12300e40: 0x02400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300e44: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300e48: 0x0240000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x12300e4c: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300e50: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300e54: 0x00000052: vertex count
+0x12300e58: 0x00000000: start vertex
+0x12300e5c: 0x00000001: instance count
+0x12300e60: 0x00000000: start instance
+0x12300e64: 0x00000000: index bias
+0x12300e68: 0x78151003: 3DSTATE_CONSTANT_VS_STATE
+0x12300e6c: 0x000064c5: dword 1
+0x12300e70: 0x00000000: dword 2
+0x12300e74: 0x00000000: dword 3
+0x12300e78: 0x00000000: dword 4
+0x12300e7c: 0x78100004: 3DSTATE_VS
+0x12300e80: 0x00000640: kernel pointer
+0x12300e84: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300e88: 0x00000000: scratch offset
+0x12300e8c: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300e90: 0x76000401: Max Threads 60, Vertex Cache enable, VS func enable
+0x12300e94: 0x7a000002: PIPE_CONTROL
+0x12300e98: 0x00100002: no write, cs stall, stall at scoreboard,
+0x12300e9c: 0x00000000:
+0x12300ea0: 0x00000000:
+0x12300ea4: 0x7a000002: PIPE_CONTROL
+0x12300ea8: 0x00004000: qword write,
+0x12300eac: 0x00000000:
+0x12300eb0: 0x00000000:
+0x12300eb4: 0x7a000002: PIPE_CONTROL
+0x12300eb8: 0x00002804: no write, depth stall, instruction cache invalidate, state cache invalidate,
+0x12300ebc: 0x00000000:
+0x12300ec0: 0x00000000:
+0x12300ec4: 0x78120002: 3DSTATE_CLIP
+0x12300ec8: 0x00000400: UserClip distance cull test mask 0x0
+0x12300ecc: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300ed0: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300ed4: 0x78130012: 3DSTATE_SF
+0x12300ed8: 0x00600810: Attrib Out 1, Attrib Swizzle enable, VUE read length 1, VUE read offset 1
+0x12300edc: 0x00000403: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform enable, FrontWinding_CCW
+0x12300ee0: 0x62000000: AA disable, CullMode 3, Scissor disable, Multisample m ode 0
+0x12300ee4: 0x4c000808: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 1
+0x12300ee8: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300eec: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300ef0: 0x00000000: Global Depth Offset Clamp 0.000000
+0x12300ef4: 0x00000000: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ef8: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300efc: 0x00000000: Attrib 5 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300f00: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300f04: 0x00000000: Attrib 9 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300f08: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300f0c: 0x00000000: Attrib 13 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300f10: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300f14: 0x00000000: Point Sprite TexCoord Enable
+0x12300f18: 0x00000000: Const Interp Enable
+0x12300f1c: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300f20: 0x00000000: Attrib 15-8 WrapShortest Enable
+0x12300f24: 0x78170003: 3DSTATE_CONSTANT_PS_STATE
+0x12300f28: 0x00000000: dword 1
+0x12300f2c: 0x00000000: dword 2
+0x12300f30: 0x00000000: dword 3
+0x12300f34: 0x00000000: dword 4
+0x12300f38: 0x78140007: 3DSTATE_WM
+0x12300f3c: 0x00000900: kernel start pointer 0
+0x12300f40: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300f44: 0x00000000: scratch offset
+0x12300f48: 0x80060000: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 6, start[1] 0, start[2] 0
+0x12300f4c: 0x4e084002: MaxThreads 40, PS KillPixel 0, PS computed Z 0, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 1, Dispatch8 0
+0x12300f50: 0x00100400: Num SF output 1, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x1, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300f54: 0x00000000: kernel start pointer 1
+0x12300f58: 0x00000900: kernel start pointer 2
+0x12300f5c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300f60: 0x00000016: vertex count
+0x12300f64: 0x00000052: start vertex
+0x12300f68: 0x00000001: instance count
+0x12300f6c: 0x00000000: start instance
+0x12300f70: 0x00000000: index bias
+0x12300f74: 0x05000000: MI_BATCH_BUFFER_END
diff --git a/intel/tests/gen6-3d.batch.sh b/intel/tests/gen6-3d.batch.sh
new file mode 120000
index 00000000..796ca5fe
--- /dev/null
+++ b/intel/tests/gen6-3d.batch.sh
@@ -0,0 +1 @@
+test-batch.sh \ No newline at end of file
diff --git a/intel/tests/gen7-3d.batch b/intel/tests/gen7-3d.batch
new file mode 100644
index 00000000..ee448650
--- /dev/null
+++ b/intel/tests/gen7-3d.batch
Binary files differ
diff --git a/intel/tests/gen7-3d.batch-ref.txt b/intel/tests/gen7-3d.batch-ref.txt
new file mode 100644
index 00000000..c710a789
--- /dev/null
+++ b/intel/tests/gen7-3d.batch-ref.txt
@@ -0,0 +1,1350 @@
+0x12300000: 0x69040000: 3DSTATE_PIPELINE_SELECT
+0x12300004: 0x790d0002: 3DSTATE_MULTISAMPLE
+Bad count in 3DSTATE_MULTISAMPLE
+0x12300008: 0x00000000: dword 1
+0x1230000c: 0x00000000: dword 2
+0x12300010: 0x00000000: dword 3
+0x12300014: 0x78180000: 3DSTATE_SAMPLE_MASK
+0x12300018: 0x00000001: dword 1
+0x1230001c: 0x61020000: STATE_SIP
+0x12300020: 0x00000000: dword 1
+0x12300024: 0x680b0000: 3DSTATE_VF_STATISTICS
+0x12300028: 0x61010008: STATE_BASE_ADDRESS
+0x1230002c: 0x00000001: general state base address 0x00000000
+0x12300030: 0x0b59b001: surface state base address 0x0b59b000
+0x12300034: 0x0b59b001: dynamic state base address 0x0b59b000
+0x12300038: 0x00000001: indirect state base address 0x00000000
+0x1230003c: 0x0b59a001: instruction state base address 0x0b59a000
+0x12300040: 0x00000001: general state upper bound disabled
+0x12300044: 0x00000001: dynamic state upper bound disabled
+0x12300048: 0x00000001: indirect state upper bound disabled
+0x1230004c: 0x00000001: instruction state upper bound disabled
+0x12300050: 0x78230000: 3D UNKNOWN: 3d_965 opcode = 0x7823
+0x12300054: 0x00007fe0: MI_NOOP
+0x12300058: 0x78210000: 3D UNKNOWN: 3d_965 opcode = 0x7821
+0x1230005c: 0x00007fc0: MI_NOOP
+0x12300060: 0x79120000: 3D UNKNOWN: 3d_965 opcode = 0x7912
+0x12300064: 0x00000008: MI_NOOP
+0x12300068: 0x79160000: 3D UNKNOWN: 3d_965 opcode = 0x7916
+0x1230006c: 0x00080008: MI_NOOP
+0x12300070: 0x78300000: 3D UNKNOWN: 3d_965 opcode = 0x7830
+0x12300074: 0x040002c0: MI_ARB_ON_OFF
+0x12300078: 0x78330000: 3D UNKNOWN: 3d_965 opcode = 0x7833
+0x1230007c: 0x04000000: MI_ARB_ON_OFF
+0x12300080: 0x78310000: 3D UNKNOWN: 3d_965 opcode = 0x7831
+0x12300084: 0x04000000: MI_ARB_ON_OFF
+0x12300088: 0x78320000: 3D UNKNOWN: 3d_965 opcode = 0x7832
+0x1230008c: 0x04000000: MI_ARB_ON_OFF
+0x12300090: 0x78240000: 3D UNKNOWN: 3d_965 opcode = 0x7824
+0x12300094: 0x00007f81: MI_NOOP
+Bad count in 3DSTATE_CC_STATE_POINTERS
+0x12300098: 0x780e0000: 3DSTATE_CC_STATE_POINTERS
+0x1230009c: 0x00007f41: blend change 1
+0x123000a0: 0x78250000: depth stencil change 0
+0x123000a4: 0x00007f01: cc change 1
+0x123000a0: 0x78250000: 3D UNKNOWN: 3d_965 opcode = 0x7825
+0x123000a4: 0x00007f01: MI_NOOP
+0x123000a8: 0x78160005: 3DSTATE_CONSTANT_GS_STATE
+Bad count in 3DSTATE_CONSTANT_GS_STATE
+0x123000ac: 0x00000000: dword 1
+0x123000b0: 0x00000000: dword 2
+0x123000b4: 0x00000000: dword 3
+0x123000b8: 0x00000000: dword 4
+0x123000bc: 0x00000000: dword 5
+0x123000c0: 0x00000000: dword 6
+0x123000c4: 0x78110005: 3DSTATE_GS
+0x123000c8: 0x00000000: kernel pointer
+0x123000cc: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123000d0: 0x00000000: scratch offset
+0x123000d4: 0x00000401: Dispatch GRF start 1, VUE read length 0, VUE read offset 0
+0x123000d8: 0x00000400: Max Threads 1, Rendering disable
+0x123000dc: 0x00000000: Reorder disable, Discard Adjaceny disable, GS disable
+0x123000e0: 0x78290000: 3D UNKNOWN: 3d_965 opcode = 0x7829
+0x123000e4: 0x00000000: MI_NOOP
+0x123000e8: 0x78190005: 3D UNKNOWN: 3d_965 opcode = 0x7819
+0x123000ec: 0x00000000: MI_NOOP
+0x123000f0: 0x00000000: MI_NOOP
+0x123000f4: 0x00000000: MI_NOOP
+0x123000f8: 0x00000000: MI_NOOP
+0x123000fc: 0x00000000: MI_NOOP
+0x12300100: 0x00000000: MI_NOOP
+0x12300104: 0x781b0005: 3D UNKNOWN: 3d_965 opcode = 0x781b
+0x12300108: 0x00000000: MI_NOOP
+0x1230010c: 0x00000000: MI_NOOP
+0x12300110: 0x00000000: MI_NOOP
+0x12300114: 0x00000000: MI_NOOP
+0x12300118: 0x00000000: MI_NOOP
+0x1230011c: 0x00000000: MI_NOOP
+0x12300120: 0x78270000: 3D UNKNOWN: 3d_965 opcode = 0x7827
+0x12300124: 0x00000000: MI_NOOP
+0x12300128: 0x781c0002: 3D UNKNOWN: 3d_965 opcode = 0x781c
+0x1230012c: 0x00000000: MI_NOOP
+0x12300130: 0x00000000: MI_NOOP
+0x12300134: 0x00000000: MI_NOOP
+0x12300138: 0x781a0005: 3D UNKNOWN: 3d_965 opcode = 0x781a
+0x1230013c: 0x00000000: MI_NOOP
+0x12300140: 0x00000000: MI_NOOP
+0x12300144: 0x00000000: MI_NOOP
+0x12300148: 0x00000000: MI_NOOP
+0x1230014c: 0x00000000: MI_NOOP
+0x12300150: 0x00000000: MI_NOOP
+0x12300154: 0x781d0004: 3D UNKNOWN: 3d_965 opcode = 0x781d
+0x12300158: 0x00000000: MI_NOOP
+0x1230015c: 0x00000000: MI_NOOP
+0x12300160: 0x00000000: MI_NOOP
+0x12300164: 0x00000000: MI_NOOP
+0x12300168: 0x00000000: MI_NOOP
+0x1230016c: 0x78280000: 3D UNKNOWN: 3d_965 opcode = 0x7828
+0x12300170: 0x00000000: MI_NOOP
+0x12300174: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300178: 0x00007d40: MI_NOOP
+0x1230017c: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300180: 0x00000000: MI_NOOP
+0x12300184: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300188: 0x00000000: dword 1
+0x1230018c: 0x00000000: dword 2
+0x12300190: 0x00000000: dword 3
+0x12300194: 0x00000000: dword 4
+0x12300198: 0x00000000: dword 5
+0x1230019c: 0x00000000: dword 6
+0x123001a0: 0x78100004: 3DSTATE_VS
+0x123001a4: 0x00000000: kernel pointer
+0x123001a8: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123001ac: 0x00000000: scratch offset
+0x123001b0: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x123001b4: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x123001b8: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x123001bc: 0x00000000: MI_NOOP
+0x123001c0: 0x00000000: MI_NOOP
+0x123001c4: 0x78120002: 3DSTATE_CLIP
+0x123001c8: 0x00150400: UserClip distance cull test mask 0x0
+0x123001cc: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x123001d0: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x123001d4: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x123001d8: 0x00200810: MI_NOOP
+0x123001dc: 0x022d85e0: MI_FLUSH
+0x123001e0: 0x00000000: MI_NOOP
+0x123001e4: 0x00000000: MI_NOOP
+0x123001e8: 0x00000000: MI_NOOP
+0x123001ec: 0x022bba40: MI_FLUSH
+0x123001f0: 0x00000000: MI_NOOP
+0x123001f4: 0x00000000: MI_NOOP
+0x123001f8: 0x00000000: MI_NOOP
+0x123001fc: 0x00000000: MI_NOOP
+0x12300200: 0x00000000: MI_NOOP
+0x12300204: 0x00000000: MI_NOOP
+0x12300208: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x1230020c: 0x78130005: 3DSTATE_SF
+0x12300210: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x12300214: 0x22000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x12300218: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x1230021c: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12300220: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300224: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300228: 0x78140001: Global Depth Offset Clamp 12007187723301828176357047660445696.000000
+0x1230022c: 0xa0000040: Attrib 1 (Override WY, Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 1, Source 0)
+0x12300230: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300234: 0x782a0000: Attrib 5 (Override ZYX, Const Source 0, Swizzle Select 0, Source 10); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300238: 0x00007d40: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override ZYX, Const Source 2, Swizzle Select 1, Source 0)
+0x1230023c: 0x782f0000: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 15); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300240: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300244: 0x78170005: Attrib 13 (Override ZYX, Const Source 0, Swizzle Select 0, Source 23); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 5)
+0x12300248: 0x00000001: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 1)
+0x1230024c: 0x00000000: Point Sprite TexCoord Enable
+0x12300250: 0x00007ee0: Const Interp Enable
+0x12300254: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300258: 0x00000000: Attrib 15-8 WrapShortest Enable
+Bad count in 3DSTATE_WM
+0x12300228: 0x78140001: 3DSTATE_WM
+0x1230022c: 0xa0000040: kernel start pointer 0
+0x12300230: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300234: 0x782a0000: scratch offset
+0x12300238: 0x00007d40: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 0, start[1] 125, start[2] 64
+0x1230023c: 0x782f0000: MaxThreads 61, PS KillPixel 0, PS computed Z 1, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 0, Dispatch8 0
+0x12300240: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300244: 0x78170005: kernel start pointer 1
+0x12300248: 0x00000001: kernel start pointer 2
+0x12300234: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x12300238: 0x00007d40: MI_NOOP
+0x1230023c: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300240: 0x00000000: MI_NOOP
+0x12300244: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12300248: 0x00000001: dword 1
+0x1230024c: 0x00000000: dword 2
+0x12300250: 0x00007ee0: dword 3
+0x12300254: 0x00000000: dword 4
+0x12300258: 0x00000000: dword 5
+0x1230025c: 0x00000000: dword 6
+0x12300260: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x12300264: 0x00000100: MI_NOOP
+0x12300268: 0x00000000: MI_NOOP
+0x1230026c: 0x00000000: MI_NOOP
+0x12300270: 0x55000801: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x12300274: 0x00020000: dword 1
+0x12300278: 0x00000000: dword 2
+0x1230027c: 0x00000180: MI_NOOP
+0x12300280: 0x780f0000: 3DSTATE_SCISSOR_POINTERS
+0x12300284: 0x00007d20: scissor rect offset
+0x12300288: 0x7a000002: PIPE_CONTROL
+0x1230028c: 0x00002000: no write, depth stall,
+0x12300290: 0x00000000:
+0x12300294: 0x00000000:
+0x12300298: 0x7a000002: PIPE_CONTROL
+0x1230029c: 0x00000001: no write, depth cache flush,
+0x123002a0: 0x00000000:
+0x123002a4: 0x00000000:
+0x123002a8: 0x7a000002: PIPE_CONTROL
+0x123002ac: 0x00002000: no write, depth stall,
+0x123002b0: 0x00000000:
+0x123002b4: 0x00000000:
+Bad count in 3DSTATE_URB
+0x123002b8: 0x78050005: 3DSTATE_URB
+0x123002bc: 0x380c05ff: VS entries 1535, alloc size 13 (1024bit row)
+0x123002c0: 0x167f9000: GS entries 912, alloc size 1 (1024bit row)
+0x123002d4: 0x78070002: 3D UNKNOWN: 3d_965 opcode = 0x7807
+0x123002d8: 0x00000000: MI_NOOP
+0x123002dc: 0x00000000: MI_NOOP
+0x123002e0: 0x00000000: MI_NOOP
+0x123002e4: 0x78060001: 3D UNKNOWN: 3d_965 opcode = 0x7806
+0x123002e8: 0x0000027f: MI_NOOP
+0x123002ec: 0x17b65000: MI UNKNOWN
+0x123002f0: 0x78040001: 3D UNKNOWN: 3d_965 opcode = 0x7804
+0x123002f4: 0x00000000: MI_NOOP
+0x123002f8: 0x00000000: MI_NOOP
+0x123002fc: 0x79000002: 3DSTATE_DRAWING_RECTANGLE
+0x12300300: 0x00000000: top left: 0,0
+0x12300304: 0x012b012b: bottom right: 299,299
+0x12300308: 0x00000000: origin: 0,0
+0x1230030c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300310: 0x0000400c: buffer 0: sequential, pitch 12b
+0x12300314: 0x16879000: buffer address
+0x12300318: 0x16888fff: max index
+0x1230031c: 0x00000000: mbz
+0x12300320: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x12300324: 0x02400000: buffer 0: invalid, type 0x0040, src offset 0x0000 bytes
+0x12300328: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+Bad count in 3DPRIMITIVE
+0x1230032c: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300330: 0x00000006: vertex count
+0x12300334: 0x00000004: start vertex
+0x12300338: 0x00000000: instance count
+0x1230033c: 0x00000001: start instance
+0x12300340: 0x00000000: index bias
+0x12300348: 0x79120000: 3D UNKNOWN: 3d_965 opcode = 0x7912
+0x1230034c: 0x00000008: MI_NOOP
+0x12300350: 0x79160000: 3D UNKNOWN: 3d_965 opcode = 0x7916
+0x12300354: 0x00080008: MI_NOOP
+0x12300358: 0x78300000: 3D UNKNOWN: 3d_965 opcode = 0x7830
+0x1230035c: 0x040002c0: MI_ARB_ON_OFF
+0x12300360: 0x78330000: 3D UNKNOWN: 3d_965 opcode = 0x7833
+0x12300364: 0x04000000: MI_ARB_ON_OFF
+0x12300368: 0x78310000: 3D UNKNOWN: 3d_965 opcode = 0x7831
+0x1230036c: 0x04000000: MI_ARB_ON_OFF
+0x12300370: 0x78320000: 3D UNKNOWN: 3d_965 opcode = 0x7832
+0x12300374: 0x04000000: MI_ARB_ON_OFF
+Bad count in 3DSTATE_CC_STATE_POINTERS
+0x12300378: 0x780e0000: 3DSTATE_CC_STATE_POINTERS
+0x1230037c: 0x00007d01: blend change 1
+0x12300380: 0x78250000: depth stencil change 0
+0x12300384: 0x00007cc1: cc change 1
+0x12300380: 0x78250000: 3D UNKNOWN: 3d_965 opcode = 0x7825
+0x12300384: 0x00007cc1: MI_NOOP
+0x12300388: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x1230038c: 0x00007a00: MI_NOOP
+0x12300390: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300394: 0x00000000: MI_NOOP
+0x12300398: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x1230039c: 0x00000006: dword 1
+0x123003a0: 0x00000000: dword 2
+0x123003a4: 0x00007b80: dword 3
+0x123003a8: 0x00000000: dword 4
+0x123003ac: 0x00000000: dword 5
+0x123003b0: 0x00000000: dword 6
+0x123003b4: 0x78100004: 3DSTATE_VS
+0x123003b8: 0x00000280: kernel pointer
+0x123003bc: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123003c0: 0x00000000: scratch offset
+0x123003c4: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x123003c8: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x123003cc: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x123003d0: 0x00000000: MI_NOOP
+0x123003d4: 0x00000000: MI_NOOP
+0x123003d8: 0x78120002: 3DSTATE_CLIP
+0x123003dc: 0x00170400: UserClip distance cull test mask 0x0
+0x123003e0: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x123003e4: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x123003e8: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x123003ec: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x123003f0: 0x02380000: MI_FLUSH
+0x123003f4: 0x00000000: MI_NOOP
+0x123003f8: 0xea9de040: UNKNOWN
+0x123003fc: 0x00007f93: MI_NOOP
+0x12300400: 0x02279b80: MI_FLUSH
+0x12300404: 0x00000000: MI_NOOP
+0x12300408: 0x00000000: MI_NOOP
+0x1230040c: 0x00000000: MI_NOOP
+0x12300410: 0x00000000: MI_NOOP
+0x12300414: 0x00000001: MI_NOOP
+0x12300418: 0x00000000: MI_NOOP
+0x1230041c: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x12300420: 0x78130005: 3DSTATE_SF
+0x12300424: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x12300428: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x1230042c: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x12300430: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12300434: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300438: 0x00000000: Global Depth Offset Scale 0.000000
+0x1230043c: 0x78140001: Global Depth Offset Clamp 12007187723301828176357047660445696.000000
+0x12300440: 0xa0000040: Attrib 1 (Override WY, Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 1, Source 0)
+0x12300444: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300448: 0x782a0000: Attrib 5 (Override ZYX, Const Source 0, Swizzle Select 0, Source 10); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230044c: 0x00007a00: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override ZYX, Const Source 1, Swizzle Select 0, Source 0)
+0x12300450: 0x782f0000: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 15); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300454: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300458: 0x78170005: Attrib 13 (Override ZYX, Const Source 0, Swizzle Select 0, Source 23); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 5)
+0x1230045c: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300460: 0x00000000: Point Sprite TexCoord Enable
+0x12300464: 0x00000000: Const Interp Enable
+0x12300468: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x1230046c: 0x00000000: Attrib 15-8 WrapShortest Enable
+Bad count in 3DSTATE_WM
+0x1230043c: 0x78140001: 3DSTATE_WM
+0x12300440: 0xa0000040: kernel start pointer 0
+0x12300444: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300448: 0x782a0000: scratch offset
+0x1230044c: 0x00007a00: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 0, start[1] 122, start[2] 0
+0x12300450: 0x782f0000: MaxThreads 61, PS KillPixel 0, PS computed Z 1, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 0, Dispatch8 0
+0x12300454: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300458: 0x78170005: kernel start pointer 1
+0x1230045c: 0x00000000: kernel start pointer 2
+0x12300448: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x1230044c: 0x00007a00: MI_NOOP
+0x12300450: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300454: 0x00000000: MI_NOOP
+0x12300458: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x1230045c: 0x00000000: dword 1
+0x12300460: 0x00000000: dword 2
+0x12300464: 0x00000000: dword 3
+0x12300468: 0x00000000: dword 4
+0x1230046c: 0x00000000: dword 5
+0x12300470: 0x00000000: dword 6
+0x12300474: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x12300478: 0x00000540: MI_NOOP
+0x1230047c: 0x00010000: MI_NOOP
+0x12300480: 0x00000000: MI_NOOP
+0x12300484: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x12300488: 0x00020000: dword 1
+0x1230048c: 0x00000000: dword 2
+0x12300490: 0x00000540: dword 3
+0x12300494: 0x7a000002: PIPE_CONTROL
+0x12300498: 0x00002000: no write, depth stall,
+0x1230049c: 0x00000000:
+0x123004a0: 0x00000000:
+0x123004a4: 0x7a000002: PIPE_CONTROL
+0x123004a8: 0x00000001: no write, depth cache flush,
+0x123004ac: 0x00000000:
+0x123004b0: 0x00000000:
+0x123004b4: 0x7a000002: PIPE_CONTROL
+0x123004b8: 0x00002000: no write, depth stall,
+0x123004bc: 0x00000000:
+0x123004c0: 0x00000000:
+Bad count in 3DSTATE_URB
+0x123004c4: 0x78050005: 3DSTATE_URB
+0x123004c8: 0x380c05ff: VS entries 1535, alloc size 13 (1024bit row)
+0x123004cc: 0x167f9000: GS entries 912, alloc size 1 (1024bit row)
+0x123004e0: 0x78070002: 3D UNKNOWN: 3d_965 opcode = 0x7807
+0x123004e4: 0x00000000: MI_NOOP
+0x123004e8: 0x00000000: MI_NOOP
+0x123004ec: 0x00000000: MI_NOOP
+0x123004f0: 0x78060001: 3D UNKNOWN: 3d_965 opcode = 0x7806
+0x123004f4: 0x0000027f: MI_NOOP
+0x123004f8: 0x17b65000: MI UNKNOWN
+0x123004fc: 0x78040001: 3D UNKNOWN: 3d_965 opcode = 0x7804
+0x12300500: 0x00000000: MI_NOOP
+0x12300504: 0x00000000: MI_NOOP
+0x12300508: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x1230050c: 0x0000400c: buffer 0: sequential, pitch 12b
+0x12300510: 0x07b82000: buffer address
+0x12300514: 0x07b89fff: max index
+0x12300518: 0x00000000: mbz
+Bad count in 3DPRIMITIVE
+0x1230051c: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300520: 0x00000008: vertex count
+0x12300524: 0x00000052: start vertex
+0x12300528: 0x00000000: instance count
+0x1230052c: 0x00000001: start instance
+0x12300530: 0x00000000: index bias
+Bad count in 3DPRIMITIVE
+0x12300538: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x1230053c: 0x00000007: vertex count
+0x12300540: 0x00000050: start vertex
+0x12300544: 0x00000052: instance count
+0x12300548: 0x00000001: start instance
+0x1230054c: 0x00000000: index bias
+0x12300554: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300558: 0x00007a00: MI_NOOP
+0x1230055c: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300560: 0x00000000: MI_NOOP
+0x12300564: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300568: 0x00000006: dword 1
+0x1230056c: 0x00000000: dword 2
+0x12300570: 0x000078c0: dword 3
+0x12300574: 0x00000000: dword 4
+0x12300578: 0x00000000: dword 5
+0x1230057c: 0x00000000: dword 6
+0x12300580: 0x78100004: 3DSTATE_VS
+0x12300584: 0x00000280: kernel pointer
+0x12300588: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x1230058c: 0x00000000: scratch offset
+0x12300590: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300594: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300598: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x1230059c: 0x00007a00: MI_NOOP
+0x123005a0: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x123005a4: 0x00000000: MI_NOOP
+0x123005a8: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x123005ac: 0x00000000: dword 1
+0x123005b0: 0x00000000: dword 2
+0x123005b4: 0x00000000: dword 3
+0x123005b8: 0x00000000: dword 4
+0x123005bc: 0x00000000: dword 5
+0x123005c0: 0x00000000: dword 6
+0x123005c4: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x123005c8: 0x00000540: MI_NOOP
+0x123005cc: 0x00010000: MI_NOOP
+0x123005d0: 0x00000000: MI_NOOP
+0x123005d4: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x123005d8: 0x00020000: dword 1
+0x123005dc: 0x00000000: dword 2
+0x123005e0: 0x00000540: dword 3
+Bad count in 3DPRIMITIVE
+0x123005e4: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x123005e8: 0x00000008: vertex count
+0x123005ec: 0x00000052: start vertex
+0x123005f0: 0x000000a2: instance count
+0x123005f4: 0x00000001: start instance
+0x123005f8: 0x00000000: index bias
+Bad count in 3DPRIMITIVE
+0x12300600: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300604: 0x00000007: vertex count
+0x12300608: 0x00000050: start vertex
+0x1230060c: 0x000000f4: instance count
+0x12300610: 0x00000001: start instance
+0x12300614: 0x00000000: index bias
+0x1230061c: 0x79120000: 3D UNKNOWN: 3d_965 opcode = 0x7912
+0x12300620: 0x00000008: MI_NOOP
+0x12300624: 0x79160000: 3D UNKNOWN: 3d_965 opcode = 0x7916
+0x12300628: 0x00080008: MI_NOOP
+0x1230062c: 0x78300000: 3D UNKNOWN: 3d_965 opcode = 0x7830
+0x12300630: 0x040002c0: MI_ARB_ON_OFF
+0x12300634: 0x78330000: 3D UNKNOWN: 3d_965 opcode = 0x7833
+0x12300638: 0x04000000: MI_ARB_ON_OFF
+0x1230063c: 0x78310000: 3D UNKNOWN: 3d_965 opcode = 0x7831
+0x12300640: 0x04000000: MI_ARB_ON_OFF
+0x12300644: 0x78320000: 3D UNKNOWN: 3d_965 opcode = 0x7832
+0x12300648: 0x04000000: MI_ARB_ON_OFF
+0x1230064c: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300650: 0x00007a00: MI_NOOP
+0x12300654: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300658: 0x00000000: MI_NOOP
+0x1230065c: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300660: 0x00000006: dword 1
+0x12300664: 0x00000000: dword 2
+0x12300668: 0x00007780: dword 3
+0x1230066c: 0x00000000: dword 4
+0x12300670: 0x00000000: dword 5
+0x12300674: 0x00000000: dword 6
+0x12300678: 0x78100004: 3DSTATE_VS
+0x1230067c: 0x00000680: kernel pointer
+0x12300680: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300684: 0x00000000: scratch offset
+0x12300688: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x1230068c: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300690: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x12300694: 0x00000000: MI_NOOP
+0x12300698: 0x00000000: MI_NOOP
+0x1230069c: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x123006a0: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x123006a4: 0x02390000: MI_FLUSH
+0x123006a8: 0x00000000: MI_NOOP
+0x123006ac: 0x00000000: MI_NOOP
+0x123006b0: 0x00000000: MI_NOOP
+0x123006b4: 0x0000000b: MI_NOOP
+0x123006b8: 0x00000000: MI_NOOP
+0x123006bc: 0xea9de040: UNKNOWN
+0x123006c0: 0x00007f93: MI_NOOP
+0x123006c4: 0x00000000: MI_NOOP
+0x123006c8: 0x00000001: MI_NOOP
+0x123006cc: 0x00000000: MI_NOOP
+0x123006d0: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x123006d4: 0x78130005: 3DSTATE_SF
+0x123006d8: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x123006dc: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x123006e0: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x123006e4: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x123006e8: 0x00000000: Global Depth Offset Constant 0.000000
+0x123006ec: 0x00000000: Global Depth Offset Scale 0.000000
+0x123006f0: 0x78080003: Global Depth Offset Clamp 11033634538206626566768129396965376.000000
+0x123006f4: 0x00004018: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override Z, Const Source 0, Swizzle Select 0, Source 24)
+0x123006f8: 0x07b82f48: Attrib 3 (Override , Const Source 3, Swizzle Select 2, Source 24); Attrib 2 (Override Y, Const Source 3, Swizzle Select 1, Source 8)
+0x123006fc: 0x07b89fff: Attrib 5 (Override , Const Source 3, Swizzle Select 2, Source 24); Attrib 4 (Override WX, Const Source 3, Swizzle Select 3, Source 31)
+0x12300700: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300704: 0x78090003: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 9); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 3)
+0x12300708: 0x02400000: Attrib 11 (Override , Const Source 1, Swizzle Select 1, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230070c: 0x11130000: Attrib 13 (Override X, Const Source 0, Swizzle Select 0, Source 19); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300710: 0x0240000c: Attrib 15 (Override , Const Source 1, Swizzle Select 1, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 12)
+0x12300714: 0x11130000: Point Sprite TexCoord Enable
+0x12300718: 0x7b000005: Const Interp Enable
+0x1230071c: 0x00000008: Attrib 7-0 WrapShortest Enable
+0x12300720: 0x000000a2: Attrib 15-8 WrapShortest Enable
+0x123006f0: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123006f4: 0x00004018: buffer 0: sequential, pitch 24b
+0x123006f8: 0x07b82f48: buffer address
+0x123006fc: 0x07b89fff: max index
+0x12300700: 0x00000000: mbz
+0x12300704: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12300708: 0x02400000: buffer 0: invalid, type 0x0040, src offset 0x0000 bytes
+0x1230070c: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300710: 0x0240000c: buffer 0: invalid, type 0x0040, src offset 0x000c bytes
+0x12300714: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+Bad count in 3DPRIMITIVE
+0x12300718: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x1230071c: 0x00000008: vertex count
+0x12300720: 0x000000a2: start vertex
+0x12300724: 0x00000000: instance count
+0x12300728: 0x00000001: start instance
+0x1230072c: 0x00000000: index bias
+0x12300734: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300738: 0x00007a00: MI_NOOP
+0x1230073c: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300740: 0x00000000: MI_NOOP
+0x12300744: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300748: 0x00000006: dword 1
+0x1230074c: 0x00000000: dword 2
+0x12300750: 0x00007640: dword 3
+0x12300754: 0x00000000: dword 4
+0x12300758: 0x00000000: dword 5
+0x1230075c: 0x00000000: dword 6
+0x12300760: 0x78100004: 3DSTATE_VS
+0x12300764: 0x00000680: kernel pointer
+0x12300768: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x1230076c: 0x00000000: scratch offset
+0x12300770: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300774: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300778: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x1230077c: 0x00000000: MI_NOOP
+0x12300780: 0x00000000: MI_NOOP
+0x12300784: 0x78120002: 3DSTATE_CLIP
+0x12300788: 0x00170400: UserClip distance cull test mask 0x0
+0x1230078c: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300790: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300794: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x12300798: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x1230079c: 0x02390000: MI_FLUSH
+0x123007a0: 0x00000000: MI_NOOP
+0x123007a4: 0xea9de040: UNKNOWN
+0x123007a8: 0x00007f93: MI_NOOP
+0x123007ac: 0x02279b80: MI_FLUSH
+0x123007b0: 0x00000000: MI_NOOP
+0x123007b4: 0x00000000: MI_NOOP
+0x123007b8: 0x00000000: MI_NOOP
+0x123007bc: 0x00000000: MI_NOOP
+0x123007c0: 0x00000000: MI_NOOP
+0x123007c4: 0x00000000: MI_NOOP
+0x123007c8: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x123007cc: 0x78130005: 3DSTATE_SF
+0x123007d0: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x123007d4: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x123007d8: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x123007dc: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x123007e0: 0x00000000: Global Depth Offset Constant 0.000000
+0x123007e4: 0x00000000: Global Depth Offset Scale 0.000000
+0x123007e8: 0x78140001: Global Depth Offset Clamp 12007187723301828176357047660445696.000000
+0x123007ec: 0xa0000840: Attrib 1 (Override WY, Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 1, Source 0)
+0x123007f0: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007f4: 0x782a0000: Attrib 5 (Override ZYX, Const Source 0, Swizzle Select 0, Source 10); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x123007f8: 0x00007a00: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override ZYX, Const Source 1, Swizzle Select 0, Source 0)
+0x123007fc: 0x782f0000: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 15); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300800: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300804: 0x78170005: Attrib 13 (Override ZYX, Const Source 0, Swizzle Select 0, Source 23); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 5)
+0x12300808: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230080c: 0x00000000: Point Sprite TexCoord Enable
+0x12300810: 0x00000000: Const Interp Enable
+0x12300814: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300818: 0x00000000: Attrib 15-8 WrapShortest Enable
+Bad count in 3DSTATE_WM
+0x123007e8: 0x78140001: 3DSTATE_WM
+0x123007ec: 0xa0000840: kernel start pointer 0
+0x123007f0: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123007f4: 0x782a0000: scratch offset
+0x123007f8: 0x00007a00: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 0, start[1] 122, start[2] 0
+0x123007fc: 0x782f0000: MaxThreads 61, PS KillPixel 0, PS computed Z 1, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 0, Dispatch8 0
+0x12300800: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300804: 0x78170005: kernel start pointer 1
+0x12300808: 0x00000000: kernel start pointer 2
+0x123007f4: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x123007f8: 0x00007a00: MI_NOOP
+0x123007fc: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300800: 0x00000000: MI_NOOP
+0x12300804: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12300808: 0x00000000: dword 1
+0x1230080c: 0x00000000: dword 2
+0x12300810: 0x00000000: dword 3
+0x12300814: 0x00000000: dword 4
+0x12300818: 0x00000000: dword 5
+0x1230081c: 0x00000000: dword 6
+0x12300820: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x12300824: 0x00000940: MI_NOOP
+0x12300828: 0x00010000: MI_NOOP
+0x1230082c: 0x00000000: MI_NOOP
+0x12300830: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x12300834: 0x00060000: dword 1
+0x12300838: 0x00000000: dword 2
+0x1230083c: 0x00000940: dword 3
+Bad count in 3DPRIMITIVE
+0x12300840: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300844: 0x00000008: vertex count
+0x12300848: 0x0000002a: start vertex
+0x1230084c: 0x000000a2: instance count
+0x12300850: 0x00000001: start instance
+0x12300854: 0x00000000: index bias
+0x1230085c: 0x79120000: 3D UNKNOWN: 3d_965 opcode = 0x7912
+0x12300860: 0x00000008: MI_NOOP
+0x12300864: 0x79160000: 3D UNKNOWN: 3d_965 opcode = 0x7916
+0x12300868: 0x00080008: MI_NOOP
+0x1230086c: 0x78300000: 3D UNKNOWN: 3d_965 opcode = 0x7830
+0x12300870: 0x040002c0: MI_ARB_ON_OFF
+0x12300874: 0x78330000: 3D UNKNOWN: 3d_965 opcode = 0x7833
+0x12300878: 0x04000000: MI_ARB_ON_OFF
+0x1230087c: 0x78310000: 3D UNKNOWN: 3d_965 opcode = 0x7831
+0x12300880: 0x04000000: MI_ARB_ON_OFF
+0x12300884: 0x78320000: 3D UNKNOWN: 3d_965 opcode = 0x7832
+0x12300888: 0x04000000: MI_ARB_ON_OFF
+0x1230088c: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300890: 0x00007a00: MI_NOOP
+0x12300894: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300898: 0x00000000: MI_NOOP
+0x1230089c: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x123008a0: 0x00000006: dword 1
+0x123008a4: 0x00000000: dword 2
+0x123008a8: 0x00007500: dword 3
+0x123008ac: 0x00000000: dword 4
+0x123008b0: 0x00000000: dword 5
+0x123008b4: 0x00000000: dword 6
+0x123008b8: 0x78100004: 3DSTATE_VS
+0x123008bc: 0x00000280: kernel pointer
+0x123008c0: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123008c4: 0x00000000: scratch offset
+0x123008c8: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x123008cc: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x123008d0: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x123008d4: 0x00000000: MI_NOOP
+0x123008d8: 0x00000000: MI_NOOP
+0x123008dc: 0x78120002: 3DSTATE_CLIP
+0x123008e0: 0x00170400: UserClip distance cull test mask 0x0
+0x123008e4: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x123008e8: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x123008ec: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x123008f0: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x123008f4: 0x02380000: MI_FLUSH
+0x123008f8: 0x00000000: MI_NOOP
+0x123008fc: 0xea9de040: UNKNOWN
+0x12300900: 0x00007f93: MI_NOOP
+0x12300904: 0x02279b80: MI_FLUSH
+0x12300908: 0x00000000: MI_NOOP
+0x1230090c: 0x00000000: MI_NOOP
+0x12300910: 0x00000000: MI_NOOP
+0x12300914: 0x00000000: MI_NOOP
+0x12300918: 0x00000001: MI_NOOP
+0x1230091c: 0x00000000: MI_NOOP
+0x12300920: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x12300924: 0x78130005: 3DSTATE_SF
+0x12300928: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x1230092c: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x12300930: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x12300934: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12300938: 0x00000000: Global Depth Offset Constant 0.000000
+0x1230093c: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300940: 0x78140001: Global Depth Offset Clamp 12007187723301828176357047660445696.000000
+0x12300944: 0xa0000040: Attrib 1 (Override WY, Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 1, Source 0)
+0x12300948: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230094c: 0x782a0000: Attrib 5 (Override ZYX, Const Source 0, Swizzle Select 0, Source 10); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300950: 0x00007a00: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override ZYX, Const Source 1, Swizzle Select 0, Source 0)
+0x12300954: 0x782f0000: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 15); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300958: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230095c: 0x78170005: Attrib 13 (Override ZYX, Const Source 0, Swizzle Select 0, Source 23); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 5)
+0x12300960: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300964: 0x00000000: Point Sprite TexCoord Enable
+0x12300968: 0x00000000: Const Interp Enable
+0x1230096c: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300970: 0x00000000: Attrib 15-8 WrapShortest Enable
+Bad count in 3DSTATE_WM
+0x12300940: 0x78140001: 3DSTATE_WM
+0x12300944: 0xa0000040: kernel start pointer 0
+0x12300948: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x1230094c: 0x782a0000: scratch offset
+0x12300950: 0x00007a00: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 0, start[1] 122, start[2] 0
+0x12300954: 0x782f0000: MaxThreads 61, PS KillPixel 0, PS computed Z 1, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 0, Dispatch8 0
+0x12300958: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x1230095c: 0x78170005: kernel start pointer 1
+0x12300960: 0x00000000: kernel start pointer 2
+0x1230094c: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x12300950: 0x00007a00: MI_NOOP
+0x12300954: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300958: 0x00000000: MI_NOOP
+0x1230095c: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12300960: 0x00000000: dword 1
+0x12300964: 0x00000000: dword 2
+0x12300968: 0x00000000: dword 3
+0x1230096c: 0x00000000: dword 4
+0x12300970: 0x00000000: dword 5
+0x12300974: 0x00000000: dword 6
+0x12300978: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x1230097c: 0x00000540: MI_NOOP
+0x12300980: 0x00010000: MI_NOOP
+0x12300984: 0x00000000: MI_NOOP
+0x12300988: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x1230098c: 0x00020000: dword 1
+0x12300990: 0x00000000: dword 2
+0x12300994: 0x00000540: dword 3
+0x12300998: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x1230099c: 0x0000400c: buffer 0: sequential, pitch 12b
+0x123009a0: 0x07b84268: buffer address
+0x123009a4: 0x07b89fff: max index
+0x123009a8: 0x00000000: mbz
+0x123009ac: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123009b0: 0x02400000: buffer 0: invalid, type 0x0040, src offset 0x0000 bytes
+0x123009b4: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+Bad count in 3DPRIMITIVE
+0x123009b8: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x123009bc: 0x00000008: vertex count
+0x123009c0: 0x0000002a: start vertex
+0x123009c4: 0x00000000: instance count
+0x123009c8: 0x00000001: start instance
+0x123009cc: 0x00000000: index bias
+Bad count in 3DPRIMITIVE
+0x123009d4: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x123009d8: 0x00000007: vertex count
+0x123009dc: 0x00000028: start vertex
+0x123009e0: 0x0000002a: instance count
+0x123009e4: 0x00000001: start instance
+0x123009e8: 0x00000000: index bias
+0x123009f0: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x123009f4: 0x00007a00: MI_NOOP
+0x123009f8: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x123009fc: 0x00000000: MI_NOOP
+0x12300a00: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300a04: 0x00000006: dword 1
+0x12300a08: 0x00000000: dword 2
+0x12300a0c: 0x000073c0: dword 3
+0x12300a10: 0x00000000: dword 4
+0x12300a14: 0x00000000: dword 5
+0x12300a18: 0x00000000: dword 6
+0x12300a1c: 0x78100004: 3DSTATE_VS
+0x12300a20: 0x00000280: kernel pointer
+0x12300a24: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300a28: 0x00000000: scratch offset
+0x12300a2c: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300a30: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300a34: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x12300a38: 0x00007a00: MI_NOOP
+0x12300a3c: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300a40: 0x00000000: MI_NOOP
+0x12300a44: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12300a48: 0x00000000: dword 1
+0x12300a4c: 0x00000000: dword 2
+0x12300a50: 0x00000000: dword 3
+0x12300a54: 0x00000000: dword 4
+0x12300a58: 0x00000000: dword 5
+0x12300a5c: 0x00000000: dword 6
+0x12300a60: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x12300a64: 0x00000540: MI_NOOP
+0x12300a68: 0x00010000: MI_NOOP
+0x12300a6c: 0x00000000: MI_NOOP
+0x12300a70: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x12300a74: 0x00020000: dword 1
+0x12300a78: 0x00000000: dword 2
+0x12300a7c: 0x00000540: dword 3
+Bad count in 3DPRIMITIVE
+0x12300a80: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300a84: 0x00000008: vertex count
+0x12300a88: 0x0000002a: start vertex
+0x12300a8c: 0x00000052: instance count
+0x12300a90: 0x00000001: start instance
+0x12300a94: 0x00000000: index bias
+Bad count in 3DPRIMITIVE
+0x12300a9c: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300aa0: 0x00000007: vertex count
+0x12300aa4: 0x00000028: start vertex
+0x12300aa8: 0x0000007c: instance count
+0x12300aac: 0x00000001: start instance
+0x12300ab0: 0x00000000: index bias
+0x12300ab8: 0x79120000: 3D UNKNOWN: 3d_965 opcode = 0x7912
+0x12300abc: 0x00000008: MI_NOOP
+0x12300ac0: 0x79160000: 3D UNKNOWN: 3d_965 opcode = 0x7916
+0x12300ac4: 0x00080008: MI_NOOP
+0x12300ac8: 0x78300000: 3D UNKNOWN: 3d_965 opcode = 0x7830
+0x12300acc: 0x040002c0: MI_ARB_ON_OFF
+0x12300ad0: 0x78330000: 3D UNKNOWN: 3d_965 opcode = 0x7833
+0x12300ad4: 0x04000000: MI_ARB_ON_OFF
+0x12300ad8: 0x78310000: 3D UNKNOWN: 3d_965 opcode = 0x7831
+0x12300adc: 0x04000000: MI_ARB_ON_OFF
+0x12300ae0: 0x78320000: 3D UNKNOWN: 3d_965 opcode = 0x7832
+0x12300ae4: 0x04000000: MI_ARB_ON_OFF
+0x12300ae8: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300aec: 0x00007a00: MI_NOOP
+0x12300af0: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300af4: 0x00000000: MI_NOOP
+0x12300af8: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300afc: 0x00000006: dword 1
+0x12300b00: 0x00000000: dword 2
+0x12300b04: 0x00007280: dword 3
+0x12300b08: 0x00000000: dword 4
+0x12300b0c: 0x00000000: dword 5
+0x12300b10: 0x00000000: dword 6
+0x12300b14: 0x78100004: 3DSTATE_VS
+0x12300b18: 0x00000680: kernel pointer
+0x12300b1c: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300b20: 0x00000000: scratch offset
+0x12300b24: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300b28: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300b2c: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x12300b30: 0x00000000: MI_NOOP
+0x12300b34: 0x00000000: MI_NOOP
+0x12300b38: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x12300b3c: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x12300b40: 0x02390000: MI_FLUSH
+0x12300b44: 0x00000000: MI_NOOP
+0x12300b48: 0x00000000: MI_NOOP
+0x12300b4c: 0x00000000: MI_NOOP
+0x12300b50: 0x0000000b: MI_NOOP
+0x12300b54: 0x00000000: MI_NOOP
+0x12300b58: 0xea9de040: UNKNOWN
+0x12300b5c: 0x00007f93: MI_NOOP
+0x12300b60: 0x00000000: MI_NOOP
+0x12300b64: 0x00000001: MI_NOOP
+0x12300b68: 0x00000000: MI_NOOP
+0x12300b6c: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x12300b70: 0x78130005: 3DSTATE_SF
+0x12300b74: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x12300b78: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x12300b7c: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x12300b80: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12300b84: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300b88: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300b8c: 0x78080003: Global Depth Offset Clamp 11033634538206626566768129396965376.000000
+0x12300b90: 0x00004018: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override Z, Const Source 0, Swizzle Select 0, Source 24)
+0x12300b94: 0x07b84a30: Attrib 3 (Override , Const Source 3, Swizzle Select 2, Source 24); Attrib 2 (Override Z, Const Source 1, Swizzle Select 0, Source 16)
+0x12300b98: 0x07b89fff: Attrib 5 (Override , Const Source 3, Swizzle Select 2, Source 24); Attrib 4 (Override WX, Const Source 3, Swizzle Select 3, Source 31)
+0x12300b9c: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ba0: 0x78090003: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 9); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 3)
+0x12300ba4: 0x02400000: Attrib 11 (Override , Const Source 1, Swizzle Select 1, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ba8: 0x11130000: Attrib 13 (Override X, Const Source 0, Swizzle Select 0, Source 19); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300bac: 0x0240000c: Attrib 15 (Override , Const Source 1, Swizzle Select 1, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 12)
+0x12300bb0: 0x11130000: Point Sprite TexCoord Enable
+0x12300bb4: 0x7b000005: Const Interp Enable
+0x12300bb8: 0x00000008: Attrib 7-0 WrapShortest Enable
+0x12300bbc: 0x00000052: Attrib 15-8 WrapShortest Enable
+0x12300b8c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300b90: 0x00004018: buffer 0: sequential, pitch 24b
+0x12300b94: 0x07b84a30: buffer address
+0x12300b98: 0x07b89fff: max index
+0x12300b9c: 0x00000000: mbz
+0x12300ba0: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12300ba4: 0x02400000: buffer 0: invalid, type 0x0040, src offset 0x0000 bytes
+0x12300ba8: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300bac: 0x0240000c: buffer 0: invalid, type 0x0040, src offset 0x000c bytes
+0x12300bb0: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+Bad count in 3DPRIMITIVE
+0x12300bb4: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300bb8: 0x00000008: vertex count
+0x12300bbc: 0x00000052: start vertex
+0x12300bc0: 0x00000000: instance count
+0x12300bc4: 0x00000001: start instance
+0x12300bc8: 0x00000000: index bias
+0x12300bd0: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300bd4: 0x00007a00: MI_NOOP
+0x12300bd8: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300bdc: 0x00000000: MI_NOOP
+0x12300be0: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300be4: 0x00000006: dword 1
+0x12300be8: 0x00000000: dword 2
+0x12300bec: 0x00007140: dword 3
+0x12300bf0: 0x00000000: dword 4
+0x12300bf4: 0x00000000: dword 5
+0x12300bf8: 0x00000000: dword 6
+0x12300bfc: 0x78100004: 3DSTATE_VS
+0x12300c00: 0x00000680: kernel pointer
+0x12300c04: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300c08: 0x00000000: scratch offset
+0x12300c0c: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300c10: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300c14: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x12300c18: 0x00000000: MI_NOOP
+0x12300c1c: 0x00000000: MI_NOOP
+0x12300c20: 0x78120002: 3DSTATE_CLIP
+0x12300c24: 0x00170400: UserClip distance cull test mask 0x0
+0x12300c28: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300c2c: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300c30: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x12300c34: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x12300c38: 0x02390000: MI_FLUSH
+0x12300c3c: 0x00000000: MI_NOOP
+0x12300c40: 0xea9de040: UNKNOWN
+0x12300c44: 0x00007f93: MI_NOOP
+0x12300c48: 0x02279b80: MI_FLUSH
+0x12300c4c: 0x00000000: MI_NOOP
+0x12300c50: 0x00000000: MI_NOOP
+0x12300c54: 0x00000000: MI_NOOP
+0x12300c58: 0x00000000: MI_NOOP
+0x12300c5c: 0x00000000: MI_NOOP
+0x12300c60: 0x00000000: MI_NOOP
+0x12300c64: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x12300c68: 0x78130005: 3DSTATE_SF
+0x12300c6c: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x12300c70: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x12300c74: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x12300c78: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12300c7c: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300c80: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300c84: 0x78140001: Global Depth Offset Clamp 12007187723301828176357047660445696.000000
+0x12300c88: 0xa0000840: Attrib 1 (Override WY, Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 1, Source 0)
+0x12300c8c: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300c90: 0x782a0000: Attrib 5 (Override ZYX, Const Source 0, Swizzle Select 0, Source 10); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300c94: 0x00007a00: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override ZYX, Const Source 1, Swizzle Select 0, Source 0)
+0x12300c98: 0x782f0000: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 15); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300c9c: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ca0: 0x78170005: Attrib 13 (Override ZYX, Const Source 0, Swizzle Select 0, Source 23); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 5)
+0x12300ca4: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300ca8: 0x00000000: Point Sprite TexCoord Enable
+0x12300cac: 0x00000000: Const Interp Enable
+0x12300cb0: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300cb4: 0x00000000: Attrib 15-8 WrapShortest Enable
+Bad count in 3DSTATE_WM
+0x12300c84: 0x78140001: 3DSTATE_WM
+0x12300c88: 0xa0000840: kernel start pointer 0
+0x12300c8c: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300c90: 0x782a0000: scratch offset
+0x12300c94: 0x00007a00: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 0, start[1] 122, start[2] 0
+0x12300c98: 0x782f0000: MaxThreads 61, PS KillPixel 0, PS computed Z 1, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 0, Dispatch8 0
+0x12300c9c: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300ca0: 0x78170005: kernel start pointer 1
+0x12300ca4: 0x00000000: kernel start pointer 2
+0x12300c90: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x12300c94: 0x00007a00: MI_NOOP
+0x12300c98: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300c9c: 0x00000000: MI_NOOP
+0x12300ca0: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12300ca4: 0x00000000: dword 1
+0x12300ca8: 0x00000000: dword 2
+0x12300cac: 0x00000000: dword 3
+0x12300cb0: 0x00000000: dword 4
+0x12300cb4: 0x00000000: dword 5
+0x12300cb8: 0x00000000: dword 6
+0x12300cbc: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x12300cc0: 0x00000940: MI_NOOP
+0x12300cc4: 0x00010000: MI_NOOP
+0x12300cc8: 0x00000000: MI_NOOP
+0x12300ccc: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x12300cd0: 0x00060000: dword 1
+0x12300cd4: 0x00000000: dword 2
+0x12300cd8: 0x00000940: dword 3
+Bad count in 3DPRIMITIVE
+0x12300cdc: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300ce0: 0x00000008: vertex count
+0x12300ce4: 0x00000016: start vertex
+0x12300ce8: 0x00000052: instance count
+0x12300cec: 0x00000001: start instance
+0x12300cf0: 0x00000000: index bias
+0x12300cf8: 0x79120000: 3D UNKNOWN: 3d_965 opcode = 0x7912
+0x12300cfc: 0x00000008: MI_NOOP
+0x12300d00: 0x79160000: 3D UNKNOWN: 3d_965 opcode = 0x7916
+0x12300d04: 0x00080008: MI_NOOP
+0x12300d08: 0x78300000: 3D UNKNOWN: 3d_965 opcode = 0x7830
+0x12300d0c: 0x040002c0: MI_ARB_ON_OFF
+0x12300d10: 0x78330000: 3D UNKNOWN: 3d_965 opcode = 0x7833
+0x12300d14: 0x04000000: MI_ARB_ON_OFF
+0x12300d18: 0x78310000: 3D UNKNOWN: 3d_965 opcode = 0x7831
+0x12300d1c: 0x04000000: MI_ARB_ON_OFF
+0x12300d20: 0x78320000: 3D UNKNOWN: 3d_965 opcode = 0x7832
+0x12300d24: 0x04000000: MI_ARB_ON_OFF
+0x12300d28: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300d2c: 0x00007a00: MI_NOOP
+0x12300d30: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300d34: 0x00000000: MI_NOOP
+0x12300d38: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300d3c: 0x00000006: dword 1
+0x12300d40: 0x00000000: dword 2
+0x12300d44: 0x00007000: dword 3
+0x12300d48: 0x00000000: dword 4
+0x12300d4c: 0x00000000: dword 5
+0x12300d50: 0x00000000: dword 6
+0x12300d54: 0x78100004: 3DSTATE_VS
+0x12300d58: 0x00000280: kernel pointer
+0x12300d5c: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300d60: 0x00000000: scratch offset
+0x12300d64: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300d68: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300d6c: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x12300d70: 0x00000000: MI_NOOP
+0x12300d74: 0x00000000: MI_NOOP
+0x12300d78: 0x78120002: 3DSTATE_CLIP
+0x12300d7c: 0x00170400: UserClip distance cull test mask 0x0
+0x12300d80: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x12300d84: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x12300d88: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x12300d8c: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x12300d90: 0x02380000: MI_FLUSH
+0x12300d94: 0x00000000: MI_NOOP
+0x12300d98: 0xea9de040: UNKNOWN
+0x12300d9c: 0x00007f93: MI_NOOP
+0x12300da0: 0x02279b80: MI_FLUSH
+0x12300da4: 0x00000000: MI_NOOP
+0x12300da8: 0x00000000: MI_NOOP
+0x12300dac: 0x00000000: MI_NOOP
+0x12300db0: 0x00000000: MI_NOOP
+0x12300db4: 0x00000001: MI_NOOP
+0x12300db8: 0x00000000: MI_NOOP
+0x12300dbc: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x12300dc0: 0x78130005: 3DSTATE_SF
+0x12300dc4: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x12300dc8: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x12300dcc: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x12300dd0: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12300dd4: 0x00000000: Global Depth Offset Constant 0.000000
+0x12300dd8: 0x00000000: Global Depth Offset Scale 0.000000
+0x12300ddc: 0x78140001: Global Depth Offset Clamp 12007187723301828176357047660445696.000000
+0x12300de0: 0xa0000040: Attrib 1 (Override WY, Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 1, Source 0)
+0x12300de4: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300de8: 0x782a0000: Attrib 5 (Override ZYX, Const Source 0, Swizzle Select 0, Source 10); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300dec: 0x00007a00: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override ZYX, Const Source 1, Swizzle Select 0, Source 0)
+0x12300df0: 0x782f0000: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 15); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300df4: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300df8: 0x78170005: Attrib 13 (Override ZYX, Const Source 0, Swizzle Select 0, Source 23); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 5)
+0x12300dfc: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12300e00: 0x00000000: Point Sprite TexCoord Enable
+0x12300e04: 0x00000000: Const Interp Enable
+0x12300e08: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12300e0c: 0x00000000: Attrib 15-8 WrapShortest Enable
+Bad count in 3DSTATE_WM
+0x12300ddc: 0x78140001: 3DSTATE_WM
+0x12300de0: 0xa0000040: kernel start pointer 0
+0x12300de4: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300de8: 0x782a0000: scratch offset
+0x12300dec: 0x00007a00: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 0, start[1] 122, start[2] 0
+0x12300df0: 0x782f0000: MaxThreads 61, PS KillPixel 0, PS computed Z 1, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 0, Dispatch8 0
+0x12300df4: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x12300df8: 0x78170005: kernel start pointer 1
+0x12300dfc: 0x00000000: kernel start pointer 2
+0x12300de8: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x12300dec: 0x00007a00: MI_NOOP
+0x12300df0: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300df4: 0x00000000: MI_NOOP
+0x12300df8: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12300dfc: 0x00000000: dword 1
+0x12300e00: 0x00000000: dword 2
+0x12300e04: 0x00000000: dword 3
+0x12300e08: 0x00000000: dword 4
+0x12300e0c: 0x00000000: dword 5
+0x12300e10: 0x00000000: dword 6
+0x12300e14: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x12300e18: 0x00000540: MI_NOOP
+0x12300e1c: 0x00010000: MI_NOOP
+0x12300e20: 0x00000000: MI_NOOP
+0x12300e24: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x12300e28: 0x00020000: dword 1
+0x12300e2c: 0x00000000: dword 2
+0x12300e30: 0x00000540: dword 3
+0x12300e34: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300e38: 0x0000400c: buffer 0: sequential, pitch 12b
+0x12300e3c: 0x07b853f0: buffer address
+0x12300e40: 0x07b89fff: max index
+0x12300e44: 0x00000000: mbz
+0x12300e48: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x12300e4c: 0x02400000: buffer 0: invalid, type 0x0040, src offset 0x0000 bytes
+0x12300e50: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+Bad count in 3DPRIMITIVE
+0x12300e54: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300e58: 0x00000008: vertex count
+0x12300e5c: 0x0000002a: start vertex
+0x12300e60: 0x00000000: instance count
+0x12300e64: 0x00000001: start instance
+0x12300e68: 0x00000000: index bias
+Bad count in 3DPRIMITIVE
+0x12300e70: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300e74: 0x00000007: vertex count
+0x12300e78: 0x00000028: start vertex
+0x12300e7c: 0x0000002a: instance count
+0x12300e80: 0x00000001: start instance
+0x12300e84: 0x00000000: index bias
+0x12300e8c: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300e90: 0x00007a00: MI_NOOP
+0x12300e94: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300e98: 0x00000000: MI_NOOP
+0x12300e9c: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300ea0: 0x00000006: dword 1
+0x12300ea4: 0x00000000: dword 2
+0x12300ea8: 0x00006ec0: dword 3
+0x12300eac: 0x00000000: dword 4
+0x12300eb0: 0x00000000: dword 5
+0x12300eb4: 0x00000000: dword 6
+0x12300eb8: 0x78100004: 3DSTATE_VS
+0x12300ebc: 0x00000280: kernel pointer
+0x12300ec0: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300ec4: 0x00000000: scratch offset
+0x12300ec8: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300ecc: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300ed0: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x12300ed4: 0x00007a00: MI_NOOP
+0x12300ed8: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12300edc: 0x00000000: MI_NOOP
+0x12300ee0: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12300ee4: 0x00000000: dword 1
+0x12300ee8: 0x00000000: dword 2
+0x12300eec: 0x00000000: dword 3
+0x12300ef0: 0x00000000: dword 4
+0x12300ef4: 0x00000000: dword 5
+0x12300ef8: 0x00000000: dword 6
+0x12300efc: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x12300f00: 0x00000540: MI_NOOP
+0x12300f04: 0x00010000: MI_NOOP
+0x12300f08: 0x00000000: MI_NOOP
+0x12300f0c: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x12300f10: 0x00020000: dword 1
+0x12300f14: 0x00000000: dword 2
+0x12300f18: 0x00000540: dword 3
+Bad count in 3DPRIMITIVE
+0x12300f1c: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300f20: 0x00000008: vertex count
+0x12300f24: 0x0000002a: start vertex
+0x12300f28: 0x00000052: instance count
+0x12300f2c: 0x00000001: start instance
+0x12300f30: 0x00000000: index bias
+Bad count in 3DPRIMITIVE
+0x12300f38: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12300f3c: 0x00000007: vertex count
+0x12300f40: 0x00000028: start vertex
+0x12300f44: 0x0000007c: instance count
+0x12300f48: 0x00000001: start instance
+0x12300f4c: 0x00000000: index bias
+0x12300f54: 0x79120000: 3D UNKNOWN: 3d_965 opcode = 0x7912
+0x12300f58: 0x00000008: MI_NOOP
+0x12300f5c: 0x79160000: 3D UNKNOWN: 3d_965 opcode = 0x7916
+0x12300f60: 0x00080008: MI_NOOP
+0x12300f64: 0x78300000: 3D UNKNOWN: 3d_965 opcode = 0x7830
+0x12300f68: 0x040002c0: MI_ARB_ON_OFF
+0x12300f6c: 0x78330000: 3D UNKNOWN: 3d_965 opcode = 0x7833
+0x12300f70: 0x04000000: MI_ARB_ON_OFF
+0x12300f74: 0x78310000: 3D UNKNOWN: 3d_965 opcode = 0x7831
+0x12300f78: 0x04000000: MI_ARB_ON_OFF
+0x12300f7c: 0x78320000: 3D UNKNOWN: 3d_965 opcode = 0x7832
+0x12300f80: 0x04000000: MI_ARB_ON_OFF
+0x12300f84: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12300f88: 0x00007a00: MI_NOOP
+0x12300f8c: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12300f90: 0x00000000: MI_NOOP
+0x12300f94: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12300f98: 0x00000006: dword 1
+0x12300f9c: 0x00000000: dword 2
+0x12300fa0: 0x00006d80: dword 3
+0x12300fa4: 0x00000000: dword 4
+0x12300fa8: 0x00000000: dword 5
+0x12300fac: 0x00000000: dword 6
+0x12300fb0: 0x78100004: 3DSTATE_VS
+0x12300fb4: 0x00000680: kernel pointer
+0x12300fb8: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x12300fbc: 0x00000000: scratch offset
+0x12300fc0: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x12300fc4: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x12300fc8: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x12300fcc: 0x00000000: MI_NOOP
+0x12300fd0: 0x00000000: MI_NOOP
+0x12300fd4: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x12300fd8: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x12300fdc: 0x02390000: MI_FLUSH
+0x12300fe0: 0x00000000: MI_NOOP
+0x12300fe4: 0x00000000: MI_NOOP
+0x12300fe8: 0x00000000: MI_NOOP
+0x12300fec: 0x0000000b: MI_NOOP
+0x12300ff0: 0x00000000: MI_NOOP
+0x12300ff4: 0xea9de040: UNKNOWN
+0x12300ff8: 0x00007f93: MI_NOOP
+0x12300ffc: 0x00000000: MI_NOOP
+0x12301000: 0x00000001: MI_NOOP
+0x12301004: 0x00000000: MI_NOOP
+0x12301008: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x1230100c: 0x78130005: 3DSTATE_SF
+0x12301010: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x12301014: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x12301018: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x1230101c: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12301020: 0x00000000: Global Depth Offset Constant 0.000000
+0x12301024: 0x00000000: Global Depth Offset Scale 0.000000
+0x12301028: 0x78080003: Global Depth Offset Clamp 11033634538206626566768129396965376.000000
+0x1230102c: 0x00004018: Attrib 1 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override Z, Const Source 0, Swizzle Select 0, Source 24)
+0x12301030: 0x07b85bb8: Attrib 3 (Override , Const Source 3, Swizzle Select 2, Source 24); Attrib 2 (Override ZX, Const Source 1, Swizzle Select 2, Source 24)
+0x12301034: 0x07b89fff: Attrib 5 (Override , Const Source 3, Swizzle Select 2, Source 24); Attrib 4 (Override WX, Const Source 3, Swizzle Select 3, Source 31)
+0x12301038: 0x00000000: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230103c: 0x78090003: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 9); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 3)
+0x12301040: 0x02400000: Attrib 11 (Override , Const Source 1, Swizzle Select 1, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12301044: 0x11130000: Attrib 13 (Override X, Const Source 0, Swizzle Select 0, Source 19); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12301048: 0x0240000c: Attrib 15 (Override , Const Source 1, Swizzle Select 1, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 12)
+0x1230104c: 0x11130000: Point Sprite TexCoord Enable
+0x12301050: 0x7b000005: Const Interp Enable
+0x12301054: 0x00000008: Attrib 7-0 WrapShortest Enable
+0x12301058: 0x00000052: Attrib 15-8 WrapShortest Enable
+0x12301028: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x1230102c: 0x00004018: buffer 0: sequential, pitch 24b
+0x12301030: 0x07b85bb8: buffer address
+0x12301034: 0x07b89fff: max index
+0x12301038: 0x00000000: mbz
+0x1230103c: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12301040: 0x02400000: buffer 0: invalid, type 0x0040, src offset 0x0000 bytes
+0x12301044: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12301048: 0x0240000c: buffer 0: invalid, type 0x0040, src offset 0x000c bytes
+0x1230104c: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+Bad count in 3DPRIMITIVE
+0x12301050: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x12301054: 0x00000008: vertex count
+0x12301058: 0x00000052: start vertex
+0x1230105c: 0x00000000: instance count
+0x12301060: 0x00000001: start instance
+0x12301064: 0x00000000: index bias
+0x1230106c: 0x78260000: 3D UNKNOWN: 3d_965 opcode = 0x7826
+0x12301070: 0x00007a00: MI_NOOP
+0x12301074: 0x782b0000: 3D UNKNOWN: 3d_965 opcode = 0x782b
+0x12301078: 0x00000000: MI_NOOP
+0x1230107c: 0x78150005: 3DSTATE_CONSTANT_VS_STATE
+Bad count in 3DSTATE_CONSTANT_VS_STATE
+0x12301080: 0x00000006: dword 1
+0x12301084: 0x00000000: dword 2
+0x12301088: 0x00006c40: dword 3
+0x1230108c: 0x00000000: dword 4
+0x12301090: 0x00000000: dword 5
+0x12301094: 0x00000000: dword 6
+0x12301098: 0x78100004: 3DSTATE_VS
+0x1230109c: 0x00000680: kernel pointer
+0x123010a0: 0x00010000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x123010a4: 0x00000000: scratch offset
+0x123010a8: 0x00100800: Dispatch GRF start 1, VUE read length 1, VUE read offset 0
+0x123010ac: 0xfe000401: Max Threads 128, Vertex Cache enable, VS func enable
+0x123010b0: 0x781e0001: 3D UNKNOWN: 3d_965 opcode = 0x781e
+0x123010b4: 0x00000000: MI_NOOP
+0x123010b8: 0x00000000: MI_NOOP
+0x123010bc: 0x78120002: 3DSTATE_CLIP
+0x123010c0: 0x00170400: UserClip distance cull test mask 0x0
+0x123010c4: 0x98000026: Clip enable, API mode OGL, Viewport XY test enable, Viewport Z test enable, Guardband test disable, Clip mode 0, Perspective Divide enable, Non-Perspective Barycentric disable, Tri Provoking 2, Line Provoking 1, Trifan Provoking 2
+0x123010c8: 0x0003ffe0: Min PointWidth 1, Max PointWidth 2047, Force Zero RTAIndex enable, Max VPIndex 0
+0x123010cc: 0x781f000c: 3D UNKNOWN: 3d_965 opcode = 0x781f
+0x123010d0: 0x00600810: MI_NOOP write NOPID reg, val=0x200810
+0x123010d4: 0x02390000: MI_FLUSH
+0x123010d8: 0x00000000: MI_NOOP
+0x123010dc: 0xea9de040: UNKNOWN
+0x123010e0: 0x00007f93: MI_NOOP
+0x123010e4: 0x02279b80: MI_FLUSH
+0x123010e8: 0x00000000: MI_NOOP
+0x123010ec: 0x00000000: MI_NOOP
+0x123010f0: 0x00000000: MI_NOOP
+0x123010f4: 0x00000000: MI_NOOP
+0x123010f8: 0x00000000: MI_NOOP
+0x123010fc: 0x00000000: MI_NOOP
+0x12301100: 0x00000000: MI_NOOP
+Bad count in 3DSTATE_SF
+0x12301104: 0x78130005: 3DSTATE_SF
+0x12301108: 0x00003403: Attrib Out 0, Attrib Swizzle disable, VUE read length 6, VUE read offset 0
+0x1230110c: 0x62000000: Legacy Global DepthBias disable, FrontFace fill 0, BF fill 0, VP transform disable, FrontWinding_CW
+0x12301110: 0x4c000808: AA disable, CullMode 2, Scissor enable, Multisample m ode 0
+0x12301114: 0x00000000: Last Pixel disable, SubPixel Precision 8, Use PixelWidth 0
+0x12301118: 0x00000000: Global Depth Offset Constant 0.000000
+0x1230111c: 0x00000000: Global Depth Offset Scale 0.000000
+0x12301120: 0x78140001: Global Depth Offset Clamp 12007187723301828176357047660445696.000000
+0x12301124: 0xa0000840: Attrib 1 (Override WY, Const Source 0, Swizzle Select 0, Source 0); Attrib 0 (Override , Const Source 0, Swizzle Select 1, Source 0)
+0x12301128: 0x00000000: Attrib 3 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 2 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230112c: 0x782a0000: Attrib 5 (Override ZYX, Const Source 0, Swizzle Select 0, Source 10); Attrib 4 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12301130: 0x00007a00: Attrib 7 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 6 (Override ZYX, Const Source 1, Swizzle Select 0, Source 0)
+0x12301134: 0x782f0000: Attrib 9 (Override ZYX, Const Source 0, Swizzle Select 0, Source 15); Attrib 8 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12301138: 0x00000000: Attrib 11 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 10 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x1230113c: 0x78170005: Attrib 13 (Override ZYX, Const Source 0, Swizzle Select 0, Source 23); Attrib 12 (Override , Const Source 0, Swizzle Select 0, Source 5)
+0x12301140: 0x00000000: Attrib 15 (Override , Const Source 0, Swizzle Select 0, Source 0); Attrib 14 (Override , Const Source 0, Swizzle Select 0, Source 0)
+0x12301144: 0x00000000: Point Sprite TexCoord Enable
+0x12301148: 0x00000000: Const Interp Enable
+0x1230114c: 0x00000000: Attrib 7-0 WrapShortest Enable
+0x12301150: 0x00000000: Attrib 15-8 WrapShortest Enable
+Bad count in 3DSTATE_WM
+0x12301120: 0x78140001: 3DSTATE_WM
+0x12301124: 0xa0000840: kernel start pointer 0
+0x12301128: 0x00000000: SPF=0, VME=0, Sampler Count 0, Binding table count 0
+0x1230112c: 0x782a0000: scratch offset
+0x12301130: 0x00007a00: Depth Clear 0, Depth Resolve 0, HiZ Resolve 0, Dispatch GRF start[0] 0, start[1] 122, start[2] 0
+0x12301134: 0x782f0000: MaxThreads 61, PS KillPixel 0, PS computed Z 1, PS use sourceZ 0, Thread Dispatch 1, PS use sourceW 0, Dispatch32 0, Dispatch16 0, Dispatch8 0
+0x12301138: 0x00000000: Num SF output 0, Pos XY offset 0, ZW interp mode 0 , Barycentric interp mode 0x0, Point raster rule 0, Multisample mode 0, Multisample Dispatch mode 0
+0x1230113c: 0x78170005: kernel start pointer 1
+0x12301140: 0x00000000: kernel start pointer 2
+0x1230112c: 0x782a0000: 3D UNKNOWN: 3d_965 opcode = 0x782a
+0x12301130: 0x00007a00: MI_NOOP
+0x12301134: 0x782f0000: 3D UNKNOWN: 3d_965 opcode = 0x782f
+0x12301138: 0x00000000: MI_NOOP
+0x1230113c: 0x78170005: 3DSTATE_CONSTANT_PS_STATE
+Bad count in 3DSTATE_CONSTANT_PS_STATE
+0x12301140: 0x00000000: dword 1
+0x12301144: 0x00000000: dword 2
+0x12301148: 0x00000000: dword 3
+0x1230114c: 0x00000000: dword 4
+0x12301150: 0x00000000: dword 5
+0x12301154: 0x00000000: dword 6
+0x12301158: 0x78200006: 3D UNKNOWN: 3d_965 opcode = 0x7820
+0x1230115c: 0x00000940: MI_NOOP
+0x12301160: 0x00010000: MI_NOOP
+0x12301164: 0x00000000: MI_NOOP
+0x12301168: 0x55000402: XY_MONO_SRC_COPY_BLT
+Bad count in XY_MONO_SRC_COPY_BLT
+0x1230116c: 0x00060000: dword 1
+0x12301170: 0x00000000: dword 2
+0x12301174: 0x00000940: dword 3
+Bad count in 3DPRIMITIVE
+0x12301178: 0x7b000005: 3DPRIMITIVE: fail sequential
+0x1230117c: 0x00000008: vertex count
+0x12301180: 0x00000016: start vertex
+0x12301184: 0x00000052: instance count
+0x12301188: 0x00000001: start instance
+0x1230118c: 0x00000000: index bias
+0x12301194: 0x05000000: MI_BATCH_BUFFER_END
diff --git a/intel/tests/gen7-3d.batch.sh b/intel/tests/gen7-3d.batch.sh
new file mode 120000
index 00000000..796ca5fe
--- /dev/null
+++ b/intel/tests/gen7-3d.batch.sh
@@ -0,0 +1 @@
+test-batch.sh \ No newline at end of file
diff --git a/intel/tests/gm45-3d.batch b/intel/tests/gm45-3d.batch
new file mode 100644
index 00000000..549608bb
--- /dev/null
+++ b/intel/tests/gm45-3d.batch
Binary files differ
diff --git a/intel/tests/gm45-3d.batch-ref.txt b/intel/tests/gm45-3d.batch-ref.txt
new file mode 100644
index 00000000..5a47d77c
--- /dev/null
+++ b/intel/tests/gm45-3d.batch-ref.txt
@@ -0,0 +1,488 @@
+0x12300000: 0x69040000: 3DSTATE_PIPELINE_SELECT
+0x12300004: 0x79090000: 3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP
+0x12300008: 0x00000000: dword 1
+0x1230000c: 0x61020000: STATE_SIP
+0x12300010: 0x00000000: dword 1
+0x12300014: 0x680b0000: 3DSTATE_VF_STATISTICS
+0x12300018: 0x61010004: STATE_BASE_ADDRESS
+0x1230001c: 0x00000001: general state base address 0x00000000
+0x12300020: 0x00000001: surface state base address 0x00000000
+0x12300024: 0x00000001: indirect state base address 0x00000000
+0x12300028: 0x00000001: general state upper bound disabled
+0x1230002c: 0x00000001: indirect state upper bound disabled
+0x12300030: 0x78010004: 3DSTATE_BINDING_TABLE_POINTERS
+0x12300034: 0x00007e20: VS binding table
+0x12300038: 0x00000000: GS binding table
+0x1230003c: 0x00000000: Clip binding table
+0x12300040: 0x00000000: SF binding table
+0x12300044: 0x00007e20: WM binding table
+0x12300048: 0x79010003: 3DSTATE_CONSTANT_COLOR
+0x1230004c: 0x00000000: dword 1
+0x12300050: 0x00000000: dword 2
+0x12300054: 0x00000000: dword 3
+0x12300058: 0x00000000: dword 4
+0x1230005c: 0x79050004: 3DSTATE_DEPTH_BUFFER
+0x12300060: 0x2c0805ff: 2D, z24s8, pitch = 1536 bytes, tiled
+0x12300064: 0x00000000: depth offset
+0x12300068: 0x09584ac0: 300x300
+0x1230006c: 0x00000000: volume depth
+0x12300070: 0x00000000:
+0x12300074: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300078: 0x00007d60: VS state
+0x1230007c: 0x00000000: GS state
+0x12300080: 0x00007d21: Clip state
+0x12300084: 0x00007d80: SF state
+0x12300088: 0x00007de0: WM state
+0x1230008c: 0x00007fc0: CC state
+0x12300090: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300094: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300098: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230009c: 0x60010000: CS_URB_STATE
+0x123000a0: 0x00000024: entry_size: 2 [192 bytes], n_entries: 4
+0x123000a4: 0x79000002: 3DSTATE_DRAWING_RECTANGLE
+0x123000a8: 0x00000000: top left: 0,0
+0x123000ac: 0x012b012b: bottom right: 299,299
+0x123000b0: 0x00000000: origin: 0,0
+0x123000b4: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123000b8: 0x0000000c: buffer 0: sequential, pitch 12b
+0x123000bc: 0x00000000: buffer address
+0x123000c0: 0x00000000: max index
+0x123000c4: 0x00000000: mbz
+0x123000c8: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123000cc: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123000d0: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123000d4: 0x60020100: CONSTANT_BUFFER: valid
+0x123000d8: 0x00000001: offset: 0x00000000, length: 128 bytes
+0x123000dc: 0x7b001804: 3DPRIMITIVE: tri fan sequential
+0x123000e0: 0x00000004: vertex count
+0x123000e4: 0x00000000: start vertex
+0x123000e8: 0x00000001: instance count
+0x123000ec: 0x00000000: start instance
+0x123000f0: 0x00000000: index bias
+0x123000f4: 0x78010004: 3DSTATE_BINDING_TABLE_POINTERS
+0x123000f8: 0x00007b40: VS binding table
+0x123000fc: 0x00000000: GS binding table
+0x12300100: 0x00000000: Clip binding table
+0x12300104: 0x00000000: SF binding table
+0x12300108: 0x00007b40: WM binding table
+0x1230010c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300110: 0x00007aa0: VS state
+0x12300114: 0x00007a41: GS state
+0x12300118: 0x00007a61: Clip state
+0x1230011c: 0x00007ac0: SF state
+0x12300120: 0x00007b00: WM state
+0x12300124: 0x00007cc0: CC state
+0x12300128: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230012c: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300130: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x12300134: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300138: 0x0000000c: buffer 0: sequential, pitch 12b
+0x1230013c: 0x00000000: buffer address
+0x12300140: 0x00000000: max index
+0x12300144: 0x00000000: mbz
+0x12300148: 0x60020100: CONSTANT_BUFFER: valid
+0x1230014c: 0x00000082: offset: 0x00000080, length: 192 bytes
+0x12300150: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300154: 0x00000052: vertex count
+0x12300158: 0x00000000: start vertex
+0x1230015c: 0x00000001: instance count
+0x12300160: 0x00000000: start instance
+0x12300164: 0x00000000: index bias
+0x12300168: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x1230016c: 0x00007aa0: VS state
+0x12300170: 0x00007a21: GS state
+0x12300174: 0x00007a61: Clip state
+0x12300178: 0x00007ac0: SF state
+0x1230017c: 0x00007b00: WM state
+0x12300180: 0x00007cc0: CC state
+0x12300184: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300188: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x1230018c: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x12300190: 0x60020100: CONSTANT_BUFFER: valid
+0x12300194: 0x00000082: offset: 0x00000080, length: 192 bytes
+0x12300198: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x1230019c: 0x00000050: vertex count
+0x123001a0: 0x00000052: start vertex
+0x123001a4: 0x00000001: instance count
+0x123001a8: 0x00000000: start instance
+0x123001ac: 0x00000000: index bias
+0x123001b0: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123001b4: 0x00007aa0: VS state
+0x123001b8: 0x00007a01: GS state
+0x123001bc: 0x00007a61: Clip state
+0x123001c0: 0x00007ac0: SF state
+0x123001c4: 0x00007b00: WM state
+0x123001c8: 0x00007cc0: CC state
+0x123001cc: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123001d0: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x123001d4: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x123001d8: 0x60020100: CONSTANT_BUFFER: valid
+0x123001dc: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x123001e0: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123001e4: 0x00000052: vertex count
+0x123001e8: 0x000000a2: start vertex
+0x123001ec: 0x00000001: instance count
+0x123001f0: 0x00000000: start instance
+0x123001f4: 0x00000000: index bias
+0x123001f8: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123001fc: 0x00007aa0: VS state
+0x12300200: 0x000079e1: GS state
+0x12300204: 0x00007a61: Clip state
+0x12300208: 0x00007ac0: SF state
+0x1230020c: 0x00007b00: WM state
+0x12300210: 0x00007cc0: CC state
+0x12300214: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300218: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x1230021c: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x12300220: 0x60020100: CONSTANT_BUFFER: valid
+0x12300224: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x12300228: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x1230022c: 0x00000050: vertex count
+0x12300230: 0x000000f4: start vertex
+0x12300234: 0x00000001: instance count
+0x12300238: 0x00000000: start instance
+0x1230023c: 0x00000000: index bias
+0x12300240: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300244: 0x00007aa0: VS state
+0x12300248: 0x000079c1: GS state
+0x1230024c: 0x00007a61: Clip state
+0x12300250: 0x00007ac0: SF state
+0x12300254: 0x00007b00: WM state
+0x12300258: 0x00007cc0: CC state
+0x1230025c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300260: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300264: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x12300268: 0x60020100: CONSTANT_BUFFER: valid
+0x1230026c: 0x00000142: offset: 0x00000140, length: 192 bytes
+0x12300270: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300274: 0x000079a0: VS state
+0x12300278: 0x000079c1: GS state
+0x1230027c: 0x00007a61: Clip state
+0x12300280: 0x00007ac0: SF state
+0x12300284: 0x00007b00: WM state
+0x12300288: 0x00007cc0: CC state
+0x1230028c: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300290: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300294: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x12300298: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x1230029c: 0x00000018: buffer 0: sequential, pitch 24b
+0x123002a0: 0x00000f48: buffer address
+0x123002a4: 0x00000000: max index
+0x123002a8: 0x00000000: mbz
+0x123002ac: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x123002b0: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123002b4: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123002b8: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x123002bc: 0x11130004: (X, Y, Z, 1.0), dst offset 0x10 bytes
+0x123002c0: 0x60020100: CONSTANT_BUFFER: valid
+0x123002c4: 0x00000202: offset: 0x00000200, length: 192 bytes
+0x123002c8: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123002cc: 0x000000a2: vertex count
+0x123002d0: 0x00000000: start vertex
+0x123002d4: 0x00000001: instance count
+0x123002d8: 0x00000000: start instance
+0x123002dc: 0x00000000: index bias
+0x123002e0: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123002e4: 0x000079a0: VS state
+0x123002e8: 0x00000000: GS state
+0x123002ec: 0x00007901: Clip state
+0x123002f0: 0x00007940: SF state
+0x123002f4: 0x00007960: WM state
+0x123002f8: 0x00007cc0: CC state
+0x123002fc: 0x00000000: MI_NOOP
+0x12300300: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300304: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300308: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230030c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300310: 0x00000202: offset: 0x00000200, length: 192 bytes
+0x12300314: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x12300318: 0x0000002a: vertex count
+0x1230031c: 0x000000a2: start vertex
+0x12300320: 0x00000001: instance count
+0x12300324: 0x00000000: start instance
+0x12300328: 0x00000000: index bias
+0x1230032c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300330: 0x00007860: VS state
+0x12300334: 0x00007801: GS state
+0x12300338: 0x00007821: Clip state
+0x1230033c: 0x00007880: SF state
+0x12300340: 0x000078a0: WM state
+0x12300344: 0x00007cc0: CC state
+0x12300348: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230034c: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300350: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x12300354: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300358: 0x0000000c: buffer 0: sequential, pitch 12b
+0x1230035c: 0x00002268: buffer address
+0x12300360: 0x00000000: max index
+0x12300364: 0x00000000: mbz
+0x12300368: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x1230036c: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300370: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x12300374: 0x60020100: CONSTANT_BUFFER: valid
+0x12300378: 0x000002c2: offset: 0x000002c0, length: 192 bytes
+0x1230037c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300380: 0x0000002a: vertex count
+0x12300384: 0x00000000: start vertex
+0x12300388: 0x00000001: instance count
+0x1230038c: 0x00000000: start instance
+0x12300390: 0x00000000: index bias
+0x12300394: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300398: 0x00007860: VS state
+0x1230039c: 0x000077e1: GS state
+0x123003a0: 0x00007821: Clip state
+0x123003a4: 0x00007880: SF state
+0x123003a8: 0x000078a0: WM state
+0x123003ac: 0x00007cc0: CC state
+0x123003b0: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123003b4: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x123003b8: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x123003bc: 0x60020100: CONSTANT_BUFFER: valid
+0x123003c0: 0x000002c2: offset: 0x000002c0, length: 192 bytes
+0x123003c4: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x123003c8: 0x00000028: vertex count
+0x123003cc: 0x0000002a: start vertex
+0x123003d0: 0x00000001: instance count
+0x123003d4: 0x00000000: start instance
+0x123003d8: 0x00000000: index bias
+0x123003dc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123003e0: 0x00007860: VS state
+0x123003e4: 0x000077c1: GS state
+0x123003e8: 0x00007821: Clip state
+0x123003ec: 0x00007880: SF state
+0x123003f0: 0x000078a0: WM state
+0x123003f4: 0x00007cc0: CC state
+0x123003f8: 0x00000000: MI_NOOP
+0x123003fc: 0x00000000: MI_NOOP
+0x12300400: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300404: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300408: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230040c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300410: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x12300414: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300418: 0x0000002a: vertex count
+0x1230041c: 0x00000052: start vertex
+0x12300420: 0x00000001: instance count
+0x12300424: 0x00000000: start instance
+0x12300428: 0x00000000: index bias
+0x1230042c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300430: 0x00007860: VS state
+0x12300434: 0x000077a1: GS state
+0x12300438: 0x00007821: Clip state
+0x1230043c: 0x00007880: SF state
+0x12300440: 0x000078a0: WM state
+0x12300444: 0x00007cc0: CC state
+0x12300448: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x1230044c: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300450: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x12300454: 0x60020100: CONSTANT_BUFFER: valid
+0x12300458: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x1230045c: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300460: 0x00000028: vertex count
+0x12300464: 0x0000007c: start vertex
+0x12300468: 0x00000001: instance count
+0x1230046c: 0x00000000: start instance
+0x12300470: 0x00000000: index bias
+0x12300474: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300478: 0x00007860: VS state
+0x1230047c: 0x00007781: GS state
+0x12300480: 0x00007821: Clip state
+0x12300484: 0x00007880: SF state
+0x12300488: 0x000078a0: WM state
+0x1230048c: 0x00007cc0: CC state
+0x12300490: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300494: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300498: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230049c: 0x60020100: CONSTANT_BUFFER: valid
+0x123004a0: 0x00000382: offset: 0x00000380, length: 192 bytes
+0x123004a4: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123004a8: 0x00007760: VS state
+0x123004ac: 0x00007781: GS state
+0x123004b0: 0x00007821: Clip state
+0x123004b4: 0x00007880: SF state
+0x123004b8: 0x000078a0: WM state
+0x123004bc: 0x00007cc0: CC state
+0x123004c0: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123004c4: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x123004c8: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x123004cc: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x123004d0: 0x00000018: buffer 0: sequential, pitch 24b
+0x123004d4: 0x00002a30: buffer address
+0x123004d8: 0x00000000: max index
+0x123004dc: 0x00000000: mbz
+0x123004e0: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x123004e4: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123004e8: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123004ec: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x123004f0: 0x11130004: (X, Y, Z, 1.0), dst offset 0x10 bytes
+0x123004f4: 0x60020100: CONSTANT_BUFFER: valid
+0x123004f8: 0x00000442: offset: 0x00000440, length: 192 bytes
+0x123004fc: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300500: 0x00000052: vertex count
+0x12300504: 0x00000000: start vertex
+0x12300508: 0x00000001: instance count
+0x1230050c: 0x00000000: start instance
+0x12300510: 0x00000000: index bias
+0x12300514: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300518: 0x00007760: VS state
+0x1230051c: 0x00000000: GS state
+0x12300520: 0x000076c1: Clip state
+0x12300524: 0x00007700: SF state
+0x12300528: 0x00007720: WM state
+0x1230052c: 0x00007cc0: CC state
+0x12300530: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300534: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300538: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230053c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300540: 0x00000442: offset: 0x00000440, length: 192 bytes
+0x12300544: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x12300548: 0x00000016: vertex count
+0x1230054c: 0x00000052: start vertex
+0x12300550: 0x00000001: instance count
+0x12300554: 0x00000000: start instance
+0x12300558: 0x00000000: index bias
+0x1230055c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300560: 0x00007620: VS state
+0x12300564: 0x000075c1: GS state
+0x12300568: 0x000075e1: Clip state
+0x1230056c: 0x00007640: SF state
+0x12300570: 0x00007660: WM state
+0x12300574: 0x00007cc0: CC state
+0x12300578: 0x00000000: MI_NOOP
+0x1230057c: 0x00000000: MI_NOOP
+0x12300580: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300584: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300588: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230058c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300590: 0x0000000c: buffer 0: sequential, pitch 12b
+0x12300594: 0x000033f0: buffer address
+0x12300598: 0x00000000: max index
+0x1230059c: 0x00000000: mbz
+0x123005a0: 0x78090001: 3DSTATE_VERTEX_ELEMENTS
+0x123005a4: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x123005a8: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x123005ac: 0x60020100: CONSTANT_BUFFER: valid
+0x123005b0: 0x00000502: offset: 0x00000500, length: 192 bytes
+0x123005b4: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x123005b8: 0x0000002a: vertex count
+0x123005bc: 0x00000000: start vertex
+0x123005c0: 0x00000001: instance count
+0x123005c4: 0x00000000: start instance
+0x123005c8: 0x00000000: index bias
+0x123005cc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123005d0: 0x00007620: VS state
+0x123005d4: 0x000075a1: GS state
+0x123005d8: 0x000075e1: Clip state
+0x123005dc: 0x00007640: SF state
+0x123005e0: 0x00007660: WM state
+0x123005e4: 0x00007cc0: CC state
+0x123005e8: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123005ec: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x123005f0: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x123005f4: 0x60020100: CONSTANT_BUFFER: valid
+0x123005f8: 0x00000502: offset: 0x00000500, length: 192 bytes
+0x123005fc: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300600: 0x00000028: vertex count
+0x12300604: 0x0000002a: start vertex
+0x12300608: 0x00000001: instance count
+0x1230060c: 0x00000000: start instance
+0x12300610: 0x00000000: index bias
+0x12300614: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300618: 0x00007620: VS state
+0x1230061c: 0x00007581: GS state
+0x12300620: 0x000075e1: Clip state
+0x12300624: 0x00007640: SF state
+0x12300628: 0x00007660: WM state
+0x1230062c: 0x00007cc0: CC state
+0x12300630: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300634: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300638: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230063c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300640: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x12300644: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300648: 0x0000002a: vertex count
+0x1230064c: 0x00000052: start vertex
+0x12300650: 0x00000001: instance count
+0x12300654: 0x00000000: start instance
+0x12300658: 0x00000000: index bias
+0x1230065c: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300660: 0x00007620: VS state
+0x12300664: 0x00007561: GS state
+0x12300668: 0x000075e1: Clip state
+0x1230066c: 0x00007640: SF state
+0x12300670: 0x00007660: WM state
+0x12300674: 0x00007cc0: CC state
+0x12300678: 0x00000000: MI_NOOP
+0x1230067c: 0x00000000: MI_NOOP
+0x12300680: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300684: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300688: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230068c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300690: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x12300694: 0x7b001c04: 3DPRIMITIVE: quad list sequential
+0x12300698: 0x00000028: vertex count
+0x1230069c: 0x0000007c: start vertex
+0x123006a0: 0x00000001: instance count
+0x123006a4: 0x00000000: start instance
+0x123006a8: 0x00000000: index bias
+0x123006ac: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123006b0: 0x00007620: VS state
+0x123006b4: 0x00007541: GS state
+0x123006b8: 0x000075e1: Clip state
+0x123006bc: 0x00007640: SF state
+0x123006c0: 0x00007660: WM state
+0x123006c4: 0x00007cc0: CC state
+0x123006c8: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x123006cc: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x123006d0: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x123006d4: 0x60020100: CONSTANT_BUFFER: valid
+0x123006d8: 0x000005c2: offset: 0x000005c0, length: 192 bytes
+0x123006dc: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x123006e0: 0x00007520: VS state
+0x123006e4: 0x00007541: GS state
+0x123006e8: 0x000075e1: Clip state
+0x123006ec: 0x00007640: SF state
+0x123006f0: 0x00007660: WM state
+0x123006f4: 0x00007cc0: CC state
+0x123006f8: 0x00000000: MI_NOOP
+0x123006fc: 0x00000000: MI_NOOP
+0x12300700: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300704: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300708: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230070c: 0x78080003: 3DSTATE_VERTEX_BUFFERS
+0x12300710: 0x00000018: buffer 0: sequential, pitch 24b
+0x12300714: 0x00003bb8: buffer address
+0x12300718: 0x00000000: max index
+0x1230071c: 0x00000000: mbz
+0x12300720: 0x78090003: 3DSTATE_VERTEX_ELEMENTS
+0x12300724: 0x04400000: buffer 0: valid, type 0x0040, src offset 0x0000 bytes
+0x12300728: 0x11130000: (X, Y, Z, 1.0), dst offset 0x00 bytes
+0x1230072c: 0x0440000c: buffer 0: valid, type 0x0040, src offset 0x000c bytes
+0x12300730: 0x11130004: (X, Y, Z, 1.0), dst offset 0x10 bytes
+0x12300734: 0x60020100: CONSTANT_BUFFER: valid
+0x12300738: 0x00000682: offset: 0x00000680, length: 192 bytes
+0x1230073c: 0x7b002004: 3DPRIMITIVE: quad strip sequential
+0x12300740: 0x00000052: vertex count
+0x12300744: 0x00000000: start vertex
+0x12300748: 0x00000001: instance count
+0x1230074c: 0x00000000: start instance
+0x12300750: 0x00000000: index bias
+0x12300754: 0x78000005: 3DSTATE_PIPELINED_POINTERS
+0x12300758: 0x00007520: VS state
+0x1230075c: 0x00000000: GS state
+0x12300760: 0x00007481: Clip state
+0x12300764: 0x000074c0: SF state
+0x12300768: 0x000074e0: WM state
+0x1230076c: 0x00007cc0: CC state
+0x12300770: 0x60003f01: URB_FENCE: cs vfe sf clip gs vs
+0x12300774: 0x05212040: vs fence: 64, clip_fence: 82, gs_fence: 72
+0x12300778: 0x18000062: sf fence: 98, vfe_fence: 0, cs_fence: 384
+0x1230077c: 0x60020100: CONSTANT_BUFFER: valid
+0x12300780: 0x00000682: offset: 0x00000680, length: 192 bytes
+0x12300784: 0x7b001404: 3DPRIMITIVE: tri strip sequential
+0x12300788: 0x00000016: vertex count
+0x1230078c: 0x00000052: start vertex
+0x12300790: 0x00000001: instance count
+0x12300794: 0x00000000: start instance
+0x12300798: 0x00000000: index bias
+0x1230079c: 0x05000000: MI_BATCH_BUFFER_END
diff --git a/intel/tests/gm45-3d.batch.sh b/intel/tests/gm45-3d.batch.sh
new file mode 120000
index 00000000..796ca5fe
--- /dev/null
+++ b/intel/tests/gm45-3d.batch.sh
@@ -0,0 +1 @@
+test-batch.sh \ No newline at end of file
diff --git a/intel/tests/test-batch.sh b/intel/tests/test-batch.sh
new file mode 100755
index 00000000..a94057ff
--- /dev/null
+++ b/intel/tests/test-batch.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+TEST_FILENAME=`echo "$0" | sed 's|.sh||'`
+./test_decode $TEST_FILENAME
+
+ret=$?
+
+# pretty-print a diff showing what happened, and leave the dumped
+# around for possibly moving over the ref.
+if test $ret = 1; then
+ REF_FILENAME="$TEST_FILENAME-ref.txt"
+ NEW_FILENAME="$TEST_FILENAME-new.txt"
+ ./test_decode $TEST_FILENAME -dump > $NEW_FILENAME
+ if test $? = 0; then
+ echo "Differences:"
+ diff -u $REF_FILENAME $NEW_FILENAME
+ fi
+fi
+
+exit $ret