aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL
diff options
context:
space:
mode:
authorgdk <gab.dark.100@gmail.com>2019-10-30 20:45:01 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commitd786d8d2b924da7cd116a2eb97d738a9f07b4e43 (patch)
tree0e84072c554066d20622d156d1394144ed5258bd /Ryujinx.Graphics.OpenGL
parent3bcc395253e020df40763d36ba9401b126b17173 (diff)
Support copy of slices to 3D textures, remove old 3D render target layered render support, do not delete textures with existing views created from them
Diffstat (limited to 'Ryujinx.Graphics.OpenGL')
-rw-r--r--Ryujinx.Graphics.OpenGL/Framebuffer.cs10
-rw-r--r--Ryujinx.Graphics.OpenGL/Pipeline.cs22
-rw-r--r--Ryujinx.Graphics.OpenGL/TextureView.cs4
3 files changed, 2 insertions, 34 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Framebuffer.cs b/Ryujinx.Graphics.OpenGL/Framebuffer.cs
index 40913009..d416bd03 100644
--- a/Ryujinx.Graphics.OpenGL/Framebuffer.cs
+++ b/Ryujinx.Graphics.OpenGL/Framebuffer.cs
@@ -29,16 +29,6 @@ namespace Ryujinx.Graphics.OpenGL
0);
}
- public void AttachColor(int index, TextureView color, int layer)
- {
- GL.FramebufferTextureLayer(
- FramebufferTarget.Framebuffer,
- FramebufferAttachment.ColorAttachment0 + index,
- color?.Handle ?? 0,
- 0,
- layer);
- }
-
public void AttachDepthStencil(TextureView depthStencil)
{
// Detach the last depth/stencil buffer if there is any.
diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs
index 5df801f8..745926e7 100644
--- a/Ryujinx.Graphics.OpenGL/Pipeline.cs
+++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs
@@ -697,28 +697,6 @@ namespace Ryujinx.Graphics.OpenGL
}
}
- public void SetRenderTargets(ITexture color3D, ITexture depthStencil)
- {
- EnsureFramebuffer();
-
- TextureView color = (TextureView)color3D;
-
- for (int index = 0; index < color.DepthOrLayers; index++)
- {
- _framebuffer.AttachColor(index, color, index);
- }
-
- TextureView depthStencilView = (TextureView)depthStencil;
-
- _framebuffer.AttachDepthStencil(depthStencilView);
-
- _framebuffer.SetDrawBuffers(color.DepthOrLayers);
-
- _hasDepthBuffer = depthStencil != null && depthStencilView.Format != Format.S8Uint;
-
- UpdateDepthTest();
- }
-
public void SetRenderTargets(ITexture[] colors, ITexture depthStencil)
{
EnsureFramebuffer();
diff --git a/Ryujinx.Graphics.OpenGL/TextureView.cs b/Ryujinx.Graphics.OpenGL/TextureView.cs
index 8a2b50dc..8fced290 100644
--- a/Ryujinx.Graphics.OpenGL/TextureView.cs
+++ b/Ryujinx.Graphics.OpenGL/TextureView.cs
@@ -137,11 +137,11 @@ namespace Ryujinx.Graphics.OpenGL
return _parent.GetHashCode();
}
- public void CopyTo(ITexture destination)
+ public void CopyTo(ITexture destination, int firstLayer, int firstLevel)
{
TextureView destinationView = (TextureView)destination;
- TextureCopyUnscaled.Copy(this, destinationView, 0, 0);
+ TextureCopyUnscaled.Copy(this, destinationView, firstLayer, firstLevel);
int width = Math.Min(Width, destinationView.Width);
int height = Math.Min(Height, destinationView.Height);