Commit Graph

3388 Commits

Author SHA1 Message Date
baldurk fae1212ea0 Add support for IAT hooking imports via ordinal. Needed for D3D12 2016-07-10 18:09:31 +02:00
baldurk 72006dbfcd Make sure to cast to the correct return type.
* Some of these already worked via the first inherited interface being
  the right one, but it's better to be safe. When writing to void* the
  right vtable must be sitting in place.
2016-07-10 18:09:31 +02:00
baldurk e2cec61cb0 Add skeleton wrappers for the remaining D3D12 interfaces 2016-07-10 18:09:30 +02:00
baldurk 3407d4744e Rename two D3D11 classes to avoid link collisions with D3D12 classes 2016-07-10 18:09:30 +02:00
baldurk 66524a7330 Move common code into DXGI out of D3D11, to share with D3D12 2016-07-10 18:09:29 +02:00
baldurk b505cfaceb Add initial skeleton of D3D12 support
* This includes changes to DXGI to remove hard dependency on D3D11 code
  and support multiple D3D versions initialising through DXGI.
* Basically all of the D3D12 interception is unimplemented/stubbed out
  and only the ID3D12Device interface is present.
2016-07-10 18:09:20 +02:00
baldurk 9a3c3961dd Remove unused debug lock 2016-07-09 20:39:00 +02:00
baldurk 990210feda Fix a clang-format issue that snuck through 2016-07-05 12:13:26 +02:00
baldurk 5bdde0c74f Travis: Re-enable clang-format checks with restored LLVM apt repo 2016-07-05 12:02:51 +02:00
baldurk c7f2391d10 Just in case, handle histogram or minmaxtile pipelines being missing 2016-07-04 13:01:41 +02:00
baldurk 7df7f5fa3c Skip drawcalls that have numInstances == 0 from PostVS 2016-07-04 13:01:29 +02:00
baldurk 3e171f7f79 Remove top-most windows, we shouldn't have any (just above-rest-of) 2016-07-04 10:59:11 +02:00
baldurk 92d2fe0db9 Add temporary glslang warning fixes 2016-06-28 19:10:04 +02:00
baldurk 2b80776d5c Add -Wno-unknown-warning-option for older clang versions 2016-06-28 19:09:38 +02:00
baldurk 9733f7772d Update glslang to upstream commit 5bc4d9a26ff9 2016-06-28 18:59:05 +02:00
baldurk 6854c5bf96 Deliberately leak logfile string storage, so it's always around 2016-06-28 18:23:41 +02:00
baldurk af27e0de3b Add warning suppression for clang too 2016-06-28 18:14:53 +02:00
baldurk 8b79a213b7 Posix vulkan should refer to libvulkan.so.1, not libvulkan.so 2016-06-28 18:14:46 +02:00
baldurk 296a4d170b Check for presence of extensions/layers, and platform surface extensions
* If one of the extensions or layers listed in the log isn't present on
  replay, we will just fail to load the capture. It's impossible to know
  whether or not it's safe to drop unsupported layers.
* Note that RenderDoc already suppresses reporting device extensions to
  the application if they're not supported by capture, which affects
  this.
* Also when adding platform surface extensions we check for availability
  and only add those present. We do require some minimum amount, but in
  future we'll need to report which windowing systems are supported to
  the UI layer so it can work appropriately using e.g. xcb or xlib.
2016-06-28 18:14:31 +02:00
baldurk 46daa01490 Implement OSUtility::DebuggerPresent on non-windows platforms 2016-06-28 18:04:43 +02:00
baldurk a16aa19610 Add new OS files to visual studio projects 2016-06-28 18:03:01 +02:00
baldurk bbc68b9248 Fix SPIR-V disassembly crash with matrix double index: matrixVar[x][y] 2016-06-28 14:16:33 +02:00
baldurk e8b3400ebb Fix crash if tex doesn't have any settings yet 2016-06-28 11:38:07 +02:00
baldurk 209986a0a0 Don't error, and don't dump data for DXBC custom class data. 2016-06-27 12:10:22 +02:00
baldurk edbd1ce89b Pass through view format as a type hint to texture display/sampling
* This is only applicable really on D3D11 where the underlying texture
  can be typeless, and a default interpretation as unorm/float won't
  necessarily how the texture is actually being used.
2016-06-27 12:10:21 +02:00
EecheE e160457abb Fixed null exception if Reset01 is clicked with no active texture. 2016-06-26 12:26:00 +02:00
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