Commit Graph

6592 Commits

Author SHA1 Message Date
baldurk 1fe736fdab Also don't pass -Wno-unused-lambda-capture on apple's clang 2017-12-14 09:11:11 +00:00
baldurk 965bcac6ea Try again to detect clang 5.0, because cmake doesn't have a version >= 2017-12-14 02:21:07 +00:00
baldurk 60becb1bb3 Only pass -Wno-unused-lambda-capture on clang 5 and above 2017-12-14 01:33:43 +00:00
baldurk 7838e2c0c6 Disable -Wunused-lambda-capture which complains about nonsense sometimes 2017-12-14 00:20:52 +00:00
baldurk 1752a96ba9 Specify -DSWIGWORDSIZE64 on linux to fix problems with uint64_t on swig 2017-12-13 22:43:06 +00:00
baldurk 53e669748e Add emulation of python list functions/interface in rdcarray bindings 2017-12-13 22:43:05 +00:00
baldurk a75a036a12 Add operator== and operator< to many interface structs
* This will enable the last few python list emulation functions, like
  index (which needs operator== to find objects) and sort (which
  obviously needs operator< to sort).
2017-12-13 22:43:03 +00:00
baldurk 0b527fab49 Use rdc types instead of Qt containers in public QRenderDoc interface
* This is to support python bindings - the pyside implementation of
  QVector, QString, etc is not available to SWIG, so SWIG treates these
  all as opaque types.
* Rather than trying to set up bindings that work for rdcarray and
  QList/QVector, or implementing separate bindings, we instead just say
  that the public interface must use the rdc types. In most cases they
  seamlessly convert to/from Qt types anyway.
* In a couple of places we use an array of pairs instead of a map. In
  future we probably want an rdcdict or rdcmap with proper dict bindings
  in python.
2017-12-13 22:43:01 +00:00
baldurk d081623181 Removing a resource replacement also needs to clear PostVS cache 2017-12-13 22:02:06 +00:00
baldurk 910466ae41 Don't keep RDCFile file handle open in read-write mode when not writing 2017-12-13 22:02:05 +00:00
baldurk 584b3c041c Add functionality to return raw thumbnail bytes, not encoded
* This is useful if you want to retrieve the thumbnail for in-memory
  processing instead of writing it to disk immediately.
2017-12-12 14:30:09 +00:00
baldurk f76ef57b43 Add R10G10B10_XR_BIAS exception to DXGI format unit tests 2017-12-11 21:16:28 +00:00
baldurk 9b9c74ec03 Fix transform feedback pipeline state display 2017-12-11 20:12:02 +00:00
baldurk 1c44f91cb8 Change vulkan/D3D12 to always re-record any cmd buffers being submitted
* Previously we'd cache a copy of each command buffer at load time, and
  submit it any time we're not partially re-recording. This has a couple
  of drawbacks though:
  - Technically we do some things that invalidate those command buffers,
    like updating descriptor sets (with initial state application) and
    so for 100% correctness we'd need to re-record.
  - It also means that any edits we apply, like modified shaders, don't
    properly apply to the whole frame, they only apply to whichever
    command buffer is currently being partially recorded.
* We refactor out the 're-record all commands' behaviour previously
  reserved just for applying GPU counters, and use that for re-recording
  any command buffers that are wholly or partially submitted. Note that
  it's still true that only one primary and one secondary at most are
  actually *partially* re-recorded. The others are re-recorded in their
  entirety.
2017-12-11 19:37:40 +00:00
baldurk 9099e7a8c5 Add missing break statement in switch 2017-12-11 19:37:39 +00:00
baldurk f693a9fadc Remove dependent temp replacement pipes when removing shader replacement 2017-12-11 19:01:44 +00:00
baldurk 6547c6db94 Fix DXBC reflection - search file *contents* not filename for entry func 2017-12-11 19:01:43 +00:00
baldurk 470514bd48 Don't return DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM for float typeHint
* We almost always mean DXGI_FORMAT_R10G10B10A2_UNORM instead and the
  xr bias format is rarely used (so unlikely to be the right
  interpretation) and might not work at all.
2017-12-11 19:01:42 +00:00
baldurk 606660b4e2 Add analytics boolean that tracks if bundles are used in D3D12 2017-12-11 17:49:05 +00:00
baldurk e9c7058a4e Unwrap inheritance info on replaying command buffer begin 2017-12-11 16:41:59 +00:00
baldurk 38ac98bfdd Remove 'Capture Executable' name, be consistent on 'Launch Application' 2017-12-11 14:49:36 +00:00
baldurk 93012bcad2 Add intermediate resolve image for multisampled outputs
* Technically the resolve doesn't allow format conversion at all, so
  instead of resolving directly to the swapchain image we need a middle-
  man image of the same format as we use internally for the MSAA target
  (RGBA8_SRGB) to resolve to, then blit from that to the actual
  backbuffer.
2017-12-11 14:40:23 +00:00
baldurk 847cba546a Remove unused 'in-frame resources' concept and serialising releases
* Historically a long time ago, resources created in the middle of a
  frame capture were then replayed with their creation/destruction each
  time the frame was replayed. Likewise resources destroyed before the
  frame (but kept alive for a dependency) were also released on replay.
* This was faithful but unnecessary. Now we just create all resources
  needed anywhere in the frame up front, and release them only on
  shutdown.
2017-12-11 13:46:21 +00:00
baldurk 24803cd58c Ignore validation layer message with high false positive rate 2017-12-11 13:29:15 +00:00
baldurk 2a83eca969 Update path for utf8printf.cpp that has moved. Refs #815 2017-12-08 22:19:50 +00:00
baldurk 1a514c1310 Attempt to fix weird SWIG compile error with lacking relocatable flag
* Although we're only making binaries so this doesn't seem like it
  should be necessary.
2017-12-07 19:32:23 +00:00
Janos Pantos 96ccf386f7 Set missing uniform locations in non-array case 2017-12-07 20:32:13 +01:00
baldurk d951a4ea32 When executing a command list in D3D11, state is cleared if not restored
* On the immediate context after an ExecuteCommandList we were properly
  restoring the state if specified, but if the state isn't to be
  restored it must be cleared - otherwise we incorrectly inherit state
  from the deferred context.
2017-12-07 17:58:00 +00:00
baldurk 2d0c5806bf Check for ARB_texture_storage in CopyTex2DMSToArray and used it
* ARB_texture_view only works on textures allocated with
  ARB_texture_storage so we have to check for both extensions and then
  use texture storage to allocate space for the destination array
  texture.
2017-12-07 17:57:59 +00:00
baldurk 9f31046554 Register a debug callback on the GL debug context
* Otherwise we might not receive any messages due to work that happens
  on the debug context.
2017-12-07 17:57:59 +00:00
baldurk d9e3829138 Snoop and disable requests for intel DX11 extensions. Refs #816 2017-12-07 17:57:57 +00:00
baldurk 6f9cff0c12 Consistently use array count that has been flushed to 0 for NULL arrays
* This means we don't have a lingering size >0 for an array that won't
  be used for NULL. Mostly on read this is immaterial but on write it
  is significant.
2017-12-07 16:35:55 +00:00
baldurk 6659b2acb3 Correct D3D11 estimate of initial contents for multisampled resources 2017-12-07 15:11:10 +00:00
baldurk 80cb5b093a Ensure RDHeaderView remains valid when deferring work 2017-12-07 15:09:51 +00:00
baldurk dff6ce1245 Fix missing #include 2017-11-29 20:10:18 +00:00
baldurk a2f379cfea Allow any activate action on resource lists in resource inspector 2017-11-29 19:01:24 +00:00
baldurk a7056aeec2 Use RDHeaderView for header sizing in virtual file dialog 2017-11-29 19:01:24 +00:00
baldurk 4b562ea49d Allow hitting enter on a file in the virtual file dialog to select 2017-11-29 19:01:23 +00:00
baldurk 8931ed4086 Move leave and keyPress events from RDTreeWidget to RDTreeView 2017-11-29 19:01:23 +00:00
baldurk af7373fb54 Handle root index changing in RDHeaderView - refresh section sizes 2017-11-29 19:01:23 +00:00
baldurk a563c1668a Prevent recursive calls in CreateProcess hooks
* In one case the kernel32.dll version called into an API set version,
  and we don't want to hook twice.
2017-11-29 19:01:23 +00:00
baldurk a0063d5dbf Revert debug print that was accidentally committed 2017-11-29 19:01:23 +00:00
baldurk e189ae030c Remove the need for a preceeding / on android (Allow empty root path) 2017-11-29 19:01:23 +00:00
baldurk 59e38e30da Defer deletion of RemoteHost along with tree item when deleting hosts 2017-11-29 19:01:22 +00:00
baldurk 9d9d7674b6 Fix socket timeouts to work consistently on POSIX and Win32
* This should prevent any bugs with socket communication getting out of
  sync or breaking from completely locking up the UI.
2017-11-29 19:01:22 +00:00
baldurk 6091271632 Fix some resource descriptor cases around deferred contexts 2017-11-29 19:01:22 +00:00
baldurk 43b36d01a7 Sampler descriptor is larger than UAV descriptor - use it for GetSize 2017-11-29 19:01:22 +00:00
baldurk b822e56f81 Tweak RDStyle to apply a min/max width for tabs and elide text 2017-11-29 19:01:22 +00:00
baldurk a6ebf09785 Add analytics system - disabled for now
* This is a *very* light-touch analytics system that will track the
  simplest and most anonymous statistics that can be useful in
  determining which features are most used or perhaps underused, and
  where it's best to direct development attention.
* It is entirely implemented in the UI layer, no analytics-gathering
  code exists in the library that's injected into programs, and of
  course no capture data (screenshots, resource contents, shaders, etc
  etc) is transmitted.
* Once it's turned on, it will apply to both development and release
  builds. It tracks stats over a month, and then at the beginning of a
  new month it sends the previous data.
* When the user first starts up a build with analytics if there's no
  previous analytics database then they are informed of the new code and
  asked to approve it. They have the option of selecting to manually
  verify any sent reports, or just opt-ing out entirely.
2017-11-29 19:01:22 +00:00
baldurk 1d05177141 Add Qt helper for constructin rdcstr directly from QString 2017-11-29 19:01:21 +00:00