-
1481f80d
by baldurk
at 2021-01-27T19:23:00+00:00
Bump version to 1.13
-
76fabedb
by baldurk
at 2021-01-28T12:01:37+00:00
Fix false positive matching @EID on text containing foo@2x.png
-
3ac5b9a8
by baldurk
at 2021-01-28T12:29:16+00:00
Allow any UUID in DXGI swapchain GetBuffer()
* The only requirements are that we can get the interface as the one we want
(ID3D11Texture or ID3D12Resource) so we query it straight away as that first.
Then we also need to be able to convert from that to whatever the user
requested, so we do that as a second step.
* Because this is all undocumented it's unknown if there's any combination of
UUIDs that would fail this but might make sense in a different order (e.g.
queried as the user's UUID first and then we fetch our interface off that).
-
410bcf27
by baldurk
at 2021-01-28T15:25:25+00:00
Fix crash if DXIL phi references itself
-
22636f67
by baldurk
at 2021-01-28T15:25:57+00:00
Fix bug when no DXIL reflection information is present
* We generate a simple uint array but we were doubling up with a trailing ubyte
array.
-
263cf077
by baldurk
at 2021-01-28T15:49:28+00:00
Fixes for structured exporting multisampled textures on GL
-
4adbf00a
by Marcin Ślusarz
at 2021-01-28T16:41:31+00:00
Fill in information about units of Intel performance counters.
-
85e767b9
by baldurk
at 2021-01-28T20:24:33+00:00
Increment D3D12 initial state batch index
* This was missing so we'd never break batches
-
2629a8b0
by baldurk
at 2021-01-29T10:57:39+00:00
Fix AMD shader extensions test to check for tuples
-
b9c82bd4
by Steve Karolewics
at 2021-02-01T11:42:54+00:00
Split large pending cmd batches to prevent device removal on load
-
cf3dc150
by baldurk
at 2021-02-01T11:55:54+00:00
Test compute bindless feedback on vulkan
-
13ead841
by baldurk
at 2021-02-01T12:49:02+00:00
Add tests of cubemaps on GL
* GL treats cubemaps in a more special/different way than other APIs
-
28bf2133
by baldurk
at 2021-02-01T13:14:28+00:00
Test APIs where scissor can be disabled doesn't affect overlays
-
6b12864a
by baldurk
at 2021-02-01T13:22:40+00:00
Ensure pixel pack/unpack buffers don't break overlays on GL
-
2333cfa2
by baldurk
at 2021-02-01T13:31:23+00:00
Test that UAV reads in shader debugging read data prior to event
-
0513914c
by baldurk
at 2021-02-01T13:39:09+00:00
Test that correct root-constant entry is used for cbuffer values
-
7e6a7850
by baldurk
at 2021-02-01T14:43:43+00:00
Add test of vulkan dedicated allocations
-
31c45634
by baldurk
at 2021-02-02T18:40:01+00:00
Fix linux injected process incorrectly detecting debugger. Closes #2170
* We use ptrace to detect child processes reliably, but that makes us look like
a debugger to the child. * There isn't a reliable and simple way to pass down
a PID to ignore (environment variables are the only simple option I can see,
and they can't be reliably inherited, ptrace to poke data would require lots
of work to figure out _where_ to poke that data).
* So instead we use a semi-heuristic - if the debugger PID is found but it
contains executable pages mapped from librenderdoc.so assume we're still being
ptrace setup'd, and check again next time we want to know if a debugger is
connected.
-
52a5b350
by baldurk
at 2021-02-02T19:10:05+00:00
Properly hook glXCreateNewContext. Refs #2170
-
fa674a59
by Mikko Rasa
at 2021-02-08T11:43:37+00:00
Consistently use outlineBrush() for drawing borders
-
19eb9bec
by Mikko Rasa
at 2021-02-08T11:43:37+00:00
Refactor drawing of lines in TimelineBar
They're now drawn as CE_StyledFrame controls, with either HLine or VLine
shape as appropriate for the orientation of the line. This will go into
RDStyle when the light or dark UI theme is selected, allowing appropriate
colors to be used.
-
69661b0c
by Mikko Rasa
at 2021-02-08T11:43:37+00:00
Clamp the current event to the actually visible region
The local eidAxisRect has its left edge moved due to panning, so use the
member variable with original values instead.
-
3da41af1
by baldurk
at 2021-02-08T14:05:04+00:00
Don't use constant buffer alignment rules on D3D for SRV/UAV structs
* In particular matrices and array elements are padded to float4 in cbuffers but
*not* in structured buffers
-
15cbeef0
by baldurk
at 2021-02-08T14:05:04+00:00
Fix offset calculation with declaring nested buffers in format string
* When calculating the size for a struct member we need to properly recurse
-
4c3cf74f
by baldurk
at 2021-02-08T14:05:04+00:00
Don't linkify any @123 EID text that is followed by an x
* This isn't something we generally want to support (@123 should be a separate
word) and it can come up with shader names like `shader@0x12345` as well as
with icon@2x.png
-
20e91d8b
by baldurk
at 2021-02-08T14:05:04+00:00
Reserve more space for descriptor set initial contents
* We need enough room for chunk overhead (e.g. array size space as well as
array, etc).
-
e8b183b7
by baldurk
at 2021-02-08T14:05:04+00:00
Speculative workaround for DXGI bug
* DXGI sometimes seems to return DXGI_INVALID_CALL when retrieving backbuffers.
In this case we want to gracefully handle it instead of crashing and hope it
will fix itself next time we try.
-
6eab349d
by baldurk
at 2021-02-08T14:05:04+00:00
Fix event counting leading to mismatches in vulkan captures
-
327a9fdc
by baldurk
at 2021-02-08T14:05:04+00:00
Don't assume 4-byte stride for typed buffer loads/stores in DXBC
* Newer D3D versions support different strides including 2-byte, so we fetch the
stride from the view format.
-
9b9fd7e8
by baldurk
at 2021-02-08T14:05:04+00:00
Make bounds checking on D3D debugged view access more rigorous
* Instead of assuming our element check is correct, check against the actual
pointer size in case of some miscalculation.
-
08201d36
by baldurk
at 2021-02-09T16:30:04+00:00
Use v142 VC++ runtime merge modules
* These are optional installs in the new visual studio installer and must be
specifically selected.
-
6de87f21
by baldurk
at 2021-02-10T12:58:07+00:00
Unwrap shading rate image passed to RSSetShadingRateImage
-
4619a547
by baldurk
at 2021-02-10T14:20:46+00:00
Properly set optional/newer D3D12 state when applying
-
9290ed92
by baldurk
at 2021-02-10T14:20:46+00:00
Display VRS state in D3D12 pipeline state viewer
-
fc2b2c11
by baldurk
at 2021-02-10T15:07:37+00:00
Include ShadingRateCombiner in the documentation
-
4b65d7f8
by baldurk
at 2021-02-14T13:10:25+00:00
Add explicit /m to msbuild.exe invocations
* Without this by default msbuild doesn't build in parallel.
-
b18a28f0
by baldurk
at 2021-02-14T14:56:25+00:00
Revert to sphinx 3.4.0
* 3.5.0 has a bug causing failures to generate autodoc code
-
321fbdef
by baldurk
at 2021-02-14T15:10:21+00:00
Don't check docs build consistency if an exception happened
-
673579e8
by baldurk
at 2021-02-14T15:45:57+00:00
Print renderdoc and qrenderdoc module locations
-
9f6eda6e
by baldurk
at 2021-02-14T15:45:57+00:00
Don't check Qt version if not building qrenderdoc
-
218078f7
by baldurk
at 2021-02-15T10:30:37+00:00
Identify stencil-only GL framebuffer attachments correctly
-
b31d7d94
by baldurk
at 2021-02-15T12:56:21+00:00
An instanced draw with no instances has no vertices even if numIndices>0
* If we show this with vertex input data in the mesh viewer that's quite
confusing when the draw is degenerate.
-
0e86f0e3
by baldurk
at 2021-02-15T12:56:21+00:00
Fix overflow setting rowOffset when numRows is 0
-
907ce48f
by baldurk
at 2021-02-15T12:56:21+00:00
Display message when no vertices or instances are present in drawcall
-
d66133d6
by baldurk
at 2021-02-15T12:56:21+00:00
Fix handling of buffer length & offset in buffer viewer
* Previously the length was always being treated as buffer-relative instead of
offset-relative.
-
cf23c35d
by baldurk
at 2021-02-17T14:04:57+00:00
Update vulkan headers to 1.1.170
* Note the sync2 structs aren't properly sorted in vk_next_chains.cpp because
I'm about to implement it and I'm too lazy to insert them in the right places
only to go find them all again to remove them.
-
c9a39239
by baldurk
at 2021-02-17T14:04:58+00:00
Add support for VK_KHR_zero_initialize_workgroup_memory
-
7b8e19f5
by baldurk
at 2021-02-17T14:04:58+00:00
Add support for VK_KHR_workgroup_memory_explicit_layout
* We can't yet whitelist this for shader debugging because we don't properly
support the aliasing behaviour - each workgroup variable has its own separate
storage, we need to treat them like SSBO pointers into the same buffer and
automatically size it large enough for all of them.
-
5cb9b90f
by baldurk
at 2021-02-17T15:03:52+00:00
Implement support for VK_KHR_synchronization2
* For the most part we implement this as a thin pass-through layer. Where we
care about things (image barriers for layout transitions and queue
submissions) we do two different things:
- For image barriers, we "downcast" to plain VkImageMemoryBarrier. Currently
the only thing that's unique to VkImageMemoryBarrier2KHR is extra access
flags and pipeline stages, which we don't care about. This keeps a lot of
code from having to either handle two paths or handle the new path and then
do lots of conversions back to VkImageMemoryBarrier when running on older
drivers.
- For queue submissions we do the opposite. We promote old VkSubmitInfo to
VkSubmitInfo2KHR and process that in a common function, then if necessary
we decay back to VkSubmitInfo before sending to the driver.
-
743bbb9a
by baldurk
at 2021-02-17T17:40:45+00:00
Linux compile fix
-
7c0a7e7e
by baldurk
at 2021-02-17T19:47:22+00:00
Make new 64-bit flag Bits enums explicitly uint64_t
-
4e0c7bf6
by baldurk
at 2021-02-17T20:22:53+00:00
Add explicit casting for 64-bit enums on vulkan
* Some compilers don't like the comparison between enum types, so we explicitly
cast.
-
7d0675aa
by baldurk
at 2021-02-17T23:03:34+00:00
Compile fix for mac
-
c7002040
by sebastianpick
at 2021-02-18T15:41:18+00:00
Ensure CMAKE_EXE_LINKER_FLAGS are included during linking.
-
329b092c
by sebastianpick
at 2021-02-18T15:41:31+00:00
Fixed user level registration of vulkan layers.
Corrected a conditional that incorrectly checked for the inverse of the expected condition.
-
423ca67f
by Jake Turner
at 2021-02-18T15:41:40+00:00
cmake 3.19.4 changes to find Python 3 libraries and include files
When compiling on Mac Big Sur the previous (deprecated) find_package fails to find Python3 Libraries and Include files
-
28941a4f
by Jake Turner
at 2021-02-18T15:41:40+00:00
Update Catch to version 2.13.4
Fixes compile error on Apple Silicon in CATCH_TRAP
Does not include RenderDoc custom changes to Catch2 ie. https://github.com/baldurk/renderdoc/commit/4232736fc21fc6a13a4de6997a5ae106598b225f
-
fb0c9266
by baldurk
at 2021-02-18T15:41:40+00:00
Make some custom changes to Catch2 for a better experience
* Add CATCH_CONFIG_FORCE_FALLBACK_STRINGIFIER to force use of ToStr in
all cases. We can handle ints, etc, we don't need ostringstream, and
this allows us to handle enums that would otherwise just be printed as
their integer value.
* Add CATCH_CONFIG_INLINE_DEBUG_BREAK which restores the Catch 1.0
behaviour of debugbreaks happening in macros and so in-line at the
actual site failure. So the debugger stops on the CHECK() or REQUIRE()
call instead of inside AssertionHandler::complete()
Cherry pick from https://github.com/baldurk/renderdoc/commit/4232736fc21fc6a13a4de6997a5ae106598b225f
-
0fb11c6c
by Jake Turner
at 2021-02-18T15:41:40+00:00
Extra information for building demos using cmake
Include example cmake and make commands similar to the instructions for renderdoc compiling.
-
b7eebf9f
by Jake Turner
at 2021-02-18T15:41:40+00:00
Compile error fix for Apple clang version 12.0.0
candidate function not viable: 'this'
argument has type 'const TestMetadata', but method is not marked const
bool operator<(const TestMetadata &o)
-
46f84675
by Jake Turner
at 2021-02-18T15:41:40+00:00
Test compiler to decide to add -std=c++11 option
Copied from renderdoc cmake configuration
-
2e47b58b
by Jake Turner
at 2021-02-18T15:41:40+00:00
Minor updates to demos cmake configuration
Ground work for cmake compilation of demos project on non Linux platform
-
0a7020b5
by Jake Turner
at 2021-02-18T15:41:40+00:00
Fix minor typo checkou -> checkout
-
85ab4875
by Jake Turner
at 2021-02-18T15:41:40+00:00
Linux compile fix after updating catch2
Add +#undef Always where it is required
-
b2b76486
by Jake Turner
at 2021-02-18T15:41:40+00:00
Move format.cc from VULKAN_SRC to SRC
Support for building demos on a platform without Vulkan support
-
eae38aad
by Jake Turner
at 2021-02-18T15:41:40+00:00
Added -Werror to demos project
-
7ab0cac6
by Jake Turner
at 2021-02-18T15:41:40+00:00
Fix C++11 error assign string literal to char*
error: ISO C++11 does not allow
conversion from string literal to 'GLchar *' (aka 'char *') [-Werror,-Wwritable-strings]
-
24091329
by baldurk
at 2021-02-18T15:41:54+00:00
Add unit tests of strhash() on NULL/empty strings
-
bafdb16b
by baldurk
at 2021-02-18T15:41:54+00:00
Update intervals tests for better code coverage
-
b61202af
by baldurk
at 2021-02-18T15:41:54+00:00
Add tests of get_lastpathsep
* This is an internal function but it's still useful to test it independently.
-
2648e3e0
by baldurk
at 2021-02-18T15:41:54+00:00
Add test and fix bug with printf'ing subnormal doubles
-
c470a0ab
by baldurk
at 2021-02-18T15:41:54+00:00
Remove old workaround for glslang bug
-
552af377
by baldurk
at 2021-02-18T15:41:54+00:00
Add a test of serialising an array of enums
-
c3769ce5
by baldurk
at 2021-02-18T15:41:54+00:00
Remove tautological test summing empty array
* We test above that the array is truly empty, if that passes the sum is
superfluous.
-
9232921e
by baldurk
at 2021-02-18T15:41:55+00:00
Add some missing test coverage of rdcstr
-
0f075451
by baldurk
at 2021-02-18T15:41:55+00:00
Add context menu item for toggling bookmarks on events
-
bb6b92f9
by baldurk
at 2021-02-18T16:22:17+00:00
Compile fix for linux
-
698e22a5
by baldurk
at 2021-02-18T17:21:36+00:00
Suppress warning about self-assignment that we are deliberately testing
-
1f332f62
by Jake Turner
at 2021-02-19T10:09:10+00:00
Fix Apple platform bug in GetTickFrequency
The numerator and denominator were the wrong way around.
Discovered running renderdoccmd unit tests on M1 Mac Book Air
-
f244d970
by baldurk
at 2021-02-19T15:44:57+00:00
Properly convert fetched vertex inputs to target type in mesh output
* We can't fetch from a uint tbuffer into a ushort vector, so fetch as uint and
then convert to ushort.
-
4e569cfe
by baldurk
at 2021-02-19T15:44:57+00:00
Add specific error when failing to disassemble DXIL shaders
-
a7ac9d79
by baldurk
at 2021-02-19T17:47:06+00:00
Fix DXIL reflection if array type is listed as having 0 elements
-
f14130fc
by Jake Turner
at 2021-02-22T10:34:11+00:00
Wrap TEST_ASSERT with do...while(0)
Fix compile errors when doing
if (blah) TEST_ASSERT(cond, message)
-
baf0e3ea
by Jake Turner
at 2021-02-22T10:34:11+00:00
#error for unknown platform in demos project
-
4a379408
by baldurk
at 2021-02-22T12:38:43+00:00
Patch VkImageFormatListCreateInfo for MSAA textures
* Since we're using mutable format to cast them to UINT for copies, we need to
ensure that the correct format is in the create info list.
-
c6be4f78
by baldurk
at 2021-02-22T12:38:43+00:00
Fix highlighting of active thumbnail preview
* This was broken in fa674a59b6207ee1d0124010dd924580b6f8356d where the style
overrode the widget's foreground role. Changed to only use the custom
light/dark role when the desired role is Text (or WindowText).
-
3025cf66
by baldurk
at 2021-02-22T12:38:43+00:00
Force shader feedback before clear-before-draw overlay on vulkan
* The shader feedback itself will potentially trigger a replay. If this happens
after the overlay is processed when fetching the pipeline state it will undo
the clear-before. To workaround this without a huge and unnecessary refactor,
we just triggere the shader feedback cache before doing a clear-before
overlay. The amount of work is the same it just happens in a different place.
-
11268b35
by baldurk
at 2021-02-22T12:38:43+00:00
Remap block-compressed 3D textures to 2D arrays on GL. Closes #2186
-
795d7e09
by baldurk
at 2021-02-22T12:38:43+00:00
Handle a memory object that can't be covered by a buffer. Closes #2185
* On some drivers like older NV hardware, there are memory types which can only
be bound to images and never to buffers, so ensure we don't try to create a
memory-spanning buffer for such allocations and avoid marking memory behind
images as written or it will become dirty in subsequent captures.
-
fd14fdbf
by baldurk
at 2021-02-22T16:47:21+00:00
Add missing column of data to constant buffer array parent
-
14983a76
by baldurk
at 2021-02-22T16:47:24+00:00
Fix missing handling of variable descriptor counts in usage
-
04e53374
by baldurk
at 2021-02-22T17:03:12+00:00
Adjust pitch calculation in saved DDS files to match spec. Closes #2189
* The spec is not particularly clear but this matches the DirectXTex behaviour
which is as close to 'official' as we'll get most likely.
-
30dd13fe
by baldurk
at 2021-02-24T13:52:07+00:00
Pull index byte width and topology out of drawcall state
* These are treated as state on most APIs, only GL treats it as a drawcall
parameter.
-
4de38aef
by baldurk
at 2021-02-24T13:52:07+00:00
Fix issue with DDS writing reading from wrong subresource index for data
-
d906e23f
by baldurk
at 2021-02-24T13:52:07+00:00
Store original texture details in image viewer, rather than patched
* If we need to patch the details we use that for proxy texture upload, but we
still want to return the original details to the replay.
-
728fa34a
by baldurk
at 2021-02-24T13:52:07+00:00
Move branch colouring to RDTreeView
-
d6e88ae4
by baldurk
at 2021-02-24T13:52:07+00:00
Remove redundant callstack member in APIEvent
* We already link to the chunk index and the chunk metadata contains the
callstack, there's no need for a duplicate copy when there may be many
APIEvents in a capture
-
a1e436a8
by baldurk
at 2021-02-24T13:52:08+00:00
Add event and structured chunk for image viewer
-
f3ae6873
by baldurk
at 2021-02-24T13:52:08+00:00
Look for python 3.9 in cmake
-
7c62b80d
by baldurk
at 2021-02-24T13:52:08+00:00
Search explicitly for python3 with new python search
* This prevents the build from silently trying to use python2. We also require
development files which were previously optional.
-
0a3a2365
by jeromenxp
at 2021-02-24T22:44:33+00:00
Fix compilation errors on some compilers
-
71713506
by Artyom Dangizyan
at 2021-03-01T10:12:34+00:00
fix heap buffer overflow
-
839665f3
by baldurk
at 2021-03-01T10:41:40+00:00
Add checks on D3D11 resource discard that we have a valid view/resource
-
dc350833
by baldurk
at 2021-03-01T11:38:04+00:00
Check for clip origin on GL to enable Y-flipping for output meshes
-
527c662f
by baldurk
at 2021-03-01T11:38:29+00:00
Only flip Y co-ordinates in texture viewer when clip origin is default
-
c5e885a2
by baldurk
at 2021-03-01T11:39:31+00:00
Fix backwards assert condition
-
9849fcd7
by baldurk
at 2021-03-01T11:44:37+00:00
Handle AS/MS subobjects explicitly, ignore empty ones. Closes #2193
* If we get passed an empty/degenerate AS or MS we can ignore it, the
application is responsible for ensuring that it doesn't pass any *actual*
shaders here.
-
612b7fed
by baldurk
at 2021-03-01T12:32:24+00:00
Avoid trying to link invalid programs with no shaders in GL
-
741b2c16
by baldurk
at 2021-03-01T15:16:27+00:00
Set anisotropy in textures to 1.0 on GL if driver doesn't support it
-
d8bdf819
by baldurk
at 2021-03-02T10:27:07+00:00
Fix check for shader extensions on SM5.0, don't compare space
-
42daf805
by baldurk
at 2021-03-02T17:08:35+00:00
Don't crash when replaying ExecuteIndirect with MaxCommandCount == 0
-
438d823c
by baldurk
at 2021-03-02T17:08:47+00:00
Add support for optional physical device features to vulkan tests
-
80ff02f7
by baldurk
at 2021-03-02T17:14:00+00:00
Fix discards of buffer views on D3D11
-
548149b7
by Omar El Sheikh
at 2021-03-06T01:30:56+00:00
Hook up EnumerateInstanceExtensionProps on Android
Capture function for vkEnumerateInstanceExtensionProperties wasn't being
called at all for the Android Layer
There is still the issue of filtering not working and and
VK_EXT_debug_utils isn't properly being exposed as an available
extension due to differences with the Android Vulkan Loader and the
common Vulkan Loader on desktop platforms still being investigated
-
b0f70185
by Omar El Sheikh
at 2021-03-06T01:30:56+00:00
Update VK_NULL_HANDLE Argument to NULL
-
f1906b2e
by baldurk
at 2021-03-06T13:26:03+00:00
Sphinx version with bugfix has been released, stop requiring 3.4.0 in CI
-
71a4ecaa
by baldurk
at 2021-03-06T13:26:03+00:00
Make warnings about unsupportable extensions less spammy
-
4419d879
by baldurk
at 2021-03-06T13:26:03+00:00
Add missing memory dirty to vkBindBufferMemory2
-
244cfd0f
by baldurk
at 2021-03-06T13:26:03+00:00
Add handling for next chain structs that we do support
-
8b4e25b4
by baldurk
at 2021-03-06T13:26:03+00:00
Fix CATCH_BREAK_INTO_DEBUGGER that by default surrounds in a lambda
* This is a lambda in upstream catch to avoid some warning, but that means that
when the debugbreak happens it's in the wrong stack frame (though at least on
the right line). Fortunately we can override it with a useful definition.
-
657378d0
by baldurk
at 2021-03-06T13:26:03+00:00
Remove clear value count assertion completely, check on access
-
d10baafb
by baldurk
at 2021-03-06T15:29:02+00:00
Fix compilation on non-windows platforms
-
20a60efd
by baldurk
at 2021-03-08T16:38:51+00:00
Serialise legacy sparse initial contents and skip
* These captures were too broken and likely no-one has any in the wild, but just
to be safe let's at least not crash on serialisation.
* Prepare/application is not implemented yet so as of this commit sparse
resources are broken.
-
4afd76b6
by baldurk
at 2021-03-08T16:38:51+00:00
Add API independent sparse page table tracker
-
da4706d4
by baldurk
at 2021-03-08T16:38:51+00:00
Use sparse page table class to track sparse mappings on vulkan resources
-
8ff59fea
by baldurk
at 2021-03-08T16:38:52+00:00
Snapshot sparse tables into resource initial states, and apply on replay
-
24e958d6
by baldurk
at 2021-03-08T16:39:49+00:00
Allow sparse features to be reported
-
dce2c62b
by baldurk
at 2021-03-08T16:45:05+00:00
Fix typo in shader viewer menu item. Closes #2201
-
4cda238c
by baldurk
at 2021-03-08T16:54:50+00:00
Fix linux compilation
-
6d0ee7c2
by baldurk
at 2021-03-08T17:27:13+00:00
Explicitly instantiate serialise types
-
145fd3c0
by baldurk
at 2021-03-08T17:33:42+00:00
Compile fixes for 32-bit windows
-
10aad2a7
by baldurk
at 2021-03-09T10:43:46+00:00
Only apply sparse binding initial contents to resources if they change
* Resources which don't have any sparse binding operations within the captured
frame don't need to be repeatedly restored.
-
cfe33742
by baldurk
at 2021-03-10T10:43:00+00:00
Reset invalid state when letting user retry adding a shader tool
-
e5e5b064
by baldurk
at 2021-03-12T18:08:22+00:00
Improve handling of sparse page table for awkward D3D cases
* Wrapped ranges in D3D are allowed to overflow from an image subresource into
the miptail and set some/all of it :(.
* Also implement copy operations for D3D.
-
aeaf2693
by baldurk
at 2021-03-12T18:08:23+00:00
Implement reserved (sparse) resources on D3D12. Closes #2203
-
bea31d34
by baldurk
at 2021-03-12T18:08:23+00:00
Skip subresources in mip tail when marking referenced
-
4cb7648e
by baldurk
at 2021-03-13T00:46:38+00:00
Fix handling of multisampled renderbuffers on GL
-
414f7bbf
by baldurk
at 2021-03-13T00:46:52+00:00
Use correct attachment when querying framebuffer mip/layer on clear
-
05e7d1ea
by baldurk
at 2021-03-13T00:47:04+00:00
Add some debug regions in internal GL code
-
1e90d201
by Jake Turner
at 2021-03-14T11:17:31+00:00
Changed GL test default shaders to be version 410
-
1985d126
by Jake Turner
at 2021-03-14T11:17:31+00:00
Converted gl_simple_triangle test to OpenGL 4.1
-
769fade4
by Jake Turner
at 2021-03-14T11:17:31+00:00
Fixed small typo "htat" -> "that"
-
87cb4e58
by Jake Turner
at 2021-03-14T11:17:31+00:00
Check for GL debug extension when using it
Apple does not support glDebugMessageCallback
-
004a7316
by Jake Turner
at 2021-03-14T11:17:31+00:00
On Apple use GetLibraryFilename() to set libfile
Solves problem when injecting renderdoc into a process from an executable which is not renderdoccmd or qrenderdoc
-
fd99dc50
by Jake Turner
at 2021-03-14T11:17:31+00:00
Fix Apple link errors when disabling Vulkan
Apple needs Cocoa and Quartz for Vulkan or OpenGL version
-
67e27771
by Jake Turner
at 2021-03-14T11:17:31+00:00
Added test failure if fail to find the draw marker
-
9c787bd0
by Jake Turner
at 2021-03-14T11:17:31+00:00
Tidyup the Apple RPATH usage
Use @rpath for build and install to reference dynamic libraries
Set RPATH to "@executable_path/../lib" when linking
-
faa9dbf7
by Jake Turner
at 2021-03-14T11:17:31+00:00
Enable pyrenderdoc for Apple
It was previously marked as disabled for Apple
Required to build the python modules which are used by the testing framework
Python imports .so libraries by default, change the shared library extension to .so for python modules on Apple
-
7a8b4a46
by baldurk
at 2021-03-15T09:58:57+00:00
Fix compile and code style errors in GL_Simple_Triangle
-
90d7bc19
by baldurk
at 2021-03-15T12:33:13+00:00
Fix configuration of spec constants when patching compute pipelines
-
827a48fe
by baldurk
at 2021-03-15T14:39:21+00:00
Check sampler validity against immutable samplers on serialise
-
80fe6160
by baldurk
at 2021-03-15T14:40:16+00:00
Remove platform specific external object extension on vulkan
-
6634f06c
by baldurk
at 2021-03-15T15:35:26+00:00
Fix cases that could transition unused image subresources from UNDEFINED
-
ed954cea
by baldurk
at 2021-03-15T23:32:13+00:00
Fix identification of GL framebuffer outputs with renderbuffers
-
6b6a720c
by Jake Turner
at 2021-03-16T19:22:31+00:00
Apple remove allocPath from GetExecutableFilename
allocPath was allocated but never used
-
2a8cd9ef
by Jake Turner
at 2021-03-16T19:22:31+00:00
Vulkan Mac High DPI fix GetOutputWindowDimensions
Convert layer bounds to backing co-ordinates
Fixes the TextureViewer cursor co-ordinates being incorrect on high DPI displays
Replaced getMetalLayerWidth and getMetalLayerHeight with single call getMetalLayerSize
-
88cb0615
by Dean Ellis
at 2021-03-22T18:22:17+00:00
Add Support for building the Python API against Python 3.9
-
08d9cf26
by baldurk
at 2021-03-22T18:37:09+00:00
Fix initial/final layouts on depth attachment on vulkan mesh render
-
01f86e7c
by baldurk
at 2021-03-22T18:37:09+00:00
Pause at main first before adding PIDs to zombie list on linux
-
c9fe9860
by baldurk
at 2021-03-22T18:37:09+00:00
Print target control logging after logging has been enabled
-
83f99b6e
by baldurk
at 2021-03-22T18:37:09+00:00
Fix compile errors in demos project in linux
-
287da369
by baldurk
at 2021-03-22T18:37:09+00:00
Fix handling of child processes on linux
* We need to ensure we remodify LD_LIBRARY_PATH and LD_PRELOAD before fork/exec
if the application (say bash running a script) has overwritten them. We also
don't want these to be accidentally inherited into children if we're not
hooking children - the same for the vulkan env var, which can't be unset
immediately on process injection like the others because it needs to hang
around indefinitely.
-
c30e969a
by baldurk
at 2021-03-22T18:37:09+00:00
Remove vulkan environment variable when not hooking child processes
* If we don't explicitly remove it, the environment variable can get inherited
into child processes that we don't intend to hook.
-
3b341649
by baldurk
at 2021-03-22T18:37:10+00:00
Properly set byte count for STARTUPINFO struct
-
da288830
by baldurk
at 2021-03-22T18:37:10+00:00
Fix display of doubles in mesh output
-
dc44d6c2
by baldurk
at 2021-03-22T18:37:10+00:00
Make doubles vertex attribute test optional for radv missing support
-
61382d36
by baldurk
at 2021-03-22T18:37:10+00:00
Don't show preserve option for alpha mapping in save dialog
-
63df0496
by baldurk
at 2021-03-22T18:37:10+00:00
Fix typo preventing loading recent D3D12 captures
-
3b62d8b3
by baldurk
at 2021-03-22T18:37:10+00:00
Account for overlapping ranges needing to be patched to another space
-
44db412b
by baldurk
at 2021-03-22T18:37:10+00:00
Speculative workaround for QWidgetPrivate::subtractOpaqueSiblings crash
-
08825a0b
by baldurk
at 2021-03-22T18:37:10+00:00
Handle a couple of other instructions for type replacements in postvs
-
6f8bf648
by baldurk
at 2021-03-22T19:19:38+00:00
Fix build on VS2019
-
47ebc9f5
by baldurk
at 2021-03-23T11:38:59+00:00
Add missing physical feature check in vulkan memory model features
-
261be0e5
by baldurk
at 2021-03-23T11:39:14+00:00
Handle empty infinite loops in SPIR-V disassembler
-
6a0dff05
by baldurk
at 2021-03-23T12:24:54+00:00
Try to unbreak broken android cmake flags
* cmake's built in platforms/Android.cmake for some reason sets
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH to OFF which prevents any subsequent
find_program or find_package from locating any executables in the system PATH.
This can break finding java among other things.
-
bc68f381
by baldurk
at 2021-03-23T12:50:01+00:00
Update tinyexr to 1.0
-
0c83ff6a
by baldurk
at 2021-03-23T12:50:11+00:00
Ignore warnings in lizard files on new android compilers
-
911d2909
by baldurk
at 2021-03-23T12:50:26+00:00
Fix warning about implicit std::pair copy in android hook code
-
79e42bc3
by baldurk
at 2021-03-23T12:56:41+00:00
Compile android_native_app_glue.c as C
* It doesn't compile as C++ in latest compilers so we can't include it in-line
in the C++ source
-
7c73e310
by baldurk
at 2021-03-23T12:56:59+00:00
Fix path separators on windows just in case
-
57b6190c
by baldurk
at 2021-03-23T23:09:58+00:00
Link to proper github new issue page
* Github doesn't redirect when there are templates, which leads to users not
seeing the template.
-
1700249a
by Jake Turner
at 2021-03-25T09:36:33+00:00
Do not access "view" in getMetalLayerSize
Fixes Main thread checker assert in getMetalLayerSize
Use the layer.contentsScale to adjust for high DPI instead of "view convertSizeToBacking"
-
30ca842e
by Jake Turner
at 2021-03-25T09:36:33+00:00
On Apple use the view object as the window handle
The view is constant per window, the layer can change.
The layer is constant for Vulkan windows
The layer changes for GL windows
-
f670586c
by baldurk
at 2021-03-25T15:41:27+00:00
Add support for nvapi wrapped PSO create functions
-
0b8d7847
by baldurk
at 2021-03-25T15:41:27+00:00
Handle NULL descriptor binds in push descriptors correctly. Closes #2217
-
2545dfc8
by baldurk
at 2021-03-25T15:41:27+00:00
Remove workaround disabling BDA on AMD from driver 21.3.1
-
e074c3ab
by Jake Turner
at 2021-03-26T09:39:55+00:00
Apple renamed nsctx -> nsgl_ctx
Changed some naming of parameters in the NSGL Objective-C functions
-
ddd6d2f8
by Jake Turner
at 2021-03-26T09:39:55+00:00
Apple set the name of the python libs
Required to make RENDERDOC_RunFunctionalTests try to run on Apple
-
65e0028f
by Jake Turner
at 2021-03-26T09:39:55+00:00
Apple increased lsof wait time
Need a longer time when launching applications from xcode for debugging
Previously the wait time was ~1 second, now it is ~8 seconds
-
72095ff3
by baldurk
at 2021-03-26T16:55:27+00:00
Update cmake strip scripts on android to work with latest NDK
-
74d98556
by baldurk
at 2021-03-26T16:55:27+00:00
Fix use of range 0 offset instead of current range. Closes #2207
-
372a4498
by Jake Turner
at 2021-03-28T10:52:18+01:00
Apple support for capture keys F11, F12, PrtScrn
Implemented bool GetKeyState(int key)
Added apple_helpers.mm
apple_isKeyPressed() & apple_initKeyboard()
keyboard capturing is implemented using addLocalMonitorForEventsMatchingMask
-
cc05b288
by baldurk
at 2021-03-29T12:19:34+01:00
List sparse resources as supported in the documentation
-
d1ff3680
by baldurk
at 2021-03-29T17:05:44+01:00
Bump version to 1.14
-
cd5d0ede
by Ricardo Quesada
at 2021-03-30T15:14:44+01:00
RenderdocCmd: add x86/x86_64 support for APKs
This commit adds x86/x86_64 support for RenderdocCmd APKs for Android.
This is needed mostly to support Chromebook devices. Many of them are
based on x86_64 CPUs.
-
f3b6e38d
by Jake Turner
at 2021-04-07T11:54:46+01:00
Apple implementation of DisplayRendererPreview
-
aca59e3f
by Jake Turner
at 2021-04-07T11:54:46+01:00
Added *.m & *.mm file extensions
-
e4cd163c
by Jake Turner
at 2021-04-07T11:54:46+01:00
Reformatting *.mm files with clang-format
-
add33d48
by Jake Turner
at 2021-04-07T11:54:46+01:00
Modified find to work on Mac
Do basic find without regular expressions
Use grep -E to do the regular _expression_ matching
Use awk to reconstruct an equivalent find -print0 output
-
c3ca732a
by Volkan Ilbeyli
at 2021-04-07T11:55:52+01:00
Fix a crash & a replay issue when AMD AGS DX12 CreateDevice() is called
-
6a6b7f68
by baldurk
at 2021-04-12T13:04:02+01:00
Display thumbnails for empty resources
-
dcfe7596
by baldurk
at 2021-04-12T13:04:02+01:00
Don't use SPIR-V entry point name as unique identifier. Closes #2226
-
14698bb4
by baldurk
at 2021-04-12T13:04:02+01:00
Ignore location decorations that shouldn't be used in GL
-
34ea6529
by baldurk
at 2021-04-12T13:04:02+01:00
Account for rootIsDecorated when painting tree lines in RDTreeView
-
95e6a4a9
by baldurk
at 2021-04-12T13:04:02+01:00
Respect font scale for fixed-width fonts
-
6271f010
by baldurk
at 2021-04-12T13:04:02+01:00
Don't hardcode font size/width calculating margin sizes. Closes #2227
-
3995b81d
by baldurk
at 2021-04-12T14:00:56+01:00
Consume dynamic offsets properly in pipeline state population
* The same descriptor set can be bound multiple times with different offsets so
we can't store the offset in the set.
-
cf8785db
by baldurk
at 2021-04-12T14:27:33+01:00
Handle multisampled renderbuffers with 0 sample count. Closes #2242
* GL apparently allows this, and it's equivalent to creating a non-multisampled
renderbuffer. That means we need to create a 2D texture to blit to instead of
a 2D MSAA texture.
-
3bc99611
by baldurk
at 2021-04-12T16:04:39+01:00
Fix identification of vendor UAV on SM5.1+
-
02e8e8fd
by baldurk
at 2021-04-12T19:48:48+01:00
Patch imageless framebuffer image usage/formats to match image patching
-
e037795a
by baldurk
at 2021-04-12T19:48:48+01:00
Don't iterate over internal descriptors added to descriptor heap
-
b9f9874c
by baldurk
at 2021-04-12T19:48:48+01:00
Enable shaderStorageImageMultisample at capture time for MSAA stores
* We need this to be able to add STORAGE_BIT to the image even if we don't do
MSAA stores at capture time
-
11454476
by baldurk
at 2021-04-12T19:48:48+01:00
Fix descriptor write rollover to skip padding binds. Closes #2231
-
376ac20a
by baldurk
at 2021-04-12T21:20:01+01:00
Compile fix
-
cb2b321a
by baldurk
at 2021-04-13T13:21:52+01:00
Ensure reserved descriptors are properly initialised
* We just want to change the number reported as 'real' descriptors for external
replay/state queries
-
00f352ca
by baldurk
at 2021-04-13T13:25:04+01:00
Reserve a little more space in initial contents for sparse table
* Even if not present we serialise a bool indicating that it's not present,
which needs to be reserved.
-
4917fb0a
by baldurk
at 2021-04-13T13:25:18+01:00
Make debug logs about padded chunks a little less spammy
-
7f939e2b
by baldurk
at 2021-04-13T14:26:04+01:00
If renderbuffer storage is re-created, don't create new readback texture
-
49e05bee
by baldurk
at 2021-04-13T16:27:58+01:00
Add error checking for textures failing to create
-
208ab0fd
by baldurk
at 2021-04-13T16:28:08+01:00
Don't seek file until after it's checked for validity
-
94b0b044
by baldurk
at 2021-04-14T11:22:54+01:00
Calculate texture byte size in GL as 64-bit
* It's unlikely drivers will survive >= 4GB textures but at least calculate the
size correctly rather than truncating.
-
eac94b74
by baldurk
at 2021-04-14T18:59:12+01:00
Allow cbuffer previewer to apply custom format to non-buffer-backed CBs
* This in particular means push constants and specialization constants on vulkan
but also applies to root-value cbuffers on D3D12.
* GL bare uniforms are not feasible to expose in this way.
-
5b52bd77
by baldurk
at 2021-04-14T18:59:12+01:00
Treat API as unsupported if no frame capturers handle it. Closes #2222
* This is a bit coarse, as e.g. if you have one window that is unsupported on an
API and another that is this will treat both as supported even if the active
window doesn't support capturing. This is an unlikely case and needs a new UI
to properly represent that.
-
3ed516a7
by baldurk
at 2021-04-14T19:40:20+01:00
Fix unit tests
-
2a61a7f3
by baldurk
at 2021-04-14T19:59:07+01:00
Fix documentation build
-
f89b020c
by baldurk
at 2021-04-15T11:15:54+01:00
Create DSV with proper descriptor in D3D12 quad overdraw
-
98685bbc
by Jinesi Yelizati
at 2021-04-15T11:40:17+01:00
Fix misleading log entry
-
7b18d1c6
by Aliya Pazylbekova
at 2021-04-15T15:34:08+01:00
Fixing 2 issues with pixel history:
- Get framebuffer attachments from pipeline state (should account for
imageless framebuffers)
- If there is no depth attachment, then depth bounds test and depth test
do not modify coverage information
-
cf50fef3
by baldurk
at 2021-04-15T15:34:14+01:00
Support nested GetTempMemory calls on replay
* On capture we have a fast temporary thread-local memory allocator that only
supports one allocation at a time, which is sufficient for unwrapping the
parameters to a single function call.
* On replay though we might want to unwrap a function's parameters, and then
inside do things like e.g. call a drawcall callback which makes its own calls
that need to be unwrapped.
* To support these nested calls we instead allocate 4MB per thread on replay and
use it like a ring buffer.
-
2720ff35
by baldurk
at 2021-04-15T15:34:14+01:00
Test structured export/import of MSAA textures
-
bbb3d409
by baldurk
at 2021-04-15T22:13:41+01:00
Only check miptail parameters for compatibility when mip tail is present
-
7f1f3cae
by baldurk
at 2021-04-15T22:14:12+01:00
Don't send empty opaque image binds
-
cf487e24
by Jinesi Yelizati
at 2021-04-16T09:20:54+01:00
Fix typo in JDWP TypeTag enums
Even though TypeTag is not actually used.
-
8591d85c
by baldurk
at 2021-04-16T11:42:52+01:00
Fix reading of position-relative subpass inputs. Closes #2247
-
202dc9f1
by baldurk
at 2021-04-16T11:42:52+01:00
Fix compilation with SINGLE_FLUSH_VALIDATE enabled
-
eaee8a68
by baldurk
at 2021-04-16T13:26:53+01:00
Adjust renderbuffer samples to real number of samples obtained
-
8d5ede0e
by baldurk
at 2021-04-16T13:27:17+01:00
When getting texture data from multisampled renderbuffer, do blit first
* We can't use CopyTex2DMSToArray directly on a renderbuffer, we need to blit to
the texture first.
-
47e13a30
by baldurk
at 2021-04-16T13:31:08+01:00
Add test of GL renderbuffer variants
-
da667016
by baldurk
at 2021-04-16T13:55:38+01:00
Don't mark bufferless constant buffers as empty due to stage masks
* These aren't present for push constants etc, so we ignore it
-
477a1e92
by baldurk
at 2021-04-16T14:19:30+01:00
Add VK_Robustness2 test to autotests and add push descriptor interaction
-
db210200
by baldurk
at 2021-04-16T14:23:20+01:00
Ensure that overlay tests don't crash if multiple UAVs use register 0
-
0a23f10d
by baldurk
at 2021-04-16T16:00:03+01:00
Clamp to subresource dimensions when binding sparse pages
-
12d9b4f8
by baldurk
at 2021-04-19T15:30:19+01:00
Add copy icon to treeview context menu
-
270d4e5b
by baldurk
at 2021-04-19T16:44:19+01:00
Add resource usage entries into context menu in pipeline state viewer
-
c7293977
by Jinesi Yelizati
at 2021-04-20T09:45:31+01:00
Fix typos in comments
-
9cb5e9d1
by baldurk
at 2021-04-20T13:51:41+01:00
Update toolwindowmanager to 4837f70a84
-
260583b8
by baldurk
at 2021-04-20T13:51:41+01:00
Move tooltip handling from RDTreeWidget to RDTreeView
-
9d3f7169
by baldurk
at 2021-04-20T13:51:41+01:00
Add thumbnails to texture tooltips in pipeline state view
* If there would be no tooltip otherwise, it just shows the thumbnail. Otherwise
any tooltip text (like view parameters or image layout) is displayed below the
thumbnail
-
6f25063e
by baldurk
at 2021-04-20T13:51:41+01:00
Add icon for context menu item to open in resource inspector
-
e3eb2ee7
by baldurk
at 2021-04-20T13:51:41+01:00
Fix sorting for texture viewer texture list
-
d6c483a2
by baldurk
at 2021-04-20T14:44:04+01:00
Hide tooltip thumbnail instead of making it 0x0
-
2c63b24c
by Jinesi Yelizati
at 2021-04-21T10:16:03+01:00
Fix a typo in streamio.h
-
b37ed43b
by Jake Turner
at 2021-04-21T10:32:37+01:00
Asynchronously run Apple APIs on the main thread
These operations now run on the main thread and not on the Replay thread
* Updating the NSOpenGLContext
* Setting the view property on the NSOpenGLContext
* Getting the window size from the NSView
The specific methods that are run on the main thread are:
* NSOpenGLContext setView
* NSOpenGLContext update
* NSView frame
* NSView convertSizeToBacking
* NSView setWantsBestResolutionOpenGLSurface
These methods are asynchronously dispatched to the main thread using the Apple NSApplication main thread dispatch queue i.e.
dispatch_async(dispatch_get_main_queue(), <method>);
The threading synchronization intent is:
* the Replay does not block waiting for a deferred main thread API to complete
* mutex locks are used to protect containers shared between the main and Replay threads
* the main thread uses a TryLock approach when wanting to acquire the context lock. If the context lock is held by the Replay thread then the main thread reschedules the requested context operation i.e.
if (TryToGetContectLock(context))
{
[context update];
}
else
{
scheduleContextUpdate(context);
}
* When scheduling requests to the main thread the NSOpenGLContext and NSView objects are referred to by an index into an array and not by pointer value.
There are two debugging modes which are disabled by default
* RD_THREAD_RANDOM_SLEEP
* RD_USE_CONTEXT_LOCK_COUNTS
Enabling RD_THREAD_RANDOM_SLEEP performs sleeps of random times on both the Replay and main thread when calling the different context and view methods.
RD_THREAD_RANDOM_SLEEP is useful to expose race conditions.
Enabling RD_USE_CONTEXT_LOCK_COUNTS tracks the lock count on the context objects in the "s_ContextLocksCount" container.
The low-level context locking is handled in NSGL_makeCurrentContext which is called from CGLPlatform::MakeContextCurrent which in turn is called from GLReplay::MakeCurrentReplayContext.
The currently locked context is tracked in TLS storage and the currently locked context is unlocked before locking the new context and then setting the current context TLS value.
-
96afe779
by baldurk
at 2021-04-22T15:52:14+01:00
Disable hover pipeline thumbnails on remote replay
* Most remote replay links are slow enough that the lag introduced by
synchronously fetching and displaying these thumbnails would be annoying for
simple mouse-over scenarios.
-
27c93f0c
by baldurk
at 2021-04-22T15:52:14+01:00
Update to latest D3D12 headers
-
57224d06
by baldurk
at 2021-04-22T15:52:14+01:00
Force ref-all-resources when root signature looks to be bindless
* This is required for the new heap-indexing bindless because we don't even have
ranges to mark referenced, but for other cases ref-all resources tends to be
more efficient especially when we're going to get to the same place (including
all resources) via a less efficient mechanism.
-
9dee6a64
by baldurk
at 2021-04-22T15:52:15+01:00
Try to unload d3d12.dll when D3D12 replay is done
* This isn't always possible - it seems activating the debug layers causes
d3d12.dll to be permanently resident.
-
525906ab
by baldurk
at 2021-04-22T15:52:15+01:00
Serialise D3D12 SDK version in captures
-
2b74938c
by baldurk
at 2021-04-22T15:52:15+01:00
When present, embed D3D12Core.dll into the capture
* This way we know we have the right matching version for use on replay.
-
f4d4c186
by baldurk
at 2021-04-22T15:52:15+01:00
Use minimal function hooking to allow dynamic D3D12 runtime selection
* By intercepting D3D12.dll's load of D3D12Core.dll and wrapping the COM
interface it gets back, we can load the D3D12Core.dll that we desired.
* As a default, we load the D3D12Core.dll embedded in the capture. There's also
a config setting to allow the user to override this, though in principle this
shouldn't be needed.
* We only do all this if the SDK version used to capture is higher than that
normally available on the system. So if a new runtime isn't in use, we won't
do any hooking at all.
-
d18cf781
by baldurk
at 2021-04-22T16:31:21+01:00
32-bit compile fix
-
bcfaed39
by Jake Turner
at 2021-04-23T09:20:26+01:00
Build Apple universal binaries arm64 & x86_64
-
87d52959
by Jake Turner
at 2021-04-23T09:20:26+01:00
Disable pyrenderdoc on Apple
The python brew install does not include universal binaries
Disabling pyrenderdoc on Apple allows for the generation of universal binaries by the Apple CI
-
226178dd
by baldurk
at 2021-04-23T19:07:30+01:00
Explicitly set layer count when doing MSAA <-> Array copies
-
2da070ad
by baldurk
at 2021-04-23T19:07:30+01:00
Fix VK_CBuffer_Zoo test when inline data extension isn't supported
-
dc5a26ec
by baldurk
at 2021-04-23T19:07:31+01:00
Refactor vulkan post-vertex output to read all data from SSBOs
-
203c4d68
by baldurk
at 2021-04-23T19:07:31+01:00
Add buffer_device_address path to vertex output fetch on vulkan
-
659c7531
by baldurk
at 2021-04-23T19:07:31+01:00
Bounds check input attributes against input array size we have
-
e78a48bf
by baldurk
at 2021-04-23T19:07:31+01:00
Implement proper out-of-bounds value filling for vulkan post-vs fetch
-
cc2d7363
by baldurk
at 2021-04-23T19:07:31+01:00
Remove piece in documentation that caused more problems than it solved
-
e8e4e641
by baldurk
at 2021-04-23T20:08:28+01:00
Don't pass rdcstr through varargs for log print
-
acf99870
by baldurk
at 2021-04-23T20:33:28+01:00
Keep chunk allocator memory in resource records in D3D12
* These records can then be kept alive during capture even if the resource is
released.
-
aa0be4ee
by baldurk
at 2021-04-23T20:33:43+01:00
Fix unit test expectations for proper truncated components
-
e8cfbd5a
by Jake Turner
at 2021-04-26T11:38:44+01:00
Mac build set the minimum SDK version to 10.15
-
1e3fc0e3
by Theodore Cipicchio
at 2021-04-26T12:18:15+01:00
Fix row count calculation when writing block-compressed DDS data
Block-compressed textures with dimensions that are not evenly divisible
by the block size are typically padded internally to align with the
block size. load_dds_from_file() was previously corrected to account for
this alignment when calculating the number of rows of blocks to read
from a DDS file, but the fix was not applied to write_dds_to_file(),
resulting in missing rows of texels or loading failures when attempting
to open a DDS file generated by RenderDoc from a texture whose
dimensions are not a multiple of four.
-
da660cd0
by Jake Turner
at 2021-04-26T21:58:13+01:00
Removed redundant RENDERDOC_PLATFORM_APPLE code
-
5b2203d9
by Jake Turner
at 2021-04-26T21:58:13+01:00
Mac support to get executable path from .app file
-
2e0af1e3
by baldurk
at 2021-04-27T17:13:18+01:00
Fix string issues
-
52612c1f
by baldurk
at 2021-04-28T10:36:59+01:00
Apply out-of-bounds index count clamping to VS output
-
6b37477e
by baldurk
at 2021-04-28T11:24:04+01:00
Update d3dcommon.h and stringise new D3D feature level
-
aedf0cc7
by baldurk
at 2021-04-28T11:59:10+01:00
Handle D3D12 hooked libraries on replay moving in memory on reload
-
a4cba2af
by baldurk
at 2021-04-28T12:21:57+01:00
When grabbing D3D12Core also grab D3D12SDKLayers for validation
* The D3D12SDKLayers needs to match the D3D12Core, so we save both when possible
(the SDKLayers dll might not be loaded during capture but it should be next to
the D3D12Core. On replay if we have one we put it next to the D3D12Core we're
using for replay, and if not we forcibly disable debug otherwise we may crash.
-
a252136c
by baldurk
at 2021-04-28T12:35:28+01:00
Handle VK_WHOLE_SIZE in memory flush of mapped tiled memory
-
85aef09a
by baldurk
at 2021-04-28T16:19:31+01:00
Don't rely on depthOut member of DrawcallDescription
-
57c22874
by baldurk
at 2021-04-28T16:28:15+01:00
Add required dynamic state for discard patterns PSO
-
b70d157a
by baldurk
at 2021-04-28T16:29:41+01:00
Only ignore transitions from undefined current state for partial updates
* If the current state of a temporary ImageState is unknown in a renderpass
transition mid-command buffer that means it's a subresource which isn't
touched and we want to skip barriering it. We *don't* want to barrier from
UNDEFINED and discard.
* However if this is a real ImageState which hasn't been initialised, we do want
to do that. So only opt-in to the skipping behaviour in the case we know this
isn't a 'real' ImageState but a temporary tracker.
-
57edff9f
by baldurk
at 2021-04-28T16:29:56+01:00
Transition pixel history image to layout matching the current renderpass
-
0c0d57cc
by baldurk
at 2021-04-28T16:30:07+01:00
Add names to VK_Pixel_History test images
-
f9054ffd
by baldurk
at 2021-04-28T16:30:17+01:00
Create image view on depth/stencil in test to simplify behaviour
-
93f0997c
by baldurk
at 2021-04-29T10:25:18+01:00
Fix crash on 32-bit index buffers that are less than 4 bytes in size
-
f28a3a54
by baldurk
at 2021-04-29T10:35:35+01:00
Remove call to FreeLibrary - GetModuleHandle doesn't add to lib refcount
-
aac9e762
by baldurk
at 2021-04-29T11:26:14+01:00
Test that empty execute indirects don't crash
-
26aa09c6
by baldurk
at 2021-04-29T12:52:28+01:00
Refactor D3D12 tests to check for options once in Prepare
-
2ea6d83b
by baldurk
at 2021-04-29T13:05:10+01:00
Handle new DXBC system-value semantics
-
665c2876
by baldurk
at 2021-04-29T15:31:51+01:00
Update toolwindowmanager to 23572b51
-
ce99fd65
by baldurk
at 2021-04-29T15:36:06+01:00
Stringise new D3D12 resource states
-
7ff63008
by baldurk
at 2021-04-29T16:18:06+01:00
Add test of D3D12 VRS features
-
9c29ae63
by baldurk
at 2021-04-29T16:50:12+01:00
Check for SRV/UAV typed access to 16-bit types
* This is possible on D3D11 but only with certain cap bits, it's simpler to test
on D3D12 and the DXBC debugger will go through the same path for both.
-
cbb06800
by baldurk
at 2021-04-30T10:31:08+01:00
Remove unnecessary feature check on MSAA->Array copy
-
cd6b8ade
by baldurk
at 2021-04-30T11:11:18+01:00
Add specialization constants to tests to ensure they are preserved
* These canary values must be propagated correctly to derived pipelines (made
with patched shaders etc) or else the shaders disable themselves/misbehave,
which invalidates the test. That way if the test passes we know the
specialization constants were properly propagated.
-
f085d168
by baldurk
at 2021-04-30T12:41:22+01:00
Test stream-created PSOs create correctly
* Where possible we test empty AS/MS to ensure they're ignored, though I don't
run any windows versions that support this at the runtime level.
-
9d6fe09b
by baldurk
at 2021-04-30T13:20:45+01:00
Test vulkan clear-before-draw overlay works when bindless feedback runs
* The first time a draw is selected bindless feedback runs, ensure the clear-
before-draw overlay works even then. This is a little bit of a hack but it
tests for a known issue.
-
3d3a9fa5
by baldurk
at 2021-04-30T13:22:05+01:00
Make sure spec constants used for mesh fetch don't overlap with user's
-
55a6d809
by baldurk
at 2021-04-30T13:44:52+01:00
Test that memory bound via vkBindBufferMemroy2 is properly captured
-
2af11c53
by baldurk
at 2021-04-30T16:41:17+01:00
Add test of AMD extensions in D3D12
-
f530392b
by baldurk
at 2021-04-30T16:58:55+01:00
Check that destroying a command allocator mid-capture works OK
-
3d2c0033
by baldurk
at 2021-05-04T10:54:19+01:00
Sanitise layout when doing discard patterns
* This is possible in case an application discards a resource straight into
present layout for some reason.
-
c7b7d3db
by baldurk
at 2021-05-04T12:21:51+01:00
Clamp masked writes to mapped memory region against size. Closes #2268
* When manually masking writes to mapped memory with tiled resources we need to
avoid overrunning the bounds of the mapped region.
-
efd2a50a
by baldurk
at 2021-05-04T14:12:03+01:00
Use python datetime for calculating durations, not time.time()
-
015cae07
by baldurk
at 2021-05-04T19:07:10+01:00
Hook nvEnc open encode session and unwrap device passed in
* Newer nvenc seems to check that this device matches resource->GetDevice() for
passed in resources which is reasonable to want, so we unwrap it on the way
in.
-
9822a84e
by baldurk
at 2021-05-04T19:40:28+01:00
Compile fix
-
21a5c1dc
by baldurk
at 2021-05-05T16:08:48+01:00
Better disassembly of NonSemantic.DebugPrintf
-
bd3cf5c1
by baldurk
at 2021-05-05T18:17:58+01:00
Refactor clamping of masked mapped regions to ensure no OOB writes
-
20eaae67
by baldurk
at 2021-05-06T14:26:01+01:00
Add hex float printf support to utf8printf
-
633170eb
by baldurk
at 2021-05-06T16:38:01+01:00
Readback indirect parameters after vkCmdEndRenderPass2
-
5fde0ad9
by lizj
at 2021-05-10T14:18:19+01:00
Fix incorrect backcolorPick button state after cancellation
-
95e55549
by baldurk
at 2021-05-10T17:02:48+01:00
Fix sphinx-paramlinks for sphinx 4.0.0
-
b8abb188
by baldurk
at 2021-05-10T17:02:49+01:00
Reset sphinx rtd theme to 0.5.2 with no modifications
* The next commit will contain our customisations that we still need for chm, to
make it clearer.
-
e3326327
by baldurk
at 2021-05-10T17:02:49+01:00
Remove encoding & embedded js that breaks htmlhelp builder
-
9c509277
by baldurk
at 2021-05-10T17:02:49+01:00
Remove navigation elements on embedded help builds (like htmlhelp)
-
732ccb2d
by baldurk
at 2021-05-10T17:02:49+01:00
Fix D3D12_AMD_Shader_Extensions test for DXIL support
* We can't build with -O0, it has to be at least -O1 for DXIL. We also need -Ges
/ strictness on both builds.
-
40e3de7c
by baldurk
at 2021-05-10T17:02:49+01:00
Disable overwolf fork of OBS
-
6dafc45b
by baldurk
at 2021-05-11T11:03:54+01:00
Allow custom string argument formatting without va_list
-
645d3763
by baldurk
at 2021-05-11T11:03:54+01:00
Add method for inserting deferred constants in SPIR-V
* Our iterators currently don't update when insertions are made before them, so
adding constants while modifying a function is a problem. However we can just
reserve an ID and add the constant later.
-
bac34ac8
by baldurk
at 2021-05-11T11:03:54+01:00
Add way to check for existing capabilities
-
3021cc9f
by baldurk
at 2021-05-11T11:03:54+01:00
Add query to see if edited SPIR-V entry points need to list all globals
-
aec2f8db
by baldurk
at 2021-05-11T11:03:54+01:00
Store whether or not a shader uses debug printf
* Shaders that use printf will go through the feedback path, even though they
may not use arrayed descriptors.
-
968fd249
by baldurk
at 2021-05-11T11:03:54+01:00
Check for appropriate storage features before applying shader feedback
-
4eb2621b
by baldurk
at 2021-05-11T16:15:31+01:00
Fetch shader messages from DebugPrintf
-
c6c133bd
by baldurk
at 2021-05-11T16:15:31+01:00
Add icons for texture viewer pixel history/debug buttons
-
b4ec703d
by baldurk
at 2021-05-11T16:15:31+01:00
Expose shader printf messages in the UI
-
4ba5c326
by baldurk
at 2021-05-11T16:21:38+01:00
Add missing Qt include
-
57a0463a
by baldurk
at 2021-05-11T17:34:31+01:00
Add new classes to python documentation index
-
447040e4
by baldurk
at 2021-05-11T17:34:53+01:00
Fix cast on 32-bit build
-
39ec6da6
by baldurk
at 2021-05-11T17:35:36+01:00
Remove unused lambda capture
-
3107cc59
by baldurk
at 2021-05-11T18:16:11+01:00
Fix typo in docstring
-
5def7fd6
by baldurk
at 2021-05-11T18:36:46+01:00
Fix further docstring typos
-
f7db7617
by baldurk
at 2021-05-12T13:50:39+01:00
Only read printf data if shaders used printf
-
4bd35029
by baldurk
at 2021-05-12T14:11:03+01:00
Don't include pass boundary draws in batch-postvs fetch
-
4c5f2d21
by baldurk
at 2021-05-12T15:38:02+01:00
Adjust instance index to account for offset
-
3a7adb0c
by baldurk
at 2021-05-13T14:19:47+01:00
Comply with SPIR-V 1.4 requirement to list all entry point variables
* This includes privates we add as well as SSBOs etc. We only add these to the
entry point list for SPIR-V 1.4+
-
12c1a8ef
by baldurk
at 2021-05-13T15:00:54+01:00
Bitcast loaded pre-existing variables to uint for printf location
-
9597cb67
by baldurk
at 2021-05-13T15:01:08+01:00
Insert printf location initialisation after local function variables
-
c715d2c7
by baldurk
at 2021-05-13T15:01:54+01:00
Pre-populate selected text in shader find dialog when pressing ctrl-f
-
3685ca1c
by baldurk
at 2021-05-13T15:36:45+01:00
Fix auto-conversion of vertex inputs in vulkan shader debugging
-
46e1f84f
by baldurk
at 2021-05-13T15:47:54+01:00
Fix memory leak with double-duplicate of structured object
-
32546737
by baldurk
at 2021-05-17T13:47:58+01:00
Fix derivatives in vulkan shader debugger
-
4a9d32db
by baldurk
at 2021-05-17T13:47:58+01:00
Sort GL read/write bindings by bindpoint and use mapping properly
* We need to use the bindpoint mapping to ensure we look up the correct usage
information. Also iterating over the unsorted shader resources potentially
gives us out-of-order bindings, so we resort by bindpoint (which was sorted
into binding order in the implementation).
-
331db5b4
by baldurk
at 2021-05-17T13:47:58+01:00
Fix custom shader edits to write the exact editor contents to disk
-
d8d6557f
by baldurk
at 2021-05-17T13:47:58+01:00
Add support for file includes from custom shaders. Closes #2275
-
16b82d16
by baldurk
at 2021-05-17T15:05:13+01:00
Handle rdcstrpair or rdcstrpairs in function return types for docstrings
-
b8d10c48
by baldurk
at 2021-05-18T12:29:20+01:00
Help visual assist ignore/skip parsing generated SWIG code
* This didn't used to be as much of an issue but it seems
-
9d9c5d45
by baldurk
at 2021-05-19T11:34:36+01:00
Don't track non-created proxy resources if invalid descriptor came in
-
2005d2d0
by baldurk
at 2021-05-19T11:34:36+01:00
Try to workaround dxc being brittle, locate precisely matching dxil/dxc
* If we load any dxil with any dxcompiler, sometimes the compiler will not
function. So if we find a dxil the highest priority is finding a dxcompiler
right next to it which is presumed to precisely match and be compatible..
-
00e1f005
by baldurk
at 2021-05-19T11:44:41+01:00
Fix a crash if a table widget gets a copy shortcut with no selection
-
0ef09300
by baldurk
at 2021-05-20T10:12:46+01:00
Fix code not setting return value for cached dxc module
-
399f1c59
by baldurk
at 2021-05-20T10:12:52+01:00
Remove trailing line referring to old removed section of docs
-
2ddf567f
by baldurk
at 2021-05-24T16:51:43+01:00
Require explicit opt-in to enable process injection on windows
* This option (in spite of large warnings) continues to be a pitfall for new and
experienced users alike, trying to use process injection without good reason
and getting into trouble when it breaks.
-
d8d99f49
by baldurk
at 2021-05-26T20:38:23+01:00
Tweak naming of SPIR-V IDs to match between shader reflection and debug
* This helps for the automated tests to match up debugged values against output
signatures for vertex shaders
-
ffa33cfd
by baldurk
at 2021-05-27T11:45:01+01:00
Fix handling of pass events when selecting a non-draw
-
0e7ee120
by baldurk
at 2021-05-27T11:59:24+01:00
Only pause and restart renderpasses in pixel history if one is active
* Secondary command buffers don't have to be executed within a renderpass, so we
can't assume that one is active.
-
c41a6b37
by baldurk
at 2021-05-27T14:16:23+01:00
Don't call output displays while closing a capture
-
1ed4b561
by baldurk
at 2021-05-27T14:18:05+01:00
Fix discard patterns to work correctly with multisampled UINT textures
-
4d189b7f
by baldurk
at 2021-05-28T11:46:13+01:00
Add bigger warning in documentation about process injection
-
778d91e4
by baldurk
at 2021-05-28T11:57:46+01:00
When setting up printf location only patch it into entry point function
-
16a0ebc4
by baldurk
at 2021-05-28T12:01:21+01:00
Always add add printf location inputs to entry point globals
* Even in older SPIR-V versions, Input class globals should be listed in the
entry point interface list.
-
50b2cecc
by baldurk
at 2021-05-28T12:19:12+01:00
Add documentation for shader messages window
-
a269149d
by Jordan Justen
at 2021-06-03T00:43:32-07:00
Merge tag 'v1.14' into debian/experimental
v1.14
-
efb9f299
by Jordan Justen
at 2021-06-03T00:49:02-07:00
d/changelog: Start 1.14+dfsg-1 changelog
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
d13ebf2d
by Jordan Justen
at 2021-06-03T00:58:01-07:00
d/watch: Update path to release pgp files
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
d9c58a74
by Jordan Justen
at 2021-06-04T18:02:10-07:00
d/patches: Rebase patches for renderdoc v1.14
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
fa39cb4f
by Jordan Justen
at 2021-06-05T16:56:59-07:00
debian: Enable cmake's ninja generator for building
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
daa5e745
by Jordan Justen
at 2021-06-05T17:01:01-07:00
d/changelog: Release 1.14+dfsg-1 to experimental
Signed-off-by: Jordan Justen <jljusten@debian.org>