Commit Graph

9199 Commits

Author SHA1 Message Date
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
baldurk ffaa445cf2 Unbind annoying buffer binds on GL that mess with normal functionality 2019-07-02 17:22:53 +01:00
baldurk 534f39c723 Don't try to populate maps from dirty resources with no initial contents
* If a buffer has been marked as dirty mid-frame but wasn't dirty at the start
  of the frame then it won't have initial contents. We have to treat it as if it
  wasn't dirty and fall back to using our existing data for it, assuming that is
  a valid way to pre-populate the map's shadow buffer.
2019-07-02 16:57:12 +01:00
baldurk 31fff66d4c Don't try to fetch resource format for uninitialised render buffers 2019-07-02 16:57:12 +01:00
baldurk 2a0ddea474 Fall back to solid pipeline if lit mesh render pipeline is not available
* This is possible for point list topologies
2019-07-02 16:57:12 +01:00
Steve Karolewics 731b701107 Add support for WKPDID_D3DDebugObjectNameW 2019-07-02 09:13:37 +01:00
baldurk b1e6140747 Fix VulkanRenderState copying. Closes #1432 2019-07-01 17:03:38 +01:00
baldurk 2bb351fe0e Handle newer StorageBuffer storage class for reflection. Closes #1431 2019-07-01 16:57:56 +01:00
baldurk ad2c4a4dc6 Update vulkan headers to 1.1.113 and add support for new extensions
* VK_EXT_shader_demote_to_helper_invocation and VK_EXT_texel_buffer_alignment
2019-07-01 16:57:56 +01:00
baldurk 268173982a Fix return value of RemoteServer::DriverName() 2019-07-01 16:57:56 +01:00
baldurk af19a21e4c Clarify that android builds are only supported from a proper bash shell
* Not from the windows cmd prompt
2019-07-01 14:56:48 +01:00
baldurk 853189a3f3 Java is required for android builds 2019-07-01 14:56:24 +01:00
baldurk 679a71c345 Don't use -Werror on any kind of release build 2019-07-01 14:56:11 +01:00
baldurk 8ba6a72a70 Don't rely on awk/sed in cmake build. Closes #1430
* It's theoretically possible to have a bash shell without awk or sed available
  (though very strange), so we can use cmake string processing & configure_file
  to get the same effect.
2019-07-01 14:55:53 +01:00
baldurk 10f83298be Restore D3D11 context bindings before fetching global state
* Otherwise the UAV data fetched is from our internal UAVs used for snooping and
  fetching interpolated data.
2019-06-28 23:55:42 +01:00
baldurk bfe13573ed Add support for VK_EXT_fragment_shader_interlock 2019-06-28 14:38:41 +01:00
baldurk 52f204e5b5 Add support for VK_EXT_headless_surface 2019-06-28 14:32:07 +01:00
baldurk fd3c2c8d2f Add support for VK_KHR_surface_protected_capabilities 2019-06-28 14:32:07 +01:00
baldurk f2b9eef970 Add support for VK_KHR_uniform_buffer_standard_layout 2019-06-28 14:32:07 +01:00
baldurk fcd31fb949 Update to vulkan headers 1.1.112, and use own generated dispatch tables
* This removes the dependency on vk_layer_dispatch_table.h which makes it easier
  to update the vulkan headers in future.
2019-06-28 14:09:20 +01:00
baldurk f672db4a2b Add our own generated replacement for vk_layer_dispatch_table.h
* This way we only depend on vk.xml and the vulkan headers directly, not on this
  SDK/Vulkan-Loader generated file.
2019-06-28 13:39:32 +01:00
baldurk 56663ccfef Fix linux build 2019-06-28 11:43:19 +01:00
baldurk 7275934551 Add check in windows Qt project for PySide existence 2019-06-28 11:43:19 +01:00
baldurk 9780c6bb77 Add passthrough hooking of EGL 1.5 2019-06-28 11:01:27 +01:00