Commit Graph

6069 Commits

Author SHA1 Message Date
baldurk ef173fb96f Append C++14 standard flag instead of prepending.
* This stops it from being overridden by the global --std=c++11 in the
  root CMakeLists.txt which ends up after it in the command line.
2018-01-18 17:55:52 +00:00
baldurk bbac580c3a Fix some missing whitespace around rst references in docs 2018-01-05 11:45:54 +00:00
David McFarland 7cbb1dfd2a Set TextureDescription.resType in image_viewer
This fixes image_viewer on gl_replay.  Previously, images would show up
as <Uninitialised Texture>.
2018-01-05 11:41:20 +00:00
baldurk d56fc083b7 Fix typo in in_application_api restructuredText, missing colon on param 2018-01-05 11:41:20 +00:00
baldurk 0f7fc5fbea Removing a resource replacement also needs to clear PostVS cache 2018-01-05 11:41:20 +00:00
baldurk ef19bd974b 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.
2018-01-05 11:41:20 +00:00
baldurk a453307d5e Account correctly for UAV mip slice when fetching 2D texture data 2018-01-05 11:41:19 +00:00
baldurk de7a74c7e5 Disable -Wunused-lambda-capture which complains about nonsense sometimes 2017-12-14 10:55:59 +00:00
michaelrgb 78c402bb34 Create uniform translation table from live prog instead of initial prog.
The table is used on the live program, and we have seen the driver choose
different locations in the initial program due to the TF varyings.
2017-12-13 22:49:13 +00:00
michaelrgb ea7475f65f Mesh Viewer: end TF if captured app already used TF on its draw call. 2017-12-11 20:12:34 +00:00
baldurk 49d39f32a5 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:00:34 +00:00
baldurk b471f95c6a 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-12-07 18:37:24 +00:00
Ken Hu ecdbfc9978 Fix sampler slot extraction on gather4_po_c when debugging dxbc shader
gather4_po_c has 6 operands and offset of sampler should be 4 instead of 3.
2017-12-07 18:37:24 +00:00
baldurk c1c94d14e1 Allow NULL in glClear*Buffer and glClear*Tex functions
* The spec says that if data is NULL, it acts like a buffer filled with
  zeroes, so we can just memset.
2017-12-07 18:37:23 +00:00
baldurk c6ab587875 Add hooking for CreateProcessAsUser and CreateProcessWithLogonW 2017-12-07 18:37:22 +00:00
baldurk 7bdb3174b4 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 18:13:21 +00:00
baldurk 1431fd66cf Snoop and disable requests for intel DX11 extensions. Refs #816 2017-12-07 18:13:04 +00:00
baldurk 1d0d49f694 Clear PostVS cache when a resource is replaced. Refs #729
* For now, resource replacement implicitly means shader edits, but other
  replacements could also affect the results of PostVS (e.g. buffer or
  state changes). Trying to capture all this state in the cache key is
  not very useful.
* The PostVS cache will be re-filled immediately after, as any
  replacement does a force-refresh of the current event.
2017-11-10 18:36:31 +00:00
baldurk 0e0921271b Fix emulation of glMapNamedBuffer - pass correct map access bits 2017-11-09 18:33:38 +00:00
baldurk d4225b2262 Add some hefty padding to reported image required size on AMD. Refs #795
* AMD reports image required sizes with some variation even for the same
  creation parameters. This can mean the same image is reported with
  less required size during capture compared to replay, meaning memory
  binds won't work.
* To get around this, we pad up the requirements to alignment * 4 and
  fudge to try and encompass any possible variation.
2017-11-09 18:33:24 +00:00
baldurk fecd7dd318 Fix formatting from bad git cherry-pick
* Apparently git cherry-pick doesn't apply commit hooks :(.
2017-11-03 20:02:48 +00:00
baldurk 522dba1981 Handle vulkan base pipelines properly, creating record dependencies 2017-11-03 15:54:13 +00:00
baldurk 423938801b Disable buggy and user-hostile NV optimus layer 2017-11-03 15:54:13 +00:00
baldurk 93efdf46e1 Fix remapping multiple capture vulkan phys. devs to 1 replay phys. dev 2017-11-03 10:25:12 +00:00
baldurk c016855dce Fix copy-paste error checking wrong count for validity. Refs #789 2017-10-28 14:12:10 +01:00
baldurk 155571eecf Ensure descriptors for multi-plane images are valid on replay 2017-10-25 00:24:19 +01:00
baldurk 4befa9dd22 If a resource is NULL, make sure we don't use an invalid descriptor
* This can happen if the resource was not included in the capture, but
  there was a descriptor passed (i.e. not NULL desc which is handled
  separately) which specifies some parameters, but leaves the format
  as UNKNOWN.
2017-10-25 00:24:19 +01:00
baldurk 6589e1fa9a Make sure to set refData to NULL whenever it's released 2017-10-24 23:04:10 +01:00
baldurk e23ddb98b3 Clamp currentIndex from Qt which can come back as -1 in some cases
* If this gets propagated far enough and used as an index it can cause
  crashes, so we clamp to 0 when we know the value should be
  non-negative.
2017-10-24 23:04:02 +01:00
baldurk d887e25b8d Ignore format truncation warning on utf8printf.cpp
* We deliberately truncate in some tests, to check our printf behaves
  correctly.
2017-10-24 23:03:57 +01:00
baldurk 400b9487e1 Check for renderdoc.dll precisely when injecting, not just close match
* This means we don't call into a random dll if it happens to contain
  the substring 'renderdoc.dll' somewhere.
2017-10-24 23:03:57 +01:00
baldurk 6fd1a82454 D3D11 context state is cleared before executing a command list.
* Not doing this could taint the state and even cause invalid read-write
  conflicts to change bindings vs. what should happen, if a RT is left
  bound when it shouldn't, and then an SRV is bound as NULL because it
  would conflict.
2017-10-23 15:53:14 +01:00
michaelrgb 078efb8915 Resample thumbnails to fix JPEG shear distortion if(width % 4 != 0) 2017-10-23 13:39:19 +01:00
baldurk 9b56227e50 Don't multiply mesh output size by num instances twice in GL 2017-10-23 13:39:07 +01:00
baldurk 02fc28a36a Try updating travis osx_image to fix intermittent qmake errors :(. 2017-10-11 12:37:57 +01:00
baldurk e275bae307 Add brew update to try and fix OSX intermittent errors on travis 2017-10-11 12:37:57 +01:00
baldurk b6b7946d3a Don't pass internal GL shaders through reflection queries pointlessly
* Intel's drivers in particular seem buggy when trying to reflect
  shaders, so there's no point in reflecting shaders that aren't from
  the capture as all we do is add the potential for crashes.
2017-10-11 11:20:23 +01:00
baldurk f62f281415 Fix handling of D3D11_KEEP_{RTs/UAVs} in some edge cases 2017-10-11 11:11:52 +01:00
baldurk 019b3072a1 When no event is found on >= search, fallback to *last* event not first. 2017-09-29 12:05:09 +01:00
baldurk 50f03de69b Add reference to SPIR-V library in AMD library 2017-09-26 11:56:24 +01:00
baldurk 5ccc62f1fe Auto-guess format of thumbnail from .jpg file extension 2017-09-26 11:56:23 +01:00
baldurk e037ac02ff Add note to error message about possible startup fault - missing DLLs 2017-09-26 11:02:11 +01:00
baldurk 9c1de3a876 Get NULL-check the right way around in ?: operator. Refs #754 2017-09-26 11:02:10 +01:00
baldurk 8bf32ac560 Disable CMAKE_INSTALL_PREFIX message for android builds 2017-09-20 10:17:13 +01:00
michaelrgb 04df0d60cd Fix offscreen render setting GLWindowingData::wnd=0, an error condition. 2017-09-19 17:28:29 +01:00
michaelrgb 57a897c5b0 Use ES color-renderable SRGB8_ALPHA8 for output window backbuffer. 2017-09-19 17:28:29 +01:00
baldurk fad2ce6964 Don't strip capture's device extensions away with backwards strcmp 2017-09-19 17:14:20 +01:00
baldurk 4d5ab22e97 Don't display a register/slot index for built-in shader variables 2017-09-19 17:14:20 +01:00
baldurk 3f2d82acfb Fixes for compiling with disabled xcb, or disabled xlib & xcb 2017-09-19 17:14:20 +01:00
baldurk 9e102f801a Add a warning if only CMAKE_INSTALL_PREFIX is customised
* VULKAN_LAYER_FOLDER points outside the prefix to /etc in absolute, so
  usually if you customise one you'll want to customise the other.
* This is especially true if you're pointing the install prefix at some
  non-root location, and you want make install to succeed instead of
  failing to write to /etc.
2017-09-19 17:14:19 +01:00