aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaj Grönholm <kaj.gronholm@qt.io>2020-03-09 08:07:25 +0200
committerKaj Grönholm <kaj.gronholm@qt.io>2020-03-11 16:04:32 +0200
commita77e066c15472dafa238c65e42c251592f61af0c (patch)
tree5b58e50107dfd143fdc0abc6352de0b4a8d6ab0c
parent2854634d0bfb8438a1a3b2cd1d0aa2a1f4b5c603 (diff)
Remove unused widget related codev5.15.0-beta2
Removing also some other leftovers from QSSGRendererImpl Task-number: QTBUG-82740 Change-Id: If6b5e8ff9be233557843c70d27d80df6099de7dc Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
-rw-r--r--src/runtimerender/qssgrenderer_p.h6
-rw-r--r--src/runtimerender/rendererimpl/qssgrendererimpl.cpp161
-rw-r--r--src/runtimerender/rendererimpl/qssgrendererimpl_p.h68
-rw-r--r--src/runtimerender/rendererimpl/qssgrendererimplshaders.cpp43
-rw-r--r--src/runtimerender/rendererimpl/qssgrendererimplshaders_p.h21
5 files changed, 1 insertions, 298 deletions
diff --git a/src/runtimerender/qssgrenderer_p.h b/src/runtimerender/qssgrenderer_p.h
index 870eaba1..cbf5b7fb 100644
--- a/src/runtimerender/qssgrenderer_p.h
+++ b/src/runtimerender/qssgrenderer_p.h
@@ -92,8 +92,6 @@ class Q_QUICK3DRUNTIMERENDER_EXPORT QSSGRendererInterface
public:
QAtomicInt ref;
virtual ~QSSGRendererInterface() {}
- virtual void enableLayerCaching(bool inEnabled) = 0;
- virtual bool isLayerCachingEnabled() const = 0;
virtual void enableLayerGpuProfiling(bool inEnabled) = 0;
virtual bool isLayerGpuProfilingEnabled() const = 0;
@@ -113,10 +111,6 @@ public:
// to an image.
virtual void renderQuad() = 0;
- // Render a given texture to the scene using a given transform.
- virtual void renderQuad(const QVector2D &inDimensions,
- const QMatrix4x4 &inMVP,
- QSSGRenderTexture2D &inQuadTexture) = 0;
// Render a given texture as flipped to the scene using a given transform.
virtual void renderFlippedQuad(const QVector2D &inDimensions,
const QMatrix4x4 &inMVP,
diff --git a/src/runtimerender/rendererimpl/qssgrendererimpl.cpp b/src/runtimerender/rendererimpl/qssgrendererimpl.cpp
index 2c92e67a..40ec6bbf 100644
--- a/src/runtimerender/rendererimpl/qssgrendererimpl.cpp
+++ b/src/runtimerender/rendererimpl/qssgrendererimpl.cpp
@@ -85,7 +85,6 @@ QSSGRendererImpl::QSSGRendererImpl(QSSGRenderContextInterface *ctx)
, m_bufferManager(ctx->bufferManager())
, m_currentLayer(nullptr)
, m_pickRenderPlugins(true)
- , m_layerCachingEnabled(true)
, m_layerGPuProfilingEnabled(false)
, m_progressiveAARenderRequest(false)
{
@@ -335,35 +334,6 @@ void QSSGRendererImpl::drawScreenRect(QRectF inRect, const QVector3D &inColor)
m_context->draw(QSSGRenderDrawMode::Lines, m_rectIndexBuffer->numIndices(), 0);
}
-void QSSGRendererImpl::setupWidgetLayer()
-{
- const QSSGRef<QSSGRenderContext> &theContext = m_contextInterface->renderContext();
-
- if (!m_widgetTexture) {
- const QSSGRef<QSSGResourceManager> &theManager = m_contextInterface->resourceManager();
- m_widgetTexture = theManager->allocateTexture2D(m_beginFrameViewport.width(),
- m_beginFrameViewport.height(),
- QSSGRenderTextureFormat::RGBA8);
- m_widgetFbo = theManager->allocateFrameBuffer();
- m_widgetFbo->attach(QSSGRenderFrameBufferAttachment::Color0, QSSGRenderTextureOrRenderBuffer(m_widgetTexture));
- theContext->setRenderTarget(m_widgetFbo);
-
- // QSSGRenderRect theScissorRect( 0, 0, m_BeginFrameViewport.m_Width,
- // m_BeginFrameViewport.m_Height );
- // QSSGRenderContextScopedProperty<QSSGRenderRect> __scissorRect( theContext,
- // &QSSGRenderContext::GetScissorRect, &QSSGRenderContext::SetScissorRect, theScissorRect );
- QSSGRenderContextScopedProperty<bool> __scissorEnabled(*theContext,
- &QSSGRenderContext::isScissorTestEnabled,
- &QSSGRenderContext::setScissorTestEnabled,
- false);
- m_context->setClearColor(QVector4D(0, 0, 0, 0));
- m_context->clear(QSSGRenderClearValues::Color);
-
- } else {
- theContext->setRenderTarget(m_widgetFbo);
- }
-}
-
void QSSGRendererImpl::addMaterialDirtyClear(QSSGRenderGraphObject *material)
{
m_materialClearDirty.insert(material);
@@ -374,7 +344,6 @@ void QSSGRendererImpl::beginFrame()
for (int idx = 0, end = m_lastFrameLayers.size(); idx < end; ++idx)
m_lastFrameLayers[idx]->resetForFrame();
m_lastFrameLayers.clear();
- m_beginFrameViewport = m_contextInterface->viewport();
for (auto *matObj : qAsConst(m_materialClearDirty)) {
if (matObj->type == QSSGRenderGraphObject::Type::CustomMaterial)
static_cast<QSSGRenderCustomMaterial *>(matObj)->updateDirtyForFrame();
@@ -385,39 +354,6 @@ void QSSGRendererImpl::beginFrame()
}
void QSSGRendererImpl::endFrame()
{
- if (m_widgetTexture) {
- // Releasing the widget FBO can set it as the active frame buffer.
- QSSGRenderContextScopedProperty<const QSSGRef<QSSGRenderFrameBuffer> &> __fbo(*m_context,
- &QSSGRenderContext::renderTarget,
- &QSSGRenderContext::setRenderTarget);
- QSSGTextureDetails theDetails = m_widgetTexture->textureDetails();
- m_context->setBlendingEnabled(true);
- // Colors are expected to be non-premultiplied, so we premultiply alpha into them at
- // this point.
- m_context->setBlendFunction(QSSGRenderBlendFunctionArgument(QSSGRenderSrcBlendFunc::One,
- QSSGRenderDstBlendFunc::OneMinusSrcAlpha,
- QSSGRenderSrcBlendFunc::One,
- QSSGRenderDstBlendFunc::OneMinusSrcAlpha));
- m_context->setBlendEquation(QSSGRenderBlendEquationArgument(QSSGRenderBlendEquation::Add, QSSGRenderBlendEquation::Add));
-
- m_context->setDepthTestEnabled(false);
- m_context->setScissorTestEnabled(false);
- m_context->setViewport(m_beginFrameViewport);
- QSSGRenderCamera theCamera;
- theCamera.markDirty(QSSGRenderCamera::TransformDirtyFlag::TransformIsDirty);
- theCamera.flags.setFlag(QSSGRenderCamera::Flag::Orthographic);
- QVector2D theTextureDims(float(theDetails.width), float(theDetails.height));
- theCamera.calculateGlobalVariables(QRectF(0, 0, theDetails.width, theDetails.height));
- QMatrix4x4 theViewProj;
- theCamera.calculateViewProjectionMatrix(theViewProj);
- renderQuad(theTextureDims, theViewProj, *m_widgetTexture);
-
- const QSSGRef<QSSGResourceManager> &theManager(m_contextInterface->resourceManager());
- theManager->release(m_widgetFbo);
- theManager->release(m_widgetTexture);
- m_widgetTexture = nullptr;
- m_widgetFbo = nullptr;
- }
}
inline bool pickResultLessThan(const QSSGRenderPickResult &lhs, const QSSGRenderPickResult &rhs)
@@ -764,20 +700,6 @@ void QSSGRendererImpl::releaseLayerRenderResources(QSSGRenderLayer &inLayer)
}
}
-void QSSGRendererImpl::renderQuad(const QVector2D &inDimensions, const QMatrix4x4 &inMVP, QSSGRenderTexture2D &inQuadTexture)
-{
- m_context->setCullingEnabled(false);
- QSSGRef<QSSGLayerSceneShader> theShader = getSceneLayerShader();
- m_context->setActiveShader(theShader->shader);
- theShader->mvp.set(inMVP);
- theShader->dimensions.set(inDimensions);
- theShader->sampler.set(&inQuadTexture);
-
- generateXYQuad();
- m_context->setInputAssembler(m_quadInputAssembler);
- m_context->draw(QSSGRenderDrawMode::Triangles, m_quadIndexBuffer->numIndices(), 0);
-}
-
void QSSGRendererImpl::renderQuad()
{
m_context->setCullingEnabled(false);
@@ -1254,94 +1176,11 @@ void QSSGRendererImpl::updateCbAoShadow(const QSSGRenderLayer *pLayer, const QSS
}
}
-// widget context implementation
-
-QSSGRef<QSSGRenderVertexBuffer> QSSGRendererImpl::getOrCreateVertexBuffer(const QByteArray &inStr,
- quint32 stride,
- QSSGByteView bufferData)
-{
- const QSSGRef<QSSGRenderVertexBuffer> &retval = getVertexBuffer(inStr);
- if (retval) {
- // we update the buffer
- retval->updateBuffer(bufferData);
- return retval;
- }
-
- return *m_widgetVertexBuffers.insert(inStr, new QSSGRenderVertexBuffer(m_context, QSSGRenderBufferUsageType::Dynamic, stride, bufferData));
-}
-QSSGRef<QSSGRenderIndexBuffer> QSSGRendererImpl::getOrCreateIndexBuffer(const QByteArray &inStr,
- QSSGRenderComponentType componentType,
- QSSGByteView bufferData)
-{
- const QSSGRef<QSSGRenderIndexBuffer> &retval = getIndexBuffer(inStr);
- if (retval) {
- // we update the buffer
- retval->updateBuffer(bufferData);
- return retval;
- }
-
- return *m_widgetIndexBuffers.insert(inStr, new QSSGRenderIndexBuffer(m_context, QSSGRenderBufferUsageType::Dynamic, componentType, bufferData));
-}
-
-QSSGRef<QSSGRenderAttribLayout> QSSGRendererImpl::createAttributeLayout(QSSGDataView<QSSGRenderVertexBufferEntry> attribs)
-{
- // create our attribute layout
- return m_context->createAttributeLayout(attribs);
-}
-QSSGRef<QSSGRenderInputAssembler> QSSGRendererImpl::getOrCreateInputAssembler(const QByteArray &inStr,
- const QSSGRef<QSSGRenderAttribLayout> &attribLayout,
- QSSGDataView<QSSGRef<QSSGRenderVertexBuffer>> buffers,
- const QSSGRef<QSSGRenderIndexBuffer> &indexBuffer,
- QSSGDataView<quint32> strides,
- QSSGDataView<quint32> offsets)
-{
- const QSSGRef<QSSGRenderInputAssembler> &retval = getInputAssembler(inStr);
- if (retval)
- return retval;
- return *m_widgetInputAssembler.insert(inStr, m_context->createInputAssembler(attribLayout, buffers, indexBuffer, strides, offsets));
-}
-QSSGRef<QSSGRenderVertexBuffer> QSSGRendererImpl::getVertexBuffer(const QByteArray &inStr) const
-{
- const auto theIter = m_widgetVertexBuffers.constFind(inStr);
- if (theIter != m_widgetVertexBuffers.cend())
- return theIter.value();
- return nullptr;
-}
-QSSGRef<QSSGRenderIndexBuffer> QSSGRendererImpl::getIndexBuffer(const QByteArray &inStr) const
-{
- const auto theIter = m_widgetIndexBuffers.constFind(inStr);
- if (theIter != m_widgetIndexBuffers.cend())
- return theIter.value();
- return nullptr;
-}
-
-QSSGRef<QSSGRenderInputAssembler> QSSGRendererImpl::getInputAssembler(const QByteArray &inStr) const
-{
- const auto theIter = m_widgetInputAssembler.constFind(inStr);
- if (theIter != m_widgetInputAssembler.cend())
- return theIter.value();
- return nullptr;
-}
-QSSGRef<QSSGRenderShaderProgram> QSSGRendererImpl::getShader(const QByteArray &inStr) const
-{
- const auto theIter = m_widgetShaders.constFind(inStr);
- if (theIter != m_widgetShaders.cend())
- return theIter.value();
- return nullptr;
-}
-
-QSSGRef<QSSGRenderShaderProgram> QSSGRendererImpl::compileAndStoreShader(const QByteArray &inStr)
-{
- const QSSGRef<QSSGRenderShaderProgram> &newProgram = getProgramGenerator()->compileGeneratedShader(inStr);
- if (newProgram)
- m_widgetShaders.insert(inStr, newProgram);
- return newProgram;
-}
const QSSGRef<QSSGShaderProgramGeneratorInterface> &QSSGRendererImpl::getProgramGenerator()
{
diff --git a/src/runtimerender/rendererimpl/qssgrendererimpl_p.h b/src/runtimerender/rendererimpl/qssgrendererimpl_p.h
index 562bfbe7..2f2d6cc1 100644
--- a/src/runtimerender/rendererimpl/qssgrendererimpl_p.h
+++ b/src/runtimerender/rendererimpl/qssgrendererimpl_p.h
@@ -87,28 +87,13 @@ class Q_QUICK3DRUNTIMERENDER_EXPORT QSSGRendererImpl : public QSSGRendererInterf
typedef QVector<QSSGLayerRenderData *> TLayerRenderList;
typedef QVector<QSSGRenderPickResult> TPickResultArray;
- // Items to implement the widget context.
- typedef QHash<QByteArray, QSSGRef<QSSGRenderVertexBuffer>> TStrVertBufMap;
- typedef QHash<QByteArray, QSSGRef<QSSGRenderIndexBuffer>> TStrIndexBufMap;
- typedef QHash<QByteArray, QSSGRef<QSSGRenderShaderProgram>> TStrShaderMap;
- typedef QHash<QByteArray, QSSGRef<QSSGRenderInputAssembler>> TStrIAMap;
-
- typedef QHash<long, QSSGRenderNode *> TBoneIdNodeMap;
-
using PickResultList = QVarLengthArray<QSSGRenderPickResult, 20>; // Lets assume most items are filtered out already
QSSGRenderContextInterface *m_contextInterface; // We're own by the context interface
const QSSGRef<QSSGRenderContext> &m_context;
const QSSGRef<QSSGBufferManager> &m_bufferManager;
- // For rendering bounding boxes.
- QSSGRef<QSSGRenderVertexBuffer> m_boxVertexBuffer;
- QSSGRef<QSSGRenderIndexBuffer> m_boxIndexBuffer;
- QSSGRef<QSSGRenderShaderProgram> m_boxShader;
QSSGRef<QSSGRenderShaderProgram> m_screenRectShader;
- QSSGRef<QSSGRenderVertexBuffer> m_axisVertexBuffer;
- QSSGRef<QSSGRenderShaderProgram> m_axisShader;
-
// X,Y quad, broken down into 2 triangles and normalized over
//-1,1.
QSSGRef<QSSGRenderVertexBuffer> m_quadVertexBuffer;
@@ -129,7 +114,6 @@ class Q_QUICK3DRUNTIMERENDER_EXPORT QSSGRendererImpl : public QSSGRendererInterf
QSSGRef<QSSGRenderInputAssembler> m_pointInputAssembler;
QSSGRef<QSSGRenderAttribLayout> m_pointAttribLayout;
- QSSGRef<QSSGLayerSceneShader> m_sceneLayerShader;
QSSGRef<QSSGFlippedQuadShader> m_flippedQuadShader;
QSSGRef<QSSGLayerProgAABlendShader> m_layerProgAAShader;
QSSGRef<QSSGLayerLastFrameBlendShader> m_layerLastFrameBlendShader;
@@ -148,8 +132,6 @@ class Q_QUICK3DRUNTIMERENDER_EXPORT QSSGRendererImpl : public QSSGRendererInterf
QSSGRef<QSSGRenderableDepthPrepassShader> m_depthTessNPatchPrepassShader;
QSSGRef<QSSGSkyBoxShader> m_skyBoxShader;
QSSGRef<QSSGDefaultAoPassShader> m_defaultAoPassShader;
- QSSGRef<QSSGDefaultAoPassShader> m_fakeDepthShader;
- QSSGRef<QSSGDefaultAoPassShader> m_fakeCubemapDepthShader;
QSSGRef<QSSGRenderableDepthPrepassShader> m_paraboloidDepthShader;
QSSGRef<QSSGRenderableDepthPrepassShader> m_paraboloidDepthTessLinearShader;
QSSGRef<QSSGRenderableDepthPrepassShader> m_paraboloidDepthTessPhongShader;
@@ -167,11 +149,6 @@ class Q_QUICK3DRUNTIMERENDER_EXPORT QSSGRendererImpl : public QSSGRendererInterf
QSSGRef<QSSGShadowmapPreblurShader> m_orthoShadowBlurXShader;
QSSGRef<QSSGShadowmapPreblurShader> m_orthoShadowBlurYShader;
- // Overlay used to render all widgets.
- QRect m_beginFrameViewport;
- QSSGRef<QSSGRenderTexture2D> m_widgetTexture;
- QSSGRef<QSSGRenderFrameBuffer> m_widgetFbo;
-
// Allocator for temporary data that is cleared after every layer.
TInstanceRenderMap m_instanceRenderMap;
TLayerRenderList m_lastFrameLayers;
@@ -184,15 +161,7 @@ class Q_QUICK3DRUNTIMERENDER_EXPORT QSSGRendererImpl : public QSSGRendererInterf
QMatrix4x4 m_viewProjection;
QByteArray m_generatedShaderString;
- TStrVertBufMap m_widgetVertexBuffers;
- TStrIndexBufMap m_widgetIndexBuffers;
- TStrShaderMap m_widgetShaders;
- TStrIAMap m_widgetInputAssembler;
-
- TBoneIdNodeMap m_boneIdNodeMap;
-
bool m_pickRenderPlugins;
- bool m_layerCachingEnabled;
bool m_layerGPuProfilingEnabled;
bool m_progressiveAARenderRequest;
QSSGShaderDefaultMaterialKeyProperties m_defaultMaterialShaderKeyProperties;
@@ -207,9 +176,6 @@ public:
return m_defaultMaterialShaderKeyProperties;
}
- void enableLayerCaching(bool inEnabled) override { m_layerCachingEnabled = inEnabled; }
- bool isLayerCachingEnabled() const override { return m_layerCachingEnabled; }
-
void enableLayerGpuProfiling(bool inEnabled) override { m_layerGPuProfilingEnabled = inEnabled; }
bool isLayerGpuProfilingEnabled() const override { return m_layerGPuProfilingEnabled; }
@@ -266,9 +232,6 @@ public:
void releaseLayerRenderResources(QSSGRenderLayer &inLayer) override;
- void renderQuad(const QVector2D &inDimensions,
- const QMatrix4x4 &inMVP,
- QSSGRenderTexture2D &inQuadTexture) override;
void renderQuad() override;
void renderFlippedQuad(const QVector2D &inDimensions,
@@ -296,9 +259,6 @@ public:
QSSGRef<QSSGSkyBoxShader> getSkyBoxShader();
QSSGRef<QSSGDefaultAoPassShader> getDefaultAoPassShader(const ShaderFeatureSetList &inFeatureSet);
- QSSGRef<QSSGDefaultAoPassShader> getFakeDepthShader(const ShaderFeatureSetList &inFeatureSet);
- QSSGRef<QSSGDefaultAoPassShader> getFakeCubeDepthShader(const ShaderFeatureSetList &inFeatureSet);
- QSSGRef<QSSGDefaultMaterialRenderableDepthShader> getRenderableDepthShader();
QSSGRef<QSSGRenderableDepthPrepassShader> getParaboloidDepthShader(TessellationModeValues inTessMode);
QSSGRef<QSSGRenderableDepthPrepassShader> getCubeShadowDepthShader(TessellationModeValues inTessMode);
@@ -326,7 +286,6 @@ public:
const QSSGRef<QSSGRenderableDepthPrepassShader> &getDepthTessLinearPrepassShader(bool inDisplaced);
const QSSGRef<QSSGRenderableDepthPrepassShader> &getDepthTessPhongPrepassShader();
const QSSGRef<QSSGRenderableDepthPrepassShader> &getDepthTessNPatchPrepassShader();
- QSSGRef<QSSGLayerSceneShader> getSceneLayerShader();
QSSGRef<QSSGFlippedQuadShader> getFlippedQuadShader();
QSSGRef<QSSGRenderShaderProgram> getTextAtlasEntryShader();
void generateXYQuad();
@@ -351,32 +310,7 @@ public:
QSSGRenderContextInterface *contextInterface() { return m_contextInterface; }
void drawScreenRect(QRectF inRect, const QVector3D &inColor);
- // Binds an offscreen texture. Widgets are rendered last.
- void setupWidgetLayer();
-
- // widget context implementation
- QSSGRef<QSSGRenderVertexBuffer> getOrCreateVertexBuffer(
- const QByteArray &inStr,
- quint32 stride,
- QSSGByteView bufferData = QSSGByteView());
- QSSGRef<QSSGRenderIndexBuffer> getOrCreateIndexBuffer(
- const QByteArray &inStr,
- QSSGRenderComponentType componentType,
- QSSGByteView bufferData = QSSGByteView());
- QSSGRef<QSSGRenderAttribLayout> createAttributeLayout(QSSGDataView<QSSGRenderVertexBufferEntry> attribs);
- QSSGRef<QSSGRenderInputAssembler> getOrCreateInputAssembler(const QByteArray &inStr,
- const QSSGRef<QSSGRenderAttribLayout> &attribLayout,
- QSSGDataView<QSSGRef<QSSGRenderVertexBuffer>> buffers,
- const QSSGRef<QSSGRenderIndexBuffer> &indexBuffer,
- QSSGDataView<quint32> strides,
- QSSGDataView<quint32> offsets);
-
- QSSGRef<QSSGRenderVertexBuffer> getVertexBuffer(const QByteArray &inStr) const;
- QSSGRef<QSSGRenderIndexBuffer> getIndexBuffer(const QByteArray &inStr) const;
- QSSGRef<QSSGRenderInputAssembler> getInputAssembler(const QByteArray &inStr) const;
-
- QSSGRef<QSSGRenderShaderProgram> getShader(const QByteArray &inStr) const;
- QSSGRef<QSSGRenderShaderProgram> compileAndStoreShader(const QByteArray &inStr);
+
const QSSGRef<QSSGShaderProgramGeneratorInterface> &getProgramGenerator();
QSSGOption<QVector2D> getLayerMouseCoords(QSSGRenderLayer &inLayer,
diff --git a/src/runtimerender/rendererimpl/qssgrendererimplshaders.cpp b/src/runtimerender/rendererimpl/qssgrendererimplshaders.cpp
index f158bad7..a5fc1993 100644
--- a/src/runtimerender/rendererimpl/qssgrendererimplshaders.cpp
+++ b/src/runtimerender/rendererimpl/qssgrendererimplshaders.cpp
@@ -1777,49 +1777,6 @@ QSSGRef<QSSGRenderShaderProgram> QSSGRendererImpl::getTextAtlasEntryShader()
return getProgramGenerator()->compileGeneratedShader("texture atlas entry shader", QSSGShaderCacheProgramFlags(), ShaderFeatureSetList());
}
-QSSGRef<QSSGLayerSceneShader> QSSGRendererImpl::getSceneLayerShader()
-{
- if (m_sceneLayerShader)
- return m_sceneLayerShader;
-
- getProgramGenerator()->beginProgram();
-
- QSSGShaderStageGeneratorInterface &vertexGenerator(*getProgramGenerator()->getStage(QSSGShaderGeneratorStage::Vertex));
- QSSGShaderStageGeneratorInterface &fragmentGenerator(*getProgramGenerator()->getStage(QSSGShaderGeneratorStage::Fragment));
-
- vertexGenerator.addIncoming("attr_pos", "vec3");
- vertexGenerator.addIncoming("attr_uv", "vec2");
- // xy of text dimensions are scaling factors, zw are offset factors.
- vertexGenerator.addUniform("layer_dimensions", "vec2");
- vertexGenerator.addUniform("modelViewProjection", "mat4");
- vertexGenerator.addOutgoing("uv_coords", "vec2");
- vertexGenerator.append("void main() {");
- vertexGenerator << " vec3 layerPos = vec3(attr_pos.x * layer_dimensions.x / 2.0"
- << ", attr_pos.y * layer_dimensions.y / 2.0"
- << ", attr_pos.z);"
- << "\n";
-
- vertexGenerator.append(" gl_Position = modelViewProjection * vec4(layerPos, 1.0);");
- vertexGenerator.append(" uv_coords = attr_uv;");
- vertexGenerator.append("}");
-
- fragmentGenerator.addUniform("layer_image", "sampler2D");
- fragmentGenerator.append("void main() {");
- fragmentGenerator.append(" vec2 theCoords = uv_coords;\n");
- fragmentGenerator.append(" vec4 theLayerTexture = texture2D( layer_image, theCoords );\n");
- fragmentGenerator.append(" if (theLayerTexture.a == 0.0) discard;\n");
- fragmentGenerator.append(" fragOutput = theLayerTexture;\n");
- fragmentGenerator.append("}");
- QSSGRef<QSSGRenderShaderProgram> theShader = getProgramGenerator()->compileGeneratedShader("layer shader",
- QSSGShaderCacheProgramFlags(),
- ShaderFeatureSetList());
- QSSGRef<QSSGLayerSceneShader> retval;
- if (theShader)
- retval = QSSGRef<QSSGLayerSceneShader>(new QSSGLayerSceneShader(theShader));
- m_sceneLayerShader = retval;
- return m_sceneLayerShader;
-}
-
QSSGRef<QSSGFlippedQuadShader> QSSGRendererImpl::getFlippedQuadShader()
{
if (m_flippedQuadShader)
diff --git a/src/runtimerender/rendererimpl/qssgrendererimplshaders_p.h b/src/runtimerender/rendererimpl/qssgrendererimplshaders_p.h
index 710c0c8d..12c0d758 100644
--- a/src/runtimerender/rendererimpl/qssgrendererimplshaders_p.h
+++ b/src/runtimerender/rendererimpl/qssgrendererimplshaders_p.h
@@ -275,27 +275,6 @@ struct QSSGLayerLastFrameBlendShader
}
};
-struct QSSGLayerSceneShader
-{
- QAtomicInt ref;
- QSSGRef<QSSGRenderShaderProgram> shader;
-
- QSSGRenderCachedShaderProperty<QMatrix4x4> mvp;
- // Dimensions and offsetting of the image.
- QSSGRenderCachedShaderProperty<QVector2D> dimensions;
- // The fourth member of text color is the opacity
- QSSGRenderCachedShaderProperty<QSSGRenderTexture2D *> sampler;
-
- QSSGLayerSceneShader(const QSSGRef<QSSGRenderShaderProgram> &inShader)
- : shader(inShader)
- , mvp("modelViewProjection", inShader)
- , dimensions("layer_dimensions", inShader)
- , sampler("layer_image", inShader)
- {
- }
- ~QSSGLayerSceneShader() {}
-};
-
struct QSSGFlippedQuadShader
{
QAtomicInt ref;