Commit Graph

8776 Commits

Author SHA1 Message Date
Wade Brainerd cc0069e72f Fix Vulkan mesh output for tessellated quads
When selecting a draw with a tessellation evaluation shader using
layout(quads), RenderDoc would emit an "Unexpected output topology"
error.

Additional changes:

* Fixes a typo in the VK_EXT_transform_feedback name in various debug
  prints.

* Renames the "GS Out" 3D View tab in the Mesh Viewer to "GS/DS Out",
  to match the corresponding table. This affects all APIs.
2019-03-27 04:31:34 -07:00
baldurk 6f07cc3ac4 Unwrap resource list passed to ID3D11VideoContext2::DecoderExtension 2019-03-26 18:54:48 +00:00
baldurk d4c71e5b62 Mark images as dirtied when appropriate in buffer-image copies 2019-03-26 17:20:32 +00:00
baldurk 87b28fe34c Fix fetching of input attribute bindings for matrix inputs 2019-03-26 17:20:32 +00:00
baldurk 6e3ebcb483 Just skip GL function calls if we don't have function pointers
* This is completely invalid but better than crashing. This can happen as a
  race-condition if the user injects into a running program that's already using
  GL on one thread, before we've completed installing our hooks.
2019-03-26 17:20:32 +00:00
baldurk 39cfdf5ad7 Handle out of memory errors when fetching mesh outputs on Vulkan 2019-03-26 17:20:32 +00:00
baldurk 02739553b2 Make the list of memory types clearer when printing incompatible error 2019-03-26 17:20:32 +00:00
baldurk 8762bc4186 When an alias hook is fetched, return precisely the alias entry point
* This doesn't change much except for setting gl_CurChunk more accurately for
  alias functions.
2019-03-26 17:20:32 +00:00
baldurk 8a5b95319b Avoid spamming renderdoc internal logcat marker 2019-03-26 17:20:32 +00:00
Aliya Pazylbekova 6502083556 Change present info pNext RDC warn and assert
- Add VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP as a pNext to
ignore for VkPresentInfoKHR
- Remove RDCASSERT for pPresentInfo->pNext to be null, since it
can be not null, and there is a loop above the assert that checks
the pNext term.
2019-03-26 10:20:15 -07:00
baldurk c609a6611c Update toolwindowmanager to d4efe1b6df06618b0bef0d824aba93e8cb8cc197 2019-03-25 18:29:18 +00:00
baldurk fed3d0d710 Fix wrong flag set for reflecting UAV resources 2019-03-25 17:48:52 +00:00
baldurk d677b594b1 Fix D3D11_Binding_Hazards test 2019-03-25 17:48:44 +00:00
baldurk 7b71c7fb3d Don't return 0-byte BlockShape for error case
* This can lead to divide-by-zero errors, instead return 1x1 1 byte block as a
  relatively sane default.
2019-03-25 16:54:12 +00:00
baldurk b738a466b3 Make sure swapchain create fills out m_ImageLayouts format 2019-03-25 16:53:21 +00:00
Danylo Piliaiev c8ffd555a4 Fix checking for wrong type in IsDepthAndStencilFormat
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
2019-03-25 09:31:07 -07:00
Vincent de Marignac f970d42c2c Set bound on right arrow keypress to width 2019-03-25 09:05:13 -07:00
baldurk e2bb45fd8f Restore removed LastCaptureExe saving last exe selected. Closes #1318 2019-03-25 15:12:55 +00:00
baldurk 8bb962fef8 Backport Qt constexpr fix. Closes #1319
* This originally comes from a fix for QTBUG-67259, in codereview 224386 -
  https://codereview.qt-project.org/#/c/224386/
* Cherry-picked back to our Qt from 5.9.7/5.11.2
2019-03-25 14:58:29 +00:00
baldurk f165eb2616 Fix clang-format issues on GGP branch merge 2019-03-25 14:40:38 +00:00
baldurk 25260c29f7 Add mention of Stadia support to README and docs 2019-03-20 05:32:53 +00:00
Aliya Pazylbekova fe36fb8945 Add space separator for list of extensions 2019-03-20 05:31:43 +00:00
Aliya Pazylbekova 14019cf6c7 Modify "qrenderdoc --targetcontrol" command
Modify "qrenderdoc --targetcontrol" to accept hostname or ipv4
address.
2019-03-14 01:23:11 +00:00
Aliya Pazylbekova 5529cb9c8d Prefer HOME variable to getpwuid on GGP 2019-03-14 01:23:11 +00:00
Aliya Pazylbekova 0f4acb3956 Add support for GGP in "renderdoccmd replay" 2019-03-14 01:23:11 +00:00
Aliya Pazylbekova bb77c53e15 Add ggp os specific functionality 2019-03-14 01:23:11 +00:00
Aliya Pazylbekova 64437157d0 Add GGP capture support 2019-03-14 01:23:11 +00:00
Aliya Pazylbekova 7c0365679f Add GGP build support
- Disable GL and GLES drivers on GGP
- Add flags to keep symbols in release builds. Adds
minimal debug info that preserves backtraces.
- Disable python modules and qrenderdoc for GGP
2019-03-14 01:23:11 +00:00
baldurk 26d823905e Allow running on Android 5.0 but with a warning that it's unsupported
* The apk targets api level 21 which is 5.0, so it still won't install on
  anything older.
* We pop up a big warning to the user the first time they try and select such a
  remote host.
2019-03-13 22:24:45 +00:00
baldurk 6ceb84d2b7 Optimise string split function to not make as many string copies 2019-03-13 14:21:28 +00:00
baldurk c1408df4cd Remove wstring variants of string utils functions
* When needed on windows we convert to/from UTF-8. For most places this is easy
  enough, the callstack processing is now moved to store most data as UTF-8 in
  the first place.
2019-03-13 14:21:28 +00:00
baldurk 17e1ea96d2 Remove inaccurate comment 2019-03-13 12:19:38 +00:00
baldurk af656db915 Only require GLES 3.0 on Android, not 3.2 2019-03-13 12:15:02 +00:00
baldurk d706d531df Don't request runtime permissions on Android when not supported 2019-03-13 12:13:13 +00:00
baldurk e1d39ef23b Don't require ARB_separate_shader_objects on replay
* If it's not available we must also emulate program introspection to get proper
  reflection data.
2019-03-13 11:48:57 +00:00
baldurk 4d60276ea0 Add partial emulation of ARB_separate_shader_objects
* We can't emulate true separate shader objects, but we can emulate
  glProgramUniform* which we use often, and silently drop attempts to make
  programs separable. Then as long as elsewhere we can avoid actually relying on
  separable programs.
* This will need to be used in combination with ARB_program_interface_query
  emulation, but it's unlikely that that extension is available but
  ARB_separate_shader_objects isn't.
2019-03-13 11:48:56 +00:00
baldurk f1bfed1c1e Include the platform in the diagnostic log header 2019-03-13 11:48:56 +00:00
baldurk 9134ccdebd Include git commit hash in capture version header 2019-03-13 11:48:56 +00:00
Aliya Pazylbekova 094dce9b1e Fix spec version enum for shader subgroup vote ext 2019-03-12 20:42:07 +00:00
baldurk 1a93bf1027 Copy python modules to lib/ folder not bin/ in build script 2019-03-12 09:36:55 +00:00
baldurk 5ec6da1e6e Duplicate chunk if glBufferData creates a buffer mid-frame. Closes #1307 2019-03-11 16:09:50 +00:00
baldurk 8e8fd8545b Remove orphaned function implementing close button that was removed 2019-03-11 15:07:37 +00:00
baldurk 1fe8376c61 Don't render overlay if it wasn't created
* This can happen e.g. on Vulkan if a non-draw is selected.
2019-03-11 14:23:35 +00:00
tabi.katalin 0f6b849f9d Stop searching getClassLoader signature when it is found
Exit for loop when vulkanLoaderMethod got a valid value
2019-03-11 14:22:06 +00:00
Benson Joeris 8d5bb1f0bb Fix MarkBufferViewFrameReferenced 2019-03-09 11:05:24 +00:00
Benson Joeris b511348a0c Change ref type for vkCmd(Fill|Update)Buffer to CompleteWrite
`vkCmdFillBuffer` and `vkCmdUpdateBuffer` each replace the contents of the
buffer in the specified interval, so this should be treated as a CompleteWrite.
2019-03-09 11:05:17 +00:00
Benson Joeris 4ed48c9bf4 Fix race in memory reference tracking 2019-03-09 11:05:06 +00:00
baldurk a31e6335e5 Fix handling of ID3D12Device3::OpenExistingHeap*
* The descriptor returned by these heaps is actually impossible to satisfy, so
  we need to remove the SHARED flags to make it possible.
2019-03-08 15:40:11 +00:00
baldurk db89f50a30 Rename Mesh Output panel to Mesh Viewer, since it displays inputs too 2019-03-08 15:40:11 +00:00
baldurk 0a0fc11ee1 Detect and suppress GL draw calls where there's no vertex buffer bound
* This is most commonly caused by the application deleting a buffer bound to a
  VAO and then drawing with the VAO. For unknown wild reasons this is actually
  valid according to the GL spec but actually handling it correctly is
  prohibitively expensive and not worth it.
* We cache the expensive check for draw validity while loading to reduce the
  cost of this per-draw detection.
2019-03-08 15:40:11 +00:00