While trying to debug Skylake fast color clears, I noticed that the surface state generated by our decoder was woefully inadequate. Much of the dumped state was so stale as to be useless.
Just to be clear, the code is not auto generated from a spec, and so I'm certain there are bugs in the decoder. There are the typo kind of bugs, and then some bugs where I feel the hardware spec is a bit vague, and I took a guess as to how things should work (I am looking at you Base mips). I guarantee that even with whatever bugs present, the output with INTEL_DEBUG=batch is significantly improved on all gen8+ platforms. Therefore, I think it makes a lot of sense to not worry too much about any minor issues, and fix them up in later patches... but it's your call. I made all of the character strings global since really any new code added to the file would likely benefit from having it there. (Also potentially we get slightly less bad performance when using INTEL_DEBUG=batch) I didn't intend to leave any major state changes out, so if you're aware of one I've missed, please don't hesitate to have me add it. Ben Widawsky (7): i965: Add all surface types to the batch decode i965: Add viewport extents (gen8) to batch decode i965: Add gen7+ sampler state to batch debug i965: Add gen8 surface state debug info i965: Add gen9 surface state decoding i965: Add renderbuffer surface indexes to debug i965: Add gen8 blend state src/mesa/drivers/dri/i965/brw_context.h | 1 + src/mesa/drivers/dri/i965/brw_defines.h | 7 +- src/mesa/drivers/dri/i965/brw_state.h | 13 +- src/mesa/drivers/dri/i965/brw_state_batch.c | 20 +- src/mesa/drivers/dri/i965/brw_state_dump.c | 405 +++++++++++++++++++++++-- src/mesa/drivers/dri/i965/gen8_surface_state.c | 15 +- 6 files changed, 423 insertions(+), 38 deletions(-) -- 2.3.6 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev