End empty gl queries before returning them to the pool. (#1806)

This commit is contained in:
riperiperi 2020-12-11 23:31:39 +00:00 committed by GitHub
parent 8a6607540e
commit 06057a99a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 7 deletions

View file

@ -44,14 +44,17 @@ namespace Ryujinx.Graphics.OpenGL.Queries
GL.BeginQuery(_type, Query);
}
public unsafe void End()
public unsafe void End(bool withResult)
{
GL.EndQuery(_type);
GL.BindBuffer(BufferTarget.QueryBuffer, _buffer);
if (withResult)
{
GL.BindBuffer(BufferTarget.QueryBuffer, _buffer);
Marshal.WriteInt64(_bufferMap, -1L);
GL.GetQueryObject(Query, GetQueryObjectParam.QueryResult, (long*)0);
Marshal.WriteInt64(_bufferMap, -1L);
GL.GetQueryObject(Query, GetQueryObjectParam.QueryResult, (long*)0);
}
}
public bool TryGetResult(out long result)