Commit Graph
13053 Commits
Author SHA1 Message Date
baldurk 96a7639c2e Add test of flow control constructs in D3D11 shader debugging 2022-05-03 14:06:07 +01:00
Remi PalandriandBaldur Karlsson acde46de57 move ms/compute shader system to single descriptorset 2022-05-03 12:33:46 +01:00
kmchanandBaldur Karlsson 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 HuandBaldur Karlsson 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 IshiandBaldur Karlsson 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 IshiandBaldur Karlsson 3d4cd457bd foz: Encode sampleMask as array 2022-04-25 14:17:12 +01:00
Tatsuyuki IshiandBaldur Karlsson b0ff54fbcf foz: Reconstruct specialization constants with correct layout 2022-04-25 14:17:12 +01:00
Tatsuyuki IshiandBaldur Karlsson a2d77f58db foz: Rename dynamic rendering colorAttachmentFormats 2022-04-25 14:17:12 +01:00
Jake TurnerandBaldur Karlsson 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 ChanotandBaldur Karlsson 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-PaquetandBaldur Karlsson 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 TurnerandBaldur Karlsson 8a95818b74 Move __MAC_12_0 define to a header file 2022-04-21 10:08:01 +01:00
Jake TurnerandBaldur Karlsson 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 TurnerandBaldur Karlsson 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 TurnerandBaldur Karlsson 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
OschowaandBaldur Karlsson 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 PhilousopheandBaldur Karlsson 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 PhilousopheandBaldur Karlsson 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 TurnerandBaldur Karlsson 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 TurnerandBaldur Karlsson 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
Jake TurnerandBaldur Karlsson 6931c4d93b PR Feedback for WrappedMTLCommandBuffer
Moved small inline methods to be inside the class declaration instead of outside
2022-04-13 11:33:03 +01:00
Jake TurnerandBaldur Karlsson 12d9d347c2 PR feedback for CmdBufferRecordingInfo
Removed namespace MetalResources scope
Rename it to MetalCmdBufferRecordingInfo to remove conflict with Vulkan struct of the same name.
Mark MetalCmdBufferRecordingInfo default constructor as deleted
Added MetalCmdBufferRecordingInfo constructor which takes WrappedMTLCommandQueue* and initializes member variables to sensible defaults.
Removed "WrappedMTLDevice *device;" member variable.
2022-04-13 11:33:03 +01:00
Jake TurnerandBaldur Karlsson 9271e44e23 De-serialise ResourceId default resource to NULL
Used during structured exporting
2022-04-13 11:33:03 +01:00
Jake TurnerandBaldur Karlsson ecb75feddb Added wrapped MTLCommandBuffer
Implemented capture serialisation for 
MTLCommandQueue::commandBuffer
MTLCommandBuffer::presentDrawable
MTLCommandBuffer::commit
2022-04-13 11:33:03 +01:00
Le PhilousopheandBaldur Karlsson c3ed881b9f Delete render buffer only after finish using it 2022-04-11 13:23:53 +01:00
Le PhilousopheandBaldur Karlsson 3b8ac99a40 Unbind textures before deleting them
Without this valgrind complains about use-after-free
2022-04-11 13:23:53 +01:00