Monday, February 16, 2015

R5

Dissector R5

Makes render target view a little more robust when viewing non a8r8g8b8 types. Still shows values as a8r8g8b8 instead of native type (e.g. r10g10b10a2).

Supports more depth buffer formats (but renders them all in INTZ)

Support for showing depth buffers as floats in the gui, and uses range normalization for the visualization.

Fix for texture coordinates being wrong in the texture/render target/depth target viewing window.

Sunday, February 8, 2015

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.