Skip to content

Commit 88711df

Browse files
committed
Fix drawingBufferSize computation when context is lost
1 parent 5c86110 commit 88711df

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

src/utils.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ export function getDrawingbufferInfo(gl) {
104104
}
105105
export function computeDrawingbufferSize(gl, drawingBufferInfo) {
106106
// this will need to change for hi-color support
107+
if (gl.isContextLost()) {
108+
return 0;
109+
}
107110
const {samples, depthBits, contextAttributes} = drawingBufferInfo;
108111
const size = gl.drawingBufferWidth * gl.drawingBufferHeight * 4 || 0;
109112
const depth = contextAttributes.depth ? 1 : 0;

test/tests/contextloss-tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ function createExposedPromise() {
1414

1515
const wait = ms => new Promise(resolve => setTimeout(resolve, ms));
1616

17-
describe('webgl context loss tests', () => {
17+
describe('webgl context lost tests', () => {
1818

1919
async function testContextLost(gl) {
2020
const contextLostExposedPromise = createExposedPromise();

test/tests/test-utils.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ export class MemInfoTracker {
66
assertTruthy(gl);
77
this.ext = gl.getExtension('GMAN_webgl_memory');
88
assertTruthy(this.ext);
9-
this.drawingbufferSize = computeDrawingbufferSize(gl, getDrawingbufferInfo(gl));
9+
this.gl = gl;
1010
this.numObjects = 0;
1111
this.memSize = 0;
1212
this.type = type;
1313
}
1414
check() {
15-
const {ext, type, memSize, numObjects, drawingbufferSize} = this;
15+
const {gl} = this;
16+
const drawingbufferSize = computeDrawingbufferSize(gl, getDrawingbufferInfo(gl));
17+
const {ext, type, memSize, numObjects} = this;
1618
const {memory, resources} = ext.getMemoryInfo();
1719
if (memory[type] !== undefined) {
1820
assertEqual(memory[type], memSize, `memory.${type}`);

0 commit comments

Comments
 (0)