Commit Graph

57 Commits

Author SHA1 Message Date
baldurk 1ba89e4b16 Add Ctrl-C copy-paste handler to GL pipeline viewer
* Also fix a crash if ctrl-c is pressed while no log is loaded
2015-04-25 13:14:20 +02:00
baldurk c12df371d0 Handle shader filenames that are invalid paths
* If shaders are compiled directly via D3DCompile, the source filename
  can be anything, not necessarily a valid path, so need to handle this
  case.
2015-04-21 20:01:21 +02:00
baldurk 95f4011bcb Add option to favour monospaced font for all data. Refs #118
* The option will enable monospaced fonts for all data displays, like
  the list of events, API calls, etc as well as pipeline displays, entry
  of filename/directory in the capture window and many other places.
  Pure UI labelling etc mostly still stays as a serif font.
* A few sizes of controls were tweaked (like headers in the pipeline
  windows) so that they didn't just barely overflow with the larger
  font.
* While looking at this, it became obvious that buffer viewers and
  constant bufferviewers should always display in monospaced regardless,
  so that has been changed.
2015-04-09 21:49:03 +01:00
baldurk c0be5552e8 Extract command line #defines to fxc, roll them in when editing shaders 2015-03-29 18:29:20 +01:00
baldurk 37c1cbffd9 Fix nested #includes not being replaced 2015-03-29 18:12:13 +01:00
baldurk 8abb2f19cc Fix crash editing shader if #include is the first line in the source 2015-03-29 18:11:12 +01:00
baldurk 6cd1f70bb6 Fix several warnings for compiling on VS2015
* Note at the time of committing there are still some warnings in MS
  headers that you might need to suppress in a couple of files.
* 3rd party code just has the warnings suppressed for ease of merging.
* The majority of warning fixes were for local variables shadowing
  other locals, function parameters, or members. In most cases they
  weren't a problem, but in some cases it was potentially dangerous!
2015-03-13 10:16:19 +00:00
baldurk db04714f8d Fix case where buffer format wasn't auto-populated correctly 2015-03-02 15:26:11 +00:00
baldurk 731a7f3797 Fix crash opening up GS CBuffer window from pipeline state
* Also added an exception that throws at control creation time (much
  easier to spot) if this property is invalid.
2015-03-02 08:38:33 +00:00
baldurk cd35c726bc Change GL pipeline state to just name shaders "<stage> Shader <ID>"
* Since there's no better identifier, as all shaders are main() and
  there are no filenames to pick up.
2015-02-27 12:24:47 +00:00
baldurk 8938c71853 Texture buffers now default to viewing in the buffer not texture viewer
* The pipeline state windows will open up the buffer viewer instead of
  the texture viewer to show the contents of texture buffers.
2015-02-12 21:15:02 +00:00
baldurk 3e4aba535f Format the generic vertex attribute values correctly according to type 2015-02-10 16:59:19 +00:00
baldurk be6cbf4536 Implement editing GL shaders in-place via resource replacements 2015-02-10 16:46:33 +00:00
baldurk 72cfee5c0f Add GLSL syntax highlighting 2015-02-09 18:14:20 +00:00
baldurk 6326b3344d s/Constant Buffers/Uniforms and UBOs/ on GL pipeline view 2015-01-20 15:00:39 +00:00
baldurk 45a78df2ae Fix vertex input attribute/buffer mutual highlighting 2015-01-20 13:52:06 +00:00
baldurk 57c8aa476f Use GetRow instead of GetPositionFromControl as it's more reliable 2015-01-20 13:45:38 +00:00
baldurk 74b231a413 Make sure TES and TCS are the right way around 2015-01-20 11:51:31 +00:00
baldurk 68f8f1b6e3 Fix GL pipeline state table layouts 2015-01-20 11:39:06 +00:00
baldurk aa81a3955c Display 'read-write' type objects grouped together in GL pipe state
* This includes atomic counters, shader storage buffer objects and images.
2015-01-19 02:04:29 +00:00
baldurk de6d93c47f Improve GL shader reflection to include Atomic bufs, SSBOs and images 2015-01-19 02:04:08 +00:00
baldurk 48f98ebdef Add shader subroutines (placeholder) and transform feedback
* The transform feedback is placed on the geometry shader tab the same as
  in D3D11. It doesn't merit its own whole tab and that seemed like the
  best place to put it (last processing stage before rasterization).
* To aid understanding, further stages are marked disabled if rasterizer
  discard is on, and if no geometry shader is bound the stage is renamed.
2015-01-18 12:06:39 +00:00
baldurk 6107129286 Add group for multisample state on rasterizer tab 2015-01-18 11:34:26 +00:00
baldurk d344fc6c88 Add the other bits of rasterizer state to be included in the UI 2015-01-18 11:20:54 +00:00
baldurk c05272c23d Show seamless cubemap sampling state in UI 2015-01-18 10:55:09 +00:00
baldurk 8b91c8540b Pass through Read FBO, and handle Draw/Read Buffers indirection 2015-01-17 18:49:08 +00:00
baldurk 24fd91a7e0 Display texture swizzling and depth/stencil read mode on textures 2015-01-17 15:53:09 +00:00
baldurk 7e10c5c4ea Pass through ShaderResourceType per-texture for better type naming 2015-01-17 15:03:34 +00:00
baldurk e13f4b61d4 Crash fix for if the GL pipeline state is empty (e.g. a D3D11 log) 2015-01-16 14:02:14 +00:00
baldurk 035eecfb1e Show if GL_FRAMEBUFFER_SRGB is 0 for an SRGB FBO attachment 2015-01-16 11:34:35 +00:00
baldurk 7168a1b69c Clear primitive restart index text 2015-01-16 02:50:10 +00:00
baldurk b059e601c5 Send sampler information through to GL pipeline state for display 2015-01-16 02:49:00 +00:00
baldurk cceddc9b19 Tidy up constant buffer table per-shader in GL pipeline state view 2015-01-16 02:03:55 +00:00
baldurk af51c4f1e6 Tweak rasterizer page display to be a bit nicer 2015-01-16 01:14:21 +00:00
baldurk 6f0284f170 Show depth and stencil states on GL pipeline view 2015-01-16 00:43:44 +00:00
baldurk 1265b5bc6e Set up display of blend equations (and logic, overriding) 2015-01-16 00:18:34 +00:00
baldurk f459c63380 Show restart index on GL pipe state, and handle it being disabled 2015-01-15 23:37:17 +00:00
baldurk 1096308755 Show generic vtx in attributes, and show attribute names from VS 2015-01-15 23:16:55 +00:00
baldurk 99f3eb78cf Set up vertex input stage properly on GL pipeline view 2015-01-15 22:36:44 +00:00
baldurk abbcd7c80f Combine and compress some of the data tables in the D3D11 pipe view
* e.g. class instances only crazy people use, so there's no point to have
  it eating up a ton of space when 99.9% of the time it's empty. Also
  the border colour in samplers is only listed if the addressing is set to
  use the border colour.
* I also collapsed down some of the columns to make it a little simpler
  visually, like min lod/max lod become just "lod clamp" with a range, and
  constant buffers simplified down to a couple of columns.
2015-01-15 22:14:03 +00:00
baldurk 57a1988755 Try not to scroll resource etc tables in pipeline state
* When jumping between draws the tables are rebuilt which destroys any
  vertical scrolling, so we save/restore it which means the same row will
  be at the top of the view. If there are fewer resources it'll just be
  as scrolled down as possible.
2015-01-15 19:02:10 +00:00
baldurk 930c1c53d5 Crash fixes if drawcall is NULL 2015-01-15 19:00:44 +00:00
baldurk f013f6fd29 Store index format and topology in drawcall, to accommodate GL
* D3D11 just latches the state from the input assembler state into the
  drawcall when it's being added. GL stores the state per-draw.
2015-01-15 17:17:12 +00:00
baldurk 322c341fa2 Make it more obvious when input assembler buffers are not set. 2014-11-29 00:36:06 +00:00
valeriog d18557239f Added visualization of rasterizer state for OpenGL. 2014-10-31 19:40:16 +01:00
baldurk 3bd5f028dc Take UAV type from resource not shader type, for correct size 2014-10-09 08:17:38 +01:00
baldurk 96dc252d4b Add HTML export for D3D11 pipeline state viewer. Closes #92 2014-10-07 23:20:43 +01:00
baldurk 9793ac6312 Add a default copy paste handler for tables in pipeline state. Refs #92 2014-10-07 00:27:06 +01:00
baldurk e749f42876 [Refs #87: Static Analysis] string compare as uppercase or by length 2014-10-05 19:01:25 +01:00
baldurk 0261095de6 Add selection of primitive to pixel debug from pixel history
* This means when multiple fragments are writing to a pixel you can choose
  precisely the one you want to debug, rather than the debugging always
  running the approximately last fragment to pass
2014-09-25 10:49:01 +01:00