Commit Graph

3362 Commits

Author SHA1 Message Date
EecheE c52e763e8c Changed default histogram range to [-1,+1] for snorm textures.
If viewing a SNORM texture, default histogram range is set to [-1,1]
instead of [0,1].
Added support for BC5U .dds fourcc code.
2016-06-25 17:14:41 -07:00
baldurk 259d60231f Fix delete being in the wrong place 2016-06-25 01:45:11 +02:00
baldurk 3f4ec852ba Pass through image layouts for vulkan and display in tooltips. Refs #199
* Semi experimental for now - I'm not convinced that having a tooltip
  for every image element is the best UI. It will need some iteration.
2016-06-24 17:54:41 +02:00
baldurk 307cee89fe Adjust columns in vulkan shader resource UI to make a bit more space 2016-06-24 16:55:24 +02:00
baldurk 377e07374b Add (semi-experimental) highlight & info for non-trivial resource views
* For D3D11 and Vulkan, any views which don't just map to the whole
  buffer or image will be highlighted in a colour, and when mousing over
  that row a small tooltip will be displayed with the view parameters
  that differ.
2016-06-24 16:32:32 +02:00
baldurk 27bbbc39a4 Pass through number of mips/layers in Vulkan image views 2016-06-24 16:31:04 +02:00
baldurk bf03ef4a8f Set defaults so non-array views etc have ArraySize = 1 2016-06-24 15:36:02 +02:00
baldurk d9b9e70ebb Set ArraySize for cube SRVs in multiples of 6 (since it's NumCubes) 2016-06-24 15:35:45 +02:00
baldurk 75590986ee Fix potential crash with TreeListView.InvokeRequired not being right 2016-06-24 15:35:17 +02:00
baldurk 4b674425c5 Fix some formats not being marked as typeless 2016-06-24 15:35:00 +02:00
baldurk 005a9ee226 Display swizzles on image views in vulkan pipeline view 2016-06-24 13:09:06 +02:00
baldurk f35a4c6b6b Use view format instead of resource format for Vulkan
* Since the Vulkan views are tighter and more strictly specified, we can
  always safely use the view format (in the non-mutable case it must
  exactly match the underlying resource's format).
2016-06-24 12:34:11 +02:00
baldurk d4ff92755a Display multisample count for MSAA textures in states 2016-06-24 12:14:22 +02:00
baldurk 9826ba6848 For D3D11 use the view's format not the resource's, for typeless formats 2016-06-24 12:11:22 +02:00
baldurk d72e7401b0 Back out 01bffe6a0 so that typeless formats are visible.
* It doesn't seem to be needed anymore
2016-06-24 11:49:07 +02:00
baldurk 9dbcaaf96b Add failure handling to vulkan swapchain creation.
* If a swapchain fails to create, we'll just continue and not render
  anything. we'll try to recreate a few times and also on resize, in
  case the failure is transient.
2016-06-24 11:32:15 +02:00
baldurk b59199aa91 Check for D3D11 R/W bind conflicts at subresource granularity. Refs #244 2016-06-23 19:45:15 +02:00
baldurk a8457b56f6 Display required bytes of constant buffer if it differs from buffer size 2016-06-23 16:20:37 +02:00
baldurk 0c3a7200fd Always view raw buffers as xint 2016-06-23 12:17:59 +02:00
baldurk 6c0527227a Allow raw loads/stores to come from any components. Refs #288 2016-06-23 12:17:58 +02:00
baldurk f00049bed3 Fixup display&export of byte address and structured (with/no counter) 2016-06-23 12:17:58 +02:00
baldurk bbce7478de Add missing operand in disassembly for dcl_resource_raw 2016-06-23 11:22:23 +02:00
baldurk 7d843898e3 For byte address buffers, convert element numbers to bytes. Refs #287 2016-06-23 11:20:07 +02:00
baldurk 745df431db Remove unused debug trace line 2016-06-23 11:19:43 +02:00
baldurk eb9684d355 Fix pips drawing incorrectly. 2016-06-23 11:19:37 +02:00
baldurk 3fc510beb8 Compile fix - handle eUsage_Barrier in switch 2016-06-22 19:09:44 +02:00
baldurk 494627c299 Display image barriers in texture usage dropdown and timeline bar 2016-06-22 19:04:08 +02:00
baldurk af3e57e79c Add feature to export events to a file for diffing 2016-06-22 16:09:57 +01:00
baldurk e13173ac2b Coverity: Add HRESULT checking for some resource creation 2016-06-22 13:44:08 +01:00
baldurk a5cab75095 Coverity: Remove dead case in switch, default to solid 2016-06-22 13:32:12 +01:00
baldurk c33a6f0826 Coverity: Fix dodgy code that's confusing Coverity 2016-06-22 13:24:56 +01:00
baldurk 6ec2b1d8ce Coverity: Fix incorrect use of sizeof vs ARRAY_COUNT 2016-06-22 13:14:56 +01:00
baldurk 2d59650d77 Coverity: Fix memory leak of screenshot pixels 2016-06-22 13:12:38 +01:00
baldurk 04d1668bd7 Add layout persistence to buffer viewer 2016-06-22 12:39:34 +01:00
baldurk 5864c11fa2 Add support for D3D11.3 and D3D11.4 (minor). Refs #235. Refs #145
* Only one major piece of functionality is unimplemented and stubbed out
  - WriteToSubresource and ReadFromSubresource in concert with passing
  a NULL D3D11_MAPPED_SUBRESOURCE parameter to ID3D11DeviceContext::Map.
2016-06-21 21:08:26 +02:00
baldurk dea4c04d61 Add support for DXGI 1.4 (1.5 has nothing we need to wrap). Refs #232 2016-06-21 17:14:34 +02:00
baldurk 6ef40b140c Remove useless (and in valid) call to vkGetImageSubresourceLayout 2016-06-21 14:55:47 +02:00
baldurk 6403b5a6d6 Use full pathnames for files, so we don't have duplicate keys in dict 2016-06-21 13:35:21 +02:00
baldurk b156859fc1 Print patch version for vulkan drivers 2016-06-21 12:44:08 +02:00
baldurk 6c02222fd6 When serialising a clear, save view desc so we can recreate it if needed
* This is a bit convoluted so follow with me here...
* As an optimisation, when not capturing a frame we serialise clears as
  clears for resources and mark those resources as clean. This way if a
  resource is cleared, then used in the frame, we don't have to worry
  about fetching or storing its initial data - we just replay the clear
  once while initialising and we're done.
* The alternative here is to mark a resource dirty when it's cleared,
  and then we might have to read back and serialise a completely flat
  image - rather wasteful.
* The problem is that if the resource is referenced but its view isn't
  then the view will be trimmed from the capture and we don't have it
  around to actually perform the clear. This only started being a
  problem when views were tracked in their own separate records.
* We can't create a circular dependency from view -> resource -> view
  as that would create cycles and keep lots of things alive pointlessly.
  Instead we add serialisation of the resource & view descriptor so that
  we can recreate the view on demand if need be. This adds 32 bytes to
  each clear and since clears aren't hugely frequent it's not a big deal
2016-06-21 12:38:23 +02:00
baldurk 75b1baa2c9 Add serialisers for D3D11.3 RTV_DESC1 and UAV_DESC1 2016-06-21 12:22:11 +02:00
baldurk 5cf5ae696d When capturing a frame, all UpdateSubresource calls are updates
* Since the CAPFRAME path in UpdateSubresource doesn't fill in the dummy
  data there's no point to try and create it so we have some data to
  fill in.
2016-06-21 12:01:26 +02:00
baldurk 2f65ba9fe8 If a def. context is created mid-capture, immediately start capturing it 2016-06-21 11:36:33 +02:00
baldurk 072b61cc3e Fix some clear functions missing handling INTEGER formats. 2016-06-21 10:48:20 +02:00
baldurk 9551211f73 Don't try and fetch the number of mips for a TEXTURE_BUFFER. Refs #285 2016-06-21 10:46:55 +02:00
baldurk 475021b676 Fix copy-and-paste error 2016-06-21 10:30:20 +02:00
baldurk 08e6456634 Set the right initial aspect in state tracking for stencil-only images 2016-06-21 10:01:49 +02:00
baldurk 11ee6e2e34 Allow dragging exes in anywhere and they won't be opened as logfiles 2016-06-20 17:30:29 +02:00
baldurk 9ac0153e74 Use %llu to print out Resource IDs (they're all decimal friendly now) 2016-06-20 14:32:57 +02:00
baldurk f9f13a3f0d When code goes through divergent control flow, stall until converged
* This can happen when there's divergence in an if/else, or in how many
  times a loop executes. We need to make sure threads go back to being
  lockstep once the flow converges so derivatives remain valid.
2016-06-20 14:32:56 +02:00