-
ced7fc70
by baldurk
at 2020-11-27T17:32:26+00:00
Bump version to 1.12
-
34bf107a
by 攻伤菊菊长
at 2020-11-30T11:23:25+00:00
Implement support for SPV_GOOGLE_user_type
For debugging vulkan shaders generated by dxc
-
8d14408f
by baldurk
at 2020-11-30T13:00:05+00:00
Fix header being incorrectly renamed on linux installs
-
8628f95b
by baldurk
at 2020-11-30T13:00:05+00:00
Expire pointer aliases in SPIR-V debugging when Ids go out of scope
-
1b9cd082
by Aliya Pazylbekova
at 2020-12-02T10:56:07+00:00
Fix UUID copy for AMD markers for non-Windows
For non-windows size of unsigned long is 8, so copy the UUID in split
fashion.
-
9610919c
by baldurk
at 2020-12-02T17:44:46+00:00
Fix copy-paste of rich resource text
* We need to cache to the QString text on demand, which requires a context
potentially sooner than paint/etc time.
-
806d6fce
by baldurk
at 2020-12-02T17:44:46+00:00
KHR_buffer_device_address is fixed in AMD driver 20.11.3
-
f38c4c36
by baldurk
at 2020-12-02T17:44:47+00:00
Add a ctrl+enter shortcut in capture dialog to launch the capture
-
b52713d5
by baldurk
at 2020-12-02T17:44:47+00:00
Fix issue with wholeMemBuf not covering whole allocation sometimes
* When we use the wholeMemBuf from a dedicated allocation it may actually be
smaller than the whole allocation, and we need to be careful not to overuse
it. Keep a separate size for wholeMemBuf which can shrink if the buffer is
smaller.
-
1a0df46f
by baldurk
at 2020-12-02T17:44:47+00:00
Fix issue selecting indirect draw sub-command in draw with count=1
-
1e1ac07a
by baldurk
at 2020-12-03T10:44:27+00:00
Allow python scripts to implement and register as ICaptureViewer classes
-
b69ca452
by baldurk
at 2020-12-03T10:59:05+00:00
Log the specific error if vkCreateInstance fails in demo program
-
a1768499
by baldurk
at 2020-12-03T11:24:39+00:00
Add some new helpers for managing widgets
-
a8a40ca3
by baldurk
at 2020-12-03T13:24:56+00:00
Add the ability to create spacers, for better layouts
-
0d1f6e39
by baldurk
at 2020-12-03T14:17:42+00:00
Add helper to invoke back onto the UI thread from the replay thread
-
6bc4e007
by baldurk
at 2020-12-03T14:55:02+00:00
Fix C++ invokes being responsible for destroying python callbacks
* If the last refcount on a python lambda/temp function is released when a
wrapping std::function is destroyed in a C++ invoke, we can't destroy it
safely. Instead we queue up that decref and process it the next chance we're
able (which is either when the current execution finishes for a python shell
execution, or on the next function call which handles extensions).
-
60409caf
by baldurk
at 2020-12-03T15:09:29+00:00
Make event selection 'soft' blocking instead of hard blocking
* Normally SetEventID is synchronous and blocking, and will stall the UI while
it is processing. However we can at least pop up a progress dialog and allow
the UI to function (if not be interactive due to the blocking progress dialog)
when some other long-running task is delaying the processing on the replay
thread.
-
e2d47fa1
by baldurk
at 2020-12-03T21:14:13+00:00
Fix compilation of PythonCaptureViewer
-
07fce392
by Steve Karolewics
at 2020-12-04T09:54:09+00:00
Fix D3D12 depth targets using the wrong formats in TextureViewer
-
170f29eb
by baldurk
at 2020-12-05T09:57:40+00:00
Disable loading LunarG validation layer
* Previously we hinted loading both the old LunarG metalayer and the new
combined Khronos layer. Since only one was a 'real' layer this was safe and
would allow us to enable validation anywhere without needing to enumerate
available layers.
* Unfortunately a new loader version makes it an error to specify the
VK_LAYER_LUNARG_standard_validation for loading! So it is completely
impossible to be fully compatible. We have no choice then but to follow the
loader/SDK's path and have a hard backwards compatibility break.
* This means the validation won't be enabled anymore for anyone on SDK from
early 2019 and before.
-
6f7e8bb3
by baldurk
at 2020-12-05T09:57:40+00:00
Add python interface consistency check that we don't use non-class enums
* These enums are generally not preferred anyway, but they also can't have
docstrings so can't be checked for *missing* docstrings.
-
6803f32a
by baldurk
at 2020-12-05T09:57:40+00:00
Print a message when stripping android libraries, and keep unstripped
-
1ab2047e
by baldurk
at 2020-12-07T15:41:03+00:00
Reset state in D3D shader debugging to before draw when fetching UAVs
* Debugging shaders with UAV access could(likely will) have side-effects on
those UAV contents, so when ContinueDebug needs to fetch UAV contents we
should replay back to before the draw to fetch them.
* This replay only happens once per ContinueDebug, and UAV contents are cached
globally so we only do it once per UAV that's accessed, so the impact is low.
-
3cd10c9e
by baldurk
at 2020-12-07T16:35:05+00:00
Disable crash reporting in edge
-
8a58ba68
by baldurk
at 2020-12-07T17:42:18+00:00
Allow arrays of pointers in GPU buffers
-
df6fec13
by baldurk
at 2020-12-07T17:44:50+00:00
Remove use of automodule in docs
* One automodule in a file for our modules is way too much, so we split it into
files. Unfortunately this means that only one file can have those classes and
functions be linkable from elsewhere.
* Instead we bite the bullet and manually curate the items into pages, and at
the same time subdivide the 'enums and data' page more which is a general
readability and usability win as well.
* We also add some previously not-included functions, and add a doc-build time
check to ensure that functions and classes aren't omitted from the
documentation in future
-
e5f4ca7b
by baldurk
at 2020-12-07T17:44:50+00:00
Remove use of const char * in public API and OS specific where possible
* This prevents unnecessary conversions back and forth between rdcstr and const
char * when going through interfaces. In the OS specific layer this is rarely
an issue because most of the implementations don't convert to rdcstr, but it
is convenient to be able to pass in an rdcstr directly. The few cases where
there's an unecessary construction of an rdcstr is acceptable.
* A couple of places in the public API need to return a string from a global
function, so can't return an rdcstr due to C ABI, so they still return a const
char *.
* Similarly const char * is kept for logging, to avoid a dependency on rdcstr
and because that's one place where unnecessary conversions/constructions may
be impactful.
-
6b8ce92d
by baldurk
at 2020-12-07T17:44:51+00:00
Clean up docstrings in python interfaces to be strictly typed/formatted
* Also added a script that can run as part of CI to verify that the docstring
matches, by generating a regex from the docstring documented parameter types
and return type and making sure we find a match within the C headers. This
ensures all parameters are documented with the right types, no extra
parameters are documented, and the return type is correct.
* The script also checks proper scoping so that if qrenderdoc docstrings
mention a renderdoc type, they need to scope it properly.
-
dd3e7ab1
by baldurk
at 2020-12-09T15:18:27+00:00
Add a modified and improved version of PyCharm's skeleton generator
-
659fdaa2
by baldurk
at 2020-12-09T15:18:27+00:00
Check that all complex struct members that have :type: in docstrings
* Ideally we'd document every member unconditionally for best autocompletion,
but that's a lot of modification so for now we stick to just making sure that
any members that are struct types (or lists/tuples) have the :type:
declaration so that we can autocomplete inside them.
-
580f96c8
by baldurk
at 2020-12-09T15:18:27+00:00
Rename ShaderVariableType/Descriptor to ShaderConstant
* These structs are no longer used with ShaderVariable so the name is misleading
at best.
-
7ff7e0a7
by baldurk
at 2020-12-09T18:16:08+00:00
Replace fixed C arrays with wrapper class in public interface
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
ShaderValue.
-
68d690a9
by baldurk
at 2020-12-09T18:16:08+00:00
When rendering overlays, clear to transparent black
* This might cause some fringing artifacts when at low scales due to non-PMA
colors but it means there are no false-positive green pixels.
-
8597b5ce
by baldurk
at 2020-12-09T18:16:08+00:00
Fix VulkanQuadOverdrawCallback still being active on restore replay
-
8107a7a7
by baldurk
at 2020-12-09T18:16:08+00:00
Account for array stride when unrolling AoS in buffer viewer
-
f70c5be5
by baldurk
at 2020-12-09T21:57:15+00:00
Fix issues with linux/mac builds
-
466eecde
by baldurk
at 2020-12-09T22:19:36+00:00
Remove raw strings from persistant config settings
* This seems to break on GCC 5 unfortunately, and is certainly a bit of an edge
case.
-
6726540a
by baldurk
at 2020-12-09T22:25:53+00:00
Remove test passing NULL for rdcstr
-
9d1673f5
by baldurk
at 2020-12-09T22:55:48+00:00
Fix formatting in new docstrings
-
492aaf21
by baldurk
at 2020-12-09T22:55:53+00:00
Fix apple compilation
-
afc9fc8f
by baldurk
at 2020-12-09T23:27:42+00:00
Fix verify-docstrings.py
-
ea2410fe
by baldurk
at 2020-12-10T10:05:10+00:00
Make new python documentation checks optional
* Older sphinx versions don't have an easy 'objects' property so we just drop
this check. As long as it happens on CI builds that's the main thing.
-
232c4a9e
by baldurk
at 2020-12-10T16:40:10+00:00
Fix texture zoo tests
-
8b5234d0
by baldurk
at 2020-12-10T16:40:26+00:00
Fix texture zoo remote server launch when running from renderdoccmd
-
bd342e15
by baldurk
at 2020-12-10T16:46:01+00:00
Fix buffer overrun in D3D12_Draw_Zoo
-
9a6ec528
by baldurk
at 2020-12-10T16:56:34+00:00
Don't build GL_Callstacks demo in release
* The nice callstacks we're looking for won't happen in release builds.
-
76e86db3
by baldurk
at 2020-12-10T17:28:11+00:00
Fix selection of root constant source data when viewing cbuffers
-
32cb98f8
by baldurk
at 2020-12-11T14:48:03+00:00
Don't check framebuffer dimensions against image, check renderarea
* The framebuffer is allowed to be a smaller size, the renderarea is what we
need to check to ensure we don't render outside the image with some stale
state.
-
b6b25543
by baldurk
at 2020-12-11T17:17:34+00:00
Properly check feature tiers in D3D12 as well as command list interface
* We also can handle default/no-op changes of state, like setting a 1x1 shading
rate. Even if VRS isn't supported we can just skip the call.
-
e4e2d781
by Alex Vakulenko
at 2020-12-15T22:52:05+00:00
Fix access mode for ::popen() call in ggp OS wrapper
popen's access mode was accidentally changed from string to enum used in
FileIO::open() wrappers. This is a posix function and should keep using
the string.
-
fede056e
by baldurk
at 2020-12-15T22:52:37+00:00
Fix bug in redeclarator if type hint like Tuple[int, ...] is used
* The ... confused the declaration process and so an empty identifier got
registered, which then broke things later.
-
5bdf00c0
by baldurk
at 2020-12-15T22:52:37+00:00
Checking for D3D12 features can fail, don't assert just zero the struct
-
90ced90a
by baldurk
at 2020-12-15T22:52:37+00:00
Add common pipeline state helper to grab stencil face states
-
f32008e9
by baldurk
at 2020-12-15T22:52:37+00:00
Add access for changing the 3D preview stage in mesh viewer
-
4bc795c3
by baldurk
at 2020-12-15T22:52:38+00:00
Fix DumpObject to work with lists
-
01633288
by baldurk
at 2020-12-15T22:52:38+00:00
Fix error messages not being printed from async python callbacks
-
d91785fe
by baldurk
at 2020-12-15T22:52:38+00:00
Unbind unpack buffer when creating overlay texturel
-
143f6647
by baldurk
at 2020-12-15T22:52:38+00:00
Support converting an rdcarray pointer to rdcarray
* This means if there's no intervening list() it still works, e.g. passing an
rdcarray property to a function paramater that expects an rdcarray in python.
-
ed813e25
by baldurk
at 2020-12-15T22:52:38+00:00
Fix crash in vulkan overlay if non-drawcall is selected
-
d727feb8
by baldurk
at 2020-12-15T22:52:38+00:00
Improve handling of multiline richresourcetext documents
-
2b0f9c2e
by baldurk
at 2020-12-15T22:52:38+00:00
Use richtext representation for ResourceId when converting to string
-
3aaccc4f
by baldurk
at 2020-12-15T22:52:38+00:00
Use rdcfixedarray in parameters for functions instead of C arrays
* This maps better to tuples in python
-
6ea3f996
by baldurk
at 2020-12-15T22:52:38+00:00
Don't enable scissor in D3D11 overlay if it wasn't enabled prior
-
2a6774db
by baldurk
at 2020-12-15T22:52:38+00:00
Remove incorrect sRGB conversion of clear overlay background color
-
539ea53b
by baldurk
at 2020-12-16T00:27:41+00:00
Fix python reference in docstring
-
523af0f2
by baldurk
at 2020-12-16T14:42:20+00:00
Ensure replay controller only gets deleted via Shutdown()
-
402d43f9
by baldurk
at 2020-12-16T17:24:39+00:00
Handle OpModuleProcessed being in a separate section properly
-
0e054d86
by baldurk
at 2020-12-16T17:24:53+00:00
Don't use capture writer after it is destroyed. Closes #2121
-
71f10084
by baldurk
at 2020-12-16T18:06:23+00:00
Fix SPIR-V editor unit test for new section types
-
e7e2b731
by baldurk
at 2020-12-16T20:39:58+00:00
Search extracted namespace for class, not all headers
-
47571c6b
by baldurk
at 2020-12-17T12:22:00+00:00
CPU writes should be treated as writes in the timeline bar
-
f3b66b01
by baldurk
at 2020-12-17T15:20:32+00:00
Only refresh texture list if resource renames changed
* Otherwise the texture list doesn't change when selecting events.
-
7c35bdb1
by baldurk
at 2020-12-17T15:20:50+00:00
Omit large ranges of empty resources in arrays in D3D12 pipeline state
-
51d5250f
by baldurk
at 2020-12-17T15:23:45+00:00
Reuse root elements array in D3D12 pipeline state
* This means if there's a large view array, selecting between draws with the
same root signature doesn't free & reallocate the array, it can re-use the
existing memory.
-
eabc6990
by baldurk
at 2020-12-17T22:23:34+00:00
Don't try to always read 4 components of data from output. Closes #2119
-
674d11fd
by baldurk
at 2020-12-18T13:42:04+00:00
Use RichResourceText system to linkify EID links with format @123
-
fd1b051d
by baldurk
at 2020-12-18T14:05:54+00:00
Add helper for selecting sample mask, which varies in location by API
-
0e5f173b
by baldurk
at 2020-12-18T14:36:23+00:00
Hide independent blend toggle in common pipe state
-
6830321f
by baldurk
at 2020-12-18T14:39:11+00:00
D3D11 scissors are enabled globally, not per-scissor
* Even if a scissor isn't set/is empty, if the scissor state is enabled it
should still be classed as enabled but empty.
-
a3c33c2e
by baldurk
at 2020-12-18T15:44:05+00:00
Patch variable pointer types when we remove the underlying pointer type
-
56c7c47a
by baldurk
at 2020-12-18T19:43:18+00:00
Don't emit drawcall errors for degenerate drawcalls. Closes #2124
-
610dda70
by baldurk
at 2020-12-19T12:47:52+00:00
Use entry point interface ID list if available over building our own
-
7aee5377
by baldurk
at 2020-12-19T12:49:39+00:00
If multiple entry points are present in module, strip all unused
* When there's only one entry point it can be useful to see available but unused
bindings or I/O parameters. When multiple entry points are present we cannot
do that because we will see bindings or I/O for other entry points.
-
050e9e1b
by Omar El Sheikh
at 2020-12-22T19:57:59+00:00
Update ADB Command to Install RenderDoc on Android
Added the --force-queryable flag to the adb install command for
renderdoc Android on devices running Android R/11/SDK 30
A feature being introduced in Android R requires all explicit
interactions between
apps to be declared ahead of time (either via manifest or during adb
install)
The --force-queryable flag during adb install does this, and is what
allows for the
shared objects from renderdoc (in this case the layers) to be
discoverable by
other apps targeting SDK 30+
-
d9915388
by Omar El Sheikh
at 2020-12-22T19:57:59+00:00
Add check for Android Version
We need to check the android version running on the device to know
whether or not we need to make the adb install command use the
--force-queryable flag
Devices running Android R/11/SDK 30 are ones which support this flag
-
c1ecd9d3
by Aliya Pazylbekova
at 2020-12-25T10:32:22+00:00
Some GGP modifications
qrenderdoc/Code/CaptureContext.cpp
- Adds GGP windowing system
renderdoc/driver/ihv/amd/amd_counters.cpp
- Enables AMD counters
renderdoc/driver/vulkan/vk_serialise.cpp
- Handling VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP in pNext
for vkQueuePresentKHR
renderdoc/os/posix/ggp/ggp_callstack.cpp
- Check that the file was opened
-
47c7b38f
by Kanglai Qian
at 2021-01-05T16:40:12+00:00
supporting full glCopyImageSubData
-
2fb48704
by baldurk
at 2021-01-05T18:26:27+00:00
Handle unsized depth-stencil formats in GL overlay properly
-
a89e6e97
by baldurk
at 2021-01-05T18:26:27+00:00
Don't set 0 patch vertices
* This likely comes from capturing without tessellation and retrieving 0, and
replaying with tessellation. For this case we don't need to set the number of
vertices at all.
-
b98c1f95
by baldurk
at 2021-01-05T18:26:27+00:00
When fetching bindless feedback patch pipeline to reference load RP
-
8697aec4
by baldurk
at 2021-01-05T18:26:27+00:00
Reactivate AMD buffer_device_address workaround
-
5e92bff7
by baldurk
at 2021-01-05T18:26:27+00:00
When build is invoked with ninja, build parallel over number of CPUs
* If we invoke 'make' on its own under a ninja build, it won't be parallel by
default which makes the build a lot slower than it has to be.
-
b01c84f0
by baldurk
at 2021-01-05T18:26:27+00:00
Implement proper handling for unbound views in shader debugging
* We force FetchUAV/FetchSRV to always return something, and it can be empty if
the resource is unbound meaning we get proper OOB behaviour for it. The D3D12
implementation still prints an error message for registers that don't
correspond to the root signature at all, but for D3D11 we silently allow it.
-
f5f9e78d
by baldurk
at 2021-01-05T18:26:27+00:00
Completely remove idle background tracking of descriptors on vulkan
* In principle descriptors should be updated less often than they are
referenced, so we used to cache tracking of them at update time to improve the
speed that references can be processed at submit time during capture.
* Some applications though update a *lot* of descriptors *very* often,
effectively writing all their descriptors for a frame every frame. That means
that this background tracking is wasteful and has a big performance impact, so
instead it's a better balance to do more work at submit time during capture.
-
3e4cac49
by baldurk
at 2021-01-05T18:26:27+00:00
Respect dedicated memory allocations during capture, use those buffers
* In addition for memory allocations for images we prevent the memory from
getting write references propagated to it, as this can cause initial states to
be generated in captures after the first when we convert write references into
dirty states.
-
ecb1ba78
by baldurk
at 2021-01-05T18:26:28+00:00
Add config option to hide command buffer boundary markers
-
67561893
by Steve Karolewics
at 2021-01-06T14:25:13+00:00
Prevent GPU hang in postvs incremental draws with many instances
-
d11c92d4
by baldurk
at 2021-01-06T16:58:43+00:00
Fix crash with imageless framebuffers
-
0e60918e
by baldurk
at 2021-01-06T16:58:43+00:00
Combine/ignore the same usage from the same event
* This can happen if the same resource is used in a barrier more than once (e.g.
multiple subresources)
-
cc365815
by baldurk
at 2021-01-06T16:58:43+00:00
Restore initial state for resources created mid-frame on D3D12
-
4f7abcd4
by baldurk
at 2021-01-06T16:58:43+00:00
Remove unneeded window attribute in custom paint widget
* This was having some unpleasant knock-on effects in Qt that caused other
controls in the panels to fail to render properly.
-
e970ee0e
by baldurk
at 2021-01-06T16:58:43+00:00
Fix issue with clamped length with byte offset in buffer viewer
-
bb45e67e
by TheGreatMcPain
at 2021-01-07T00:14:14+00:00
Fix compile errors when the '-mf16c' CFLAG is enabled.
Fixes an issue where 'half.hpp' skips the 'immintrin.h' include
statement if '-mf16c' is used.
(which can happen when using '-march=native')
-
5eec88fd
by Dylan Barrie
at 2021-01-07T21:21:34+00:00
Fix extra read-only resources displayed in D3D12 Texture Viewer
-
b0f07dfe
by baldurk
at 2021-01-08T15:39:02+00:00
Fix some style issues with new Qt versions
-
c63d222c
by baldurk
at 2021-01-08T15:39:02+00:00
Update linux build to compile against Qt 5.15.2
-
b487aa85
by baldurk
at 2021-01-11T11:08:13+00:00
Flush pending dead on D3D11 before checking for wrappers. Closes #2145
* Otherwise we could AddRef() a dead object and then it gets released again for
a double delete.
-
441be224
by baldurk
at 2021-01-11T11:45:18+00:00
Override QTreeView::moveCursor to fix scrollbar behaviour. Closes #2144
* This prevents SH_ItemView_ArrowKeysNavigateIntoChildren from causing left-move
from an expanded node to jump immediately to its parent instead of collapsing
it when the scrollbar is not leftmost
-
b6462b19
by baldurk
at 2021-01-11T13:58:20+00:00
When flow layout hasn't been visible, be conservative with its size
* Because the flow layout adjusts to its available size, we instead set it to
minimum size until it's first laid out. Otherwise it can get unreasonably
sized.
-
8ed47fd7
by baldurk
at 2021-01-11T15:55:21+00:00
Update vulkan headers to 1.2.166
-
f7179157
by baldurk
at 2021-01-12T12:52:26+00:00
Fix handling of separate debug info around fxc/dxc inconsistencies
* dxc emits a PDB which contains a stream with the debuginfo DXBC container,
which we expected to happen for fxc too. Instead fxc just emits the bare SPDB
chunk PDB. So we need to try to guess what to expect and/or handle both..
-
29277b93
by baldurk
at 2021-01-12T17:16:17+00:00
Both PRIMITIVE_RESTART_FIXED_INDEX and PRIMITIVE_RESTART enable restart
-
76b62ba8
by baldurk
at 2021-01-12T18:01:57+00:00
Disable AMD switchable graphics layer
-
a3007ffa
by baldurk
at 2021-01-13T10:42:46+00:00
Make sure BDA capture/replay bit is enabled
-
0b12a2d1
by baldurk
at 2021-01-13T12:02:30+00:00
Always create RTV for wrapped swapchain buffers even if wrapper exists
* This can happen if the application calls ResizeBuffers without releasing all
references - the texture is not recreated but we destroyed the RTV, so we need
to create the RTV again.
-
fbb17bec
by baldurk
at 2021-01-13T12:50:34+00:00
Only display base filename in loading progress dialog, not whole path
-
026da176
by baldurk
at 2021-01-13T13:56:10+00:00
Update copyright years to 2021
-
f5a99d47
by baldurk
at 2021-01-13T14:25:54+00:00
Update D3D headers in test project
-
92192ef3
by baldurk
at 2021-01-13T14:48:40+00:00
Add test to ensure vkBindBufferMemory2 can be split up
-
beb7c9a6
by baldurk
at 2021-01-13T15:26:22+00:00
Don't accumulate references from inline uniform block descriptors
-
ec50e900
by baldurk
at 2021-01-13T15:32:09+00:00
Test inline uniform block descriptors in VK_CBuffer_Zoo
-
edc0d1d4
by baldurk
at 2021-01-13T15:54:10+00:00
Ignore stream-out parameters if no stream-out is enabled on D3D12
-
bb5834fd
by baldurk
at 2021-01-13T16:07:43+00:00
Add test of root signature ranges larger than the descriptor heap
-
a083680b
by baldurk
at 2021-01-13T16:29:01+00:00
Test that primitive restart is enabled for either GL state
-
99725b1d
by baldurk
at 2021-01-14T12:03:07+00:00
Use devicePixelRatioF to calculate texture viewer coords. Closes #2148
-
a544223f
by baldurk
at 2021-01-14T22:33:07+00:00
Fix crash when an object is destroyed and re-used mid capture
-
86ca7944
by baldurk
at 2021-01-15T11:33:13+00:00
Add test to check ID3DDeviceContextState refcounting/rewrapping
-
1ce09583
by baldurk
at 2021-01-15T12:36:14+00:00
Add helper for setting images in labels
-
6d1e37de
by baldurk
at 2021-01-15T14:14:50+00:00
Display bind array index in register name on D3D12 pipeline state
-
924c513d
by baldurk
at 2021-01-15T14:57:34+00:00
Fix cases where empty-range ellision in D3D12 pipeline state breaks
* We can't assume ranges in root signature elements map to shader binding
arrays, there is a many:many relationship (one range can have multiple
elements, or only part of an array, one array can have multiple ranges)..
-
474c88a0
by baldurk
at 2021-01-15T16:50:37+00:00
Clamp height to non-zero in GL initial state
-
3d52d5ac
by baldurk
at 2021-01-15T16:50:48+00:00
Change window title to reflect development/release builds
-
ee5d3f58
by baldurk
at 2021-01-15T19:32:41+00:00
Compile fix for linux
-
03db0c48
by baldurk
at 2021-01-15T21:40:24+00:00
Fix override warning
-
84dabc7b
by baldurk
at 2021-01-18T12:20:16+00:00
Update buffer size when it resizes mid-capture. Closes #2149
* We need to be careful with this, as we want to update the buffer's creation
chunks without invalidating any data that may be present there.
-
2070e74c
by baldurk
at 2021-01-18T13:22:36+00:00
Restore image auto-update on change feature
* This was apparently never ported over to Qt!
-
c1c36f06
by baldurk
at 2021-01-18T13:23:22+00:00
Handle failed allocation in EXR image viewing path
-
7e5fc407
by baldurk
at 2021-01-18T14:18:34+00:00
Ignore number of captures made in D3D11_Swapchain_Zoo
-
7125104c
by baldurk
at 2021-01-19T10:25:59+00:00
Disable buggy bandicam vulkan layer. Closes #2152
-
ac3b9230
by baldurk
at 2021-01-19T12:06:37+00:00
Allow querying DXGI swapchains for IDXGIObject & IUnknown
* This will only work if we still get the expected resource back under the hood
though. Fingers crossed?
-
086b038d
by baldurk
at 2021-01-19T15:22:12+00:00
Add simple checks for large memory leaks
* Smaller memory leaks are harder to differentiate from noise, so we go for a
large enough leak to be noticable over time (50,000 frames).
-
ed50a0e0
by baldurk
at 2021-01-19T16:25:17+00:00
Add workaround for Qualcomm driver issue
* Calling vkCmdSetLineWidth() before binding and dispatching a compute pipeline
seems to crash on Qualcomm drivers. We rarely need to prepopulate dynamic
state without a pipeline bound, so just skip this one state in that case on QC
devices.
-
d607c7df
by baldurk
at 2021-01-19T16:35:02+00:00
Add debug option to log command buffer recording on vulkan
-
64131e05
by baldurk
at 2021-01-19T16:43:57+00:00
Test vulkan overalys with rasterizer discard and otherwise invalid state
* E.g. no viewport/scissors bound.
-
1fe92989
by baldurk
at 2021-01-19T17:10:09+00:00
Fix aspect ratio calculation for negative viewport height
-
0c410d40
by baldurk
at 2021-01-19T17:20:15+00:00
Fix issue showing whole pass in mesh viewer with inverse view height
* In particular this was breaking if not all draws in the pass used an inverse
view (unlikely in practice, but comes up in our tests).
-
0a5353a3
by baldurk
at 2021-01-19T17:20:59+00:00
Test inverse viewport height in VK_Mesh_Zoo, with rendering and picking
-
f263e244
by baldurk
at 2021-01-19T17:25:35+00:00
Tweak allowed memory increase when loading VK_Large_Descriptor_Sets
-
3d9bba65
by baldurk
at 2021-01-19T17:39:12+00:00
Fix resizing issue with vulkan scissors display
-
309a0837
by Marcin Ślusarz
at 2021-01-20T17:15:16+00:00
Put units in table header instead of each row.
-
20d8ae2d
by baldurk
at 2021-01-20T17:15:34+00:00
Fix display of 3D texture slices when linear sampling
* When displaying mip 0 of a texture at less than 100% zoom we linear sampling,
but we don't want to linear sample across slices. Adding a half pixel offset
in z ensures we sample precisely on the slice itself.
-
40f83cfb
by baldurk
at 2021-01-20T17:15:34+00:00
Fix lag in updating texture viewer display when selecting new draws
-
57bb5a73
by baldurk
at 2021-01-20T20:40:19+00:00
Make lack of intel GL counters more obvious to user
* We do the odd thing of adding another fake counter which returns 0s, to direct
the user to disable paranoid mode in order to enable more perf counters..
-
be3a6a5d
by baldurk
at 2021-01-20T20:54:08+00:00
Set counter-fetching mode around IHV counters on OpenGL
* This mode suppresses the default behaviour to end unbalanced things like
transform feedback and queries, and also stops the capture from using queries
that might be in use outside.
-
c002c71f
by baldurk
at 2021-01-21T10:43:37+00:00
Don't display buffers as thumbnails in texture viewer
* This is a holdover from simpler binding times, these days it makes more sense
to omit buffers than try to hold onto those bindings even when they don't
contain textures.
-
a4fd53af
by baldurk
at 2021-01-21T11:28:23+00:00
Fix a crash if capture viewers are changed while processing SetEvent
* This could happen in particular now that thumbnails are capture viewers..
-
ba067178
by baldurk
at 2021-01-21T11:30:50+00:00
Don't fetch resource lists for unbound shader stages
* This is a minor optimisation when there are large numbers of bound resources
that are available (duplicated) to all shader stages. There's no point
fetching them when there's no shader bound there.
-
a377a61a
by baldurk
at 2021-01-22T13:23:53+00:00
Clarify acceptable use for issues and support even further
* Capturing copyrighted programs is absolutely not supported or tolerated..
-
f45bdcb4
by baldurk
at 2021-01-22T13:24:48+00:00
Fix Iter_Test and Repeat_Load for newest python API
-
0ade24d3
by baldurk
at 2021-01-22T14:19:16+00:00
Fix corruption when buffer is deleted after resize mid-frame
-
019d75cd
by baldurk
at 2021-01-22T14:19:33+00:00
Fix demos project compilation on linux
-
5ce60936
by baldurk
at 2021-01-22T14:20:11+00:00
Pick resident set memory for current memory usage on linux
* The virtual size can be much bigger than the actual amount of memory in use
that we care about.
-
e292bae3
by baldurk
at 2021-01-22T14:57:23+00:00
Update valgrind suppression file
-
dae98c35
by baldurk
at 2021-01-22T14:57:35+00:00
Remove memset of struct that's no longer POD
-
e6601672
by baldurk
at 2021-01-22T14:57:48+00:00
Delete net worker when net manager thread completes
-
106999a4
by baldurk
at 2021-01-25T11:13:28+00:00
Fix leak of descriptor memory during each capture on D3D12
-
d5fb1cfe
by baldurk
at 2021-01-25T11:20:21+00:00
Work around driver issues creating shared contexts on EGL. Closes #2162
* Some drivers seem to fail when trying to share between GLES2 and GLES3 though
the spec seems to suggest this should work fine. As a workaround if the
context fails to create, try creating with the same context client version as
the existing context.
-
5aadf1d6
by baldurk
at 2021-01-25T12:21:22+00:00
Fix Iter_Test invalid python tuple use
-
1c37bfa0
by baldurk
at 2021-01-25T16:14:03+00:00
Fix painting issues when scrolling with pinned columns
-
176ad231
by baldurk
at 2021-01-25T16:51:59+00:00
Fix check for nan/inf in SPIR-V shader debugging
-
0dde721a
by baldurk
at 2021-01-25T17:06:02+00:00
Fix reading matrix stride from correct place when reading whole structs
-
435ef86a
by baldurk
at 2021-01-25T21:29:09+00:00
Only set shader ext UAV on DXBC bytecode if it's present
* For DXIL bytecode we don't attempt to nicely fixup the disassembly, but we
still want to remove the reflected UAV if present.
-
58a760cc
by JohnnyonFlame
at 2021-01-27T00:29:14+00:00
Fixed missing ARM_pc define on armhf target.
-
ca4bbc05
by JohnnyonFlame
at 2021-01-27T00:29:14+00:00
Fix asm/ptrace.h include order
-
56c5c18a
by baldurk
at 2021-01-27T00:29:46+00:00
Tweak leak threshold on vulkan test
* It seems like some drivers don't free some memory from the resident set until
a certain point, meaning the peak memory is higher after a couple of captures
then goes down. This isn't a true leak and us checking the entire process's
working set size is a very poor litmus test, so bumping this value is fine.
-
e270d763
by baldurk
at 2021-01-27T00:29:46+00:00
Use the correct default profile version for GLES shaders in glslang
* We need to pass 100 for GLES and 110 for desktop for proper default parsing
without #version
-
2ab40511
by baldurk
at 2021-01-27T00:29:46+00:00
Don't access graphics pipeline info when doing compute feedback
* This would crash if there's no renderpass set.
-
cf2b0aba
by baldurk
at 2021-01-27T00:29:46+00:00
Filter out spammy libc messages on android
-
58ef496c
by baldurk
at 2021-01-27T00:29:46+00:00
Conservatively clamp number of samples when saving texture
* No actual texture should be returned with 0 samples but if there are problems
we want to avoid crashing by dividing by 0 later.
-
34dca01c
by baldurk
at 2021-01-27T00:29:46+00:00
Don't rely on creation info during capture, it isn't populated
* On capture when we need the buffer size we can get it from the resource
record.
-
29c59655
by baldurk
at 2021-01-27T12:49:36+00:00
Update some missing entries and comments from custom shader snippets
-
3f637e0d
by baldurk
at 2021-01-27T12:58:51+00:00
Link to renderdoc-contrib repository
-
ae96b674
by baldurk
at 2021-01-27T13:03:16+00:00
Update docs to reference VK_EXT_debug_utils
* VK_EXT_debug_marker still works fine but is deprecated.
-
9424b8a3
by baldurk
at 2021-01-27T16:05:03+00:00
Add documentation on setting up python dev environment
-
ea51a816
by baldurk
at 2021-01-27T16:05:03+00:00
Give ResourceId.Null a proper return type
-
dabd2a80
by baldurk
at 2021-01-27T16:05:03+00:00
Give specific instructions on writing UI extensions
* This goes through a worked example of a simple extension.
-
4d16c3e4
by baldurk
at 2021-01-27T16:05:03+00:00
Add function to close top level windows to MiniQtHelper
-
506f941a
by baldurk
at 2021-01-27T16:05:03+00:00
Don't set invalid size as minimum size on labels, set 0,0
-
f460d799
by baldurk
at 2021-01-27T16:05:04+00:00
Check for @ when initialising rich resource text
* This is used for event linking
-
bddbc532
by baldurk
at 2021-01-27T16:56:47+00:00
Fix compile error in official builds
-
40b86b63
by baldurk
at 2021-01-27T17:06:09+00:00
Update code for new SSL libraries in new Qt version
-
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
-
d9f7cc06
by Jordan Justen
at 2021-01-31T19:24:48-08:00
Merge tag 'v1.12' into debian/experimental
v1.12
-
c51b50c7
by Jordan Justen
at 2021-01-31T19:26:26-08:00
d/changelog: Start 1.12+dfsg-1 changelog
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
0a2a0b28
by Jordan Justen
at 2021-01-31T19:34:18-08:00
d/patches: Rebase patches onto v1.12
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
e1eb9e48
by Jordan Justen
at 2021-01-31T23:52:03-08:00
d/copyright: Add docs/pycharm_helpers license
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
b91fc8b9
by Jordan Justen
at 2021-01-31T23:52:04-08:00
d/changelog: Release 1.12+dfsg-1 to experimental
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
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
-
0f686ee7
by baldurk
at 2021-05-28T17:14:41+01:00
Bump version to 1.15
-
6ce0b9a0
by baldurk
at 2021-05-31T10:12:10+01:00
Fix problems with capturing frame 0 of opengl programs
* Until a context is activated we can't know if it's modern or not.
-
fb95285c
by baldurk
at 2021-06-01T13:29:09+01:00
Put all annotation docs into the same 'how do I' page. Refs #2285
* This page now documents both how to annotate things from code in the
application, as well as at runtime in the UI.
-
03c12d6e
by baldurk
at 2021-06-01T18:17:10+01:00
Set API inspector events list to uniform row heights
* This is a significant optimisation, otherwise Qt will iterate over every event
and get its size, which can be expensive with the events being rich text
strings.
-
ea16d31a
by baldurk
at 2021-06-01T18:17:55+01:00
Invalidate cached hover index in tree view when model changes
-
21598b5d
by baldurk
at 2021-06-01T21:35:10+01:00
Fix missing override on function
-
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>
-
81ebf46c
by Peter Lohrmann
at 2021-06-03T11:48:58+01:00
Update to GPUPerfAPI 3.8
This includes updated header files, which needed minor local tweaking to
remove an intermediate directory from the include path, and to disable
the <vulkan/vulkan.h> header from being included in gpu_perf_api_vk.h.
All entrypoints and some datatypes were renamed in the latest version,
but functionality remains the same.
Includes support for new AMD Radeon RX 6000 Series graphics cards.
-
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>
-
003ab746
by baldurk
at 2021-06-07T11:02:50+01:00
Fix crash in postvs on vulkan with NULL vertex buffers bound
-
5907182f
by Jake Turner
at 2021-06-08T09:22:31+01:00
Renamed cgl_platform.mm -> cgl_platform_helpers.mm
Support for Xcode project generation.
Distinguish object file between .cpp & .mm versions.
Xcode project build did not work when had the same source file with .cpp and .mm extensions ie. cgl_platform.cpp & cgl_platform.mm
The makefile generator explicitly distinguishes the targets ie. cgl_platform.cpp.o & cgl_platform.mm.o
-
d158ed2a
by Jake Turner
at 2021-06-08T09:22:31+01:00
Renamed vk_apple.mm -> vk_apple_helpers.mm
Support for Xcode project generation.
Distinguish object file between .cpp & .mm versions.
Xcode project build did not work when had the same source file with .cpp and .mm extensions ie. vk_apple.cpp & vk_apple.mm
The makefile generator explicitly distinguishes the targets ie. vk_apple.cpp.o & vk_apple.mm.o
-
99568927
by Jake Turner
at 2021-06-08T09:22:31+01:00
Specify the Apple Xcode cmake output directories
For Xcode set the output directory to be the same for all configurations
By default Xcode puts binary and library outputs in a different folder per configuration
-
c81f46c8
by Jake Turner
at 2021-06-08T09:22:31+01:00
Apple Xcode project build fixes for renderdoccmd
Building via Xcode does not include "stdc++" by default (probably a difference between cland and clang++).
Building via Xcode puts the static library "renderdoc_libentry" into a different folder than the shared library "renderdoc"
Pass the full path to the static library "renderdoc_libentry" on the link line.
-
077c07f0
by Jake Turner
at 2021-06-08T09:22:31+01:00
Use MAKE generator for qrenderdoc custom_commands
Use MAKE generator for any non-make cmake program not just ninja build system ie. Xcode generator
-
4ea889c7
by Jake Turner
at 2021-06-08T09:22:31+01:00
Make QMAKE_OSX_DEPLOYMENT_TARGET Apple specific
Wrap it with if (APPLE) and APPEND to the config file
-
a71914c0
by Jake Turner
at 2021-06-08T09:22:31+01:00
Apple qrenderdoc cmake remove extra space in RPATH
-
71243f50
by Jake Turner
at 2021-06-08T09:22:31+01:00
Xcode generator setup for Apple
Restrict the schemes to match the configuration on the cmake command line
Disable Debug Document Versioning
Specify the executable path for build-qrenderdoc target
-
7bfe758f
by Jake Turner
at 2021-06-08T09:22:31+01:00
Apple Xcode specify PATH for custom commands
Capture the PATH variable at cmake invoke time and store in the cache.
Use the captured PATH variable for the make based build targets custom_swig and QRenderDoc.
This fixes the problem on Apple Silicon that the Xcode PATH does not include the default homebrew paths (/opt/homebrew/bin /opt/homebrew/sbin)
-
340a5337
by Jake Turner
at 2021-06-08T09:22:31+01:00
Make OSX_ICONFILE Apple specific
Wrap it with if (APPLE) and APPEND to the config file
-
cf4ce8fc
by Jake Turner
at 2021-06-08T09:22:31+01:00
Apple Xcode added qrenderdoc sources and headers
Hardcoded to Code, Styles, Widgets, Windows *.h*, *.c*, *.m*
These files are not built by Xcode.
They are in the Xcode project to support browsing qrenderdoc source code.
-
17cc3002
by baldurk
at 2021-06-08T14:23:56+01:00
Fix config push to android for new android versions
* The config folder changed in some android version, so we need to use the right
one.
-
8a2cd4b9
by baldurk
at 2021-06-08T14:23:56+01:00
Disable use of buffer_device_address on qualcomm
-
fe63f8b1
by baldurk
at 2021-06-08T14:23:56+01:00
Set uniformRowHeights on Vulkan/D3D12 pipeline state tree widgets
* This prevents Qt from doing O(n) work to calculate row sizes in some cases
when we know they're all going to be identical.
-
51699a57
by baldurk
at 2021-06-08T16:34:52+01:00
Fix python checks not properly running on enums, and fix new errors
* We whitelist a couple of cases where the naming scheme should be broken..
-
6c503e7d
by baldurk
at 2021-06-09T00:15:30+01:00
Prioritise glTextureViewOES over glTextureViewEXT
-
47d4f4ef
by baldurk
at 2021-06-10T10:33:51+01:00
Tweak some of the status message strings to be clearer
-
9db41e0a
by baldurk
at 2021-06-15T11:26:58+01:00
Update IRC details to point to OFTC
-
71b6e2b3
by baldurk
at 2021-06-15T16:24:25+01:00
Speculative crash fix, protect against invalid indices in cbuffer tag
-
e15906fd
by baldurk
at 2021-06-17T13:22:16+01:00
Polygon offset clamp is core now
-
16937f16
by baldurk
at 2021-06-17T14:30:23+01:00
Fix a crash when push constants are provided insufficient data
-
c73d8c41
by baldurk
at 2021-06-17T15:10:42+01:00
Don't replay when creating outputs
* This is only necessary if the overlay refresh will actually do work, but when
an output is created it can't.
-
0bc42d8c
by baldurk
at 2021-06-22T10:06:10+01:00
Fill out D3D12 depth-stencil read-only flag states
-
44431cd5
by baldurk
at 2021-06-22T10:37:49+01:00
Explicitly mark depth states as 'disabled'. Closes #2296
* On all APIs when depth is disabled the writes are skipped as well. Explicitly
set the function and write state to say that they are disabled.
* This also papers over a weirdness on D3D11 which has confused a couple of
people, where the retrieved desc with GetDesc() on a state object can be
different to the one it was created with when you set ignored parameters -
like the depth function with depth disabled.
-
c3d19f87
by baldurk
at 2021-06-22T15:03:26+01:00
Disable buffer_device_address on older windows Intel drivers
-
8f0e1de6
by baldurk
at 2021-06-24T16:55:02+01:00
Don't write to pNext pointers in SerialiseNext() when writing
* These pNext pointers might be in read-only memory so it would cause an
exception, and nothing has changed so there's no need.
-
6212e987
by baldurk
at 2021-06-24T16:58:34+01:00
Fix documentation being missing on ResourceFormat.type
-
b8d7cd17
by baldurk
at 2021-06-25T15:51:43+01:00
When serialising an SDObject with lazy children, populate on-the-fly
* If an object has enoug children, the lazy generator can take multiple seconds
on e.g. android to fully populate. This is a long enough stall to cause the
host side to timeout while waiting for the next piece of data. Instead of
populating everything up front before starting serialising, we now populate as
we go for each child, so that there's a steadier stream of data and avoid any
timeouts.
-
9547de74
by baldurk
at 2021-06-25T16:46:24+01:00
Batch together initial state application into fewer command buffers
* Some drivers struggle with one command buffer per resource and that's
certainly inefficient, so batching work together (without going too far) keeps
things working better.
-
91db9183
by baldurk
at 2021-06-25T18:28:03+01:00
Try to link with ASAN on android when enabled (doesn't seem to work)
-
4aab637f
by baldurk
at 2021-06-25T20:17:53+01:00
Copy libasan library and wrapper script on android when asan is enabled
-
bbbdba17
by baldurk
at 2021-06-25T20:18:50+01:00
Fix fallback discard pattern overwriting array bounds
-
f64cba8e
by thisisjimmyfb
at 2021-06-26T09:28:42+01:00
Add test to show drawcall count is incorrect
-
f2f8578a
by thisisjimmyfb
at 2021-06-26T09:28:42+01:00
make glClear always a drawcall
-
cf787358
by baldurk
at 2021-06-28T13:10:11+01:00
GetLiveID should respect replacements. Closes #2300
* This ensures we use the up to date edited pipeline for e.g. pipeline-based
shader disassembly.
-
cc7115e2
by baldurk
at 2021-06-28T13:10:11+01:00
Show better window titles for edited shaders
-
bada2aa3
by baldurk
at 2021-06-29T14:31:47+01:00
Handle persistent maps being unmapped within a capture. Closes #2303
* Previously we expected persistent maps to be persistent, but they can be
unmapped mid-capture and we need to handle that case.
-
c276d3dc
by baldurk
at 2021-06-29T16:55:53+01:00
Make some misc tweaks and updates to the docs
-
738efd0b
by baldurk
at 2021-06-29T21:11:43+01:00
Fix order of displayed CopyTextureRegion parameters. Closes #2306
-
8059f129
by thisisjimmyfb
at 2021-06-30T13:32:44+01:00
add clickable links for Vulkan Validation Layer messages
-
d8809653
by baldurk
at 2021-06-30T16:18:08+01:00
Force NodeMask to 0 on replay. Closes #2307
* We don't generally support multi-gpu, but forcing NodeMask to be 0 on replay
for all cases may let some captures open when they couldn't otherwise. It may
not produce meaningful or correct results.
-
c451dc81
by baldurk
at 2021-06-30T16:18:08+01:00
runTo expects an instruction instead of a step index
-
00efa28f
by baldurk
at 2021-06-30T16:18:08+01:00
Fix a crash if user tries to toggle bookmark with no capture loaded
-
4b740b35
by baldurk
at 2021-06-30T16:18:08+01:00
Don't identify things like param@5 as referring to EID @5
-
a8d891bc
by baldurk
at 2021-07-01T15:14:54+01:00
Fix compile warning on linux with Qt metatype comparison
-
7793f20d
by baldurk
at 2021-07-01T15:15:00+01:00
Switch event browser to use a tree view with an item model
-
3a5e98f3
by baldurk
at 2021-07-01T15:15:00+01:00
Cache model indices at draw nodes
* This significantly improves parent() and lookups by EID
-
aecf6870
by baldurk
at 2021-07-01T15:15:00+01:00
Change event browser model to be event-based
-
4483c982
by baldurk
at 2021-07-01T15:15:00+01:00
Remove "API Events" drawcalls
* All drawcalls now contain events, even markers. We no longer add virtual "API
Events", it gets added to the marker pop or command buffer close.
* Note that we will still default filter out marker pops, meaning this is a
slight behaviour change as API events will no longer be easily selectable.
However we're adding the ability to show all events which will be preferred.
-
c01c25d5
by baldurk
at 2021-07-01T15:15:00+01:00
Cache chunk pointer as well as draw pointer
* This will be needed regularly for the filtering process so we want to be able
to query both out per-EID.
-
b9476bad
by baldurk
at 2021-07-01T15:15:01+01:00
Add stubbed filter implementation, with hardcoded default filter
* This replicates the original filter behaviour, only draws with PopMarker draws
excluded
-
85954dab
by baldurk
at 2021-07-01T15:15:01+01:00
Add simple stubbed UI for entering filter expressions
-
21e52a10
by baldurk
at 2021-07-01T15:15:01+01:00
Implement builtin filter _expression_ parsing
-
dcaabf42
by baldurk
at 2021-07-01T15:15:01+01:00
Allow python to register custom event filters
-
2f7855d6
by baldurk
at 2021-07-01T15:15:01+01:00
Optimise converting rich resource text to text only
* We don't have to do the full text document cache to just append the strings.
-
163cd466
by baldurk
at 2021-07-01T15:15:01+01:00
Searching for an EID should return it first before any text results
-
c4e330ea
by baldurk
at 2021-07-01T15:15:01+01:00
Remove jump-to-EID button in event browser, merge with find
* When you search for a plain number (or explicitly @123) it will return that
EID in the find results first.
-
56290561
by baldurk
at 2021-07-01T15:15:01+01:00
Update fake markers to work with new event browser model
* Fake markers now need a real event ID. We don't want to have to remap all
events in a capture between UI and replay driver, so instead we assign non-
contiguous events above the normal range and expect the UI to handle it..
-
5dd3c95e
by baldurk
at 2021-07-01T15:15:01+01:00
Add flags (not currently exposed in UI) for some different behaviours
-
ec5f570f
by baldurk
at 2021-07-01T15:15:01+01:00
Add 'important' flag on structured data
-
94b1dd39
by baldurk
at 2021-07-01T15:15:01+01:00
Add ability to update a working expansion struct instead of resetting
* This is mostly useful when using a filtering model so we want to save the
expansion state of nodes that are temporarily filtered out
-
b591b12e
by baldurk
at 2021-07-01T15:15:01+01:00
Preserve event browser expansion across filtering
-
a1a0dee0
by baldurk
at 2021-07-01T15:15:01+01:00
Handle richtext delegate in RDTreeView instead of widget
-
5a65cbf6
by baldurk
at 2021-07-01T15:15:01+01:00
Tweak default item sizing in RDTreeView to better handle font scales
* We're somewhat trying to match Qt's behaviour here, as we want to ensure that
the items are always sized as if they have space for an icon when
ignoreIconSize() is true. In this case there's a +2 added "to avoid icons
overlapping" but only after the decorationsize is max'd with the font size. In
cases where the font is bigger than the icon, this is important.
-
b2b6f4a7
by baldurk
at 2021-07-01T15:15:01+01:00
Use line-height to get consistent rendering of rich text vs normal text
* Without this lines without icons actually end up smaller, meaning text between
different rich texts without a common table doesn't align together.
-
28c8a186
by baldurk
at 2021-07-01T15:15:02+01:00
Allow rich text to contain and embed html tags
-
385a2549
by baldurk
at 2021-07-01T15:15:02+01:00
When rendering richtext documents, override document color for selection
-
3c0e0803
by baldurk
at 2021-07-01T15:15:02+01:00
Display the range for markers in the EID/draw columns
-
7c2e7bff
by baldurk
at 2021-07-01T15:15:02+01:00
Fix previous/next drawcall buttons when some drawcalls are filtered out
-
a253f01b
by baldurk
at 2021-07-01T15:15:02+01:00
Add some bullet-proofing against invalid model indices
-
038b1d45
by baldurk
at 2021-07-01T15:15:02+01:00
Unselect current item if we get set to an event which is filtered out
* This can happen with bookmarks or anything else in the UI that sets the
current event.
-
5252a3b9
by baldurk
at 2021-07-01T15:15:02+01:00
Refresh event browser model when resource renames change
-
58b38337
by baldurk
at 2021-07-01T15:15:02+01:00
Optimise tree view expand/collapse all to avoid slow Qt path
-
2af1ac20
by baldurk
at 2021-07-01T15:15:02+01:00
Add important tagging to parameters in D3D11
-
7aed22cd
by baldurk
at 2021-07-01T15:15:02+01:00
Add important tagging to parameters in D3D12
-
70a51ae4
by baldurk
at 2021-07-01T15:15:02+01:00
Add important tagging to parameters in Vulkan
-
3036b854
by baldurk
at 2021-07-01T15:15:02+01:00
Add important tagging to parameters in GL
-
f24b6c99
by baldurk
at 2021-07-01T15:15:02+01:00
Format API call strings using important tags
-
e3f55c51
by baldurk
at 2021-07-01T15:15:02+01:00
Add highlighting and display of filter parse errors
-
195ab94e
by baldurk
at 2021-07-01T15:15:02+01:00
Implement filter function auto-completion prompts
-
1bb3f95b
by baldurk
at 2021-07-01T15:15:03+01:00
Register builtin filters similarly to custom filters
* We can't use the exact same interface because we want builtin filters to be
able to return specialised lambdas, but we at least register them by name.
This is helpful for ensuring the completion doesn't get out of sync, and we'll
use it next to provide function-specific completion
-
7b83524b
by baldurk
at 2021-07-01T15:15:03+01:00
Add duration property to $draw() filter
-
3bc221d6
by baldurk
at 2021-07-01T15:15:03+01:00
Add a $dispatch() helper to filter only dispatches (and properties)
-
cb7fdc9b
by baldurk
at 2021-07-01T15:15:03+01:00
Add auto-completion prompts for filter function parameters
-
571fa835
by baldurk
at 2021-07-01T15:15:03+01:00
Store text ranges of filters and colour-highlight subexpressions
* This won't be on by default in the final in-line version but will be used for
'explaining' a filter.
-
cb669175
by baldurk
at 2021-07-01T15:15:03+01:00
Remove close buttons for find/filter now that the toolbars are togglable
-
f82a26ea
by baldurk
at 2021-07-01T15:15:03+01:00
Add a regex filter function
-
715ae0ea
by baldurk
at 2021-07-01T15:15:03+01:00
Don't match popmarker draws with $draw() by default
* This is a little bit inconsistent because they are technically draws, but
they're only draws so they can include the trailing API events in a region.
* Think of it this way:
Imagine we instead made PopMarker just a normal API event (which is how we want to treat it) and instead inserted a second 'internal' draw at the end of each region to contain the popmarker. This internal draw would be hardcoded to never show up in filters no matter what - even with an empty include-all filter. But it contains the other API events so they can be selected individually and filtered in/out.
In this scenario it's functionally equivalent to just using the PopMarker as that 'internal' draw containing its own API event and making it fail all draw filters. The only difference is that users can manually filter in the PopMarker draw with flags if they want.
-
62726836
by baldurk
at 2021-07-01T15:15:03+01:00
Remove event browser settings about hiding empty regions
-
c5457a14
by baldurk
at 2021-07-01T15:15:03+01:00
Add settings popup that explains & documents filters
-
ca3e3afa
by baldurk
at 2021-07-01T15:15:03+01:00
Add saving of filters
* The current filter is preserved across runs even if it's not explicitly saved.
Saved filters are only updated with an explicit save - loading a filter then
making a change just cahnges the current scratch filter, it doesn't update the
saved filter until the user explicitly saves it.
-
34cf40f1
by baldurk
at 2021-07-01T15:15:03+01:00
Allow $param(name = value) for consistency with other query conditions
-
9d4b1d3f
by baldurk
at 2021-07-01T15:15:03+01:00
Support queries with no whitespace like $draw(EID>100)
-
7f38ecd4
by baldurk
at 2021-07-01T15:15:03+01:00
Clear filter explanation before adding new items
-
587e7cbc
by baldurk
at 2021-07-01T15:15:03+01:00
Add documentation for literal string matches
-
e5631c5b
by baldurk
at 2021-07-01T15:15:03+01:00
Add a general help section to the filter config dialog
-
5e3c6bb7
by baldurk
at 2021-07-01T15:15:04+01:00
persist whether the filter is open as part of the saved layout
-
5a1f6fdb
by baldurk
at 2021-07-01T15:15:04+01:00
Elide tool button text if the button isn't large enough
-
3d210147
by baldurk
at 2021-07-01T15:15:04+01:00
Add marker breadcrumbs to event browser. Closes #1031
-
dc16db6c
by baldurk
at 2021-07-01T15:15:04+01:00
Disable the $event() filter for now
* It's of very little value and causes more confusion than it's worth.
-
0c63ff08
by baldurk
at 2021-07-01T15:15:04+01:00
Fix interaction of mixed must/normal filters
-
065d7202
by baldurk
at 2021-07-01T15:15:04+01:00
Fix a crash with $param() filtering on fake markers
-
5abfb7d5
by baldurk
at 2021-07-01T15:15:04+01:00
Add a filter $parent() or $childOf() to match events under a marker
-
e669eaeb
by baldurk
at 2021-07-01T15:15:04+01:00
Ditch $any() and $all() in favour of simple paren nesting
* This means that literals are no longer allowed to contains ()s to match e.g.
Draw( to implicitly exclude DrawIndexed().
-
a92ffa01
by baldurk
at 2021-07-01T15:15:04+01:00
Squeeze a little horizontal space by making root breadcrumb just an icon
-
ec618896
by baldurk
at 2021-07-01T15:15:04+01:00
Don't allow filter strip to be hidden
* This help prevents possible confusion if someone hides the filter with some
exclusions active and gets confused why things aren't showing up.
-
ae978fdb
by baldurk
at 2021-07-01T15:15:04+01:00
Add some example filters if none are saved
-
7a02ec74
by baldurk
at 2021-07-01T15:15:04+01:00
Rename 'Settings' to 'Settings & Help' in filter toolbar
-
fe81f573
by baldurk
at 2021-07-01T15:15:04+01:00
Remove recent filters button in favour of styling a fake combo box
* The filter icon was confusing since it had a 'refresh' badge instead of
'save/load/recent' type badge, and making the latter readable in a few pixels
is not feasible. Having the combo dropdown with saved filters is as intuitive
and works in-line.
-
9536c071
by baldurk
at 2021-07-01T15:15:04+01:00
Add option to batch import or export filters
-
e7785bd9
by baldurk
at 2021-07-01T15:15:04+01:00
Document the flags in $draw(flags & ...) and improve docs formatting
-
71493026
by baldurk
at 2021-07-01T15:15:05+01:00
Rename 'draw' or 'drawcall' to action
* There's not a good accepted terminology for this kind of event, and for
historical reasons 'drawcall' has been the accepted term, even though
that can be quite confusing when a dispatch or a copy is a 'drawcall'.
* This is particularly highlighted by the event browser filters where
$draw() includes draws and dispatches, but $dispatch() only includes
dispatches, it's hard to intuitively understand why $draw() matches all
of these calls.
* As a result we've defined the term 'action' to cover these types of
events in the same way that we defined 'event' in the first place to
mean a single atomic API call.
-
d0accc40
by baldurk
at 2021-07-01T15:15:05+01:00
Rename 'name' member of ActionDescription to 'customName'
* This is a deliberate break of compatibility since the field is now often
empty, for non-markers. This means code will get a more explicit error when
the name is being referenced, so it can be updated to fetch the name it needs
as needed.
-
634a8c38
by baldurk
at 2021-07-01T15:15:05+01:00
Update test scripts to latest APIs and behaviour changes
-
41e4cc43
by baldurk
at 2021-07-01T15:15:05+01:00
Fix filter highlight colours for dark theme
-
e9c176cd
by baldurk
at 2021-07-01T15:15:05+01:00
Strike-out and don't colourise ignored expressions
-
1a87e6b0
by baldurk
at 2021-07-01T15:15:05+01:00
Avoid selecting red as a highlight colour for filters
-
b64fa99d
by baldurk
at 2021-07-01T19:27:34+01:00
Update documentation for event browser changes
-
dd9079e8
by baldurk
at 2021-07-01T19:27:34+01:00
When using Ctrl-F to open find toolbar, ensure tool button is checked
-
cad267eb
by baldurk
at 2021-07-01T19:27:34+01:00
Fix broken <code> tags in event browser filter documentation
-
4170e512
by baldurk
at 2021-07-01T20:29:37+01:00
Fix mistaken reference in documentation
-
a0ec249c
by baldurk
at 2021-07-01T20:29:46+01:00
Fix compilation with older Qt versions
-
ba84a52c
by baldurk
at 2021-07-01T20:29:51+01:00
Fix compilation on mac
-
c08747d7
by baldurk
at 2021-07-05T12:10:07+01:00
Fix D3D12 reference counting with missing internal refs
-
979f5244
by baldurk
at 2021-07-05T14:20:48+01:00
Make demos timeout more generous for leak check tests
* It's fine as-is in release, but in development builds it can take almost a
minute to reach that frame and capture.
-
a1b5f011
by baldurk
at 2021-07-05T14:20:48+01:00
Fix tests with references to removed properties
-
83cee7b3
by baldurk
at 2021-07-05T14:20:48+01:00
Add protection against unknown resources when capturing
* This can happen because the addresses map is shared among all devices so some
other devices might have added resources which we don't recognise the IDs for
- though this could break in other ways (same address range for different
resources on different devices) so it's generally not supported.
-
23fe6ae6
by baldurk
at 2021-07-05T14:20:48+01:00
Remove SM5.0 test for D3D12 AMD shader extensions
* This seems not to work and is not officially supported so there's little value
in testing it.
-
b3f57d14
by Jake Turner
at 2021-07-07T09:59:22+01:00
Fix Vulkan Validation Layer error when running VK_Parameter_Zoo
refpushtempl desscriptor update template was not deleted before shutdown
-
fc08cb17
by Jake Turner
at 2021-07-07T09:59:22+01:00
Fix VS2019 compiler warnings in demos solution
-
ca0b4eab
by baldurk
at 2021-07-07T19:18:32+01:00
Completely ignore non-dx use of nvenc
-
e5121198
by baldurk
at 2021-07-07T19:18:32+01:00
Prevent deadlock in vulkan recursively acquiring RW lock
-
81b4d3d8
by baldurk
at 2021-07-07T19:18:32+01:00
Add public domain md5 library and implement modified DXBC container hash
* This allows us to disabled any requirement for "experimental shaders".
-
2061ede7
by baldurk
at 2021-07-07T19:18:32+01:00
Rename dxbc_disassemble and split apart to different dxbc_bytecode files
-
96533c71
by baldurk
at 2021-07-08T10:35:54+01:00
Use different dialog title for different export formats. Closes #2311
-
ab3986a2
by baldurk
at 2021-07-09T16:27:45+01:00
Only add the implicit ret if there isn't one already
-
cb60a268
by baldurk
at 2021-07-09T16:27:45+01:00
Make sure custom data is ignored but preserved
-
cb2d459e
by baldurk
at 2021-07-09T16:27:45+01:00
Don't assert on variable cbuffer access from shader linkage
-
161c1638
by baldurk
at 2021-07-09T16:27:45+01:00
Reduce size of DXBC operation/declaration/operand structs
-
292ac0b6
by baldurk
at 2021-07-09T16:27:45+01:00
Store the SM5.1 nonuniform flag on operands
-
54be369c
by baldurk
at 2021-07-09T16:38:52+01:00
Extended opcode lists stride for all structured buffer resources
* This comes up for bufinfo as well as ld_structured
-
47df902b
by baldurk
at 2021-07-09T16:38:52+01:00
Add support for encoding/writing DXBC bytecode
* In a couple of places we need to store information that's redundant/pointless
to try and stay bitwise identical to DXBC (so we can parse a file, then write
it out and get the exact same result).
* This also means staying bug-compatible with fxc:
- it sometimes outputs an extra 0x00000000 DWORD after an operation.
- it outputs interpolation modifiers which the spec says should be 0, and are ignored.
- it also sometimes outputs extended operands with no actual use of the extended bits.
- there's ambiguity between swizzle mode and mask mode for .xyzw swizzles, and fxc uses both so we need to ensure we match.
-
4b52bc6a
by baldurk
at 2021-07-09T18:13:50+01:00
Compile fix on 32-bit
-
7c7e9df8
by baldurk
at 2021-07-09T19:02:49+01:00
Try to produce old action names for RGP
* This may not work forever but remains compatible for now.
-
3d3e7506
by baldurk
at 2021-07-10T21:30:34+01:00
Fix parameter generation for RGP event names
-
59ca2811
by Jake Turner
at 2021-07-12T20:36:00+01:00
Change glGetInternalformativ bufSize values
Specify the maximum count of parameters instead of number of bytes
i.e.
GLint iscol;
GL.glGetInternalformativ(target, fmt, eGL_DEPTH_COMPONENTS, sizeof(GLint), &isdepth);
becomes
GL.glGetInternalformativ(target, fmt, eGL_DEPTH_COMPONENTS, 1, &isdepth);
>From GL references pages: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetInternalformat.xhtml
bufSize
Specifies the maximum number of integers of the specified width that may be written to params by the function.
-
ee73091d
by Jake Turner
at 2021-07-12T20:36:05+01:00
Fix crash trying to capture invalid app name
Before the code change this command
renderdoccmd capture ~/dsdsds.app
would trigger segmentation fault accessing a null pointer
-
f5db9fd1
by baldurk
at 2021-07-13T17:04:21+01:00
Remove direct access to DXBC container blob
-
3101334b
by baldurk
at 2021-07-13T17:04:21+01:00
Move TypeName helper into common DXBC header
-
48fa6034
by baldurk
at 2021-07-13T17:04:21+01:00
Re-hash container after modifying program
-
c18764d7
by baldurk
at 2021-07-13T17:04:21+01:00
Be more explicit with swizzling functions which ones override swizzles
-
ee7d88fb
by baldurk
at 2021-07-13T17:04:21+01:00
Allow constructing rdcfixedarray with a fixed size array
-
9bffeb3c
by baldurk
at 2021-07-13T17:04:21+01:00
Add a bytecode editor that can declare resources and add operations
-
e889e4aa
by baldurk
at 2021-07-13T17:04:21+01:00
Ensure we hook all exec* variants not just 'terminal' ones. Closes #2301
-
24af06ac
by baldurk
at 2021-07-13T17:45:49+01:00
Fix validation warnings in VK_Synchronization_2 test
-
7f13429d
by baldurk
at 2021-07-13T17:45:59+01:00
Log in tests when using linked shaderc
-
7d6e7dfb
by baldurk
at 2021-07-13T18:06:37+01:00
Info return type is used for sampleinfo and resinfo
-
011acd74
by baldurk
at 2021-07-14T11:12:54+01:00
Since printf is user-facing now, make formatter errors less fatal
-
e4325a1c
by baldurk
at 2021-07-14T15:33:12+01:00
Add debugPrintfEXT to glsl syntax highlighting
-
f5f1737c
by baldurk
at 2021-07-15T16:41:23+01:00
Fix a bug with URL handling that would add richtext twice
-
a8da2fed
by baldurk
at 2021-07-15T16:41:23+01:00
Respect palette foreground colour properly in rich text
* This is particularly relevant for custom-background colour items on dark theme
where we may switch to dark text for contrast.
-
95ea12b0
by baldurk
at 2021-07-15T16:41:23+01:00
Fix incorrect D3D12 pipeline state python type references
* Python prefixes D3D12 onto types where in C++ it's in the D3D12Pipe namespace
-
46266a9d
by baldurk
at 2021-07-15T16:41:23+01:00
Implement bindless feedback for DXBC shaders on D3D12 with patching
-
abe0787b
by baldurk
at 2021-07-15T16:41:23+01:00
Add test of D3D12 bindless feedback
-
dcb65e20
by baldurk
at 2021-07-15T16:42:53+01:00
Disable experimental bindless feedback by default
-
92f64281
by Dmytro Bulatov
at 2021-07-19T16:51:44+01:00
Added digital signature validation for d3d12core.dll
-
3d00a585
by Dmytro Bulatov
at 2021-07-19T16:51:44+01:00
Fixed code review comments
-
6130a120
by baldurk
at 2021-07-19T16:51:50+01:00
Update some out-of-date docs
-
a3a0aae6
by baldurk
at 2021-07-19T16:51:50+01:00
Handle fixed index lookups in array resources
-
e182a477
by baldurk
at 2021-07-20T15:41:03+01:00
Close floating find windows when pressing escape
-
8d5ef810
by baldurk
at 2021-07-20T15:41:29+01:00
When pre-populating find text, also try current word and select the text
-
091cde69
by baldurk
at 2021-07-20T15:52:55+01:00
Slightly tweak find-all highlight colour. Refs #2277
-
a88bc9dd
by baldurk
at 2021-07-20T16:58:55+01:00
Disable autocompletion for find/replace text
-
71bbc537
by baldurk
at 2021-07-20T16:59:11+01:00
Implement double clicking to go to find-all results. Closes #2277
-
5d78cc93
by baldurk
at 2021-07-20T18:19:50+01:00
Update toolwindowmanager to dcb8d74
-
124d0e71
by baldurk
at 2021-07-21T13:39:26+01:00
Implement more flexible step/run options. Closes #2276 Closes #2312
* We split stepping for source debugging into step over/into/out depending on
how it handles function calls. Step Into is the same behaviour as before - it
steps to the next source line executed regardless of if it's inside a function
call. Step Over is similar but will not enter function calls. We define that
as the callstack growing (so staying the same or shrinking - returning from a
function - is OK), and this is as accurate as the underlying debug
information. Step Out will run until the callstack shrinks, i.e. returning
from a function.
* This is a slight behaviour change of keyboard shortcuts - F10 was effectively
doing step into and will now step over. F11 will step into which is the old
behaviour.
* All these variants have backwards versions, and to remain consistent we keep
the shift modifier as forwards/backwards. This differs from visal studio where
step out is shift-F10.
* The seems like the best balance - using any other variant would likely confuse
muscle memory of anyone used to visual studio (where these shortcuts are
intended to mimick), if only because F10 would be step into whether or not F11
is used for step over or some other key which would likely be even more
confusing either way. Trying to twist to use Shift-F10 for step out would be
inconsistent with the other backwards running operations and likely cause more
confusion than it saves in matching VS's shortcuts exactly. Also an accidental
Shift-F10 is not too destructive, the user can realise it didn't Step Out
forwards, and press Ctrl-F10 or look up the button.
* The hope is that most likely people doing source debugging and familiar with
these keys expect F10 to step over, so the previous behaviour was unexpected
but easy to work around, and that changing the meaning of the key won't
disrupt them. Or at least the disruption is less than other alternatives.
-
2e1b49dd
by baldurk
at 2021-07-21T14:16:10+01:00
Remove signature check of d3d12sdklayers.dll as it's not always signed
-
d6e51d0f
by baldurk
at 2021-07-21T14:17:06+01:00
Check the D3D12 DLL can be loaded before using it
* It looks like some versions of the D3D12 DLL can't be loaded on all versions
of windows (they require entry points and/or DLLs that don't exist).
-
121c1ce0
by baldurk
at 2021-07-21T14:17:15+01:00
Don't run shader feedback if there's no root signature bound
-
0d0ed26f
by baldurk
at 2021-07-21T14:22:57+01:00
Handle 0xFFFFFFFF as a component in OpVectorShuffle
-
92efebd5
by baldurk
at 2021-07-21T15:55:08+01:00
Fix some errors from unhandled PDB data
-
f06171f7
by baldurk
at 2021-07-22T11:08:28+01:00
When copy-pasting from a treeview, trim each line individually
* This helps with views that have icon-only columns at the start or end, which
would generate unnecessary whitespace when copying multiple lines.
-
bef75ce7
by baldurk
at 2021-07-22T11:41:20+01:00
Add export options and multi-select to shader msg viewer. Closes #2321
-
4c4b0c58
by baldurk
at 2021-07-22T11:57:12+01:00
Fix 0-based line numbers in shader viewer find results
* Scintilla lines are numbered from 0 but for user display we want to be
1-based.
-
58afe63f
by baldurk
at 2021-07-23T11:48:07+01:00
Fix export of shader messages from compute dispatches. Closes #2324
-
34a65857
by baldurk
at 2021-07-23T12:01:41+01:00
Use custom sort on shader messages for location/workgroup
* The default sorting is purely text based so 1,0,0 is followed by 10,0,0 not
2,0,0. We customise the sort so it does the right thing per-column.
-
03648a95
by baldurk
at 2021-07-23T13:18:51+01:00
Serialise out empty map writes. Closes #2323
-
076b2827
by Jake Turner
at 2021-07-28T11:06:53+01:00
Fixed unused variable warnings when compiling with VS 2022 compiler
Debug & Release builds for renderdoc.sln and demos.sln
-
d2a03c6e
by baldurk
at 2021-07-28T11:37:13+01:00
Fix filling in missing components on typed buffer loads
-
d0acc2a3
by baldurk
at 2021-07-28T11:37:13+01:00
Fix display of typed buffers in D3D pipeline state viewer
-
08b0a1d7
by baldurk
at 2021-07-28T11:37:13+01:00
Fix use-after-free on temporary vector
-
50219aca
by baldurk
at 2021-07-28T11:37:14+01:00
Fix crash when tests are run on linux
-
63e54482
by baldurk
at 2021-07-28T11:37:14+01:00
Fix naming of resource usage on GL/Vulkan
-
514f0587
by baldurk
at 2021-07-28T11:37:14+01:00
Mark D3D12 shader feedback as non-experimental
-
4bb3286d
by baldurk
at 2021-07-28T11:37:14+01:00
Reset action timings when eventbrowser model is reset
-
97a83f4d
by baldurk
at 2021-07-28T11:37:14+01:00
Fix a crash with action durations if there are fake markers added
-
88d005d9
by baldurk
at 2021-07-28T11:37:14+01:00
Update python examples to work with latest code
-
faebd8b3
by baldurk
at 2021-07-28T11:37:14+01:00
Fix old breadcrumbs persisting into new captures
-
210f3919
by baldurk
at 2021-07-28T11:37:14+01:00
Mark parameters in internal chunks as unimportant
* This prevents overly-inlining in the event browser.
* Also ensure internal chunks are prefixed with Internal:: consistently.
-
a516c2d4
by baldurk
at 2021-07-28T13:02:19+01:00
Disable view instancing on D3D12 for postvs
* It's unclear if this is supposed to be legal or not, and if it is legal then
how the output is arranged.
-
a4906060
by baldurk
at 2021-07-28T14:01:13+01:00
Handle D3D12 CreateConstantBufferView with a NULL desc
-
f4dbf701
by Jordan Justen
at 2021-08-14T23:58:07-07:00
Merge tag 'v1.15' into debian/master
v1.15
-
2c18e47e
by Jordan Justen
at 2021-08-14T23:59:03-07:00
d/changelog: Start 1.15+dfsg-1 changelog
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
dc4dfd71
by Jordan Justen
at 2021-08-15T00:07:03-07:00
d/patches: Rebase patches for renderdoc v1.15
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
b085cbff
by Jordan Justen
at 2021-08-16T11:50:24-07:00
d/rules: Enable hardening build options
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
eb088423
by Jordan Justen
at 2021-08-25T14:35:57-07:00
d/librenderdoc.lintian-overrides: Fix lintian unused-override
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
9077807a
by Jordan Justen
at 2021-08-25T14:50:35-07:00
d/upstream/metadata: Add upstream metadata file
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
994f5b69
by Jordan Justen
at 2021-08-25T17:07:02-07:00
d/patches: Fix some misspellings flagged by lintian
Signed-off-by: Jordan Justen <jljusten@debian.org>
-
aad1f990
by Jordan Justen
at 2021-08-26T00:41:18-07:00
d/changelog: Release 1.15+dfsg-1 to unstable
Signed-off-by: Jordan Justen <jljusten@debian.org>