OpenCoverage

qquicknvprfunctions.cpp

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quickshapes/qquicknvprfunctions.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6QQuickNvprFunctions::QQuickNvprFunctions()-
7 : d(new QQuickNvprFunctionsPrivate(this))-
8{-
9}
executed 6 times by 3 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlextensionplugin
  • tst_qquickshape
6
10-
11QQuickNvprFunctions::~QQuickNvprFunctions()-
12{-
13 delete d;-
14}
executed 6 times by 3 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlextensionplugin
  • tst_qquickshape
6
15-
16-
17-
18-
19-
20QSurfaceFormat QQuickNvprFunctions::format()-
21{-
22 QSurfaceFormat fmt;-
23 fmt.setDepthBufferSize(24);-
24 fmt.setStencilBufferSize(8);-
25 if (QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGL
QOpenGLContext...Context::LibGLDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
26 fmt.setVersion(4, 3);-
27 fmt.setProfile(QSurfaceFormat::CompatibilityProfile);-
28 }
never executed: end of block
else if (QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGLES
QOpenGLContext...ntext::LibGLESDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
29 fmt.setVersion(3, 1);-
30 }
never executed: end of block
0
31 return
never executed: return fmt;
fmt;
never executed: return fmt;
0
32}-
33bool QQuickNvprFunctions::isSupported()-
34{-
35 QOpenGLContext *ctx = QOpenGLContext::currentContext();-
36 QScopedPointer<QOpenGLContext> tempContext;-
37 QScopedPointer<QOffscreenSurface> tempSurface;-
38 if (!ctx
!ctxDescription
TRUEnever evaluated
FALSEevaluated 166 times by 1 test
Evaluated by:
  • tst_examples
) {
0-166
39 tempContext.reset(new QOpenGLContext);-
40 if (!tempContext->create()
!tempContext->create()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
41 return
never executed: return false;
false;
never executed: return false;
0
42 ctx = tempContext.data();-
43 tempSurface.reset(new QOffscreenSurface);-
44 tempSurface->setFormat(ctx->format());-
45 tempSurface->create();-
46 if (!ctx->makeCurrent(tempSurface.data())
!ctx->makeCurr...urface.data())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
47 return
never executed: return false;
false;
never executed: return false;
0
48 }
never executed: end of block
0
49-
50 if (!ctx->hasExtension(([]() -> QByteArray { enum { Size = sizeof("GL_NV_path_rendering") - 1 }; static const QStaticByteArrayData<Size> qbytearray_literal = { { { { -1 } }, Size, 0, 0, sizeof(QByteArrayData) }, "GL_NV_path_rendering" }; QByteArrayDataPtr holder = { qbytearray_literal.data_ptr() }; const QByteArray ba(holder); return
executed 166 times by 1 test: return ba;
Executed by:
  • tst_examples
ba;
executed 166 times by 1 test: return ba;
Executed by:
  • tst_examples
}()))
!ctx->hasExten...turn ba; }()))Description
TRUEevaluated 166 times by 1 test
Evaluated by:
  • tst_examples
FALSEnever evaluated
)
0-166
51 return
executed 166 times by 1 test: return false;
Executed by:
  • tst_examples
false;
executed 166 times by 1 test: return false;
Executed by:
  • tst_examples
166
52-
53-
54 if (!reinterpret_cast<PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC>(ctx->getProcAddress("glProgramPathFragmentInputGenNV"))
!reinterpret_c...tInputGenNV"))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
55 return
never executed: return false;
false;
never executed: return false;
0
56 return
never executed: return true;
true;
never executed: return true;
0
57}-
58-
59-
60-
61-
62-
63-
64-
65bool QQuickNvprFunctions::create()-
66{-
67 return
never executed: return isSupported() && d->resolve();
isSupported() && d->resolve();
never executed: return isSupported() && d->resolve();
0
68}-
69bool QQuickNvprFunctions::createFragmentOnlyPipeline(const char *fragmentShaderSource, GLuint *pipeline, GLuint *program)-
70{-
71 QOpenGLContext *ctx = QOpenGLContext::currentContext();-
72 if (!ctx
!ctxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
73 return
never executed: return false;
false;
never executed: return false;
0
74-
75 QOpenGLExtraFunctions *f = ctx->extraFunctions();-
76 *program = f->glCreateShaderProgramv(0x8B30, 1, &fragmentShaderSource);-
77 GLint status = 0;-
78 f->glGetProgramiv(*program, 0x8B82, &status);-
79 if (!status
!statusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
80 GLint len = 0;-
81 f->glGetProgramiv(*program, 0x8B84, &len);-
82 if (len
lenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
83 QByteArray s;-
84 s.resize(len);-
85 f->glGetProgramInfoLog(*program, s.count(), nullptr, s.data());-
86 QMessageLogger(__FILE__, 181, __PRETTY_FUNCTION__).warning("Failed to create separable shader program:\n%s", s.constData());-
87 }
never executed: end of block
0
88 return
never executed: return false;
false;
never executed: return false;
0
89 }-
90-
91 f->glGenProgramPipelines(1, pipeline);-
92 f->glUseProgramStages(*pipeline, 0x00000002, *program);-
93 f->glActiveShaderProgram(*pipeline, *program);-
94-
95 f->glValidateProgramPipeline(*pipeline);-
96 status = 0;-
97 f->glGetProgramPipelineiv(*pipeline, 0x8B83, &status);-
98 if (!status
!statusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
99 GLint len = 0;-
100 f->glGetProgramPipelineiv(*pipeline, 0x8B84, &len);-
101 if (len
lenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
102 QByteArray s;-
103 s.resize(len);-
104 f->glGetProgramPipelineInfoLog(*pipeline, s.count(), nullptr, s.data());-
105 QMessageLogger(__FILE__, 200, __PRETTY_FUNCTION__).warning("Program pipeline validation failed:\n%s", s.constData());-
106 }
never executed: end of block
0
107 return
never executed: return false;
false;
never executed: return false;
0
108 }-
109-
110 return
never executed: return true;
true;
never executed: return true;
0
111}-
112-
113bool QQuickNvprFunctionsPrivate::resolve()-
114{-
115 QOpenGLContext *ctx = QOpenGLContext::currentContext();-
116-
117 q->genPaths = reinterpret_cast<PFNGLGENPATHSNVPROC>(ctx->getProcAddress("glGenPathsNV"));-
118 q->deletePaths = reinterpret_cast<PFNGLDELETEPATHSNVPROC>(ctx->getProcAddress("glDeletePathsNV"));-
119 q->isPath = reinterpret_cast<PFNGLISPATHNVPROC>(ctx->getProcAddress("glIsPathNV"));-
120 q->pathCommands = reinterpret_cast<PFNGLPATHCOMMANDSNVPROC>(ctx->getProcAddress("glPathCommandsNV"));-
121 q->pathCoords = reinterpret_cast<PFNGLPATHCOORDSNVPROC>(ctx->getProcAddress("glPathCoordsNV"));-
122 q->pathSubCommands = reinterpret_cast<PFNGLPATHSUBCOMMANDSNVPROC>(ctx->getProcAddress("glPathSubCommandsNV"));-
123 q->pathSubCoords = reinterpret_cast<PFNGLPATHSUBCOORDSNVPROC>(ctx->getProcAddress("glPathSubCoordsNV"));-
124 q->pathString = reinterpret_cast<PFNGLPATHSTRINGNVPROC>(ctx->getProcAddress("glPathStringNV"));-
125 q->pathGlyphs = reinterpret_cast<PFNGLPATHGLYPHSNVPROC>(ctx->getProcAddress("glPathGlyphsNV"));-
126 q->pathGlyphRange = reinterpret_cast<PFNGLPATHGLYPHRANGENVPROC>(ctx->getProcAddress("glPathGlyphRangeNV"));-
127 q->weightPaths = reinterpret_cast<PFNGLWEIGHTPATHSNVPROC>(ctx->getProcAddress("glWeightPathsNV"));-
128 q->copyPath = reinterpret_cast<PFNGLCOPYPATHNVPROC>(ctx->getProcAddress("glCopyPathNV"));-
129 q->interpolatePaths = reinterpret_cast<PFNGLINTERPOLATEPATHSNVPROC>(ctx->getProcAddress("glInterpolatePathsNV"));-
130 q->transformPath = reinterpret_cast<PFNGLTRANSFORMPATHNVPROC>(ctx->getProcAddress("glTransformPathNV"));-
131 q->pathParameteriv = reinterpret_cast<PFNGLPATHPARAMETERIVNVPROC>(ctx->getProcAddress("glPathParameterivNV"));-
132 q->pathParameteri = reinterpret_cast<PFNGLPATHPARAMETERINVPROC>(ctx->getProcAddress("glPathParameteriNV"));-
133 q->pathParameterfv = reinterpret_cast<PFNGLPATHPARAMETERFVNVPROC>(ctx->getProcAddress("glPathParameterfvNV"));-
134 q->pathParameterf = reinterpret_cast<PFNGLPATHPARAMETERFNVPROC>(ctx->getProcAddress("glPathParameterfNV"));-
135 q->pathDashArray = reinterpret_cast<PFNGLPATHDASHARRAYNVPROC>(ctx->getProcAddress("glPathDashArrayNV"));-
136 q->pathStencilFunc = reinterpret_cast<PFNGLPATHSTENCILFUNCNVPROC>(ctx->getProcAddress("glPathStencilFuncNV"));-
137 q->pathStencilDepthOffset = reinterpret_cast<PFNGLPATHSTENCILDEPTHOFFSETNVPROC>(ctx->getProcAddress("glPathStencilDepthOffsetNV"));-
138 q->stencilFillPath = reinterpret_cast<PFNGLSTENCILFILLPATHNVPROC>(ctx->getProcAddress("glStencilFillPathNV"));-
139 q->stencilStrokePath = reinterpret_cast<PFNGLSTENCILSTROKEPATHNVPROC>(ctx->getProcAddress("glStencilStrokePathNV"));-
140 q->stencilFillPathInstanced = reinterpret_cast<PFNGLSTENCILFILLPATHINSTANCEDNVPROC>(ctx->getProcAddress("glStencilFillPathInstancedNV"));-
141 q->stencilStrokePathInstanced = reinterpret_cast<PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC>(ctx->getProcAddress("glStencilStrokePathInstancedNV"));-
142 q->pathCoverDepthFunc = reinterpret_cast<PFNGLPATHCOVERDEPTHFUNCNVPROC>(ctx->getProcAddress("glPathCoverDepthFuncNV"));-
143 q->coverFillPath = reinterpret_cast<PFNGLCOVERFILLPATHNVPROC>(ctx->getProcAddress("glCoverFillPathNV"));-
144 q->coverStrokePath = reinterpret_cast<PFNGLCOVERSTROKEPATHNVPROC>(ctx->getProcAddress("glCoverStrokePathNV"));-
145 q->coverFillPathInstanced = reinterpret_cast<PFNGLCOVERFILLPATHINSTANCEDNVPROC>(ctx->getProcAddress("glCoverFillPathInstancedNV"));-
146 q->coverStrokePathInstanced = reinterpret_cast<PFNGLCOVERSTROKEPATHINSTANCEDNVPROC>(ctx->getProcAddress("glCoverStrokePathInstancedNV"));-
147 q->getPathParameteriv = reinterpret_cast<PFNGLGETPATHPARAMETERIVNVPROC>(ctx->getProcAddress("glGetPathParameterivNV"));-
148 q->getPathParameterfv = reinterpret_cast<PFNGLGETPATHPARAMETERFVNVPROC>(ctx->getProcAddress("glGetPathParameterfvNV"));-
149 q->getPathCommands = reinterpret_cast<PFNGLGETPATHCOMMANDSNVPROC>(ctx->getProcAddress("glGetPathCommandsNV"));-
150 q->getPathCoords = reinterpret_cast<PFNGLGETPATHCOORDSNVPROC>(ctx->getProcAddress("glGetPathCoordsNV"));-
151 q->getPathDashArray = reinterpret_cast<PFNGLGETPATHDASHARRAYNVPROC>(ctx->getProcAddress("glGetPathDashArrayNV"));-
152 q->getPathMetrics = reinterpret_cast<PFNGLGETPATHMETRICSNVPROC>(ctx->getProcAddress("glGetPathMetricsNV"));-
153 q->getPathMetricRange = reinterpret_cast<PFNGLGETPATHMETRICRANGENVPROC>(ctx->getProcAddress("glGetPathMetricRangeNV"));-
154 q->getPathSpacing = reinterpret_cast<PFNGLGETPATHSPACINGNVPROC>(ctx->getProcAddress("glGetPathSpacingNV"));-
155 q->isPointInFillPath = reinterpret_cast<PFNGLISPOINTINFILLPATHNVPROC>(ctx->getProcAddress("glIsPointInFillPathNV"));-
156 q->isPointInStrokePath = reinterpret_cast<PFNGLISPOINTINSTROKEPATHNVPROC>(ctx->getProcAddress("glIsPointInStrokePathNV"));-
157 q->getPathLength = reinterpret_cast<PFNGLGETPATHLENGTHNVPROC>(ctx->getProcAddress("glGetPathLengthNV"));-
158 q->getPointAlongPath = reinterpret_cast<PFNGLPOINTALONGPATHNVPROC>(ctx->getProcAddress("glPointAlongPathNV"));-
159 q->matrixLoad3x2f = reinterpret_cast<PFNGLMATRIXLOAD3X2FNVPROC>(ctx->getProcAddress("glMatrixLoad3x2fNV"));-
160 q->matrixLoad3x3f = reinterpret_cast<PFNGLMATRIXLOAD3X3FNVPROC>(ctx->getProcAddress("glMatrixLoad3x3fNV"));-
161 q->matrixLoadTranspose3x3f = reinterpret_cast<PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC>(ctx->getProcAddress("glMatrixLoadTranspose3x3fNV"));-
162 q->matrixMult3x2f = reinterpret_cast<PFNGLMATRIXMULT3X2FNVPROC>(ctx->getProcAddress("glMatrixMult3x2fNV"));-
163 q->matrixMult3x3f = reinterpret_cast<PFNGLMATRIXMULT3X3FNVPROC>(ctx->getProcAddress("glMatrixMult3x3fNV"));-
164 q->matrixMultTranspose3x3f = reinterpret_cast<PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC>(ctx->getProcAddress("glMatrixMultTranspose3x3fNV"));-
165 q->stencilThenCoverFillPath = reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHNVPROC>(ctx->getProcAddress("glStencilThenCoverFillPathNV"));-
166 q->stencilThenCoverStrokePath = reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC>(ctx->getProcAddress("glStencilThenCoverStrokePathNV"));-
167 q->stencilThenCoverFillPathInstanced = reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC>(ctx->getProcAddress("glStencilThenCoverFillPathInstancedNV"));-
168 q->stencilThenCoverStrokePathInstanced = reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC>(ctx->getProcAddress("glStencilThenCoverStrokePathInstancedNV"));-
169 q->pathGlyphIndexRange = reinterpret_cast<PFNGLPATHGLYPHINDEXRANGENVPROC>(ctx->getProcAddress("glPathGlyphIndexRangeNV"));-
170 q->pathGlyphIndexArray = reinterpret_cast<PFNGLPATHGLYPHINDEXARRAYNVPROC>(ctx->getProcAddress("glPathGlyphIndexArrayNV"));-
171 q->pathMemoryGlyphIndexArray = reinterpret_cast<PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC>(ctx->getProcAddress("glPathMemoryGlyphIndexArrayNV"));-
172 q->programPathFragmentInputGen = reinterpret_cast<PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC>(ctx->getProcAddress("glProgramPathFragmentInputGenNV"));-
173 q->getProgramResourcefv = reinterpret_cast<PFNGLGETPROGRAMRESOURCEFVNVPROC>(ctx->getProcAddress("glGetProgramResourcefvNV"));-
174-
175 q->matrixLoadf = reinterpret_cast<PFNGLMATRIXLOADFEXTPROC>(ctx->getProcAddress("glMatrixLoadfEXT"));-
176 q->matrixLoadIdentity = reinterpret_cast<PFNGLMATRIXLOADIDENTITYEXTPROC>(ctx->getProcAddress("glMatrixLoadIdentityEXT"));-
177-
178 return
never executed: return q->genPaths != nullptr && q->programPathFragmentInputGen != nullptr && q->matrixLoadf != nullptr && q->matrixLoadIdentity != nullptr;
q->genPaths != nullptr
never executed: return q->genPaths != nullptr && q->programPathFragmentInputGen != nullptr && q->matrixLoadf != nullptr && q->matrixLoadIdentity != nullptr;
0
179 && q->programPathFragmentInputGen != nullptr
never executed: return q->genPaths != nullptr && q->programPathFragmentInputGen != nullptr && q->matrixLoadf != nullptr && q->matrixLoadIdentity != nullptr;
0
180 && q->matrixLoadf != nullptr
never executed: return q->genPaths != nullptr && q->programPathFragmentInputGen != nullptr && q->matrixLoadf != nullptr && q->matrixLoadIdentity != nullptr;
0
181 && q->matrixLoadIdentity != nullptr;
never executed: return q->genPaths != nullptr && q->programPathFragmentInputGen != nullptr && q->matrixLoadf != nullptr && q->matrixLoadIdentity != nullptr;
0
182}-
183-
184-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.0