Skip to content

Commit aa3cd58

Browse files
committed
fix(canvas): ios default buffers
1 parent ff5a34d commit aa3cd58

File tree

9 files changed

+19
-9
lines changed

9 files changed

+19
-9
lines changed

packages/canvas/src-native/canvas-ios/CanvasNative/Dist/CanvasNative.xcframework/ios-x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
</data>
5555
<key>TNSCanvas.nib</key>
5656
<data>
57-
CLnVmWDPUGf/yS/sZwxpjQMj9Lg=
57+
DWmgj5AukYk6+vhCaU8XM3MxZR4=
5858
</data>
5959
</dict>
6060
<key>files2</key>
@@ -184,11 +184,11 @@
184184
<dict>
185185
<key>hash</key>
186186
<data>
187-
CLnVmWDPUGf/yS/sZwxpjQMj9Lg=
187+
DWmgj5AukYk6+vhCaU8XM3MxZR4=
188188
</data>
189189
<key>hash2</key>
190190
<data>
191-
KG6K761zEi4gm8K90d0JsEUbwEPymh+947qwyhoIvxk=
191+
2SOE5gQCn3i+tL5hhQ/u75IARpHtiXHIH5w6nYWs5ms=
192192
</data>
193193
</dict>
194194
</dict>

packages/canvas/src-native/canvas-ios/CanvasNative/Source/GLRenderer.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@ public class GLRenderer: NSObject, GLKViewDelegate {
324324
var binding = GLint(0)
325325
glGetIntegerv(GLenum(GL_FRAMEBUFFER_BINDING), &binding)
326326
displayFramebuffer = GLuint(binding)
327+
var renderBufferBinding = GLint()
328+
glGetIntegerv(GLenum(GL_RENDERBUFFER_BINDING), &renderBufferBinding)
329+
displayRenderbuffer = GLuint(renderBufferBinding)
327330
if(contextType == .webGL){
328331
if let gl = canvasView?.renderingContextWebGL as? TNSWebGLRenderingContext {
329332
gl.reset()
@@ -390,9 +393,12 @@ public class GLRenderer: NSObject, GLKViewDelegate {
390393
glkView.frame = CGRect(x: 0, y: 0, width: CGFloat(1/scale), height: CGFloat(1/scale))
391394
}
392395
glkView.bindDrawable()
393-
var binding = GLint(0)
396+
var binding = GLint()
394397
glGetIntegerv(GLenum(GL_FRAMEBUFFER_BINDING), &binding)
395398
displayFramebuffer = GLuint(binding)
399+
var renderBufferBinding = GLint()
400+
glGetIntegerv(GLenum(GL_RENDERBUFFER_BINDING), &renderBufferBinding)
401+
displayRenderbuffer = GLuint(renderBufferBinding)
396402
if(contextType == .webGL){
397403
if let gl = canvasView?.renderingContextWebGL as? TNSWebGLRenderingContext {
398404
gl.reset()

packages/canvas/src-native/canvas-ios/CanvasNative/Source/TNSWebGLRenderingContext.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public class TNSWebGLRenderingContext: TNSCanvasRenderingContext {
155155

156156
public func bindFramebuffer(_ target: UInt32,_ framebuffer: UInt32){
157157
canvas.renderer.ensureIsContextIsCurrent()
158-
if(framebuffer == 0){
158+
if(framebuffer == 0 && target == GL_FRAMEBUFFER){
159159
glBindFramebuffer(target, canvas.renderer.displayFramebuffer)
160160
return
161161
}
@@ -164,6 +164,10 @@ public class TNSWebGLRenderingContext: TNSCanvasRenderingContext {
164164

165165
public func bindRenderbuffer(_ target: UInt32, _ renderbuffer: UInt32){
166166
canvas.renderer.ensureIsContextIsCurrent()
167+
if(renderbuffer == 0 && target == GL_RENDERER){
168+
glBindRenderbuffer(target, canvas.renderer.displayRenderbuffer)
169+
return
170+
}
167171
glBindRenderbuffer(target, renderbuffer)
168172
}
169173

@@ -482,14 +486,14 @@ public class TNSWebGLRenderingContext: TNSCanvasRenderingContext {
482486

483487
public func createBuffer() -> UInt32 {
484488
canvas.renderer.ensureIsContextIsCurrent()
485-
var bufferId: GLuint = 0
489+
var bufferId = GLuint()
486490
glGenBuffers(1, &bufferId)
487491
return bufferId
488492
}
489493

490494
public func createFramebuffer() -> UInt32 {
491495
canvas.renderer.ensureIsContextIsCurrent()
492-
var frameBufferId: GLuint = 0
496+
var frameBufferId = GLuint()
493497
glGenFramebuffers(1, &frameBufferId)
494498
return frameBufferId
495499
}
@@ -501,7 +505,7 @@ public class TNSWebGLRenderingContext: TNSCanvasRenderingContext {
501505

502506
public func createRenderbuffer() -> UInt32 {
503507
canvas.renderer.ensureIsContextIsCurrent()
504-
var renderBufferId: GLuint = 0
508+
var renderBufferId = GLuint()
505509
glGenRenderbuffers(1, &renderBufferId)
506510
return renderBufferId
507511
}
@@ -514,7 +518,7 @@ public class TNSWebGLRenderingContext: TNSCanvasRenderingContext {
514518

515519
public func createTexture() -> UInt32 {
516520
canvas.renderer.ensureIsContextIsCurrent()
517-
var textureId:GLuint = 0
521+
var textureId = GLuint()
518522
glGenTextures(1, &textureId)
519523
return textureId
520524
}

0 commit comments

Comments
 (0)