William Pearson
07a2fd4b1a
Remove specification of QToolButton popupMode when there is no menu
...
Specifically, the open button in the Python shell window and the blue
channel (only) in the texture viewer had values specified even though
they do not have an actual menu associated with the buttons. For the
texture viewer, this was explicitly set to the default value (delayed
popup); for the Python shell window the value is custom. The popup
mode is only used "for tool buttons that has a menu set or contains
a list of actions".
These were added in early commits for each feature, probably by
accident: 0837e66939 for the texture
viewer and 2a4596e06a for the Python
shell.
2023-04-14 19:04:15 +01:00
baldurk
90ae874c1d
Add fallback for shader feedback on Intel GPUs without int64 support
...
* We don't change very much, we use uvec2 instead of uint64 for passing the
address in on KHR_BDA, and then do manual carry'd additions for address
offsets.
2023-04-14 18:28:26 +01:00
baldurk
cc3d383287
Manually check depth bounds test in vulkan pixel history
2023-04-14 16:08:10 +01:00
baldurk
f9b133d153
Fix depth readback with custom depth image in vulkan pixel history
2023-04-14 16:08:10 +01:00
baldurk
fb0b643c55
Mark non-final fragments as having unknown stencil in pixel history
2023-04-14 16:08:10 +01:00
baldurk
23c0eb2d61
Ensure pixel pack state doesn't affect GL pixel history
2023-04-14 14:03:52 +01:00
baldurk
e43a59ab53
Save capture changes to local file not remote temp copy. Closes #2908
2023-04-14 14:03:28 +01:00
baldurk
ce1549fc15
Work around intel GL driver bug with framebuffer blits. Closes #2907
2023-04-14 13:39:02 +01:00
baldurk
6ab754b4e4
Disable vulkan layer GamePP. Closes #2905
2023-04-13 17:32:06 +01:00
Jake Turner
e36062b989
Apple added drawableID to MetalDrawableInfo
...
If MTL:Drawable is not found by pointer, fallback and search for it by drawableID (which should be unique and monotonically increasing).
This fixes a problem preventing frame capture when launching RenderDoc UI from Xcode with "GPU Frame Capture" enabled.
2023-04-12 17:30:27 +01:00
William Pearson
e6fb67c1e1
Support spaces in clang-format path
...
This allows setting the CLANG_FORMAT environment variable to (e.g.)
`C:/Program Files/LLVM3.8.1/bin/clang-format.exe` and then using the
script from Git Bash on Windows. Before, it would break if there
were spaces in the path. (If a suitable clang-format were in the PATH
environment variable, though, I don't think spaces caused problems.)
2023-04-12 10:54:19 +01:00
Jake Turner
1c925494ef
Default Xcode option GPU Frame Capture to Disabled
...
The CMake option "CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE" is available starting from CMake version 3.23.0.
Increase the minimum CMake version for building Apple to 3.23.0 from 3.20.0
2023-04-12 10:50:27 +01:00
Jake Turner
b692626839
Synchronize Metal-CPP from renderdoc to demos
2023-04-12 10:50:09 +01:00
Jake Turner
7bcbc5a257
Update Metal CPP to support tests project
...
Add extensions from Learn Metal-cpp project: https://developer.apple.com/metal/cpp/
https://developer.apple.com/metal/LearnMetalCPP.zip
Custom additions to Metal CPP to get NSApplication, NSMenu, NSMenuItem, NSRunningApplication, NSView, NSWindow
2023-04-12 10:50:09 +01:00
Jake Turner
114d646cc2
Metal-CPP: extend CA::MetalLayer* methods
...
Add:
CGFloat CA::MetalLayer::contentsScale() const;
CGRect CA::MetalLayer::bounds() const;
2023-04-12 10:50:09 +01:00
Jake Turner
57f9ac6fed
Metal-CPP: extend NS:Data* & NS::Bundle* methods
...
Add:
NS::String* NS::Bundle::pathForResource(const class String* pName, const class String* pExt) const;
NS::Data *NS::Data::dataWithContentsOfFile(const String* path);
const void* NS::Data::bytes() const;
2023-04-12 10:50:09 +01:00
Jake Turner
946c6fef11
Tweak MTL type declarations in metal-cpp.h
...
Changes to make metal-cpp options work nicely with RenderDoc serialization
_MTL_OPTIONS -> _NS_ENUM
RenderDoc serialization works with fixed sized types
2023-04-12 10:50:09 +01:00
Jake Turner
cf246ebad7
Tweak NS type declarations in metal-cpp.h
...
Changes to make metal-cpp enums work nicely with RenderDoc serialization
NS::Integer -> std::int64_t
NS::UInteger -> std::uint64_t
RenderDoc serialization works with fixed sized types
2023-04-12 10:50:09 +01:00
Jake Turner
fcc721c2e4
Fix compile warnings/errors in metal-cpp.h
...
Forward declare MTL::Drawable to avoid conflicts. "Drawable" is a common type name
2023-04-12 10:50:09 +01:00
Jake Turner
21325315ac
Apple metal-cpp macOS13.3-iOS16.4
...
Raw header file from Metal-cpp project
Generated using
./SingleHeader/MakeSingleHeader.py Foundation/Foundation.hpp QuartzCore/QuartzCore.hpp Metal/Metal.hpp
Metal-cpp project: https://developer.apple.com/metal/cpp/files/metal-cpp_macOS13.3_iOS16.4.zip
2023-04-12 10:50:09 +01:00
Jake Turner
6f5b849f45
Update Metal wrapped objects to match MacOS13.3
...
MTLDevice changes
Change API availability:
supportsBCTextureCompression : API_AVAILABLE(macos(11.0), ios(16.4))
Added protocols:
- (BOOL)shouldMaximizeConcurrentCompilation API_AVAILABLE(macos(13.3)) API_UNAVAILABLE(ios)
- (void)setShouldMaximizeConcurrentCompilation:(BOOL)value API_AVAILABLE(macos(13.3))API_UNAVAILABLE(ios)
-(NSUInteger)maximumConcurrentCompilationTaskCount API_AVAILABLE(macos(13.3)) API_UNAVAILABLE(ios)
MTLFunction changes
Change API availability:
newArgumentEncoderWithBufferIndex : API_DEPRECATED("Use MTLDevice's newArgumentEncoderWithBufferBinding: instead", macos(10.13, 13.0), ios(11.0, 16.0))
Added:
bool WrappedMTLDevice::shouldMaximizeConcurrentCompilation();
NS::UInteger WrappedMTLDevice::maximumConcurrentCompilationTaskCount();
2023-04-12 10:50:09 +01:00
Jake Turner
4ae4116f85
Synchronise Metal-CPP between driver and demos
...
Added
CA::Layer* NS::View::layer() const;
2023-04-12 10:50:09 +01:00
derhass
c5e58a6024
Improve robustness of fbconfig selection for cloned GL context (glX)
...
The glXGetConfig(..., GLX_FBCONFIG_ID, &fbcfgID) call does not work
reliably on many implementations. In this case, all available fbconfigs
are queried and the first one is chosen, but this might be incompatible
to the visual of the window, resulting in a failure when the cloned
context is made current for the first time (issue: #2898 ).
This adds a fallback to query the fbconfig ID from the GL context if
querying it from the VisualInfo failed.
2023-04-10 16:03:32 +01:00
baldurk
8009df5027
Add note of rules to bug report template and README
2023-04-06 16:39:22 +01:00
baldurk
04a0fdb538
Add marker regions for GL pixel history
2023-04-05 17:33:44 +01:00
baldurk
24b0857b00
Use D32S8 instead of D24S8 for custom depth on GL pixel history
...
* We handwave the additional depth accuracy and hope that it's not an issue, but
it's important not to potentially lose accuracy.
2023-04-05 17:33:20 +01:00
baldurk
a4a2beac24
Force the use of a stencil for fragment counting in GL. Closes #2894
2023-04-05 17:32:17 +01:00
baldurk
64b511a1fa
Ensure that stencil is available for fragment counting. Refs #2894
2023-04-05 15:42:03 +01:00
baldurk
bb4caf7546
Remove reset notification EGL context attribute. Closes #2888
2023-04-05 15:08:03 +01:00
baldurk
1b72599382
Only require GLSL extensions on proper GL, not on GLES
2023-04-05 15:06:05 +01:00
baldurk
b74f2bd593
Promote SINGLE_FLUSH_VALIDATE compile option to runtime debug config
2023-04-05 13:22:14 +01:00
baldurk
41901b55c6
Handle binding D3D12 descriptor tables off the end of the heap
...
* We truncate the size of the table, even if it isn't bigger than the heap it
may be bound such that it runs off the end of the heap.
2023-04-04 16:45:00 +01:00
baldurk
4ffade076a
Only show discard resource usage on final subpass. Refs #2895
2023-04-04 13:06:23 +01:00
baldurk
244a3e671b
Bump version to v1.27
2023-03-31 21:15:48 +01:00
baldurk
4524cddca9
Update documentation to account for GL pixel history support
v1.26
2023-03-31 19:56:04 +01:00
baldurk
65042f1e0d
Build local llvm in new docker to support spirv-tools
2023-03-31 19:55:04 +01:00
baldurk
3ff12d4067
Update path in build script to use latest cmake
2023-03-31 10:31:30 +01:00
baldurk
743a60e753
Update used cmake version for building spirv-tools
2023-03-31 10:19:07 +01:00
baldurk
a0863b2aed
Check for DDS files having legacy header but no bitmask
2023-03-29 10:29:37 +01:00
baldurk
e9708d909e
Add handling for binop DXIL constants
2023-03-28 13:53:22 +01:00
baldurk
f36a9f8845
Handle empty/NULL shading rate info structs
2023-03-28 10:58:22 +01:00
baldurk
b2832d11a6
Do manual sRGB conversion on ReadPixels path for pixel history
2023-03-24 16:46:42 +00:00
baldurk
0eb7062d66
Add handling for pixel history on MRT
2023-03-24 16:30:03 +00:00
baldurk
75bfff3481
Mark UAV writes appropriately in GL pixel history
2023-03-24 15:04:15 +00:00
baldurk
b388aeb7b7
Update window params before processing context activate. Closes #2890
2023-03-24 14:48:24 +00:00
baldurk
c353f6fe6d
Add memory readback microbenchmark
2023-03-23 16:16:03 +00:00
baldurk
448b78ca68
Bare bones port of demos project to android
2023-03-23 16:16:03 +00:00
baldurk
28f4af1e5c
Avoid deadlock if resource is unmapped during capture end on D3D12
2023-03-23 16:16:03 +00:00
baldurk
5fbc3ab8ca
Enable GPU readback path on D3D12
2023-03-23 16:16:02 +00:00
baldurk
129cb33266
Tweak selection of memory types for GPU readback on Vulkan
2023-03-23 16:16:02 +00:00