101 Commits

Author SHA1 Message Date
baldurk 53f53dd1c2 Don't add mesh viewer to log viewer list twice 2016-07-30 12:42:19 +02:00
Dr. Chat 85f4e724d7 Properly unpack double -> float in min/max calculations. 2016-07-25 17:52:56 -05:00
baldurk b91518a2aa Prevent a crash when reloading layout, if bufferviewer is destroyed 2016-07-25 18:27:20 +02:00
baldurk 132bef38af Calculate bytesize properly for packed formats in mesh viewer 2016-07-25 18:27:13 +02:00
baldurk 77fe1314e2 Properly interpret format elements when calculating mesh bounding box
* This fixes mesh display of e.g. SNORM components
2016-07-25 18:27:12 +02:00
baldurk 0ebf99f0b4 Avoid exception seeking to invalid row in mesh viewer
* This happened when jumping to a primitive from pixel history if the
  views were synced.
2016-07-25 13:01:37 +02:00
baldurk 28c1768397 Add menu item to jump from pixel history modifications to each primitive 2016-07-22 14:40:40 +02:00
baldurk 5958e7cc24 Calculate max formatted float size given current settings as col width
* The default (and previous) width of 100 is a little larger than the
  calculation ends up being for default float formatting values.
2016-07-21 14:01:15 +02:00
baldurk 4268d8f58f Remove structure size and redundant 32-bit length field from FetchBuffer 2016-07-10 18:10:02 +02:00
baldurk 04d1668bd7 Add layout persistence to buffer viewer 2016-06-22 12:39:34 +01:00
baldurk 947f7decb2 Add 'show all instances' mode, and make colours consistent. Closes #248 2016-06-03 17:34:26 +02:00
baldurk 9c15dfc6c9 [Coverity] Don't dereference draw if it may be null 2016-05-13 23:46:44 +02:00
baldurk 274dbcd4ef Remove unnecessary double-calls of OnLogfileLoaded(). Refs #267 2016-05-04 21:52:31 +02:00
baldurk 14781e4287 Handle invalid vulkan vertex input setup, and display better in pipeview 2016-04-17 17:50:45 +02:00
baldurk 70b99a4412 Remove antiquated 'multiple frames in one capture' support.
* Cleans up the code a bunch, this support is unlikely to ever return
  and if it does it will need a rethink anyway.
2016-04-13 00:28:09 +02:00
baldurk 009bfb2c74 Where possible apply offs/len knowledge when viewing buffers. Refs #224 2016-04-02 15:39:27 +02:00
baldurk 5869e9c1bf Handle baseVertex as signed, separately from vertexOffset. Refs #228 2016-03-24 18:50:04 +01:00
baldurk 729404b225 Fix potential deadlock accessing ByteOffset on render thread 2016-02-24 00:42:59 +01:00
baldurk 839ee08768 Don't create unnecessary output for non-mesh buffer viewers 2016-02-23 22:24:45 +01:00
baldurk df714b3f47 Make buffer viewer more robust to being closed while fetching data 2016-02-08 21:11:46 +01:00
baldurk 6655d525d1 Don't enforce max row count for mesh viewer 2016-02-07 18:51:45 +01:00
baldurk 2e0ffa7813 Batch update copyright years everywhere 2016-02-07 18:50:45 +01:00
baldurk 794065eedb Crash fix 2016-02-07 18:49:43 +01:00
baldurk 7aca368cc7 Fix resourceformat check (was 'working' before because null != null) 2016-02-07 18:49:39 +01:00
baldurk a3bf43c852 Tweak cell header merging in buffer viewer to merge all columns
* There's some kind of flickering/lag that goes on when you horizontally
  scroll but it's minor and I can't figure out how to fix it for now.
2016-02-07 18:49:32 +01:00
baldurk c06aeebd3a Crash fix for non-indexed meshes 2016-02-07 18:48:00 +01:00
baldurk 48a03ae21f Only fetch the PostVS data needed for this draw, not the whole buffer
* For instanced draws where there are many instance and each instance is
  a lot, this saves fetching a *ton* of redundant data.
2016-02-07 18:47:45 +01:00
baldurk 793d2690c4 Be more aggressive with null'ing/disposing old data, to garbage collect 2016-02-07 18:47:44 +01:00
baldurk 0b61607cc7 When loading a log, default back to buffer view showing VSIn 2016-02-07 18:47:35 +01:00
baldurk bd5a6752e2 Use viewport for guessing aspect ratio, not dimensions of depth/colour 2016-02-07 18:47:33 +01:00
baldurk 101d780956 Handle post-vs data being padded/aligned instead of tightly packed 2016-02-07 18:47:33 +01:00
baldurk 8818de4524 Use vertex stride from PostVS data if we're reading it 2016-02-07 18:47:32 +01:00
baldurk 5c309d9d34 Refactor handling of resources/binding to be much more flexible
* This will handle the new vulkan binding model with multiple descriptor
  sets and arrays of objects in each binding. It also makes a few tidy
  ups and improvements to other APIs in presentation - will e.g. now
  show thumbnails for vertex and other stages.
2016-02-07 18:46:40 +01:00
baldurk ba8114936e Render mesh displays as 4x MSAA to make the line rendering a bit nicer 2016-02-07 18:46:23 +01:00
baldurk 879df25850 Implement mesh rendering (wireframe and solid) 2016-02-07 18:46:10 +01:00
baldurk 36d2ffd988 Handle super small buffers in buffer viewer without displaying nothing 2016-02-07 18:45:14 +01:00
baldurk 4fe74824b1 Switch buffer offsets and lengths to 64-bit, downcast only where needed 2016-02-07 18:45:06 +01:00
baldurk 8eddd387d7 Add vulkan pipeline state viewer based on D3D11 viewer 2016-02-07 18:41:35 +01:00
baldurk 8b7a025853 Refactor BGRA formats to not be special (so allow any BGRA format)
* Also add ASTC and D16S8 types while in the neighbourhood
2015-11-29 22:05:26 +01:00
baldurk 00ba48ef4c default to VS IN as primary, instead of just bailing 2015-11-18 22:30:46 +01:00
baldurk e441bff833 Display NaNs correctly in buffer viewer cells 2015-11-18 22:28:47 +01:00
baldurk 10c461d7d3 In mesh viewer, vertex picking and enabling sync will sync up the views 2015-11-12 09:40:41 +01:00
baldurk 1b99bb3dfc Add warning and clip display if a buffer will be too large
* E.g. if a huge buffer is displayed as just floats, there could be
  100s of millions of rows. Instead, we clip to 200,000 (anecdotally
  where things start getting a bit laggy on the control), and allow
  advancing through sections of the buffer at a time.
2015-10-10 10:56:53 +02:00
baldurk d16a8024d5 Make sure we have some fallback for locating position element. Refs #149
* If no position element is selected at all that's really confusing, so
  worst case we just pick the first attribute.
* Making it intuitive/obvious that you can change which attribute is
  displayed as mesh - that's a different problem.
2015-09-12 17:30:35 +02:00
baldurk 726a937312 Check against gridview being disposed (from crash report) 2015-08-24 20:06:01 +02:00
baldurk 2967a8a5ce Catch overflow exception handling bounding box 2015-07-24 00:16:45 +02:00
baldurk 43bc6f836f Tidy up which controls can be used at which stage (tess on or off) 2015-07-15 21:37:59 +02:00
baldurk e40ab9261a Handle edge-case where input layout bytecode doesn't use every element 2015-07-14 21:53:36 +02:00
baldurk f6527107dc Add try {} catch to handle exceptions thrown from IO operations 2015-07-07 19:06:31 +02:00
baldurk 4c988e9e3a Better arcball controls in the mesh viewer
* Tweaked flycam a bit too, but not much.
* Refactored the API/C# side camera classes to avoid exposing a ton of
  stuff just to do relative rotations in the arcball via quaternions.
2015-07-07 15:38:00 +02:00