aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
diff options
context:
space:
mode:
authorriperiperi <rhy3756547@hotmail.com>2021-05-16 19:43:27 +0100
committerGitHub <noreply@github.com>2021-05-16 20:43:27 +0200
commit212e472c9fac8253456d710e0b071579da330c0a (patch)
tree7dd5038a561cee9ca862ef8e0e952784ad7f2869 /Ryujinx.Graphics.OpenGL/Image/TextureView.cs
parentbec67dbef7a505fb5c4a1734be1517f67474fb4d (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.cs38
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);