Commit Graph
4269 Commits
Author SHA1 Message Date
baldurk 368de4b000 Reduce initial wait time for fetching socket out of new process 2018-02-20 16:15:34 +00:00
Cory Bloor c9d7c7562c Speed up linux process connection
There's no need to wait for exponential backoff to satisfy
waitTime > MAX_WAIT_TIME if we already found the result.
2018-02-20 16:13:08 +00:00
baldurk 25713c7ef4 Don't query GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS if no subroutines
* Works around some mesa debug message spam if no subroutines exist.
2018-02-20 16:04:14 +00:00
baldurk 207b24854e Check for errors when invoking AMD DXBC disassembler 2018-02-20 16:02:18 +00:00
Jasper St. Pierre 022d46ab7d Fix GLSL shader editing
The "files" system expects other files to be #included, which won't make
sense for GLSL sources, which are expected to be concatenated. Use the
concatenated string as a single "main.glsl" file.
2018-02-01 19:27:44 +00:00
baldurk c87dfebd2e Fix GetModifiedTimestamp to work with >2GB files on win32 (see 43946540) 2018-01-24 22:53:15 +00:00
Jimmy Lee 65b3b8b6d8 Fixed a problem with opening capture files larger than 2gb on windows 2018-01-24 22:53:15 +00:00
baldurk 9587cba45d Fix implementation of firstbit_(s)hi - thanks to Scott Kircher
* firstbit_hi counts MSB as index 0, BitScanReverse counts LSB as 0.
2018-01-22 20:53:54 +00:00
baldurk 6951b5b95a force flush of command lists & GPU sync when doing non-partial replay
* In some cases there was an unpredictable crash when starting a replay
  loop, doing a full frame replay immediately after a previous replay.
  There were no debug messages, and the debug layer fixed it - as did
  enabling single flush validate. It seems to me some timing/overloading
  issue, and doing this sync should be relatively harmless so we use
  this to avoid the crash.
2018-01-18 19:33:20 +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 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
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 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 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 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 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 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
baldurk 022188c4b7 Fix assertion to allow 8 color attachments. Refs #743 2017-09-14 11:06:24 +01:00