summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
Diffstat (limited to 'src/render')
-rw-r--r--src/render/picking/qobjectpicker.cpp2
-rw-r--r--src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp2
-rw-r--r--src/render/renderers/opengl/textures/gltexture.cpp7
3 files changed, 10 insertions, 1 deletions
diff --git a/src/render/picking/qobjectpicker.cpp b/src/render/picking/qobjectpicker.cpp
index a0b6d8dcd..f41ea06a6 100644
--- a/src/render/picking/qobjectpicker.cpp
+++ b/src/render/picking/qobjectpicker.cpp
@@ -109,6 +109,8 @@ namespace Qt3DRender {
\sa PickingSettings, Geometry, Attribute, PickEvent, PickTriangleEvent
+ \note To receive hover events in QtQuick, the hoverEnabled property of Scene3D must also be set.
+
\note Instances of this component shouldn't be shared, not respecting that
condition will most likely result in undefined behavior.
*/
diff --git a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
index 51f7cebd1..1a2971a3f 100644
--- a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
+++ b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
@@ -577,7 +577,7 @@ QSize SubmissionContext::renderTargetSize(const QSize &surfaceSize) const
} else {
renderTargetSize = m_surface->size();
if (m_surface->surfaceClass() == QSurface::Window) {
- int dpr = static_cast<QWindow *>(m_surface)->devicePixelRatio();
+ const float dpr = static_cast<QWindow *>(m_surface)->devicePixelRatio();
renderTargetSize *= dpr;
}
}
diff --git a/src/render/renderers/opengl/textures/gltexture.cpp b/src/render/renderers/opengl/textures/gltexture.cpp
index 42deb4c2a..4fd8a8a86 100644
--- a/src/render/renderers/opengl/textures/gltexture.cpp
+++ b/src/render/renderers/opengl/textures/gltexture.cpp
@@ -522,6 +522,13 @@ void GLTexture::uploadGLTextureData()
void GLTexture::updateGLTextureParameters()
{
+ const bool isMultisampledTexture = (m_actualTarget == QAbstractTexture::Target2DMultisample ||
+ m_actualTarget == QAbstractTexture::Target2DMultisampleArray);
+ // Multisampled textures can only be accessed by texelFetch in shaders
+ // and don't support wrap modes and mig/mag filtes
+ if (isMultisampledTexture)
+ return;
+
m_gl->setWrapMode(QOpenGLTexture::DirectionS, static_cast<QOpenGLTexture::WrapMode>(m_parameters.wrapModeX));
if (m_actualTarget != QAbstractTexture::Target1D &&
m_actualTarget != QAbstractTexture::Target1DArray &&