diff options
| author | riperiperi <rhy3756547@hotmail.com> | 2021-05-16 19:43:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-16 20:43:27 +0200 |
| commit | 212e472c9fac8253456d710e0b071579da330c0a (patch) | |
| tree | 7dd5038a561cee9ca862ef8e0e952784ad7f2869 /Ryujinx.Graphics.OpenGL/Image/TextureView.cs | |
| parent | bec67dbef7a505fb5c4a1734be1517f67474fb4d (diff) | |
Use copy dependencies for the Intel/AMD view format workaround (#2144)
* This might help AMD a bit
* Removal of old workaround.
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Image/TextureView.cs')
| -rw-r--r-- | Ryujinx.Graphics.OpenGL/Image/TextureView.cs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Image/TextureView.cs b/Ryujinx.Graphics.OpenGL/Image/TextureView.cs index e8c3e3be..8e8d3c78 100644 --- a/Ryujinx.Graphics.OpenGL/Image/TextureView.cs +++ b/Ryujinx.Graphics.OpenGL/Image/TextureView.cs @@ -10,8 +10,6 @@ namespace Ryujinx.Graphics.OpenGL.Image private readonly TextureStorage _parent; - private TextureView _incompatibleFormatView; - public ITextureInfo Storage => _parent; public int FirstLayer { get; private set; } @@ -102,35 +100,6 @@ namespace Ryujinx.Graphics.OpenGL.Image return _parent.CreateView(info, firstLayer, firstLevel); } - public int GetIncompatibleFormatViewHandle() - { - // AMD and Intel have a bug where the view format is always ignored; - // they use the parent format instead. - // As a workaround we create a new texture with the correct - // format, and then do a copy after the draw. - if (_parent.Info.Format != Format) - { - if (_incompatibleFormatView == null) - { - _incompatibleFormatView = (TextureView)_renderer.CreateTexture(Info, ScaleFactor); - } - - _renderer.TextureCopy.CopyUnscaled(_parent, _incompatibleFormatView, FirstLayer, 0, FirstLevel, 0); - - return _incompatibleFormatView.Handle; - } - - return Handle; - } - - public void SignalModified() - { - if (_incompatibleFormatView != null) - { - _renderer.TextureCopy.CopyUnscaled(_incompatibleFormatView, _parent, 0, FirstLayer, 0, FirstLevel); - } - } - public void CopyTo(ITexture destination, int firstLayer, int firstLevel) { TextureView destinationView = (TextureView)destination; @@ -634,13 +603,6 @@ namespace Ryujinx.Graphics.OpenGL.Image private void DisposeHandles() { - if (_incompatibleFormatView != null) - { - _incompatibleFormatView.Dispose(); - - _incompatibleFormatView = null; - } - if (Handle != 0) { GL.DeleteTexture(Handle); |
