Sunday, January 25, 2015

Dissector R3

https://github.com/imccown/Dissector/releases/tag/R3

Got rid of the last of the crashes in BGFX examples. Let me know if you run in to any crashes.

If there are a large number of draw calls (>20k) some will be dropped, mostly because we need to allocate a large contiguous block of memory for the capture data with the current code. After 64-bit I might work on getting the per draw call storage requirements down. I don't think that you'd really run in to that with a production renderer though.

Monday, January 19, 2015

Release 2

Release 2 on Github

Fix for crash when viewing non-indexed meshes in the GUI mesh viewer
Fix for crashing when using instanced vertex buffers
Fix for crash caused by D3D9 objects being released out from under the debugger by the target application.
Fix for NULL texture format causing crashes in the thumbnailer.

Saturday, January 17, 2015

Dissector now on Github

Dissector on github

I'll be keeping the source code synced here while I'm working. I'll still be posting releases here on the blog with pre-built binaries.

Saturday, January 10, 2015

Dissector GPU debugger first release!

Finally Dissector is ready to go out to the world!

Dissector is a GPU debugging tool for DX9 games (and someday maybe more) that I've been working on for the past year. I'm making it available under the MIT license.

Download Dissector release #1 from google drive

I have a short video available that explains some of the features.

Feature List:

  • Launch programs from the GUI or instrument programs source code directly to get captures
  • See all render events and quickly scroll through them to see render output
  • Quickly view and modify render states for render events
  • See and save images for render targets, textures and depth buffers
  • See a 3d models for the triangles drawn in a draw call
  • Source level shader debugging (shaders must be compiled with debug info)
  • Comparative shader debugging. Lets you compare two runs of a shader to see which source lines differ between runs, and which values are different for each run per source line. See the video for more details.
  • "Why didn't pixel render." This feature lets you select a pixel on a draw call and find out what prevented that particular pixel from rendering. Includes things like stencil, shader clips, failing to rasterize, alpha blend, alpha testing, and more.
Important things left to do:
  • 64-bit support
  • Upgrade solutions to VS2013CE (required for 64-bit, current solutions are 2010 express which doesn't support 64-bit)
  • Stencil viewing support
If you have any questions/comments you don't want to post here feel free to email me (address is in my profile) or contact me on twitter @imccown.