mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-21 00:12:00 +00:00
e18d258fa0
* WIP texture pre-flush Improve performance of TextureView GetData to buffer Fix copy/sync ordering Fix minor bug Make this actually work WIP host mapping stuff * Fix usage flags * message * Cleanup 1 * Fix rebase * Fix * Improve pre-flush rules * Fix pre-flush * A lot of cleanup * Use the host memory bits * Select the correct memory type * Cleanup TextureGroupHandle * Missing comment * Remove debugging logs * Revert BufferHandle _value access modifier * One interrupt action at a time. * Support D32S8 to D24S8 conversion, safeguards * Interrupt cannot happen in sync handle's lock Waitable needs to be checked twice now, but this should stop it from deadlocking. * Remove unused using * Address some feedback * Address feedback * Address more feedback * Address more feedback * Improve sync rules Should allow for faster sync in some cases.
28 lines
No EOL
1,017 B
C#
28 lines
No EOL
1,017 B
C#
using Ryujinx.Common.Memory;
|
|
using System;
|
|
|
|
namespace Ryujinx.Graphics.GAL
|
|
{
|
|
public interface ITexture
|
|
{
|
|
int Width { get; }
|
|
int Height { get; }
|
|
float ScaleFactor { get; }
|
|
|
|
void CopyTo(ITexture destination, int firstLayer, int firstLevel);
|
|
void CopyTo(ITexture destination, int srcLayer, int dstLayer, int srcLevel, int dstLevel);
|
|
void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter);
|
|
void CopyTo(BufferRange range, int layer, int level, int stride);
|
|
|
|
ITexture CreateView(TextureCreateInfo info, int firstLayer, int firstLevel);
|
|
|
|
PinnedSpan<byte> GetData();
|
|
PinnedSpan<byte> GetData(int layer, int level);
|
|
|
|
void SetData(SpanOrArray<byte> data);
|
|
void SetData(SpanOrArray<byte> data, int layer, int level);
|
|
void SetData(SpanOrArray<byte> data, int layer, int level, Rectangle<int> region);
|
|
void SetStorage(BufferRange buffer);
|
|
void Release();
|
|
}
|
|
} |