1135 Commits

Author SHA1 Message Date
baldurk a2562200f7 Hide update check progress bar even if network error occurred 2020-01-14 18:02:10 +00:00
baldurk f4ab28205f Add option to non-interactively resolve callstack symbols
* Primarily for use in scripts
2020-01-13 18:29:50 +00:00
baldurk e9182377e5 NULL out connection handle after shutdown 2020-01-13 16:55:05 +00:00
baldurk bc6401f23a Don't refresh overlay unnecessarily when it's not enabled 2020-01-10 12:55:26 +00:00
baldurk cb0e8958b1 in debug builds don't include resource ID when renaming resources 2020-01-10 11:01:05 +00:00
Steve Karolewics 824188d047 Fix text contrast in pixel history view with dark UI theme 2020-01-09 17:56:54 +00:00
baldurk ff37dc9787 Update APK installation failure message to mention USB APK installs
* Apparently some android devices don't allow installation of APKs over USB by
  default.
2020-01-07 17:28:17 +00:00
baldurk 7b678a4dae Add missing break in android error-mapping switch 2020-01-07 17:28:17 +00:00
Steve Karolewics bbd2a4ecb0 Implement D3D12Replay::DebugThread
Also added logic for initiating debugging in the D3D12 pipeline state
viewer. Both locations are guarded by defines for now.
2020-01-07 17:28:01 +00:00
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk 27098f8f70 Give our threads debugger-friendly names 2019-12-19 21:50:13 +00:00
baldurk 7ff0796b89 Check for incomplete textures on OpenGL. closes #214 2019-12-18 19:09:18 +00:00
baldurk e302ecfe83 Don't leak target control handle 2019-12-17 15:51:16 +00:00
baldurk 14d01ff995 Remove support for serialising STL types, remove STL interop 2019-12-16 18:10:32 +00:00
baldurk c4ca8cb1d1 Reduce reliance on big public headers where possible
* Mostly moving includes from common headers to cpp where possible, and removing
  includes of the whole thing where only enums or rdcstr etc are needed.
2019-12-16 17:06:16 +00:00
baldurk ec7a852582 Refactor and improve rdcarray/rdcstr interface
* We are going to replace all std::string/std::vector use with these.
2019-12-16 17:06:15 +00:00
baldurk c82d0f58b9 Rename WASD to Flycam in mesh viewer controls
* This should now work regardless of keyboard layout, e.g. on AZERTY the same
  physical keys will still work. We also add arrow keys as a backup
2019-12-13 16:37:14 +00:00
baldurk 24e4f4179f Fix projection guessing controls sometimes being enabled when unused 2019-12-13 16:36:44 +00:00
baldurk 4f3ea6d12b Special-case VK_LOD_CLAMP_NONE for samplers in pipeline state view 2019-12-06 01:04:12 +00:00
baldurk cfe601123c In debug builds display resource ID in resource inspector
* This can save some breakpointing and looking up in maps when a resource is
  named (especially if it's not given a unique name).
2019-12-02 20:28:05 +00:00
baldurk ff08748238 Ensure all files have trailing new-lines and enforce with clang warning 2019-12-02 20:28:05 +00:00
baldurk 23c3a38496 Create fake buffer for D3D11 UAV hidden counters. Closes #1593 2019-11-29 13:53:45 +00:00
baldurk 3bf805ec35 Add 'expand all' menu to resource inspector 2019-11-29 13:53:45 +00:00
baldurk f514815e3c Update buffer formatter help text, save its visibility in config 2019-11-29 13:53:45 +00:00
baldurk e205054317 Add UI support for GPU typed pointers in buffers 2019-11-29 13:53:44 +00:00
baldurk b3979262a5 Replace FormatElement with ShaderConstant/ShaderVariableType
* FormatElement is now a static BufferFormatter class to help generate and parse
  buffer formatting strings
2019-11-29 13:53:44 +00:00
baldurk 324b96c977 Remove FormatElement::byteSize(), move to ResourceFormat 2019-11-29 13:53:44 +00:00
baldurk 00170e2ec3 Make GetVariants a free function taking interpreting format directly
* We also store the format in BufferElementProperties for the buffer viewer
  since we'll later remove the ResourceFormat stored in FormatElement
2019-11-29 13:53:44 +00:00
baldurk f046423664 Split buffer-centric properties out of FormatElement 2019-11-29 13:53:44 +00:00
baldurk b0afdd2988 Don't force typecast from real texture when saving overlay/custom shader 2019-11-27 11:06:03 +00:00
baldurk 186ca30045 Treat binding viewcasts are always definitive
* On APIs like vulkan the view casting happens from an already typed format, so
  don't assume that casts are only applied when the underlying format is
  typeless. When a cast is not valid the view format should never be different
  from the underlying image format as the API should never make it possible to
  validly create or bind a view with a different format.
2019-11-26 17:38:26 +00:00
baldurk db563bb0bf Refactor public interface around handling of textures
* Subresource handling is more consistent - we pass around a struct now that
  contains the array slice, mip level, and sample. We remove the concept of
  'MSAA textures count samples as extra slices within the real slices' and
  internalise that completely. This also means we have a consistent set
  everywhere that we need to refer to a subresource.
* Functions that used to be in the ReplayOutput and use a couple of implicit
  parameters from the texture viewer configuration are now in the
  ReplayController and take them explicitly. This includes GetMinMax,
  GetHistogram, and PickPixel.
* Since these functions aren't ReplayOutput relative, if you want to decode the
  custom shader texture or the overlay texture you need to pass that ID
  directly.
2019-11-26 17:38:25 +00:00
baldurk 01344c7e83 Rename typeHint to typeCast 2019-11-26 17:38:25 +00:00
baldurk f42cb9e23c Use shader bindpoint mapping when generating HLSL shader editing stubs 2019-11-21 21:25:40 +00:00
baldurk 1c062c1eda When a capture is loaded in the API inspector, populate the events 2019-11-21 17:09:01 +00:00
baldurk 4458ab3205 Remove assumptions that captures are always frames
* Previously we had "Frame X" and "Start of Frame" hardcoded in the event
  browser, and the end of frame was in many cases assumed to be a present call.
  However with the in-application API this is not necessarily true.
* Presents are now serialised separately in all APIs and displayed wherever they
  happen in the frame, and if there is no present at the end of the frame an
  "End of Capture" marker is inserted. Similarly API-defined captures are not
  given a potentially misleading frame number.
2019-11-21 17:09:01 +00:00
baldurk 5ea8d7b3d8 Add possible cause of JDWP failures - bad intent arguments 2019-11-19 23:20:56 +00:00
baldurk 13f796a0ef Add an error if intent arguments aren't formatted correctly. 2019-11-19 23:20:55 +00:00
Lionel Landwerlin 80183c068a Expose Vulkan performance counter from VK_KHR_performance_query 2019-11-18 22:01:12 +00:00
baldurk 6201183504 Fix broken buffer viewer UI protection 2019-11-15 18:33:17 +00:00
baldurk 07e8731776 Protect against buffer view being closed during async render thread work 2019-11-13 17:25:01 +00:00
baldurk e713c82dcd The slice parameter for 3D textures should be mip-relative too 2019-11-13 10:05:31 +00:00
baldurk 3fbb9ee7ad PickPixel's x and y parameters should be mip-relative
* Previously x and y always ranged from 0,0 to width-1,height-1. Even for lower
  mips, the value was just effectively shifted.
* This is quite unclear at the API level so instead x and y are now relative to
  the selected mip's dimensions.
2019-11-13 10:05:30 +00:00
baldurk 6653316a62 Protect against window being closed during async render thread work 2019-11-12 20:44:35 +00:00
mweber 2b7753af67 Implemented PerformanceCounterViewer::OnEventChanged handling
Implemented PerformanceCounterViewer::OnEventChanged to handle global event changes.
Behaviour can be toggled on/off via a new 'Sync Views' button similar to the Mesh Viewer; the default is off.
2019-11-06 17:52:00 +00:00
baldurk ee2a491f20 Fix status bar display of A8 textures 2019-10-25 18:29:30 +01:00
baldurk a08455c4fb Don't crash if vertex buffer stride is 0 when picking vertices 2019-10-23 11:23:32 +01:00
baldurk fd5fd7269a Split up texture viewer status bar into separate items to wrap better 2019-10-21 13:56:10 +01:00
baldurk 7533c6b7ac Improve handling of different cases registering vulkan layer on linux
* In particular, if there is a mismatched layer registered under e.g. /etc then
  we always need to elevate, even if the user wants their layer to be fixed and
  registered user-local.
2019-10-16 15:12:38 +01:00
baldurk f5cc5c22ad Don't display typed buffers as structured in D3D11 pipeline state 2019-10-15 17:34:38 +01:00