Fully decode map state

A few odd things were missing.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Daniel Vetter 2011-03-04 15:58:00 +01:00
parent 673d5bcea0
commit f14877f2de

View File

@ -823,7 +823,7 @@ decode_stencil_op(uint32_t op)
} }
static char * static char *
ecode_logic_op(uint32_t op) decode_logic_op(uint32_t op)
{ {
switch (op&0xf) { switch (op&0xf) {
case 0: return "clear"; case 0: return "clear";
@ -1149,7 +1149,11 @@ decode_3d_1d(uint32_t *data, int count,
if (i + 3 >= count) if (i + 3 >= count)
BUFFER_FAIL(count, len, "3DSTATE_MAP_STATE"); BUFFER_FAIL(count, len, "3DSTATE_MAP_STATE");
instr_out(data, hw_offset, i++, "map %d MS2\n", map); dword = data[i];
instr_out(data, hw_offset, i++, "map %d MS2 %s%s%s\n", map,
dword&(1<<31)?"untrusted surface, ":"",
dword&(1<<1)?"vertical line stride enable, ":"",
dword&(1<<0)?"vertical ofs enable, ":"");
dword = data[i]; dword = data[i];
width = ((dword >> 10) & ((1 << 11) - 1))+1; width = ((dword >> 10) & ((1 << 11) - 1))+1;
@ -1227,12 +1231,17 @@ decode_3d_1d(uint32_t *data, int count,
default: default:
format = "BAD"; format = "BAD";
} }
instr_out(data, hw_offset, i++, "map %d MS3 [width=%d, height=%d, format=%s%s, tiling=%s]\n", dword = data[i];
map, width, height, type, format, tiling); instr_out(data, hw_offset, i++, "map %d MS3 [width=%d, height=%d, format=%s%s, tiling=%s%s]\n",
map, width, height, type, format, tiling,
dword&(1<<9)?" palette select":"");
dword = data[i]; dword = data[i];
pitch = 4*(((dword >> 21) & ((1 << 11) - 1))+1); pitch = 4*(((dword >> 21) & ((1 << 11) - 1))+1);
instr_out(data, hw_offset, i++, "map %d MS4 [pitch=%d]\n", map, pitch); instr_out(data, hw_offset, i++, "map %d MS4 [pitch=%d, max_lod=%i, vol_depth=%i, cube_face_ena=%x, %s]\n",
map, pitch,
(dword>>9)&0x3f, dword&0xff, (dword>>15)&0x3f,
dword&(1<<8)?"miplayout legacy":"miplayout right");
} }
} }
if (len != i) { if (len != i) {