baldurk
f8b3dc77e9
Allow GL_EXT_shader_framebuffer_fetch on desktop GL. Closes #2809
2022-12-31 10:43:20 +00:00
baldurk
5047c68318
Delete even more files to make mac build work
2022-12-27 18:42:13 +00:00
Shahbaz Youssefi
282d8a81b6
Support VK_EXT_rasterization_order_attachment_access
2022-12-27 13:47:58 +00:00
baldurk
0acb955e19
Create virtual distinction between Vulkan & GL SPIR-V. Closes #2798
...
* This distinction unfortunately does not exist in SPIR-V so we have to carry
around this metadata ourselves. Rather than allowing free specification of
tools based on API, instead pretend that Vulkan and GL SPIR-V are separate
format, and duplicate all SPIR-V tools to handle "both" types. This allows
appropriate tool selection based on the encoding.
2022-12-27 13:39:44 +00:00
baldurk
b5545d52f8
Fix float precision/rounding issues for NPOT textures. Closes #2807
2022-12-27 12:23:05 +00:00
baldurk
36bf7b4970
Reduce other unnecessary errors to warnings in NV counters code
2022-12-27 12:21:51 +00:00
baldurk
2cd474c496
Disable NV counters on Apple
2022-12-22 20:52:30 +00:00
baldurk
98d4af8af5
Workaround weird brew/python thing by deleting python binaries
2022-12-22 17:55:31 +00:00
baldurk
44f51d2bcc
Fix inadvertent case fallthrough
2022-12-22 17:55:02 +00:00
Jake Turner
c90d651646
XML support support for non 32-bit enums
...
Add width property for enums
Treat "SDBasic::Enum in the same way as "SDBasic::UsignedInteger"
2022-12-22 16:53:05 +00:00
Jake Turner
822a1822ff
StructuredFile support for non 32-bit enums
...
Extend enum support from 32-bit enums to include 8-bit, 16-bit, 64-bit enums
Treat "SDBasic::Enum in the same way as "SDBasic::UsignedInteger"
2022-12-22 16:53:05 +00:00
Jake Turner
c340699d7b
Add XML/SDObject round trip unit tests for enums
...
TEST_CASE("XML/SDObject round trip", "[xml serialiser]")
Round trip checks for SDObject -> XML -> SDObject
Test cases for enums of size 8/16/32/64-bits
Check the member data of the SDObject source and the re-generated SDObject.
2022-12-22 16:53:05 +00:00
Jake Turner
c563c261d4
Extend enum serialiser tests
...
Extend test case "Read/write complex types", "[serialiser][structured]" to include 8-bit, 16-bit and 64-bit enums instead of just 4-byte enums.
2022-12-22 16:53:05 +00:00
baldurk
707edac523
Check that memory allocation succeeded before mapping memory
...
* This fixes a potential crash if we allocate memory then map it immediately
without checking
2022-12-22 16:21:54 +00:00
baldurk
2697a2add8
Prefer using driverID instead of vendorID for checks. Closes #2804
2022-12-22 16:04:27 +00:00
baldurk
1f4932747e
Reduce error to warning to prevent debugbreaks
2022-12-22 16:04:04 +00:00
baldurk
5e04ab288d
Fix intel vulkan driver version identification
2022-12-21 23:03:40 +00:00
baldurk
95c45c985e
Fix handling of descriptor copy&patching during replay
2022-12-21 23:03:40 +00:00
baldurk
9ad6a5d431
Abort early if a fatal error is encountered during load
2022-12-21 23:03:40 +00:00
baldurk
fee0218a33
Fix direct heap access not being displayed in D3D12 pipeline. Refs #2801
2022-12-21 23:03:39 +00:00
baldurk
7b9c4c782e
Fix handling of CmdEvent2 APIs to properly handle partial replay
2022-12-21 23:03:39 +00:00
baldurk
e3b362ff58
Fix tracking of image states on selecting CmdEvent EIDs
2022-12-21 23:03:39 +00:00
baldurk
a40d61b72f
Don't access invalid counter description for EID column in counter view
2022-12-21 23:03:39 +00:00
baldurk
8c6566c6b8
Don't crash in glslang reflection fallback path if shaders don't compile
2022-12-21 23:03:39 +00:00
baldurk
c0d4a75d52
Allow forcing on a graphics or compute-only queue in demos
...
* This creates multiple queues and can be useful for testing, when the test only
uses one or the other as its primary queue.
2022-12-21 23:03:39 +00:00
Jonathan Glines
a08a9d8190
Enable external links in counter selection UI
...
Use QTextBrowser for the counter description widget, which allows for opening
links in an external browser.
This change is needed to make the link to NVIDIA Nsight Perf SDK clickable.
2022-12-21 23:02:50 +00:00
Jonathan Glines
e5bb692caf
Fix performance counters without a category
...
In the performance counter selection dialog, show counters without a category
at root of tree, rather than as children of a nameless "" category.
2022-12-21 23:02:50 +00:00
Jonathan Glines
9bebaaed8b
Collect Nsight Perf SDK counters in OpenGL
...
This adds the NVGLCounters class, which implements OpenGL counter
collection on NVIDIA hardware via the NVIDIA Nsight Perf SDK.
2022-12-21 23:02:50 +00:00
Jonathan Glines
07ebb25a23
Collect Nsight Perf SDK counters in Vulkan
...
This adds the NVVulkanCounters class, which implements Vulkan counter
collection on NVIDIA hardware via the NVIDIA Nsight Perf SDK.
Some modifications are made to the NvPerfUtility headers in order to
use the Vulkan dispatch tables from RenderDoc.
On Windows, the VK_KHR_external_semaphore_win32 extension is required
for synchronization with the NvPerf "service pending GPU operations"
thread.
2022-12-21 23:02:50 +00:00
Jonathan Glines
8d45dae36e
Collect Nsight Perf SDK counters in D3D11
...
This adds the NVD3D11Counters class, which implements D3D11 counter
collection on NVIDIA hardware via the NVIDIA Nsight Perf SDK.
2022-12-21 23:02:50 +00:00
Jonathan Glines
abab16f8c6
Collect Nsight Perf SDK counters in D3D12
...
This adds the NVD3D12Counters class, which implements D3D12 counter
collection on NVIDIA hardware via the NVIDIA Nsight Perf SDK.
A helper class NVCounterEnumerator is added to provide functionality
common to NVIDIA counters for other graphics APIs.
2022-12-21 23:02:50 +00:00
Jonathan Glines
2b5268b898
Fix Clang 12 compile errors for NvPerfUtility headers
...
Compile errors include missing EOL newline, missing override keyword for member
function, and implicit long to int conversion.
2022-12-21 23:02:50 +00:00
Jonathan Glines
1f2af20458
Fix VS2015 compile errors for NvPerfUtility headers
...
All of these compile errors are from implicit bool conversions.
2022-12-21 23:02:50 +00:00
Jonathan Glines
197a8dd4d7
Avoid gcc unused argument warning in NvPerfUtility
2022-12-21 23:02:50 +00:00
Jonathan Glines
42243597c4
Hide Vulkan symbols in NvPerfUtility
...
Adds the macro NV_PERF_UTILITY_HIDE_VULKAN_SYMBOLS to NvPerfUtility, which
allows for passing Vulkan function pointers without linking with Vulkan symbols
that are not present in RenderDoc.
2022-12-21 23:02:50 +00:00
Jonathan Glines
2bcbdd516e
Load dxgi function at runtime in NvPerfUtility
...
This is to avoid linking with dxgi at build time.
2022-12-21 23:02:50 +00:00
Jonathan Glines
68b33519d1
Add MetricsConfigBuilder::GetNumPasses() to NvPerfUtility
...
This method is used to calculate the expected maximum number of replays and
enforce an upper-bound on the replay loop.
2022-12-21 23:02:50 +00:00
Jonathan Glines
838abd8a82
Add Nsight Perf SDK to Visual Studio filters file
2022-12-21 18:17:34 +00:00
Jonathan Glines
03bd7e5623
Added NVIDIA Nsight Perf SDK 2022.3 with 28Sept2022 EULA
...
Does not include any binaries or sample applications. Just the header files,
release notes, and licenses.
2022-12-21 18:17:34 +00:00
baldurk
66d6793f5e
Handle compute-queues properly with vulkan counters. Closes #2795
2022-12-20 19:10:44 +00:00
baldurk
5a576c6957
Fix texture zoo tests not properly running tests on PNG loaded data
2022-12-15 15:20:11 +00:00
baldurk
900ff975b3
Don't drop sRGB flag when getting texture data. Refs #2787
...
* This would cause incorrect data to be saved when saving from an SRGB texture
to an SRGB format like PNG/JPG etc.
2022-12-15 15:20:11 +00:00
baldurk
0a0fe7b021
Correctly round generated SNORM data in texture zoo tests
2022-12-15 15:20:11 +00:00
baldurk
843797846b
Always downcast for special formats
...
* This would previously have allowed RGB10A2 data to be written literally, as it
was otherwise detected as RGBA8.
2022-12-15 15:17:54 +00:00
baldurk
e33f1c1329
Add D32 conversion properly for DDS files
2022-12-15 15:17:15 +00:00
baldurk
013527b59c
Some legay DDS formats should only be used for non-SRGB data
2022-12-15 15:17:05 +00:00
baldurk
3bd97a3b82
Show sections as failed with their own failed status
2022-12-15 13:34:46 +00:00
baldurk
eab6a2c73c
Fix python comparison operators throwing exceptions
...
* When used in richcompare this would throw an exception and return
Py_NotImplemented causing a failure. Instead we should just return NULL, which
is fine and will be considered as a not-equal comparison for
equality/inequality and throw the kind of exception we want for less than or
greater than.
2022-12-13 11:12:45 +00:00
baldurk
b3ae354645
Handle reflecting nested pointer types properly in SPIR-V
2022-12-12 17:21:19 +00:00
baldurk
0a4522b32a
Refactor D3D12 resource usage to be less rootsig-authoratitive
...
* The root signature is not a good model for what resources are actually used,
instead use the shader reflection as we do on other APIs. In either case this
does not work for bindless access (> 1000 registers).
2022-12-12 15:23:29 +00:00