qt6-bb10/tests/manual
Laszlo Agocs e36c1a8d84 rhi: Add support for resolving depth-stencil
Add setDepthResolveTexture(). Should work similarly to the color
attachments' resolveTexture, but for depth or depth-stencil.

However, this is another fragmented feature.

- D3D11/12:

Not supported. AFAICS multisample resolve (ResolveSubresource) is just
not supported for depth or depth-stencil formats.

- Vulkan:

Not supported with Vulkan 1.0.

Supported with Vulkan 1.1 and the two extensions.
(VK_KHR_depth_stencil_resolve which in turn requires
VK_KHR_create_renderpass2 since the 1.0 structs are not extensible, so
now need to use VkRenderPassCreateInfo2 and all the '2' structs)

In Vulkan 1.2 the above are in core, without the KHR suffix, but we
cannot just use that because our main target, the Quest 3 (Android) is
Vulkan 1.1.  So 1.2 and up is ignored for now and we always look for
the 1.1 KHR extensions.

The depth resolve filter is forced for SAMPLE_0. AVG seems to be
supported on desktop (NVIDIA) at least, but that's not guaranteed, so
would need physical device support checks. On the Quest 3 it does not
seem to be supported. And in any case, other APIs such as Metal do not
have an AVG filter mode at all, so just use SAMPLE_0 always.

- OpenGL (not ES):

Should work, both when the multisample data is a renderbuffer and a
texture. Relies on glBlitFramebuffer with filter NEAREST. What it does
internally, with regards to the depth/stencil resolve mode, is not under
our control.

- OpenGL ES:

Should work when the multisample buffer is a texture. But it will not
work when a multisample renderbuffer (setDepthStencilBuffer, not
setDepthTexture) is used because the GLES-only multisample extensions
(GL_EXT_multisampled_render_to_texture,
GL_OVR_multiview_multisampled_render_to_texture, which we prefer over
the explicit resolve-based approach) work with textures only.

- Metal:

Should work.

Task-number: QTBUG-122292
Change-Id: Ifa7ca5e1be78227bd6bd7546dde3a62f7fdbc95e
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2024-04-03 22:14:21 +02:00
..
android_content_uri Change license for tests files 2024-02-04 09:56:42 +01:00
cmake/test_copy_file_if_different_command Change license for tests files 2024-02-04 09:56:42 +01:00
cocoa Change license for tests files 2024-02-04 09:56:42 +01:00
corelib Fix QDataStream::operator<<(const char *) to handle 64-bit length 2024-02-07 15:02:19 +01:00
diaglib Change license for tests files 2024-02-04 09:56:42 +01:00
dialogs Change license for tests files 2024-02-04 09:56:42 +01:00
embeddedintoforeignwindow Change license for tests files 2024-02-04 09:56:42 +01:00
embeddedwindows Add configure feature for Metal 2024-03-19 14:52:48 +01:00
examples Correct license for examples files 2024-03-07 11:06:43 +01:00
filetest Change license for tests files 2024-02-04 09:56:42 +01:00
findfiles Doc: Further replace 'Qt Designer' with 'Qt Widgets Designer' 2024-02-29 15:35:58 +01:00
fontfeatures Change license for tests files 2024-02-04 09:56:42 +01:00
foreignwindows Change license for tests files 2024-02-04 09:56:42 +01:00
gestures Change license for tests files 2024-02-04 09:56:42 +01:00
graphicsframecapture Add configure feature for Metal 2024-03-19 14:52:48 +01:00
highdpi Change license for tests files 2024-02-04 09:56:42 +01:00
iconbrowser Iconbrowser test: use the variable font on Android 2024-02-21 18:03:30 +01:00
inputdevices Change license for tests files 2024-02-04 09:56:42 +01:00
inputmethodhints Change license for tests files 2024-02-04 09:56:42 +01:00
ios_assets Change license for tests files 2024-02-04 09:56:42 +01:00
keyevents Change license for tests files 2024-02-04 09:56:42 +01:00
keypadnavigation Change license for tests files 2024-02-04 09:56:42 +01:00
lance Change license for tests files 2024-02-04 09:56:42 +01:00
markdown Change license for tests files 2024-02-04 09:56:42 +01:00
mkspecs Correct license for tools files 2024-03-05 12:59:21 +01:00
network/ssl/client-auth Correct license for tools files 2024-03-05 12:59:21 +01:00
network_remote_stresstest Change license for tests files 2024-02-04 09:56:42 +01:00
network_stresstest Change license for tests files 2024-02-04 09:56:42 +01:00
permissions Change license for tests files 2024-02-04 09:56:42 +01:00
qcursor Change license for tests files 2024-02-04 09:56:42 +01:00
qdesktopservices Change license for tests files 2024-02-04 09:56:42 +01:00
qdnslookup Change license for tests files 2024-02-04 09:56:42 +01:00
qglyphruns Change license for tests files 2024-02-04 09:56:42 +01:00
qgraphicsitem Change license for tests files 2024-02-04 09:56:42 +01:00
qgraphicsitemgroup Change license for tests files 2024-02-04 09:56:42 +01:00
qgraphicslayout Change license for tests files 2024-02-04 09:56:42 +01:00
qhttpnetworkconnection Change license for tests files 2024-02-04 09:56:42 +01:00
qimagereader Change license for tests files 2024-02-04 09:56:42 +01:00
qlayout Change license for tests files 2024-02-04 09:56:42 +01:00
qlocale Change license for tests files 2024-02-04 09:56:42 +01:00
qmetatype Change license for tests files 2024-02-04 09:56:42 +01:00
qmimedatabase Change license for tests files 2024-02-04 09:56:42 +01:00
qnetconmonitor Change license for tests files 2024-02-04 09:56:42 +01:00
qnetworkaccessmanager/qget Change license for tests files 2024-02-04 09:56:42 +01:00
qnetworkinformation Change license for tests files 2024-02-04 09:56:42 +01:00
qnetworkreply Change license for tests files 2024-02-04 09:56:42 +01:00
qopenglcontext Change license for tests files 2024-02-04 09:56:42 +01:00
qopengltextureblitter Change license for tests files 2024-02-04 09:56:42 +01:00
qopenglwidget Remove QWindowPrivate::compositing 2024-03-01 20:41:29 +01:00
qopenglwindow/multiwindow Change license for tests files 2024-02-04 09:56:42 +01:00
qprintdevice_dump Change license for tests files 2024-02-04 09:56:42 +01:00
qscreen Change license for tests files 2024-02-04 09:56:42 +01:00
qscreen_xrandr Change license for tests files 2024-02-04 09:56:42 +01:00
qssloptions Change license for tests files 2024-02-04 09:56:42 +01:00
qsslsocket Change license for tests files 2024-02-04 09:56:42 +01:00
qstorageinfo Change license for tests files 2024-02-04 09:56:42 +01:00
qsysinfo Change license for tests files 2024-02-04 09:56:42 +01:00
qt_poll Change license for tests files 2024-02-04 09:56:42 +01:00
qtabbar Change license for tests files 2024-02-04 09:56:42 +01:00
qtabletevent Change license for tests files 2024-02-04 09:56:42 +01:00
qtbug-8933 Change license for tests files 2024-02-04 09:56:42 +01:00
qtbug-52641 Change license for tests files 2024-02-04 09:56:42 +01:00
qtextcursorinsert Change license for tests files 2024-02-04 09:56:42 +01:00
qtexteditlist Change license for tests files 2024-02-04 09:56:42 +01:00
qtexttableborders Change license for tests files 2024-02-04 09:56:42 +01:00
qtouchevent Change license for tests files 2024-02-04 09:56:42 +01:00
qvulkaninstance Change license for tests files 2024-02-04 09:56:42 +01:00
qwidget_zorder Change license for tests files 2024-02-04 09:56:42 +01:00
repaint Remove extra semi-colons 2024-02-06 20:17:18 +09:00
rhi rhi: Add support for resolving depth-stencil 2024-04-03 22:14:21 +02:00
shortcuts Change license for tests files 2024-02-04 09:56:42 +01:00
socketengine Change license for tests files 2024-02-04 09:56:42 +01:00
startsystemmove Change license for tests files 2024-02-04 09:56:42 +01:00
stereographicsview Change license for tests files 2024-02-04 09:56:42 +01:00
textrendering Change license for tests files 2024-02-04 09:56:42 +01:00
touch Change license for tests files 2024-02-04 09:56:42 +01:00
touchGraphicsItem Change license for tests files 2024-02-04 09:56:42 +01:00
transientwindow Change license for tests files 2024-02-04 09:56:42 +01:00
triangulator Change license for tests files 2024-02-04 09:56:42 +01:00
unc Change license for tests files 2024-02-04 09:56:42 +01:00
wasm Correct license for tools files 2024-03-05 12:59:21 +01:00
widgetgrab Change license for tests files 2024-02-04 09:56:42 +01:00
widgets Change license for tests files 2024-02-04 09:56:42 +01:00
windowactivation Change license for tests files 2024-02-04 09:56:42 +01:00
windowchildgeometry Change license for tests files 2024-02-04 09:56:42 +01:00
windowflags Change license for tests files 2024-02-04 09:56:42 +01:00
windowgeometry Change license for tests files 2024-02-04 09:56:42 +01:00
windowmask Change license for tests files 2024-02-04 09:56:42 +01:00
windowmodality Change license for tests files 2024-02-04 09:56:42 +01:00
windowtransparency Change license for tests files 2024-02-04 09:56:42 +01:00
xcb_gl_integration Change license for tests files 2024-02-04 09:56:42 +01:00
xembed Change license for tests files 2024-02-04 09:56:42 +01:00
xmlstreamlint Change license for tests files 2024-02-04 09:56:42 +01:00
CMakeLists.txt Add key events manual tests 2023-09-27 17:47:19 +02:00
manual.pro Add key events manual tests 2023-09-27 17:47:19 +02:00