File tree Expand file tree Collapse file tree 2 files changed +12
-8
lines changed Expand file tree Collapse file tree 2 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -329,6 +329,16 @@ - (void) setTextureDirty
329329 _isTextureDirty = YES ;
330330}
331331
332+ -(CCRenderState *)renderState
333+ {
334+ if (_renderState == nil ){
335+ // Create an uncached renderstate so the texture can be released before the renderstate cache is flushed.
336+ _renderState = [[CCRenderState alloc ] initWithBlendMode: _blendMode shader: _shader shaderUniforms: self .shaderUniforms];
337+ }
338+
339+ return _renderState;
340+ }
341+
332342
333343#pragma mark -
334344#pragma mark Render Font Mac & iOS 6
Original file line number Diff line number Diff line change @@ -49,14 +49,8 @@ @implementation CCRenderTextureSprite
4949-(CCRenderState *)renderState
5050{
5151 if (_renderState == nil ){
52- if (_shaderUniforms.count > 1 ){
53- _renderState = [[CCRenderState alloc ] initWithBlendMode: _blendMode shader: _shader shaderUniforms: _shaderUniforms];
54- } else {
55- // Creating a regular, cached render state here would be mildly bad.
56- // The state would prevent the render texture from being released until the cache is flushed.
57- NSDictionary *uniforms = @{CCShaderUniformMainTexture:(_texture ?: [CCTexture none ])};
58- _renderState = [[CCRenderState alloc ] initWithBlendMode: _blendMode shader: _shader shaderUniforms: uniforms];
59- }
52+ // Create an uncached renderstate so the texture can be released before the renderstate cache is flushed.
53+ _renderState = [[CCRenderState alloc ] initWithBlendMode: _blendMode shader: _shader shaderUniforms: self .shaderUniforms];
6054 }
6155
6256 return _renderState;
You can’t perform that action at this time.
0 commit comments