baldurk
9b9a67e8da
Make sure to fetch egl functions via eglGPA if necessary. Refs #2494
...
* Extensions will likely not be exported as real symbols, so we need to handle
the case of needing to fetch the onward pointer via eglGetProcAddress.
* We do this for non-extensions too, to try to fetch core functions that are
still NULL after hook initialisation. Since we do wholesale dlopen/dlsym
replacement on linux we cannot handle the case where an application checks for
function validity via just normal dlsym returning something, but then the
function doesn't exist in the real libEGL.so. We have no way of reporting that
the function actually doesn't exist because we have nowhere to call, and it
will crash. Trying to fetch the pointer via eglGPA is unlikely to succeed but
should do no harm as we don't set these function pointers anywhere else.
2022-02-14 11:57:49 +00:00
baldurk
755c4254b8
Save current renderpass before it is unset in vkCmdEndRenderPass
...
* We need this to look up which renderpass we were in previously
2022-02-14 11:32:20 +00:00
baldurk
874134da70
Disable DXIL validator entirely as it sometimes crashes on valid code
2022-02-11 16:44:55 +00:00
baldurk
745bff2eeb
Fix tests not passing a window title
2022-02-11 11:52:36 +00:00
Remi Palandri
4860e87c92
move replay to call app's endRP/nextsub calls
2022-02-11 11:09:43 +00:00
Remi Palandri
c96f9d3770
add support for VK_QCOM_render_pass_shader_resolve
2022-02-11 11:04:47 +00:00
baldurk
ec5c14dee8
Add support for multiple batched presents on vulkan. Closes #2492
2022-02-10 16:36:19 +00:00
Remi Palandri
3d07a0b568
lazily fetch subsamples in MSAA textures
2022-02-10 10:24:17 +00:00
baldurk
38fa7a1ac7
Fix compile error
2022-02-09 18:54:21 +00:00
baldurk
e332b43abb
Use a compatible renderpass for fetching stencil data for readback
2022-02-09 18:01:40 +00:00
baldurk
d5e6a735fb
Pass through names from capture when EXT_debug_* is supported
2022-02-09 18:01:40 +00:00
baldurk
544e6dbf18
Strip index decorations in vulkan postvs when patching to compute
2022-02-09 18:01:40 +00:00
baldurk
2c2e76fbeb
Ensure even for non-indexed mesh picks we bind dummy buffer
...
* The descriptor needs to be valid even if it's not used, when not using
descriptor indexing rules, so ensure the IB buffer is at least some minimum
size.
2022-02-09 18:01:40 +00:00
baldurk
83dc0b78c8
Ignore validation message about unwritten outputs.
2022-02-09 18:01:40 +00:00
baldurk
469f17a607
Vulkan images in preinitialized layout must always be patched to general
...
* Originally the idea was that on first use in a Loading pass we'd transition
from preinitialized to whatever the application wanted, and then subsequently
on repeated replays it would be left in general. However this doesn't account
for initial contents and initial frame states, which will end up putting the
image in GENERAL anyway. This is fine as it still satisfies the requirements
if needed.
2022-02-09 18:01:40 +00:00
baldurk
a661020cec
Fix incorrect check for image view type as array in pixel history
2022-02-09 18:01:39 +00:00
baldurk
574d87e72a
Force use of load RPs/FBs for pixel history
...
* When we're splitting every draw and execute to get pre- and post-mod colours,
we resume renderpasses with load RPs for obvious reasons. The inheritance info
needs to match in secondary command buffers, so we force it over
conditionally.
2022-02-09 18:01:39 +00:00
baldurk
b05830d668
Respect the original subpass contents when replaying renderpasses
...
* We also need to take care to patch this now, when replaying a single draw that
was originally in a secondary but we replay in a primary.
2022-02-09 18:01:39 +00:00
baldurk
53b507c44b
Add names to some more objects
2022-02-09 18:01:39 +00:00
baldurk
f7aec1a5f6
Implement unstripped SPIR-V shader blob loading from magic value tags
2022-02-09 18:01:30 +00:00
baldurk
b094c45d42
Create separate pipeline and dummy images for depth-format, for DRefs
...
* Any pipeline that uses DRef on images (without descriptor indexing at least,
which we don't assume) must be passed depth-formatted images. This includes
the dummy images we bind to other slots.
* At the same time we limit depth textures to just 1D, 2D, 2DMS - ignoring 3D
and Cube.
2022-02-08 18:07:39 +00:00
baldurk
f0428e6801
Add extra protection for valid queries to GetBufferData
2022-02-08 18:07:39 +00:00
baldurk
afb82971dd
Create separate pipeline & render pass for sRGB 8-bit remapping
...
* Normally we only need one remap per bitness and per type, but for 8-bit
float/unorm we need to distinguish between plain unorm and sRGB unorm.
2022-02-08 18:07:39 +00:00
baldurk
46fb3ac666
Fix push constant range not using full stage flags
...
* The spec requires that we pass all stage flags for the declared range, even if
we're only binding for compute.
2022-02-08 18:07:39 +00:00
baldurk
2312fa45da
Fix some missing sType's on input structures
2022-02-08 18:07:39 +00:00
baldurk
5a62e27ec3
Fix a couple of technical validation failures
2022-02-08 18:07:39 +00:00
baldurk
2c98999a80
Fix mistaken flag set
2022-02-08 18:07:39 +00:00
baldurk
b38f8b8378
Fix some cases where buffer memory requirements were assumed to be tight
...
* It's possible for a buffer to require more memory than its size (e.g. up to
some alignment)
2022-02-08 18:07:39 +00:00
baldurk
a8e7b64a31
Don't set events on replay, they may be device-only
...
* We also don't use the 'real' events for our handling anyway, so their
set/reset status doesn't matter.
2022-02-08 18:07:38 +00:00
baldurk
8f4f7f571f
KHR_synchronization2 is only enabled if the feature is enabled
2022-02-08 18:07:38 +00:00
baldurk
b7e13e7d6f
Update demos vulkan headers to 1.3
2022-02-08 18:07:38 +00:00
baldurk
f37516bfc3
Use depth image specifically for depth-compare tests in shader debug zoo
...
* The spec doesn't guarantee that non-depth formats support comparisons like
this.
2022-02-08 18:07:38 +00:00
baldurk
9a75846343
Only provide mutable format list when needed
2022-02-08 18:07:38 +00:00
baldurk
a675f0050e
Downgrade error to warning for compute path on missing spec constants
2022-02-08 18:07:38 +00:00
baldurk
b78f4b5624
Flush some commands before object destruction
2022-02-08 18:07:38 +00:00
baldurk
597644435d
Name some internal image and imageview objects for vulkan
2022-02-08 18:07:38 +00:00
baldurk
c853dbcd10
Fix version check on vulkan not storing instance version properly
2022-02-08 18:07:38 +00:00
baldurk
7a0a8fa855
explicitly disable shading rate attachment when using old RP create
2022-02-08 18:07:38 +00:00
Steve Karolewics
f552b1b4e9
Prevent focus reset when typing in the compute debug selector
2022-02-08 16:27:55 +00:00
follower
3471e64c8f
Fix incorrect link for include-bin credit.
...
The current link appears to be an accidental duplication of the URL from the project listed immediately above.
This commit appears to be the origin of the duplicated URL: https://github.com/baldurk/renderdoc/commit/b5c7944038572eebffde32e1279c45c4f6d84153#diff-4673a3aba01813b595de187a7a6e9e63a3491d55821606fecd9f13a10c188a1dL98
Note: This "correct" link is to the original repository URL which appears to no longer exist.
For reference:
* Original commit with the inclusion of `include-bin`: https://github.com/baldurk/renderdoc/commit/864fdbe179b6c1f20cae7c753fb018bec74b5738
* Original issue which lead to the inclusion: https://github.com/baldurk/renderdoc/issues/314#issuecomment-238204556
2022-02-05 18:53:25 +00:00
Remi Palandri
5f61bf1510
erase all liveIDs when replacing resources
2022-02-04 20:04:32 +00:00
Steve Karolewics
c6c93efd22
Fix shader debugging display of high-level boolean variables
2022-02-04 20:04:19 +00:00
baldurk
6ab4c1ad74
Add support for VK_KHR_fragment_shading_rate. Closes #2426
2022-02-04 16:45:15 +00:00
baldurk
e58cb9a73b
Fix stepping over/into on instructions in the same function
2022-02-04 16:45:15 +00:00
baldurk
7266dd8960
Read inline information for vulkan debug and use it to get callstack
2022-02-04 16:45:15 +00:00
baldurk
7f130077da
When source debugging, skip non-mapped instructions
...
* We entirely skip over any instructions that don't have a source mapping. These
are assumed to be filler instructions or others that don't correspond usefully
to anything in the source.
2022-02-04 16:45:15 +00:00
baldurk
309a2aaded
Add variable debug variables when we have debug info
...
* We don't want to wait until the first store to do this, since the source
variables are added at the appropriate scope - even before the first store.
2022-02-04 16:45:15 +00:00
baldurk
2f0be387c4
Use DebugSource and DebugLine/DebugNoLine for line-number info
2022-02-04 16:45:15 +00:00
baldurk
70200ed0a8
Account for locals within loops coming from later mappings
...
* We invert the mapping so that instead of each local having its list of
locations and picking the latest at any point, we track the "current" and
update the mappings with any changes we come across at each step.
2022-02-04 16:45:15 +00:00
baldurk
3b38d2989d
Include constants in shader changes when debug info references them
2022-02-04 16:45:15 +00:00