Commit Graph

13386 Commits

Author SHA1 Message Date
Jake Turner 08d07ddc0d Set MTL::TextureUsageShaderRead during capture
To be consistent with replay created textures set MTL::TextureUsageShaderRead on textures created during capture. This override is not serialized.

PR Feedback
2022-08-22 15:52:03 +01:00
Jake Turner ce51361c83 Metal Replay resource creation of a few base types
MTLCommandQueue
MTLLibrary
MTLBuffer
MTLRenderPipelineState
MTLTexture
MTLFunction
2022-08-22 15:52:03 +01:00
Jake Turner 34b6f47362 Metal Replay resource creation helper methods
Added WrappedMTLDevice
void AddResource(ResourceId id, ResourceType type, const char *defaultNamePrefix);
void DerivedResource(ResourceId parentLive, ResourceId child);
template <typename MetalType> void DerivedResource(MetalType parent, ResourceId child);

Start of MetalReplay implementation to support replay resource creation:
ResourceDescription &GetResourceDesc(ResourceId id);

MetalReplay instance is not created in this commit
2022-08-22 15:52:03 +01:00
baldurk 3448195d8e Handle implicitly-enabled promoted extensions. Refs #2695 2022-08-19 18:43:40 +01:00
baldurk f3f9c416fc Count arrayed dynamic descriptors correctly 2022-08-19 11:00:22 +01:00
baldurk c7bfba2c1c Tweak wording of message about writing indirect args during renderpass 2022-08-19 11:00:09 +01:00
baldurk 84c824e573 Tweak colour used for 'view details' highlighting in pipeline state view
* This helps those who have chosen the dark theme where rich resource text uses
  the default window text colour assuming it's a contrasting colour against the
  background (except when highlighted).
2022-08-18 16:39:42 +01:00
baldurk 9bb25f4652 Switch web IRC links from kiwiirc to webchat.oftc.net 2022-08-18 15:54:46 +01:00
baldurk fbd0f3ee15 Ensure that fixed data over 10k bytes is fetched in buffer viewer
* We need to calculate the fixed data length properly even when there is no
  repeated data, so that pagination doesn't kick in on the data that is needed
  for the fixed region.
2022-08-18 15:54:45 +01:00
Danylo Piliaiev 6bd7e7cc1a Add support for VK_EXT_attachment_feedback_loop_layout
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
2022-08-18 15:54:33 +01:00
baldurk dd47f5a341 Fix event debug messages not being associated with the correct EIDs 2022-08-16 18:39:26 +01:00
baldurk 59a7be898a Fix new-issue link not going to chooser properly
* Also bump the config.yml just to see if it starts enforcing a redirect.
2022-08-16 18:39:25 +01:00
baldurk 39456bceba Bake in Vulkan_Debug_StepToDebugValue
* The behaviour with this set to true is significantly better for lightly-
  optimised code as comes out of HLSL legalisation, with little penalty for
  other code.
2022-08-16 18:39:25 +01:00
Remi Palandri a1ee4428ce add bicubic support to OpenGL pipeline state 2022-08-12 08:15:49 +01:00
baldurk 2a519bbe70 Use fabs for floating point abs 2022-08-11 15:13:58 +01:00
baldurk 0d10f3c992 Switch CI to ubuntu 20.04 2022-08-11 15:13:58 +01:00
Jake Turner 959d8e2e08 Capture and serialise MTLBuffer contents
MTLBuffer initial state chunks.
CPU modified buffers chunks (MTLBuffer_InternalModifyCPUContents) stored in the command buffer record.
2022-08-11 11:33:26 +01:00
Jake Turner 424f910bfc WrappedMTLObject::AddEven() & AddAction()
Trampoline calls to m_Device->AddEvent() & AddAction()
WrappedMTLDevice::AddAction() & AddAction() are currently empty stubs
2022-08-11 11:30:35 +01:00
baldurk e63f41ff1f Add missing header 2022-08-11 11:28:11 +01:00
baldurk 84b9a0842d Block trying to get GCN ISA disassembly on OpenGL drivers 22.7.1+
* In this version the disassembly is no longer available from the driver via
  this method. While it currently gives a normal error message, in future
  versions it may start crashing so we block it now.
2022-08-11 10:49:55 +01:00
baldurk c3c791be55 When editing a shader, default to the edit base file
* In the case of a munged file with #line directives, we want to edit that file,
  not the split-out view of the file containing the entry point.
2022-08-11 10:23:48 +01:00
baldurk 605f8a0566 Fix documentation issues 2022-08-10 23:52:24 +01:00
baldurk 52909cd090 Use proper base file for editing shader files 2022-08-10 21:28:00 +01:00
baldurk 7286da50dc Fix compilation error 2022-08-10 21:27:48 +01:00
baldurk cbb8399d3e Fix incorrect offset reading integer texture sampling results on D3D 2022-08-10 14:56:44 +01:00
baldurk 855ad1afed Fix instruction number on DXBC instruction info 2022-08-10 14:56:44 +01:00
baldurk e061ea3b2e Improve handling of compilers & command line for edited shaders
* We store the compiler used (when known) in shader debug info and use that to
  select the compiler for editing as even higher priority than the default for a
  given language/encoding combination.
* We also ensure that for known tools we add the input and output parameters
  last, after any custom parameters, so that they are always present regardless
  of what the user puts in.
2022-08-10 14:56:44 +01:00
baldurk e29d48a2a8 Propagate command line arguments from DebugEntryPoint 2022-08-10 14:56:44 +01:00
baldurk 8bf0c22d66 Don't deserialise an array that's NULL
* This should only happen if serialisation corruption is detected, but in that
  case we don't want to crash.
2022-08-10 14:56:44 +01:00
James0124 2354d656db Fix duplicate vkQueueSubmit2 events when commandBufferInfoCount == 0
Add a "No Command Buffers" virtual label action, preventing `WrappedVulkan::ContextProcessChunk` from adding a duplicate event.
2022-08-08 16:21:07 +01:00
baldurk c64406b18f Accumulate timings for fake markers last. Closes #2679
* Fake markers have higher EIDs than their children, unlike normal markers.
2022-08-08 10:18:04 +01:00
baldurk a8f0fb1736 Stop forcing references for resourced invalidated by freed bound memory 2022-08-07 18:56:11 +01:00
baldurk 0a39b3d6e8 Add a wrap script with env var to work around Android bug. Refs #2651 2022-08-05 16:17:17 +01:00
baldurk cf4bc68806 Disable shortening/shadow warnings on android
* There are a lot of these issues in system or LLVM headers
2022-08-05 14:08:45 +01:00
baldurk be4f10557c Update vulkan header files to latest 2022-08-05 13:29:16 +01:00
baldurk 33ea305efd Show message in connection window for unsupported API capture
* This is helpful when the normal overlay is not available or visible such as in
  VR headsets
2022-08-05 13:03:32 +01:00
baldurk 69378f5c73 Fix warning on integer cast 2022-08-04 18:54:58 +01:00
baldurk 94d1ce3917 Cache text for GPUAddress values properly 2022-08-04 16:56:32 +01:00
baldurk ea6f8186fb Expose lower_bound function in rdcflatmap 2022-08-04 16:55:52 +01:00
baldurk 958f73cfec Treat GPU pointers as 8-byte unsigned integers for typing purposes 2022-08-04 16:55:42 +01:00
baldurk f1d513f313 Refactor reserved slots in opaque pointer variables to use helpers 2022-08-04 13:39:48 +01:00
Remi Palandri 04a18ac735 disable loadOp override if fastest level 2022-08-04 10:08:14 +01:00
baldurk c387234c7f Fix compile error 2022-08-03 22:37:58 +01:00
baldurk 234fdc886b Fix signed compile warning 2022-08-03 22:23:38 +01:00
baldurk 826ec45594 Add missing struct reference in docs 2022-08-03 22:23:11 +01:00
baldurk 41769fe232 Fix missing DOCUMENT() 2022-08-03 18:56:20 +01:00
baldurk e1cc50dd08 Match "arrayed" bindings correctly in D3D12 2022-08-03 17:44:11 +01:00
baldurk 19d8a064d6 Fix invalid DXIL for clamping D3D12 bindless feedback 2022-08-03 17:44:11 +01:00
baldurk ea35f0df0c texture formats that aren't matrices shouldn't be marked row major 2022-08-03 17:44:11 +01:00
baldurk db1f17476e Track variables being changed across steps/runs
* This allows us to more accurately display those that have been modified since
  the last step, when a source-level step covers multiple instruction-level
  steps.
* We also do our own sorting of source variables based on how recently they were
  updated. This applies in both directions, so stepping backwards and
  'reversing' a variable change will also count as a recent update.
2022-08-03 17:44:11 +01:00