Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.15.12
-
-
ff3d6efeb (tqtc/lts-5.15)
Description
The value it is trying to convert is GL_SAMPLER_2D_MULTISAMPLE in fromShaderGLToPropertyDataTypes, but that is not handled.
Can be reproduced with Qt Quick 3D Antialias example on AMD GPUs. On Nvidia HW it does not seem to be using GL_SAMPLER_2D_MULTISAMPLE there.
000000b0`8b4fc010 00007ffc`110e776f Qt5Cored!qt_message_fatal(QtMsgType __formal = QtFatalMsg (0n3), class QMessageLogContext * context = 0x000000b0`8b4fc318, class QString * message = 0x000000b0`8b4fc2b0)+0xcd [C:\Users\qt\work\qt\qtbase\src\corelib\global\qlogging.cpp @ 1885] 000000b0`8b4fc280 00007ffc`110d8d28 Qt5Cored!QMessageLogger::fatal(char * msg = 0x00007ffc`11804f38 "ASSERT: "%s" in file %s, line %d")+0x8f [C:\Users\qt\work\qt\qtbase\src\corelib\global\qlogging.cpp @ 894] 000000b0`8b4fc2e0 00007ffc`1a0f0bc1 Qt5Cored!qt_assert(char * assertion = 0x00007ffc`1a173a28 "false", char * file = 0x00007ffc`1a174200 "C:\Users\qt\work\qt\qtquick3d\include\QtQuick3DRender\5.15.12\QtQuick3DRender\private\../../../../../src/render/backends/gl/qssgopenglutil_p.h", int line = 0n1799)+0x58 [C:\Users\qt\work\qt\qtbase\src\corelib\global\qglobal.cpp @ 3377] 000000b0`8b4fc350 00007ffc`1a103a5a Qt5Quick3DRenderd!GLConversion::fromShaderGLToPropertyDataTypes(unsigned int value = 0x9108)+0x1d1 [C:\Users\qt\work\qt\qtquick3d\src\render\backends\gl\qssgopenglutil_p.h @ 1800] 000000b0`8b4fc390 00007ffc`1a124f6c Qt5Quick3DRenderd!QSSGRenderBackendGLBase::getConstantInfoByID(struct _QSSGRenderBackendShaderProgramObject * po = 0x00000264`119686b0, unsigned int id = 0x12b, unsigned int bufSize = 0x200, int * numElem = 0x000000b0`8b4fc46c, QSSGRenderShaderDataType * type = 0x000000b0`8b4fc454, int * binding = 0x000000b0`8b4fc474, char * nameBuf = 0x000000b0`8b4fc610 "advancedBlendInfoAmdInternal_samplerMsaa")+0xca [C:\Users\qt\work\qt\qtquick3d\src\render\backends\gl\qssgrenderbackendglbase.cpp @ 1866] 000000b0`8b4fc410 00007ffc`1a125952 Qt5Quick3DRenderd!QSSGRenderShaderProgram::getShaderParameters(void)+0x13c [C:\Users\qt\work\qt\qtquick3d\src\render\qssgrendershaderprogram.cpp @ 650] 000000b0`8b4fc830 00007ffc`1a12750e Qt5Quick3DRenderd!QSSGRenderShaderProgram::link(void)+0x72 [C:\Users\qt\work\qt\qtquick3d\src\render\qssgrendershaderprogram.cpp @ 701] 000000b0`8b4fc880 00007ffc`1a1134d3 Qt5Quick3DRenderd!QSSGRenderShaderProgram::create(class QSSGRef<QSSGRenderContext> * context = 0x000000b0`8b4fce00, char * programName = 0x00000264`119c1388 "mesh subset pipeline-- ;hasLighting=true;lightCount=1;specularModel=Default;;diffuseMap={;;;;;};diffuseMap_swizzle={;;;;};emissiveMap={;;;;;};emissiveMap_swizzle={;;;;};specularMap={;;;;;};specularMap_swizzle={;;;;};baseColorMap={;;;;;};baseColorMap_swizzle={;;;;};bumpMap={;;;;;};bumpMap_swizzle={;;;;};specularAmountMap={;;;;;};specularAmountMap_swizzle={;;;;};normalMap={;;;;;};normalMap_swizzle={;;;;};displacementMap={;;;;;};displacementMap_swizzle={;;;;};lightmapIndirect={;;;;;};lightmapIndirect_swizzle={;;;;};lightmapRadiosity={;;;;;};lightmapRadiosity_swizzle={;;;;};lightmapShadow={;;;;;};lightmapShadow_swizzle={;;;;};opacityMap={;;;;;};opacityMap_swizzle={;;;;};roughnessMap={;;;;;};roughnessMap_swizzle={;;;;};metalnessMap={;;;;;};metalnessMap_swizzle={;;;;};occlusionMap={;;;;;};occlusionMap_swizzle={;;;;};translucencyMap={;;;;;};translucencyMap_swizzle={;;;;};opacityMap_channel=R;roughnessMap_channel=R;metalnessMap_channel=R;occlusionMap_channel=R;translucencyMap_channel=R;tessellationMode={noTessellation=true;;;};alphaMode=Default;;vertexAttributes={position=true;normal=true;texcoord0=true;;tangent=true;binormal=true;}", struct QSSGDataView<unsigned char> * vertShaderSource = 0x000000b0`8b4fcfe0, struct QSSGDataView<unsigned char> * fragShaderSource = 0x000000b0`8b4fcfd0, struct QSSGDataView<unsigned char> * tessControlShaderSource = 0x000000b0`8b4fcfc0, struct QSSGDataView<unsigned char> * tessEvaluationShaderSource = 0x000000b0`8b4fcfb0, struct QSSGDataView<unsigned char> * geometryShaderSource = 0x000000b0`8b4fcfa0, bool separateProgram = false, QSSGRenderShaderProgramBinaryType type = Unknown (0n0), bool binaryProgram = false)+0x108e [C:\Users\qt\work\qt\qtquick3d\src\render\qssgrendershaderprogram.cpp @ 1089] 000000b0`8b4fcda0 00007ffc`10cdc2e1 Qt5Quick3DRenderd!QSSGRenderContext::compileSource(char * shaderName = 0x00000264`119c1388 "mesh subset pipeline-- ;hasLighting=true;lightCount=1;specularModel=Default;;diffuseMap={;;;;;};diffuseMap_swizzle={;;;;};emissiveMap={;;;;;};emissiveMap_swizzle={;;;;};specularMap={;;;;;};specularMap_swizzle={;;;;};baseColorMap={;;;;;};baseColorMap_swizzle={;;;;};bumpMap={;;;;;};bumpMap_swizzle={;;;;};specularAmountMap={;;;;;};specularAmountMap_swizzle={;;;;};normalMap={;;;;;};normalMap_swizzle={;;;;};displacementMap={;;;;;};displacementMap_swizzle={;;;;};lightmapIndirect={;;;;;};lightmapIndirect_swizzle={;;;;};lightmapRadiosity={;;;;;};lightmapRadiosity_swizzle={;;;;};lightmapShadow={;;;;;};lightmapShadow_swizzle={;;;;};opacityMap={;;;;;};opacityMap_swizzle={;;;;};roughnessMap={;;;;;};roughnessMap_swizzle={;;;;};metalnessMap={;;;;;};metalnessMap_swizzle={;;;;};occlusionMap={;;;;;};occlusionMap_swizzle={;;;;};translucencyMap={;;;;;};translucencyMap_swizzle={;;;;};opacityMap_channel=R;roughnessMap_channel=R;metalnessMap_channel=R;occlusionMap_channel=R;translucencyMap_channel=R;tessellationMode={noTessellation=true;;;};alphaMode=Default;;vertexAttributes={position=true;normal=true;texcoord0=true;;tangent=true;binormal=true;}", struct QSSGDataView<unsigned char> * vertShader = 0x000000b0`8b4fd360, struct QSSGDataView<unsigned char> * fragShader = 0x000000b0`8b4fd350, struct QSSGDataView<unsigned char> * tessControlShaderSource = 0x000000b0`8b4fd340, struct QSSGDataView<unsigned char> * tessEvaluationShaderSource = 0x000000b0`8b4fd330, struct QSSGDataView<unsigned char> * geometryShaderSource = 0x000000b0`8b4fd320, bool separateProgram = false, QSSGRenderShaderProgramBinaryType type = Unknown (0n0), bool binaryProgram = false)+0x3f3 [C:\Users\qt\work\qt\qtquick3d\src\render\qssgrendercontext.cpp @ 217] 000000b0`8b4fd030 00007ffc`10cdc622 Qt5Quick3DRuntimeRenderd!QSSGShaderCache::forceCompileProgram(class QByteArray * inKey = 0x000000b0`8b4fd738, class QByteArray * inVert = 0x00000264`118cdb68, class QByteArray * inFrag = 0x00000264`118cdcc8, class QByteArray * inTessCtrl = 0x00000264`118cdbc0, class QByteArray * inTessEval = 0x00000264`118cdc18, class QByteArray * inGeom = 0x00000264`118cdc70, class QFlags<enum ShaderCacheProgramFlagValues> * inFlags = 0x000000b0`8b4fd688, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatures = 0x00000264`118cdd80, bool separableProgram = false, bool fromDisk = false)+0x9f1 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\qssgrendershadercache.cpp @ 440] 000000b0`8b4fd590 00007ffc`10ceb768 Qt5Quick3DRuntimeRenderd!QSSGShaderCache::compileProgram(class QByteArray * inKey = 0x000000b0`8b4fd738, class QByteArray * inVert = 0x00000264`118cdb68, class QByteArray * inFrag = 0x00000264`118cdcc8, class QByteArray * inTessCtrl = 0x00000264`118cdbc0, class QByteArray * inTessEval = 0x00000264`118cdc18, class QByteArray * inGeom = 0x00000264`118cdc70, class QFlags<enum ShaderCacheProgramFlagValues> * inFlags = 0x000000b0`8b4fd688, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatures = 0x00000264`118cdd80, bool separableProgram = false)+0x102 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\qssgrendershadercache.cpp @ 518] 000000b0`8b4fd620 00007ffc`10ca832a Qt5Quick3DRuntimeRenderd!`anonymous namespace'::QSSGProgramGenerator::compileGeneratedShader(class QByteArray * inShaderName = 0x000000b0`8b4fd738, class QFlags<enum ShaderCacheProgramFlagValues> * inFlags = 0x000000b0`8b4fd758, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatureSet = 0x00000264`118cdd80, bool separableProgram = false)+0x298 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\qssgrendershadercodegeneratorv2.cpp @ 379] 000000b0`8b4fd700 00007ffc`10ca8445 Qt5Quick3DRuntimeRenderd!`anonymous namespace'::QSSGShaderGenerator::generateMaterialShader(class QByteArray * inShaderPrefix = 0x000000b0`8b4fd8e0)+0x1da [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\qssgrenderdefaultmaterialshadergenerator.cpp @ 1477] 000000b0`8b4fd7e0 00007ffc`10c1600d Qt5Quick3DRuntimeRenderd!`anonymous namespace'::QSSGShaderGenerator::generateShader(struct QSSGRenderGraphObject * inMaterial = 0x00000264`118d33c0, struct QSSGShaderDefaultMaterialKey * inShaderDescription = 0x000000b0`8b4fd9d0, class QSSGShaderStageGeneratorInterface * inVertexPipeline = 0x000000b0`8b4fda00, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatureSet = 0x000000b0`8b4fe180, class QVector<QSSGRenderLight *> * inLights = 0x00000264`119919c0, struct QSSGRenderableImage * inFirstImage = 0x00000000`00000000, bool inHasTransparency = false, class QByteArray * inVertexPipelineName = 0x000000b0`8b4fd8e0, class QByteArray * __formal = 0x000000b0`8b4fd8e8)+0xd5 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\qssgrenderdefaultmaterialshadergenerator.cpp @ 1499] 000000b0`8b4fd810 00007ffc`10bcb9ad Qt5Quick3DRuntimeRenderd!QSSGRendererImpl::generateShader(struct QSSGSubsetRenderable * inRenderable = 0x00000264`118ceeb8, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatureSet = 0x000000b0`8b4fe180)+0x39d [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrendererimplshaders.cpp @ 455] 000000b0`8b4fdac0 00007ffc`10bba0b4 Qt5Quick3DRuntimeRenderd!QSSGRendererImpl::getShader(struct QSSGSubsetRenderable * inRenderable = 0x00000264`118ceeb8, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatureSet = 0x000000b0`8b4fe180)+0x10d [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrendererimpl.cpp @ 999] 000000b0`8b4fdba0 00007ffc`10bf8c13 Qt5Quick3DRuntimeRenderd!QSSGSubsetRenderable::render(class QVector2D * inCameraVec = 0x000000b0`8b4fe300, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatureSet = 0x000000b0`8b4fe180)+0x84 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrenderableobjects.cpp @ 214] 000000b0`8b4fde50 00007ffc`10bef65e Qt5Quick3DRuntimeRenderd!renderRenderable(struct QSSGLayerRenderData * inData = 0x00000264`11991970, struct QSSGRenderableObject * inObject = 0x00000264`118ceeb8, class QVector2D * inCameraProps = 0x000000b0`8b4fe300, class QVarLengthArray<QSSGShaderPreprocessorFeature,7> * inFeatureSet = 0x000000b0`8b4fe180, unsigned int __formal = 0, struct QSSGRenderCamera * inCamera = 0x00000264`118d35e0)+0x53 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrendererimpllayerrenderdata.cpp @ 871] 000000b0`8b4fdef0 00007ffc`10bec3c0 Qt5Quick3DRuntimeRenderd!QSSGLayerRenderData::runRenderPass(<function> * inRenderFn = 0x00007ffc`10b95ec0, bool inEnableBlending = true, bool inEnableDepthWrite = true, bool inEnableTransparentDepthWrite = false, bool inSortOpaqueRenderables = true, unsigned int indexLight = 0, struct QSSGRenderCamera * inCamera = 0x00000264`118d35e0, class QSSGResourceFrameBuffer * theFB = 0x00000000`00000000)+0x36e [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrendererimpllayerrenderdata.cpp @ 922] 000000b0`8b4fe330 00007ffc`10bee7d5 Qt5Quick3DRuntimeRenderd!QSSGLayerRenderData::render(class QSSGResourceFrameBuffer * theFB = 0x00000000`00000000)+0x120 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrendererimpllayerrenderdata.cpp @ 982] 000000b0`8b4fe3d0 00007ffc`10bc8e07 Qt5Quick3DRuntimeRenderd!QSSGLayerRenderData::runnableRenderToViewport(class QSSGRef<QSSGRenderFrameBuffer> * theFB = 0x000000b0`8b4fec00)+0x1805 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrendererimpllayerrenderdata.cpp @ 1362] 000000b0`8b4febc0 00007ffc`10c6f1ce Qt5Quick3DRuntimeRenderd!QSSGRendererImpl::renderLayer(struct QSSGRenderLayer * inLayer = 0x00000264`118d4e30, class QSize * surfaceSize = 0x00000264`118c8a54, bool clear = true, class QColor * clearColor = 0x00000264`118c8a60)+0x197 [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\rendererimpl\qssgrendererimpl.cpp @ 189] 000000b0`8b4fec80 00007ffc`14fad390 Qt5Quick3DRuntimeRenderd!QSSGRenderContextInterface::renderLayer(struct QSSGRenderLayer * inLayer = 0x00000264`118d4e30, bool needsClear = true)+0x6e [C:\Users\qt\work\qt\qtquick3d\src\runtimerender\qssgrendercontextcore.cpp @ 258] 000000b0`8b4fecd0 00007ffc`14faf04b Qt5Quick3Dd!QQuick3DSceneRenderer::render(void)+0x440 [C:\Users\qt\work\qt\qtquick3d\src\quick3d\qquick3dscenerenderer.cpp @ 233] 000000b0`8b4feec0 00007ffc`14faefba Qt5Quick3Dd!SGFramebufferObjectNode::render(void)+0x7b [C:\Users\qt\work\qt\qtquick3d\src\quick3d\qquick3dscenerenderer.cpp @ 119] 000000b0`8b4ff010 00007ffc`101b7f89 Qt5Quick3Dd!SGFramebufferObjectNode::preprocess(void)+0x1a [C:\Users\qt\work\qt\qtquick3d\src\quick3d\qquick3dscenerenderer.cpp @ 110] 000000b0`8b4ff040 00007ffc`101b77f6 Qt5Quickd!QSGRenderer::preprocess(void)+0x179 [C:\Users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgrenderer.cpp @ 339] 000000b0`8b4ff0d0 00007ffc`101b7b8a Qt5Quickd!QSGRenderer::renderScene(class QSGBindable * bindable = 0x000000b0`8b4ff1e8)+0xc6 [C:\Users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgrenderer.cpp @ 241] 000000b0`8b4ff1c0 00007ffc`1028c5de Qt5Quickd!QSGRenderer::renderScene(unsigned int fboId = 0)+0x8a [C:\Users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgrenderer.cpp @ 213] 000000b0`8b4ff210 00007ffc`1036d32f Qt5Quickd!QSGDefaultRenderContext::renderNextFrame(class QSGRenderer * renderer = 0x00000264`11884610, unsigned int fboId = 0)+0x4e [C:\Users\qt\work\qt\qtdeclarative\src\quick\scenegraph\qsgdefaultrendercontext.cpp @ 230] 000000b0`8b4ff250 00007ffc`102aca32 Qt5Quickd!QQuickWindowPrivate::renderSceneGraph(class QSize * size = 0x00000264`10224e90, class QSize * surfaceSize = 0x000000b0`8b4ff768)+0x80f [C:\Users\qt\work\qt\qtdeclarative\src\quick\items\qquickwindow.cpp @ 619] 000000b0`8b4ff520 00007ffc`102ab924 Qt5Quickd!QSGRenderThread::syncAndRender(class QImage * grabImage = 0x00000000`00000000)+0xe62 [C:\Users\qt\work\qt\qtdeclarative\src\quick\scenegraph\qsgthreadedrenderloop.cpp @ 838] 000000b0`8b4ff960 00007ffc`110fbfe2 Qt5Quickd!QSGRenderThread::run(void)+0x414 [C:\Users\qt\work\qt\qtdeclarative\src\quick\scenegraph\qsgthreadedrenderloop.cpp @ 1046] 000000b0`8b4ffb10 00007ffc`5ef17614 Qt5Cored!QThreadPrivate::start(void * arg = 0x00000264`10224e10)+0x1d2 [C:\Users\qt\work\qt\qtbase\src\corelib\thread\qthread_win.cpp @ 406] 000000b0`8b4ffba0 00007ffc`60c026a1 KERNEL32!BaseThreadInitThunk+0x14 000000b0`8b4ffbd0 00000000`00000000 ntdll!RtlUserThreadStart+0x21