Commit Graph

13372 Commits

Author SHA1 Message Date
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
baldurk 935fa49c98 Store source vars data per-instruction rather than per-state
* Since the source vars data doesn't change for a given instruction, we can pre-
  calculate it and save time on re-calculating per-state.
* Note callstack *can* change per-state on SPIR-V where the same instruction can
  be reached by different flow paths, so the callstack remains part of the per-
  state data.
2022-08-03 17:44:11 +01:00
Robin Liu b06df5dd47 Supress shadow warning for ggp platform. 2022-08-03 17:43:35 +01:00
Robin Liu 80935c1657 Fix compilation warnings for ggp platform.
This fix the warning about comparison of integers of different signs.
2022-08-03 17:43:35 +01:00
Remi Palandri 6b0c3a51ce remove unecessary log entries in vk_core 2022-08-03 10:32:32 +01:00
baldurk d59e0bd70a Only ignore files with no filename and no contents. Closes #2673 2022-08-03 10:30:22 +01:00
baldurk 423da6b377 Clamp invalid descriptor indices in D3D12 to avoid writing out of bounds 2022-08-01 20:40:03 +01:00
baldurk f78570dcb3 Fix some D3D12 debug warnings 2022-08-01 20:40:03 +01:00
baldurk 65581ca322 Subtract per-draw index byte offset from index buffer size 2022-08-01 20:40:03 +01:00
baldurk 50919f5cfa Fix wrong API being used for cloned child GL contexts 2022-08-01 20:40:02 +01:00
Jake Turner b1b17efb9c Support dummy Wrapped Metal objects for replay
Metal replay serialization uses dummy wrapped metal objects ie.

case MetalChunk::MTLLibrary_newFunctionWithName:
  return m_DummyReplayLibrary->Serialise_newFunctionWithName(ser, NULL, NULL);
case MetalChunk::MTLRenderCommandEncoder_setRenderPipelineState:
  return m_DummyReplayRenderCommandEncoder->Serialise_setRenderPipelineState(ser, NULL);
case MetalChunk::MTLBlitCommandEncoder_endEncoding:
  return m_DummyReplayBlitCommandEncoder->Serialise_endEncoding(ser);

Reuse the same constructor with NULL real metal object instead of making a new constructor
2022-08-01 12:35:59 +01:00
Jake Turner 32d4856a0c Metal-CPP: correct NS::View::setLayer parameter
Change parameter to be "CA::Layer*" instead of "void*"
2022-08-01 12:35:18 +01:00
Jake Turner 92fdfa097f Remove unused ObjC helper methods
This helper method is now implemented by Metal-CPP
void ObjC::Get_defaultLibraryData(bytebuf &buffer);
2022-08-01 12:35:18 +01:00
Jake Turner 4e3d43bb36 Use NS::Bundle* & NS::Data* API instead of helpers
Replaced call to ObjC::Get_defaultLibraryData() by using NS::Bundle* and NS::Data* methods directly from C++
2022-08-01 12:35:18 +01:00
Jake Turner 02a1ac8192 Metal-CPP: extend NS:Data* & NS::Bundle* methods
Add:
NS::String* NS::Bundle::pathForResource(const class String* pName, const class String* pExt) const;
NS::Data *NS::Data::dataWithContentsOfFile(const String* path);
const void* NS::Data::bytes() const;
2022-08-01 12:35:18 +01:00