mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
i965: Make INTEL_DEBUG=bat decode VS/CLIP/GS/SF/WM/CC_STATE on Gen4-5.
This is something the original decoder did, but I didn't bother with until now. I recently had to debug an Ironlake issue, and wanted to inspect VS_STATE. So, now it's back. The other packets in the switch statement are all Gen6/7+, where we use offsets from dynamic state base address, so we don't need the gtt_offset subtraction introduced here. We might want to make a helper for this hack at some point - perhaps when we introduce the next occurance. Acked-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
0f34b674ed
commit
32f0dc3a29
1 changed files with 21 additions and 1 deletions
|
|
@ -275,7 +275,27 @@ do_batch_dump(struct brw_context *brw)
|
|||
|
||||
switch (gen_group_get_opcode(inst) >> 16) {
|
||||
case _3DSTATE_PIPELINED_POINTERS:
|
||||
/* TODO: Decode Gen4-5 pipelined pointers */
|
||||
/* Note: these Gen4-5 pointers are full relocations rather than
|
||||
* offsets from the start of the batch. So we need to subtract
|
||||
* gtt_offset (the start of the batch) to obtain an offset we
|
||||
* can add to the map and get at the data.
|
||||
*/
|
||||
decode_struct(brw, spec, "VS_STATE", data, gtt_offset,
|
||||
(p[1] & ~0x1fu) - gtt_offset, color);
|
||||
if (p[2] & 1) {
|
||||
decode_struct(brw, spec, "GS_STATE", data, gtt_offset,
|
||||
(p[2] & ~0x1fu) - gtt_offset, color);
|
||||
}
|
||||
if (p[3] & 1) {
|
||||
decode_struct(brw, spec, "CLIP_STATE", data, gtt_offset,
|
||||
(p[3] & ~0x1fu) - gtt_offset, color);
|
||||
}
|
||||
decode_struct(brw, spec, "SF_STATE", data, gtt_offset,
|
||||
(p[4] & ~0x1fu) - gtt_offset, color);
|
||||
decode_struct(brw, spec, "WM_STATE", data, gtt_offset,
|
||||
(p[5] & ~0x1fu) - gtt_offset, color);
|
||||
decode_struct(brw, spec, "COLOR_CALC_STATE", data, gtt_offset,
|
||||
(p[6] & ~0x3fu) - gtt_offset, color);
|
||||
break;
|
||||
case _3DSTATE_BINDING_TABLE_POINTERS_VS:
|
||||
case _3DSTATE_BINDING_TABLE_POINTERS_HS:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue