Commit Graph

9222 Commits

Author SHA1 Message Date
Tillmann Karras f61a5e464c BufferViewer: never leave indices uninitialized 2019-07-24 11:24:09 +01:00
baldurk 776b689701 Fix documentation of return types on some application API functions 2019-07-23 14:46:22 +01:00
baldurk 4f872b8c8d Fix check for windows predefined macros in renderdoc_app.h 2019-07-23 14:46:22 +01:00
Wasin Thonkaew 1026ce481d fix url of debug markers sample 2019-07-23 14:46:04 +01:00
baldurk 7478bda617 If queried buffer size&offset are 0, don't bind with range. Closes #1461 2019-07-22 19:57:14 +01:00
baldurk 98e93d282d Make keystore generation an explicit dependency of apk build 2019-07-22 19:26:48 +01:00
baldurk ac1b062d42 Consider the first glBindTexture chunk to be resource initialisation 2019-07-22 19:03:49 +01:00
baldurk d91683e7c6 If instance step rate is 0 for instanced properties, don't divide by 0 2019-07-22 16:57:20 +01:00
baldurk 66869e8c69 Handle dlsym(RTLD_NEXT) without loading libGL. Closes #1463
* This also applies to libEGL - if a user calls dlsym(RTLD_NEXT) to fetch a
  libGL symbol without being linked against libGL nor ever dlopen'ing it, it
  will retrieve our hook but libGL will still not be loaded meaning we can't
  call onwards. If we get to the last second where our hook has been called but
  the real library is not loaded we need to load it manually.
2019-07-22 14:52:42 +01:00
baldurk 02e1a7a62b Update swig to renderdoc-modified-7 tag. Closes #1455 2019-07-22 14:52:42 +01:00
baldurk 09df7a12c6 Improve poorly written Android install failure messages. Closes #1459
* We also add a new message specifically for when the install succeeds but we
  can't verify it, to indicate the problem better than suggesting that
  permission errors are at fault.
2019-07-22 14:52:42 +01:00
baldurk 93fbb5e300 Add vector reserve when tracking bound descriptors from root tables 2019-07-22 14:52:42 +01:00
baldurk b8c2058e3b Refactor FreeCaptureData() on D3D11 to not rely on buffer list 2019-07-22 14:52:42 +01:00
baldurk 5cdaf8491b Explain the background colour for view-important pipeline state bindings 2019-07-22 14:52:42 +01:00
baldurk 1f6323b9e0 Ignore LNK4099 due to missing qtmain.pdb 2019-07-22 14:52:42 +01:00
Waffle 9aaca1bb5f Fixed Incorrect Tuple Usage in unpackData
Fixed "IndexError: tuple index out of range"
`value = tuple(float(value[i]) / divisor for i in value)`
Was effectively attempting to access the value tuple using an element as an index.

`value = tuple(float(i) / divisor for i in value)`
Uses the elements from the tuple and modifies them.

Ex: (0,0,0,255) becomes: (0.0, 0.0, 0.0, 255.0)
Instead of throwing an error.
2019-07-22 12:42:26 +01:00
Nicholas Howe 68bbc356a4 Only modify static resource maps in the replay app.
This prevents static data like WrappedTexture<>::m_TextureList from being accessed from different device instances on different threads.  Each device instance has its own mutex, and so is unable to protect the static data from access through other instances.  The static data is only used in the replay app, which is single threaded, so accessing the static maps is not a problem there.
2019-07-22 12:41:36 +01:00
Steve Karolewics bb3b94b092 Use type hint for format for D3D11Replay::GetMinMax 2019-07-13 09:50:47 +01:00
baldurk dfe84e962b Don't try to close ConstantBufferPreviewer window when loading capture 2019-07-12 13:58:21 +01:00
baldurk 16982d8b4a Flush denorms on input/output of float operations in DXBC debugging 2019-07-12 13:58:21 +01:00
Steve Karolewics 70e3499ea1 Check component count for right click pixel value in texture viewer 2019-07-12 13:58:11 +01:00
baldurk d4d21ce736 Use texture viewer background color for 'clear before X' overlays 2019-07-11 17:05:58 +01:00
baldurk 7432fd31d4 Multiply cube-map depth by 6 before clamping slice. Closes #1451 2019-07-11 17:05:58 +01:00
Steve Karolewics 7ff5841885 Check type hint for auto fit range button in texture viewer. 2019-07-11 10:37:33 +01:00
baldurk b56b597cbf Remove use of more deprecated Qt functions, disable deprecation warnings
* Unfortunately at least one deprecated function
  QDesktopWidget::screenGeometry(const QPoint &p) has no easy alternative that
  works on 5.9 which is the version we have available by default on windows.
2019-07-10 17:39:03 +01:00
baldurk fb00089493 Remove use of deprecated QFontMetrics::width() 2019-07-10 16:18:30 +01:00
baldurk 935f243500 Fix use of deprecated QApplication::desktop() 2019-07-10 15:20:15 +01:00
baldurk 77d9d45af5 Qt 5.6 is our minspec, don't use functions added since then 2019-07-10 15:18:27 +01:00
baldurk fe22b7b3a9 QT_DISABLE_DEPRECATED_BEFORE isn't what we want
* This define disables deprecated functions, doesn't disable deprecation
  warnings from before a given version.
2019-07-10 15:18:13 +01:00
baldurk 6abfb6c790 Fix use of obsolete/deprecated Qt functionality 2019-07-10 14:42:54 +01:00
baldurk 328df29793 Only have Qt deprecation notices for things from before 5.9 2019-07-09 18:25:35 +01:00
baldurk a66185b38a Fix use of deprecated QFontMetrics::width() 2019-07-09 17:34:32 +01:00
baldurk e17631a4cc Update unsupported GL extensions comment, add one for GLES
* This means we _should_ have all EXT/KHR etc extensions listed either as
  supported or explicitly as unsupported
2019-07-09 16:16:15 +01:00
baldurk 8fe3eda1f3 Whitelist some GLES extensions already supported on GL 2019-07-09 16:16:15 +01:00
baldurk a314e9a3d5 Whitelist GL_EXT_polygon_offset on GL
* This is an old extension but worth whitelisting as we do support it (in its
  core version)
2019-07-09 16:16:15 +01:00
baldurk a334056af4 Whitelist support for GL_EXT_texture_compression_s3tc_srgb. Closes #1448 2019-07-09 16:16:15 +01:00
baldurk dc7bf0f1fc Don't use deprecated overload of QProcess::ExitStatus 2019-07-09 16:16:15 +01:00
baldurk 85738ad571 Add a specially typed enum for GLenum mode in drawcalls
* Since GL_POINTS overlaps with GL_NONE using GLenum bare causes some confusion
  in that case. Using a typecast enum for stringification fixes that.
2019-07-09 16:16:15 +01:00
baldurk fba0ff9621 Fix reading wrong counter value for PSInvocations on vulkan 2019-07-09 16:16:14 +01:00
Benson Joeris 5120622dac Added InitPolicy
This allows finer control of the initialization/reset behaviour of
resources based on their ref type.

Currently, these policies only apply to the initialization/reseting of
VkDeviceMemory and VkImage resources.

Change-Id: Ib647cbaf99b650e8da40d07944400ace7dde504d
2019-07-09 16:15:56 +01:00
Benson Joeris 40c56dafa3 Add WriteBeforeRead to FrameRefType.
`WriteBeforeRead` is used to signify that a resource is partially
written, and then later read. For the purpose of correct replay,
`WriteBeforeRead` can be treated as `Read`--the resource needs to be
initialized once (so that the non-overwritten data is correct), but does
not need to be reset for later replays (since performing the same write
again will not change the data).

However, it is useful to track this state separately from `Read`,
because the user may inspect the resource at a point in time before the
write, and it might be confusing to see the result of the future write
(which would be visible if `WriteBeforeRead` was treated as `Read`).

Change-Id: I7df58bacb4444f7e8d7e26a5532a55b0ff8f128d
2019-07-09 16:15:56 +01:00
Benson Joeris 30b02bc1dd Refactor ComposeFrameRefsUnordered
Change-Id: I4d80b626c3c37a4c576024b3f8c2145dcb3bf108
2019-07-09 16:15:56 +01:00
Benson Joeris 7edd6c0ab5 Add ComposeFrameRefsDisjoint
Previously, the ref type of the a VkDeviceMemory or VkImage resource
was calculated as the max of the ref types of the subresources. This
reliance on the ordering of the `FrameRefType` enum values is fragile--
in particular, this makes it more difficult to add new `FrameRefType`
alternatives.

Now, the ref type of composite resources are calculated using
`ComposeFrameRefsDisjoint` instead of `max`.

Change-Id: Id5db68b6756555cdc6b068d28f1b72cb827f3d1e
2019-07-09 16:15:56 +01:00
Aliya Pazylbekova c2db43aff5 vkCmdBlitImage dst image should have ResolveDst usage 2019-07-09 11:03:54 +01:00
baldurk e696c86170 Fix checks for extensions in GL counters. Closes #1442
* GLES doesn't support ARB_occlusion_query2 at all, and ARB_timer_query (or
  equivalent) may not be available for durations.
* Check for ARB_query_buffer_object before pushing or popping query buffer
  binding.
2019-07-05 14:02:33 +01:00
baldurk d03fd1dd25 Fix support for arrays-of-struct vertex outputs. Closes #1438 2019-07-04 16:28:15 +01:00
baldurk b5d10de243 Handle formatting double signature parameters 2019-07-04 12:50:30 +01:00
baldurk b89c80546c Don't generate recursive callbacks when changing capture comments 2019-07-03 20:51:57 +01:00
baldurk 0766028724 Change wording of non-core context GL overlay warning
* Technically if you create a context with *CreateContextAttribsARB and don't
  specify a profile mask at all, the spec says the value of the profile bit is
  CORE_PROFILE_BIT. In practice this means drivers may or may not give you a
  core or compatibility profile.
* However what we're really looking for here is the chance that the user code
  will use only modern GL or will use deprecated functionality, and in that case
  the high likelihood is if they omit the PROFILE_BIT entirely they are probably
  unaware of it, rather than letting it set its default value.
2019-07-02 19:15:36 +01:00
baldurk 69ca268f5f Fix android build 2019-07-02 18:12:45 +01:00