Commit Graph

8745 Commits

Author SHA1 Message Date
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
baldurk bb597fcbac Fix check for skipping empty bindings - stageFlags is 0 2019-03-08 15:40:11 +00:00
Sofie Brouwer 8f163be2dd Fix textures not getting displayed when using GL_COMPARE_REF_TO_TEXTURE
This commit adds the GL_TEXTURE_COMPARE_MODE parameter to the
TextureSamplerState struct, and sets its value to GL_NONE in
SetSamplerState. This fixes the issue of depth textures that use
GL_COMPARE_REF_TO_TEXTURE being displayed as solid black or white
in the texture viewer.
2019-03-08 15:39:56 +00:00
baldurk 40dab34a8f Don't ever consider macOS GL to be degraded
* We'll have to add fallbacks for most of the functionality that's not
  available, and there's no point letting users know they're running on a
  degraded GL implementation since it can't be fixed with an upgraded driver.
2019-03-07 11:06:53 +00:00
baldurk 40546a6d67 symlink qtplugins folder in local macOS builds 2019-03-07 11:02:54 +00:00
baldurk f6eecb9f74 Fix typo in environment variable propagating capture options to process 2019-03-07 10:53:10 +00:00
baldurk d555514b93 Fix incorrect assertion in CGL 2019-03-07 10:52:57 +00:00
baldurk db343cf322 Add a debug message when KHR_debug is not available for API validation 2019-03-07 10:30:21 +00:00
baldurk 1dd6933328 Trim strings in structured data to a maximum of 3 lines. Closes #1298 2019-03-07 10:22:15 +00:00
baldurk 4f66f4f32c Remove close button on 'launch application' panel 2019-03-06 11:25:40 +00:00
baldurk e7ef61b15c Launch adb in its own working directory
* This means if we're launching a system copy of adb, we don't have a dangling
  process holding a reference to our folder. Mostly relevant during development
  when we might want to clear the build but adb is running keeping the folder
  alive.
2019-03-05 17:53:46 +00:00
baldurk a893b48aea Inherit font properly from itemview when painting rich resource links
* This fixes the links not being italic when rendering disabled resources in
  pipeline state view
2019-03-05 17:01:27 +00:00
baldurk 143c75f5a0 Update volk to 1.1.101 2019-03-05 16:03:20 +00:00
baldurk 0cb64a55e6 Change compiled shaders on D3D12 to be SM5.1 2019-03-05 15:49:26 +00:00
baldurk ac184f27f6 Don't require array stride to be 0 when removing top-level variable 2019-03-05 15:48:45 +00:00
baldurk 23c9e1b0ce Only eliminate redundant buffer parent variable when it exists
* SSBOs declared without an instance name don't have this parent variable added.
2019-03-05 14:03:40 +00:00
baldurk 3d94de9923 Prepare macOS dependencies in deploy step 2019-03-05 14:03:14 +00:00
baldurk 1a153e9c13 Add macOS release build on travis, for deployment 2019-03-05 14:01:37 +00:00
baldurk 095251cc59 Use qtconf.qrc on macOS qrenderdoc builds as well to locate qtplugins 2019-03-05 14:00:52 +00:00
baldurk a1ef9663e4 Add script to copy & patch macOS frameworks into application bundle 2019-03-05 13:58:29 +00:00
baldurk e25ea7dc52 Strip optimus layer in case it was explicitly enabled 2019-03-04 16:41:00 +00:00
baldurk c72a9f18c3 Change branch used for macOS travis deployments 2019-03-04 13:51:41 +00:00
baldurk 1433e6e01f Completely skip VCRT install if it's already installed
* We don't really need to update the version, any VC 2015 version would do, and
  it causes the installer to try to trigger a reboot if the CRT is in use, which
  is quite likely.
2019-03-04 12:55:32 +00:00
baldurk 62d644acfa Fix Release32/Release64 typo in x64 installer script 2019-03-04 12:55:32 +00:00
baldurk d5a9b15927 Look for new android getClassLoader function signature. Refs #1294 2019-03-04 12:55:32 +00:00
baldurk 4f4645d437 Upload macOS builds from mainline branch for nightly builds 2019-03-04 12:55:31 +00:00
Benson Joeris cc8aa679e9 Optimize Apply_InitialState for VkDeviceMemory resources
This change reduces the amount of data copied into VkDeviceMemory resources in
`Apply_InitialState`; this uses the new (interval-based) reference tracking.

On a large capture from a recent game, this change reduces the amount of copied
data from 2.2GB to 720MB (plus 100MB cleared to 0). This reduces the time spent
in `ApplyInitialContents` from 1800ms to 1500ms.

Ranges of memory are initialized/reset by either clearing to 0, or copying in
the initial state data, according to the `FrameRefType`, as follows:
- Read-only (`eFrameRef_Read`) regions of memory are initialized by copying
  once, before the first replay.
- Read-before-write (`eFrameRef_ReadBeforeWrite`) regions of memory are reset by
  copying before each replay.
- Write-only (`eFrameRef_PartialWrite` and `eFrameRef_CompleteWrite`) regions of
  memory are cleared to 0 before each replay. This is intended to avoid possible
  user confusion when inspecting these regions of memory, as they might
  otherwise show data written later in the frame.
- Unused (`eFrameRef_None`) regions of memory are cleared to 0 once, before the
  first replay.
2019-03-02 08:24:12 +00:00
Benson Joeris 3abab3bbb9 Fix Attachment FrameRefType
Attachments might be read and/or written. Pessimistically assume attachments are
read and then overwritten. Further analysis should be able to refine this access
type in some cases.
2019-03-02 08:24:12 +00:00
Benson Joeris f39ae770e4 Fix Descriptor FrameRefType.
Storage resources can be read and/or written by the shader. We must
pessimistically assume that the shade reads, and then modifies these resources.
2019-03-02 08:24:12 +00:00
baldurk 8903c8c1fa Search for Android SDK in common locations on macOS
* Environment variables still take priority, but it can be common for them not
  to be set so we need to look here.
2019-03-01 17:47:23 +00:00
baldurk c73f045241 Add packaging/buildscript support for macOS
* Add realpath.sh for emulating readlink -f on macOS
  MIT licensed from https://github.com/mkropat/sh-realpath
2019-03-01 17:47:10 +00:00
baldurk 8dae3437c5 Make sure to stop looking once we find the python library 2019-03-01 16:59:42 +00:00