Initial support for GPU channels (#2372)

* Ground work for separate GPU channels

* Rename TextureManager to TextureCache

* Decouple texture bindings management from the texture cache

* Rename BufferManager to BufferCache

* Decouple buffer bindings management from the buffer cache

* More comments and proper disposal

* PR feedback

* Force host state update on channel switch

* Typo

* PR feedback

* Missing using
This commit is contained in:
gdkchan 2021-06-23 20:51:41 -03:00 committed by GitHub
parent 12a7a2ead8
commit a10b2c5ff2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 1745 additions and 1456 deletions

View file

@ -129,8 +129,8 @@ namespace Ryujinx.Graphics.Gpu.Shader
public uint QueryConstantBufferUse()
{
return _compute
? _context.Methods.BufferManager.GetComputeUniformBufferUseMask()
: _context.Methods.BufferManager.GetGraphicsUniformBufferUseMask(_stageIndex);
? _state.Channel.BufferManager.GetComputeUniformBufferUseMask()
: _state.Channel.BufferManager.GetGraphicsUniformBufferUseMask(_stageIndex);
}
/// <summary>
@ -190,11 +190,11 @@ namespace Ryujinx.Graphics.Gpu.Shader
{
if (_compute)
{
return _context.Methods.TextureManager.GetComputeTextureDescriptor(_state, handle, cbufSlot);
return _state.Channel.TextureManager.GetComputeTextureDescriptor(_state, handle, cbufSlot);
}
else
{
return _context.Methods.TextureManager.GetGraphicsTextureDescriptor(_state, _stageIndex, handle, cbufSlot);
return _state.Channel.TextureManager.GetGraphicsTextureDescriptor(_state, _stageIndex, handle, cbufSlot);
}
}