Skip to content

Commit 0c6ff67

Browse files
authored
fix up AA for WebXR and use multisample extension only when needed (#30724)
1 parent d630eb8 commit 0c6ff67

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/renderers/common/XRManager.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,7 @@ class XRManager extends EventDispatcher {
551551
const backend = renderer.backend;
552552

553553
const gl = renderer.getContext();
554+
const attributes = gl.getContextAttributes();
554555

555556
this._session = session;
556557

@@ -620,6 +621,7 @@ class XRManager extends EventDispatcher {
620621
colorSpace: renderer.outputColorSpace,
621622
depthTexture: new DepthTexture( glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, undefined, undefined, undefined, undefined, undefined, undefined, depthFormat ),
622623
stencilBuffer: renderer.stencil,
624+
samples: attributes.antialias ? 4 : 0,
623625
resolveDepthBuffer: ( glProjLayer.ignoreDepthValues === false ),
624626
resolveStencilBuffer: ( glProjLayer.ignoreDepthValues === false ),
625627
} );
@@ -965,6 +967,7 @@ function onSessionEnd() {
965967

966968
renderer.backend.setXRTarget( null );
967969
renderer.setOutputRenderTarget( null );
970+
renderer.setRenderTarget( null );
968971

969972
this._session = null;
970973
this._xrRenderTarget = null;

src/renderers/webgl-fallback/WebGLBackend.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1998,7 +1998,7 @@ class WebGLBackend extends Backend {
19981998

19991999
} else {
20002000

2001-
if ( useMultisampledRTT ) {
2001+
if ( hasExternalTextures && useMultisampledRTT ) {
20022002

20032003
multisampledRTTExt.framebufferTexture2DMultisampleEXT( gl.FRAMEBUFFER, attachment, gl.TEXTURE_2D, textureData.textureGPU, 0, samples );
20042004

@@ -2031,7 +2031,7 @@ class WebGLBackend extends Backend {
20312031
textureData.renderTarget = descriptor.renderTarget;
20322032
textureData.cacheKey = cacheKey; // required for copyTextureToTexture()
20332033

2034-
if ( useMultisampledRTT ) {
2034+
if ( hasExternalTextures && useMultisampledRTT ) {
20352035

20362036
multisampledRTTExt.framebufferTexture2DMultisampleEXT( gl.FRAMEBUFFER, depthStyle, gl.TEXTURE_2D, textureData.textureGPU, 0, samples );
20372037

0 commit comments

Comments
 (0)