Skip to content

Commit 769ca9b

Browse files
Ivy233deepin-bot[bot]
authored andcommitted
fix: write maskOffset to the correct uniform buffer offset
Use MaskOffsetOffset instead of MaskOffsetSize when updating the Qt 6 opaque quickitemviewport uniform buffer. The previous code wrote maskOffset using a size constant as the destination offset, which does not match the shader ubuf layout and can corrupt the following uniform data. Log: Fix maskOffset uniform buffer write offset in Qt 6 mask effect shader fix: 修复 maskOffset 写入错误的 uniform buffer 偏移 在更新 Qt 6 的 opaque quickitemviewport uniform buffer 时,使用正确的 MaskOffsetOffset 而不是 MaskOffsetSize。旧代码把大小常量误用成目标偏移, 与 shader 的 ubuf 布局不一致,并可能破坏后续 uniform 数据。 Log: 修复 Qt 6 mask effect shader 中 maskOffset 的 uniform buffer 写入偏移 PMS: BUG-306847
1 parent 1aa2c93 commit 769ca9b

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/private/dmaskeffectnode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-FileCopyrightText: 2020 - 2022 UnionTech Software Technology Co., Ltd.
1+
// SPDX-FileCopyrightText: 2020 - 2026 UnionTech Software Technology Co., Ltd.
22
//
33
// SPDX-License-Identifier: LGPL-3.0-or-later
44

@@ -200,7 +200,7 @@ bool OpaqueTextureMaterialShader::updateUniformData(RenderState &state, QSGMater
200200
Q_ASSERT(sizeof(maskScale) == MaskScaleSize);
201201

202202
memcpy(buf->data() + MaskScaleOffset, &maskScale, MaskScaleSize);
203-
memcpy(buf->data() + MaskOffsetSize, &maskOffset, MaskOffsetSize);
203+
memcpy(buf->data() + MaskOffsetOffset, &maskOffset, MaskOffsetSize);
204204
memcpy(buf->data() + SourceScaleOffset, &sourceScale, SourceScaleSize);
205205

206206
changed = true;

0 commit comments

Comments
 (0)