aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc
index fbbc947c4c..3053196692 100644
--- a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc
+++ b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc
@@ -204,7 +204,7 @@ impact performance (CPU load) due to increased API overhead.
\section2 Render Loops
By default the D3D12 adaptation uses a single-threaded render loop similar to
-OpenGL's \c basic render loop. There is also a threaded variant available, that
+OpenGL's \c windows render loop. There is also a threaded variant available, that
can be requested by setting the \c{QSG_RENDER_LOOP} environment variable to \c
threaded. However, due to conceptual limitations in DXGI, the windowing system
interface, the threaded loop is prone to deadlocks when multiple QQuickWindow
@@ -249,6 +249,32 @@ pre-compiled bytecode into "shaders/+hlsl/effect.frag", while simply writing
See the ShaderEffect documentation for more details.
+\section2 Multisample Render Targets
+
+The Direct3D 12 adaptation ignores the QSurfaceFormat set on the QQuickWindow
+or QQuickView (or set via QSurfaceFormat::setDefaultFormat()), with one
+exception: QSurfaceFormat::samples() is still taken into account. When the
+value is greater than 1, multisample offscreen render targets will be created
+with the specified sample count and a quality of the maximum supported quality
+level. The backend automatically performs resolving into the non-multisample
+swapchain buffers after each frame.
+
+\section2 Mipmaps
+
+Mipmap generation is supported and handled transparently to the applications
+via a built-in compute shader, but is experimental and only supports
+power-of-two images at the moment. Textures of other size will work too, but
+this involves a QImage-based scaling on the CPU first. Therefore avoid enabling
+mipmapping for NPOT images whenever possible.
+
+\section2 Image formats
+
+When creating textures via the C++ scenegraph APIs like
+QQuickWindow::createTextureFromImage(), 32-bit formats will not involve any
+conversion, they will map directly to the corresponding \c{R8G8B8A8_UNORM} or
+\c{B8G8R8A8_UNORM} format. Everything else will trigger a QImage-based format
+conversion on the CPU first.
+
\section2 Unsupported Features
Particles, sprites, and other OpenGL-dependent tools like