diff options
Diffstat (limited to 'tests/manual/rhi/triquadcube/texturedcuberenderer.cpp')
-rw-r--r-- | tests/manual/rhi/triquadcube/texturedcuberenderer.cpp | 71 |
1 files changed, 12 insertions, 59 deletions
diff --git a/tests/manual/rhi/triquadcube/texturedcuberenderer.cpp b/tests/manual/rhi/triquadcube/texturedcuberenderer.cpp index d8dea6d91f..452c593e16 100644 --- a/tests/manual/rhi/triquadcube/texturedcuberenderer.cpp +++ b/tests/manual/rhi/triquadcube/texturedcuberenderer.cpp @@ -1,56 +1,9 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include "texturedcuberenderer.h" #include <QFile> -#include <QtGui/private/qshader_p.h> +#include <rhi/qshader.h> #include "../shared/cube.h" @@ -70,12 +23,12 @@ void TexturedCubeRenderer::initResources(QRhiRenderPassDescriptor *rp) { m_vbuf = m_r->newBuffer(QRhiBuffer::Immutable, QRhiBuffer::VertexBuffer, sizeof(cube)); m_vbuf->setName(QByteArrayLiteral("Cube vbuf (textured)")); - m_vbuf->build(); + m_vbuf->create(); m_vbufReady = false; m_ubuf = m_r->newBuffer(QRhiBuffer::Dynamic, QRhiBuffer::UniformBuffer, 64 + 4); m_ubuf->setName(QByteArrayLiteral("Cube ubuf (textured)")); - m_ubuf->build(); + m_ubuf->create(); m_image = QImage(QLatin1String(":/qt256.png")).convertToFormat(QImage::Format_RGBA8888); QRhiTexture::Flags texFlags; @@ -85,18 +38,18 @@ void TexturedCubeRenderer::initResources(QRhiRenderPassDescriptor *rp) texFlags |= QRhiTexture::UsedWithGenerateMips; m_tex = m_r->newTexture(QRhiTexture::RGBA8, QSize(m_image.width(), m_image.height()), 1, texFlags); m_tex->setName(QByteArrayLiteral("Qt texture")); - m_tex->build(); + m_tex->create(); m_sampler = m_r->newSampler(QRhiSampler::Linear, QRhiSampler::Linear, MIPMAP ? QRhiSampler::Linear : QRhiSampler::None, QRhiSampler::ClampToEdge, QRhiSampler::ClampToEdge); - m_sampler->build(); + m_sampler->create(); m_srb = m_r->newShaderResourceBindings(); m_srb->setBindings({ QRhiShaderResourceBinding::uniformBuffer(0, QRhiShaderResourceBinding::VertexStage | QRhiShaderResourceBinding::FragmentStage, m_ubuf), QRhiShaderResourceBinding::sampledTexture(1, QRhiShaderResourceBinding::FragmentStage, m_tex, m_sampler) }); - m_srb->build(); + m_srb->create(); m_ps = m_r->newGraphicsPipeline(); @@ -139,7 +92,7 @@ void TexturedCubeRenderer::initResources(QRhiRenderPassDescriptor *rp) m_ps->setShaderResourceBindings(m_srb); m_ps->setRenderPassDescriptor(rp); - m_ps->build(); + m_ps->create(); } void TexturedCubeRenderer::resize(const QSize &pixelSize) @@ -186,10 +139,10 @@ void TexturedCubeRenderer::queueResourceUpdates(QRhiResourceUpdateBatch *resourc // the ghetto mipmap generator... for (int i = 0, ie = m_r->mipLevelsForSize(m_image.size()); i != ie; ++i) { QImage image = m_image.scaled(m_r->sizeForMipLevel(i, m_image.size())); - descEntries.append({ 0, i, image }); + descEntries.append({ 0, i, QRhiTextureSubresourceUploadDescription(image) }); } } else { - descEntries.append({ 0, 0, m_image }); + descEntries.append({ 0, 0, QRhiTextureSubresourceUploadDescription(m_image) }); } QRhiTextureUploadDescription desc; desc.setEntries(descEntries.cbegin(), descEntries.cend()); @@ -217,7 +170,7 @@ void TexturedCubeRenderer::queueDraw(QRhiCommandBuffer *cb, const QSize &outputS cb->setShaderResources(); const QRhiCommandBuffer::VertexInput vbufBindings[] = { { m_vbuf, 0 }, - { m_vbuf, 36 * 3 * sizeof(float) } + { m_vbuf, quint32(36 * 3 * sizeof(float)) } }; cb->setVertexInput(0, 2, vbufBindings); cb->draw(36); |