baldurk
35945863df
Update vulkan layer to implement vkNegotiateLoaderLayerInterfaceVersion
2018-04-30 14:16:51 +01:00
baldurk
49ea4dd8e3
Add support for VK_EXT_debug_utils extension
2018-04-30 13:52:17 +01:00
baldurk
9b2e515be5
Fix UBO state display wrt/ GL reflection re-sorting. Closes #965
2018-04-30 11:42:41 +01:00
Jake Turner
cae6b44a97
Fix xcode9.3 -Wunused-lambda-capture errors
...
Disable the warning on 3rdparty files
${glslang_dir}/hlsl/hlslParseHelper.cpp
Disable the warning on files where fixing it would cause a non-OSX compile error
os/os_specific.cpp
2018-04-30 10:53:42 +01:00
baldurk
7182e0af3a
Add support for VK_EXT_sampler_filter_minmax extension
2018-04-30 10:50:46 +01:00
baldurk
7e651085cb
Fetch live driver disassembly on D3D12 via WKPDID_CommentStringW
2018-04-27 20:29:26 +01:00
baldurk
c520f637d1
Pre-allocate map array in D3D12Resource, experimental race condition fix
2018-04-26 18:21:20 +01:00
baldurk
fe0b7ba3c1
Fix linking against user32.lib in qrenderdoc
2018-04-26 14:14:04 +01:00
baldurk
5698c46277
Use collapsing group boxes on pipeline state viewer
2018-04-26 13:37:57 +01:00
baldurk
4a986f44d3
Add a custom collapsing group box control
2018-04-26 13:34:09 +01:00
baldurk
9617bfc390
Add support in RDStyle for checkboxes on group boxes
2018-04-26 12:41:35 +01:00
baldurk
52af0722ee
Add a 'human formatting' function for special-case/heuristic display
...
* For unsigned integers this notices UINT16/32/64_MAX and displays as
a text string for easier consumption.
* Also for numbers over a given threshold we display them as hex instead
of decimal.
2018-04-26 12:31:05 +01:00
baldurk
7dd4238eb0
Allow resize/rearrange of panels in resource inspector via docking
2018-04-26 11:35:09 +01:00
baldurk
bf270e170f
Don't mutate actual filenames - just menu text to escape &
2018-04-26 11:34:54 +01:00
baldurk
9f6610932d
Add missing documentation string
2018-04-25 22:08:55 +01:00
baldurk
08147dfa66
Rename public property to match python-esque naming scheme
2018-04-25 21:30:22 +01:00
baldurk
ae454edb03
JDWP compile fixes for linux
2018-04-25 20:49:13 +01:00
baldurk
becfe157b4
Experimental fix to allow for JDWP connections with different ID sizes
2018-04-25 19:11:06 +01:00
baldurk
460ab48645
Escape a literal '&' in filenames, to not create accidental shortcuts
2018-04-25 19:11:05 +01:00
baldurk
f87338dc0e
Add support for VK_EXT_vertex_attribute_divisor
2018-04-25 19:11:04 +01:00
baldurk
5695f3e76f
Set up conservative rasterization pNext when setting up pipeline info
2018-04-25 19:11:03 +01:00
baldurk
af94c429ea
Only enable counters when we detect the relevant vendor
...
* This avoids problem if the vendor counter library has problems on init
on non-vendor hardware, rather than just bailing out/claiming no
support.
2018-04-25 19:11:02 +01:00
baldurk
f1ec9b9e81
Check for and enable fragmentStoresAndAtomics feature for quad overdraw
2018-04-25 19:11:00 +01:00
baldurk
99ebebec1f
Don't overflow to negative ints with VKXX, 99.99 is high enough
2018-04-25 19:10:59 +01:00
baldurk
168d98bbde
Add support for VK_AMD_buffer_marker extension
2018-04-25 19:10:58 +01:00
baldurk
6ba2045e27
Remove comments about 'free' SPIR-V extensions
...
* They're out of date and not useful anyway
2018-04-25 19:10:55 +01:00
baldurk
1bbb99d649
Add support for VK_EXT_global_priority just ignoring for now
...
* In future we could serialise (but perhaps not apply?) the global
priority pNext struct
2018-04-25 19:10:54 +01:00
baldurk
048d2c4f4e
Bring RenderDoc window to foreground when event is selected from RGP
2018-04-25 19:10:52 +01:00
baldurk
2d0f675ca8
Add socket-based interop with RGP and profile embedding in captures
2018-04-25 19:10:51 +01:00
baldurk
79637f6caa
Expose which drivers support RGP, and add command to create RGP profile
2018-04-25 19:10:50 +01:00
baldurk
ce83144723
Add begin/end markers around replay region for RGP to capture from
2018-04-25 19:10:49 +01:00
baldurk
d016aacb92
Add wrapper around RGP interface to expose to replay drivers
2018-04-25 19:10:47 +01:00
baldurk
b0f4aebaa9
Commit RGP dependencies, building in separate project
...
* This is:
- GPUOpen-Tools/DevDriverTools @ 92b3e34
- GPUOpen-Tools/common-lib-amd-ADL @ 99cb60e
2018-04-25 10:44:53 +01:00
baldurk
cbc01342a8
Expose VK_KHR_external_fence* extensions. Closes #742
2018-04-24 19:24:17 +01:00
baldurk
ca38fb1a85
Implement extension VK_KHR_maintenance3.
...
* Not much to do here - this extension only exposes some queries, which
we just need to ensure we can pass along and unwrap.
2018-04-24 19:24:16 +01:00
baldurk
a1f5dbdaa6
Implement extension VK_KHR_maintenance2. Closes #818
2018-04-24 19:24:09 +01:00
baldurk
bbc0581e7e
Implement support VK_EXT_conservative_rasterization. Closes #898
2018-04-24 19:23:51 +01:00
baldurk
e9a47112d4
Prepare for actually serialising pNext pointers in structs
...
* Any struct with a pNext pointer gets a Deserialise function, to clean
up any dynamically allocated chains.
* The mechanism is as follows:
- On writing, walk the pNext chain (assuming there is one) and skip
any structs we don't care to serialise.
- When we reach a struct we do want to serialise, save a nullable (i.e
optional) VkStructureType* for it, then recurse and serialise the
nullable casted struct.
- If there is no pNext (or none we care about) we serialise a NULL
VkStructureType*
- On reading, we serialise the VkStructureType*. If it's NULL, rename
it to look like a void *pNext = NULL.
- If it's not NULL, use the structure type to serialise a nullable
struct of the right type, and recurse.
* The pNext chain is dynamically allocated, which is why it gets cleaned
up in the Deserialise() function.
2018-04-24 19:23:32 +01:00
baldurk
0fbeace478
Implement VK_KHR_bind_memory2
2018-04-24 15:57:44 +01:00
baldurk
8e0fd077a1
Report support for several SPIR-V side extensions
...
* These extensions don't need any special support from us, and only
affect the SPIR-V consumption.
* The list of extensions is:
- VK_KHR_16bit_storage
- VK_KHR_relaxed_block_layout
- VK_KHR_storage_buffer_storage_class
- VK_KHR_variable_pointers
2018-04-24 15:45:26 +01:00
baldurk
4879f6da6e
Mark which members of VkDescriptorImageInfo are valid to serialise
...
* We need to pass flags down from the parent struct to know, since it
depends on the type of descriptor. This could happen in any case, but
is most likely for templated descriptor updates where the memory that
is referenced could be garbage.
2018-04-24 14:45:42 +01:00
baldurk
ffa1920af8
Mark descriptors as referenced when updated, even if unused
...
* Previously we did this because unused descriptors don't have to be
updated, but for consistency with templated updates we mark them ref'd
now (although the contents are still not referenced until bound).
2018-04-24 14:42:08 +01:00
baldurk
d9b038f7a6
Fix logic for adding extra 'API calls' marker in at end of cmd buffers
...
* This accounts for any non-draw API calls that happened in the command
buffer just before it was ended.
2018-04-24 14:42:07 +01:00
baldurk
39d7bb3808
Don't hook all modules when loading an API set
2018-04-24 14:42:06 +01:00
baldurk
0442c46aff
Implement VK_KHR_descriptor_update_template. Closes #934
2018-04-24 14:42:05 +01:00
baldurk
ad887b1922
Allow for complex extension dependencies (i.e. two exts needed for func)
...
* This is fairly common with extension overlaps/interactions. Instead of
having just one extension condition for a function, allow &&.
2018-04-24 14:42:01 +01:00
baldurk
8b2d943556
Handle extension promotion to core when detecting enabled extensions
2018-04-24 14:41:59 +01:00
baldurk
94548886eb
Implement VK_KHR_push_descriptor extension. Closes #905
2018-04-24 14:41:57 +01:00
baldurk
ad5a0d7417
Update to split vulkan headers from 1.1.73.0 SDK
2018-04-23 18:15:20 +01:00
baldurk
4f32e62886
Align shader tooltips to account for negative 9-digit ints. Closes #964
2018-04-23 14:04:56 +01:00