commit 61f208cf60202d11be09bd0ce19d57a94e1452c2
parent 865b1c2828276b95e523ed310c39ce6731d07dff
Author: Nicolas Silva <nical@fastmail.com>
Date: Tue, 7 Oct 2025 07:39:02 +0000
Bug 1992072 - Address -Wsign-compare. warnings in swgl r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D267182
Diffstat:
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/gfx/wr/swgl/src/gl.cc b/gfx/wr/swgl/src/gl.cc
@@ -2265,10 +2265,11 @@ void BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size,
assert(0);
return;
}
+ GLsizeiptr uOffset = offset;
Buffer& b = ctx->buffers[ctx->get_binding(target)];
- assert(offset < b.size && size <= b.size - offset);
- if (data && b.buf && offset < b.size && size <= b.size - offset) {
- memcpy(&b.buf[offset], data, size);
+ assert(uOffset < b.size && size <= b.size - uOffset);
+ if (data && b.buf && uOffset < b.size && size <= b.size - uOffset) {
+ memcpy(&b.buf[uOffset], data, size);
}
}
@@ -2280,11 +2281,16 @@ void* MapBuffer(GLenum target, UNUSED GLbitfield access) {
void* MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length,
UNUSED GLbitfield access) {
Buffer& b = ctx->buffers[ctx->get_binding(target)];
- if (b.buf && offset >= 0 && length > 0 && offset < b.size &&
- length <= b.size - offset) {
- return b.buf + offset;
+ if (!b.buf || offset < 0 || length == 0) {
+ return nullptr;
}
- return nullptr;
+
+ GLsizeiptr uOffset = offset;
+ if (uOffset >= b.size || length > b.size - uOffset) {
+ return nullptr;
+ }
+
+ return b.buf + offset;
}
GLboolean UnmapBuffer(GLenum target) {