34037701c7
* Initial implementation of NvMap/NvHostCtrl * More work on NvHostCtrl * Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind * Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb) * Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks * Remove now unused code, add comment about probably wrong result codes
55 lines
No EOL
1.4 KiB
C#
55 lines
No EOL
1.4 KiB
C#
using Ryujinx.Graphics.Gal;
|
|
|
|
namespace Ryujinx.Core.Gpu
|
|
{
|
|
public struct Texture
|
|
{
|
|
public long Position { get; private set; }
|
|
|
|
public int Width { get; private set; }
|
|
public int Height { get; private set; }
|
|
public int Pitch { get; private set; }
|
|
|
|
public int BlockHeight { get; private set; }
|
|
|
|
public TextureSwizzle Swizzle { get; private set; }
|
|
|
|
public GalTextureFormat Format { get; private set; }
|
|
|
|
public Texture(
|
|
long Position,
|
|
int Width,
|
|
int Height)
|
|
{
|
|
this.Position = Position;
|
|
this.Width = Width;
|
|
this.Height = Height;
|
|
|
|
Pitch = 0;
|
|
|
|
BlockHeight = 16;
|
|
|
|
Swizzle = TextureSwizzle.BlockLinear;
|
|
|
|
Format = GalTextureFormat.A8B8G8R8;
|
|
}
|
|
|
|
public Texture(
|
|
long Position,
|
|
int Width,
|
|
int Height,
|
|
int Pitch,
|
|
int BlockHeight,
|
|
TextureSwizzle Swizzle,
|
|
GalTextureFormat Format)
|
|
{
|
|
this.Position = Position;
|
|
this.Width = Width;
|
|
this.Height = Height;
|
|
this.Pitch = Pitch;
|
|
this.BlockHeight = BlockHeight;
|
|
this.Swizzle = Swizzle;
|
|
this.Format = Format;
|
|
}
|
|
}
|
|
} |