Commit Graph

5137 Commits

Author SHA1 Message Date
baldurk 87e51658f0 Update to RGA 2.2, support Navi (gfx1010)
* This requires an updated set of plugins for the RGA binary files.
2019-08-01 11:49:30 +01:00
baldurk 069e5f435f Manually flush denorms only on float32 parameters in half conversions 2019-07-31 17:51:13 +01:00
Jimmy Lee da289fdbcc missed one change for the vulkan in app api capture fix 2019-07-30 19:13:26 +01:00
baldurk f8be2a4fd1 Fix copy-paste typo in vendor check 2019-07-30 16:51:49 +01:00
Jimmy Lee 98b623cfcc fixed in app api capture 2019-07-30 16:51:30 +01:00
baldurk d5984a5c8b Don't create dummy texture buffer if extension isn't supported 2019-07-29 16:54:42 +01:00
baldurk 4ab0e9c466 Make sure transform feedback buffers are referenced in frame correctly 2019-07-29 16:54:42 +01:00
baldurk fc8bf393e5 Fix string formatting of type name in warning 2019-07-29 16:54:42 +01:00
baldurk 97770520ee Add version check to Qualcomm glCopyImageSubData workaround 2019-07-29 16:54:42 +01:00
baldurk 04e92edf20 Handle 16-bit backbuffer colour as RGB565 in GLES captures 2019-07-29 16:54:42 +01:00
Steve Karolewics 665ad6c05c Move D3D11 API usage out of dxbc_debug.cpp
The following instructions used D3D11 calls to compute results, and have been
moved to an API wrapper class that is defined in d3d11_shaderdebug.cpp:
transcendentals (rcp, rsqrt, exp2, log2, and sincos), sample info/pos, bufinfo,
resinfo, and sample/load/gather/lod.
2019-07-29 11:48:00 +01:00
baldurk e6a0f70997 Don't flush indices for resources/samplers 2019-07-25 15:12:32 +01:00
baldurk 3b37816a8b Fix structure stride calculation for array inputs
* This could cause multiple primitive data to be incorrect
2019-07-25 12:25:58 +01:00
baldurk 81cfbc60da Ensure D3D11InitialContents is properly initialised 2019-07-25 10:28:44 +01:00
baldurk c5409b40cf Fix device-type resources not being referenced on D3D12/VK 2019-07-25 10:28:28 +01:00
Dmitry Soshnikov 3cc9557264 Introduce Low-Memory mode 2019-07-24 22:45:41 +01:00
Aliya Pazylbekova f3ef0caa28 vulkan pixel history - Part 1
Copy pre and post modification values
2019-07-24 18:24:13 +01:00
baldurk c8f472ec49 Remove some unnecessary includes 2019-07-24 15:37:50 +01:00
Sam Serrels a0d3307f4d Fully init pQueueCreateInfo if requesting additional queues 2019-07-24 15:31:13 +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 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 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
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 16982d8b4a Flush denorms on input/output of float operations in DXBC debugging 2019-07-12 13:58:21 +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
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 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 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 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