diff options
author | Marcin Ślusarz <marcin.slusarz@gmail.com> | 2015-05-26 22:16:20 +0200 |
---|---|---|
committer | Marcin Ślusarz <marcin.slusarz@gmail.com> | 2015-05-26 22:51:44 +0200 |
commit | dc3129483150b76c2690e1c2bd0043e91c57bff7 (patch) | |
tree | 6b9b9bd906b237899c660b9938c5fa74a04e9623 /demmt | |
parent | 512583e09a5814872e53ae3cbd36343716b10038 (diff) |
demmt: fix crash after aae5fcf7e87a7db22243b7efe2825a300dea0c02
Diffstat (limited to 'demmt')
-rw-r--r-- | demmt/object_gf100_3d.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/demmt/object_gf100_3d.c b/demmt/object_gf100_3d.c index 0299277a..e1f6f47e 100644 --- a/demmt/object_gf100_3d.c +++ b/demmt/object_gf100_3d.c @@ -203,10 +203,13 @@ void decode_gf100_3d_verbose(struct gpu_object *obj, struct pushbuf_decode_state else if (mthd >= 0x2000 && mthd < 0x2000 + 0x40 * 6) // SP { int i; + struct varinfo *var; if (!isa_gf100) isa_gf100 = ed_getisa("gf100"); + var = varinfo_new(isa_gf100->vardata); + for (i = 0; i < 6; ++i) { if (mthd != 0x2004 + i * 0x40) // SP[i].START_ID @@ -223,11 +226,13 @@ void decode_gf100_3d_verbose(struct gpu_object *obj, struct pushbuf_decode_state if (code) gf100_3d_disassemble(code, m->object->written_regions.head, - data, isa_gf100, NULL); + data, isa_gf100, var); } break; } + + varinfo_del(var); } else if (mthd >= 0x2400 && mthd < 0x2404 + 0x20 * 5) { |