CSPspEmu.Core.Gpu.Impl.Opengl.Modules.RenderbufferManager.TextureCacheGetAndBind C# (CSharp) Method

TextureCacheGetAndBind() public method

public TextureCacheGetAndBind ( GpuStateStruct GpuState ) : GLTexture
GpuState CSPspEmu.Core.Gpu.State.GpuStateStruct
return GLTexture
        public GLTexture TextureCacheGetAndBind(GpuStateStruct* GpuState)
        {
            if (_DynarecConfig.EnableRenderTarget)
            {
                var TextureMappingState = &GpuState->TextureMappingState;
                var ClutState = &TextureMappingState->ClutState;
                var TextureState = &TextureMappingState->TextureState;
                var Key = new DrawBufferKey()
                {
                    Address = TextureState->Mipmap0.Address,
                };

                if (DrawBufferTextures.ContainsKey(Key))
                {
                    return GetOrCreateDrawBufferTexture(Key).RenderTarget.TextureColor.Bind();
                }
            }

            var CurrentTexture = OpenglGpuImpl.TextureCache.Get(GpuState);
            CurrentTexture.Bind();
            return CurrentTexture.Texture;
        }