Commit Graph

13059 Commits

Author SHA1 Message Date
baldurk 09519c802f Add usage from trailing events in command buffers 2022-05-04 15:47:04 +01:00
kkhalid 7d68116f5d Update dxbc_debug.cpp
fix clang-CL errors : call to constructor of 'ShaderVariable' is ambiguous
2022-05-04 10:01:13 +01:00
kkhalid 229d80b439 Update win32_threading.cpp
fixing compilation errors with clang-cl:  "template specialization requires 'template<>"
2022-05-04 10:01:13 +01:00
baldurk 4953adde03 Add a test of KHR_Dynamic_Rendering
* Not all possible interactions are currently tested, but at least the ones that
  have been broken in the past.
2022-05-03 18:47:27 +01:00
baldurk cfdbc3da57 Remove outdated experimental feature check 2022-05-03 15:30:47 +01:00
baldurk a9562c87f5 Test that discard patterns don't disturb bound state on vulkan 2022-05-03 15:30:20 +01:00
baldurk 96a7639c2e Add test of flow control constructs in D3D11 shader debugging 2022-05-03 14:06:07 +01:00
Remi Palandri acde46de57 move ms/compute shader system to single descriptorset 2022-05-03 12:33:46 +01:00
kmchan 85789e6209 Update HWCPipe to support performance counters of Dimensity 9000 SoC
Base HWCPipe commit: https://github.com/ARM-software/HWCPipe/commit/8cc02065b4ef249127aa0164dc0d62d65c0d4203
2022-05-03 12:26:32 +01:00
Yuxin Hu f54d28c2cd Support VK_GOOGLE_surfaceless_query
This change adds the VK_GOOGLE_surfaceless_query extension
to RenderDoc's allowlist.
2022-05-03 12:03:42 +01:00
baldurk d9c98f44f6 Fix stepping backwards working incorrectly with multiple location maps 2022-04-28 16:34:44 +01:00
baldurk 04c62f9595 Add a test debugging shaders on D3D12 with banned flags in the root sig 2022-04-28 14:19:38 +01:00
baldurk c1240effe3 Test alternative functions for binding contexts on GL 2022-04-28 14:05:38 +01:00
baldurk 7066692262 Test that sampler heaps are represented in structured data properly
* This is a test of a specific case of lazy serialisation, but in particular
  D3D12 descriptors do some aliasing tricks for types to compress the data, so
  repeated serialisation needs to be safe.
2022-04-28 13:39:37 +01:00
baldurk 4103f6a545 Properly zero initialise DDS return structure 2022-04-28 11:39:11 +01:00
baldurk 51a9d26f83 Handle DebugSourceContinued properly in SPIR-V 2022-04-27 16:02:38 +01:00
baldurk 9f9419c21f Preprocess #line directives in SPIR-V debug info to get referenced files
* This matches the line number and source file references generated in the debug
  info
2022-04-27 13:46:02 +01:00
baldurk 4667609163 Fix docstrings in ResultDetails and ExecuteResult 2022-04-26 18:09:15 +01:00
baldurk 16f3764cda Work around gcc compiler bug
* It complains that there is switch fallthrough after an unconditional return,
  when it's inside a do{}while(0). Simplifying the while condition seems to
  address it.
2022-04-26 17:37:31 +01:00
baldurk 8aa0390948 Add string messages to returned result codes to display to user
* Most of the main entry points that can fail with relevant reasons now has a
  way of specifying a message to return with it. This message can be displayed
  to the user to give more information or context about an error.
2022-04-26 16:21:54 +01:00
baldurk 10dd4c194c Update some tips that are out of date 2022-04-26 16:21:35 +01:00
baldurk 7aa7f1da99 Generate .sig files after signing installers 2022-04-26 13:20:09 +01:00
Tatsuyuki Ishi 2285bcc270 spirv_reflect: Remove unnecessary spec sort
By construction the variables are pushed in order from smaller offset to
larger offsets. The sort only confuses the reader, so remove it.
2022-04-25 14:17:12 +01:00
Tatsuyuki Ishi 3d4cd457bd foz: Encode sampleMask as array 2022-04-25 14:17:12 +01:00
Tatsuyuki Ishi b0ff54fbcf foz: Reconstruct specialization constants with correct layout 2022-04-25 14:17:12 +01:00
Tatsuyuki Ishi a2d77f58db foz: Rename dynamic rendering colorAttachmentFormats 2022-04-25 14:17:12 +01:00
Jake Turner aef7fc698b Add header files to demos CMakeLists.txt
Helpful for source browsing when using an IDE project generated by CMake

Potential list of header files found using:

find util/test/demos -name '*.h' \! -path "*3rdparty*" \! -path "*official*"
2022-04-25 12:08:51 +01:00
Aurelien Chanot b173e85a1f Fix crash when application is using unsupported function.
It fixes this crash:
https://gist.github.com/achanot/7e0d25d1e5a619a61b688ec895c7a349
2022-04-22 18:27:06 +01:00
Bertrand Guay-Paquet cb0dc39bf3 Add link to the contrib repository for custom visualisation 2022-04-22 13:49:56 +01:00
baldurk 1ae2afc05a Apply shader prefix even if encoding is directly accepted. Closes #2561
* The prefix, if available, must always be applied for custom shaders to compile
  correctly.
2022-04-22 12:55:40 +01:00
Jake Turner 8a95818b74 Move __MAC_12_0 define to a header file 2022-04-21 10:08:01 +01:00
Jake Turner ea5cfa6e95 Change serialized name for wrapped Metal Objects
Change WrappedMTL<TYPE>* -> MTL<TYPE>

Before

<ResourceId name="Device" typename="WrappedMTLDevice *" width="8">4</ResourceId>
<ResourceId name="Library" typename="WrappedMTLLibrary *" width="8">9</ResourceId>
<ResourceId name="vertexFunction" typename="WrappedMTLFunction *" width="8">10</ResourceId>

After
<ResourceId name="Device" typename="MTLDevice" width="8">4</ResourceId>
<ResourceId name="Library" typename="MTLLibrary" width="8">9</ResourceId>
<ResourceId name="vertexFunction" typename="MTLFunction" width="8">10</ResourceId>
2022-04-21 10:08:01 +01:00
Jake Turner 823ecdbbf7 MTLDevice wrapping for feature supported APIs
These APIs are not serialized and pass through to real device
One exception is ray tracing related support APIs return false ie.
supportsRaytracing
supportsRaytracingFromRender
2022-04-21 10:08:01 +01:00
Jake Turner 4e240a4153 WrappedMTLObject rename member variables
objcBridge -> m_ObjcBridge
real -> m_Real
id -> m_ID
record -> m_Record

MetalResourceRecord rename member variable
Resource -> m_Resource
resType -> m_Type
2022-04-21 10:08:01 +01:00
baldurk 1201d47db4 Fix tooltips for sampler variables in shader debugger 2022-04-21 00:58:15 +01:00
baldurk 0c672aff22 Set the conservative raster state display properly on vulkan 2022-04-19 12:51:26 +01:00
baldurk dee3c37d90 Fix some edge cases when handling unsaved captures. Closes #2554
* The 'no to all' option should always be present if there are multiple unsaved
  captures across the connections, even if the current connection only has one
  capture and so otherwise wouldn't have a 'no to all' option.
* The 'no to all' option will always discard all unsaved captures in all
  connections when closing the window, if the user clicks no on the confirmation
  of this, abort the close operation entirely and let them decide how to handle
  it (e.g. discarding/saving captures in connections individually).
2022-04-18 17:06:44 +01:00
baldurk 26585e9a1b Fix arrayed resource bindings shader debug variables. Closes #2550 2022-04-18 17:06:44 +01:00
Oschowa 0b1c6b8d56 vk_postvs: Fix crash with dynamic rendering
Similar to b215fbe306, this fixes crashes with dynamic rendering
when GS is used and viewMask is 0.
2022-04-18 12:00:57 +01:00
baldurk cd0118ee9e Set stencil reference for non-stencil path, even if not needed
* We're not doing any stencil work, but we should still set the dynamic state
  properly as needed by the pipeline.
2022-04-15 11:47:49 +01:00
baldurk a4360c628e Handle some edge cases when naming objects on replay 2022-04-15 11:47:49 +01:00
baldurk 9668cc9a4c Align up the page count when applying single page mappings on D3D12 2022-04-15 11:47:49 +01:00
Le Philousophe 75a7f66280 Don't run hooks multiple times when shared objects are symlinked
When two shared objects are symlinked and if one is loaded,
CheckLoadedLibraries detects the other one as loaded too and run hooks a
second time.
Prevent this as it leads to recursive blocking calls in libEGL.
2022-04-15 10:58:03 +01:00
Le Philousophe e0f5d68aec Prefer loading of libEGL.so.1 before libEGL.so
On most platforms libEGL.so is a symlink to libEGL.so.1 used for
development
2022-04-15 10:58:03 +01:00
baldurk 9e17c2b699 After discard patterns rebind state properly even without pipeline
* Previously our state rebinding expected to be 'at' a draw so it used a
  pipeline to determine which push constants and descriptor sets to rebind. Now
  we track which was the last descriptor set to be rebound and use it as
  reference, even if a pipeline isn't available, to properly rebind descriptors.
2022-04-14 16:37:45 +01:00
baldurk 20c986fc06 Add support for EXT_graphics_pipeline_library 2022-04-13 13:57:48 +01:00
baldurk a6301ef6d8 Add support for VK_KHR_pipeline_library
* On its own this extension doesn't really do anything
2022-04-13 12:19:37 +01:00
baldurk da08c10c41 Update vulkan & SPIR-V headers to latest 2022-04-13 12:19:15 +01:00
Jake Turner f8c792d84e PR Feedback MTLCommandBuffer::commit record tweak
MarkResourceFrameReferenced() on the buffer record instead of the resource manager
Transfer the frame references on the buffer record to the resource manager when the buffer is committed.
2022-04-13 11:33:03 +01:00
Jake Turner 149540139a MTLCommandBuffer::commit record/chunk tweak
Do not set the MTLCommandQueue record as a parent of the MTLCommandBuffer record.
Only mark the MTLComamndQueue record as frame referenced when active capturing.
2022-04-13 11:33:03 +01:00