aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/compressedtexture/qsgcompressedatlastexture_p.h
Commit message (Collapse)AuthorAgeFilesLines
* RHI implementation of compressed texture atlasingEirik Aavitsland2020-05-261-9/+8
| | | | | | | | | | | | | Automatic atlasing (which is enabled by default for normal textures) was added as an experimental, opt-in feature in 5.11. This commit redoes that implementation for RHI, and enables it by default. [ChangeLog] Enable automatic atlasing of compressed textures (can be disabled with QSG_DISABLE_COMPRESSED_ATLAS=1) Fixes: QTBUG-78582 Change-Id: Ia8344fffdc8dd8fb476bf6a77057c359e4816487 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add argument to QSGTexture::removedFromAtlas()Laszlo Agocs2020-04-161-1/+1
| | | | | | | | | | | ...as requested by the Qt 6 TODO. To preserve binary (and source) compatibility in 5.14, the argument was changed into a variable in QSGTexturePrivate, with a public setter. This can now go away and the signature of removedFromAtlas() can get updated. Task-number: QTBUG-82997 Change-Id: I930c0014712c78e140b778b6e9a4d8b92c5bdc8c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Quick: Don't qualify OpenGL includes (part two)Johan Klokkhammer Helsing2020-02-181-1/+1
| | | | | | | | | | | | 406f15ce0e only removed the "QtGui" prefix from some includes, but we are trying to move (almost) everything OpenGL related from QtGui. This removes prefixes for additional QOpenGL includes (QOpenGLShaderProgram, versioned opengl functions etc.). Task-number: QTBUG-74409 Change-Id: I91e1feac0676859f11de9b75301a0a4e81db50d9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add the graphics api independent scenegraph portLaszlo Agocs2019-07-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Opt in via environment variables: QSG_RHI=1 -> enable using QRhi instead of GL QSG_RHI_BACKEND -> set to vulkan, metal, d3d11, gl to override the default (the default is d3d11 on Windows, metal on Mac, gl elsewhere) Or force a given rhi backend via the existing QQuickWindow::setSceneGraphBackend(). Otherwise the default behavior is the same as before, the rhi code path is never active by default. -no-opengl builds are supported in the sense that they work and default to the software backend. However, the rhi code path cannot currently be used in such builds, even though QRhi from qtbase is fully functional with Vulkan, D3D, or Metal even when qtbase was configured with -no-opengl. This cannot be utilized by Quick atm due to OpenGL usage being all over the place in the sources corresponding to the default backend, and those host the rhi code path as well. This will be cleaned up hopefully in Qt 6, with the removal all direct OpenGL usage. Other env.vars.: QSG_RHI_DEBUG_LAYER=1 -> enable D3D debug or Vulkan validation layer (assuming the system is set up for this) QSG_RHI_SHADEREFFECT_DEBUG=1 -> print stuff from ShaderEffect QSG_SAMPLES=1,2,4,... -> MSAA sample count (but QSurfaceFormat works too) QT_D3D_ADAPTER_INDEX=0,1,... -> D3D adapter index QT_VK_PHYSICAL_DEVICE_INDEX=0,1,... -> Vulkan physical device index QSG_RHI_UINT32_INDEX=1 -> always use uint index data (both merged/unmerged, convert when needed - with some rhi backends this is implicit) QSG_RENDER_LOOP -> to override the render loop as usual. The default with RHI is threaded for Metal, threaded for Vulkan on Windows, basic for Vulkan on Linux and Android (to be checked later), while the existing rules apply for OpenGL. Not supported when running with QRhi: - particles - compressed atlases (though this is transparent to the apps) - QSGRenderNode - QQuickRenderControl - QQuickFramebufferObject - certain QQuickWindow functionality that depends directly on OpenGL - anisotropic filtering for textures - native text may lack some gamma correction - QSGEngine applicability unclear - some QML profiler logs may be incorrect or irrelevant Change-Id: I7822e99ad79e342e4166275da6e9e66498d76521 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Basic working compressed texture atlasMichael Brasser2018-01-311-0/+119
This adds experimental automatic atlasing of ETC-compressed textures (to be expanded to additional formats), similar to existing atlas support of QImages. It is off by default, and can be enabled with QSG_ENABLE_COMPRESSED_ATLAS=1. [ChangeLog] Add experimental automatic atlasing of ETC-compressed textures (can be enabled with QSG_ENABLE_COMPRESSED_ATLAS=1) Change-Id: Ia66971f51299d082a569bdfaadb662a3e522bd79 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>