finish renaming TextureType to TextureTarget

This commit is contained in:
Thog 2018-12-05 15:45:17 +01:00
parent c9b0ee8178
commit bdeb47d97d
No known key found for this signature in database
GPG key ID: 0CD291558FAFDBC6
10 changed files with 60 additions and 60 deletions

View file

@ -18,7 +18,7 @@ namespace Ryujinx.Graphics.Gal
public GalTextureSource YSource;
public GalTextureSource ZSource;
public GalTextureSource WSource;
public GalTextureTarget TextureType;
public GalTextureTarget TextureTarget;
public GalImage(
int Width,
@ -28,7 +28,7 @@ namespace Ryujinx.Graphics.Gal
int GobBlockHeight,
GalMemoryLayout Layout,
GalImageFormat Format,
GalTextureTarget TextureType,
GalTextureTarget TextureTarget,
int MaxMipmapLevel = 1,
GalTextureSource XSource = GalTextureSource.Red,
GalTextureSource YSource = GalTextureSource.Green,
@ -47,7 +47,7 @@ namespace Ryujinx.Graphics.Gal
this.YSource = YSource;
this.ZSource = ZSource;
this.WSource = WSource;
this.TextureType = TextureType;
this.TextureTarget = TextureTarget;
Pitch = ImageUtils.GetPitch(Format, Width);
}

View file

@ -477,7 +477,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
(_, PixelFormat Format, PixelType Type) = OGLEnumConverter.GetImageFormat(CachedImage.Format);
TextureTarget Target = ImageUtils.GetTextureTarget(NewImage.TextureType);
TextureTarget Target = ImageUtils.GetTextureTarget(NewImage.TextureTarget);
GL.BindTexture(Target, CachedImage.Handle);

View file

@ -38,7 +38,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
{
int Handle = GL.GenTexture();
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureType);
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureTarget);
GL.BindTexture(Target, Handle);
@ -123,7 +123,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
{
int Handle = GL.GenTexture();
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureType);
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureTarget);
GL.BindTexture(Target, Handle);
@ -335,7 +335,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
{
GL.ActiveTexture(TextureUnit.Texture0 + Index);
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureType);
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureTarget);
GL.BindTexture(Target, CachedImage.Handle);
@ -360,7 +360,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
int MinFilter = (int)OGLEnumConverter.GetTextureMinFilter(Sampler.MinFilter, Sampler.MipFilter);
int MagFilter = (int)OGLEnumConverter.GetTextureMagFilter(Sampler.MagFilter);
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureType);
TextureTarget Target = ImageUtils.GetTextureTarget(Image.TextureTarget);
GL.TexParameter(Target, TextureParameterName.TextureWrapS, WrapS);
GL.TexParameter(Target, TextureParameterName.TextureWrapT, WrapT);

View file

@ -235,25 +235,25 @@ namespace Ryujinx.Graphics.Gal.Shader
string Name = StagePrefix + TextureName + Index;
GalTextureTarget TextureType;
GalTextureTarget TextureTarget;
TextureInstructionSuffix TextureInstructionSuffix;
// TODO: Non 2D texture type for TEXQ?
if (Op.Inst == ShaderIrInst.Texq)
{
TextureType = GalTextureTarget.TwoD;
TextureTarget = GalTextureTarget.TwoD;
TextureInstructionSuffix = TextureInstructionSuffix.None;
}
else
{
ShaderIrMetaTex Meta = ((ShaderIrMetaTex)Op.MetaData);
TextureType = Meta.TextureType;
TextureTarget = Meta.TextureTarget;
TextureInstructionSuffix = Meta.TextureInstructionSuffix;
}
m_Textures.TryAdd(Handle, new ShaderDeclInfo(Name, Handle, false, 0, 1, TextureType, TextureInstructionSuffix));
m_Textures.TryAdd(Handle, new ShaderDeclInfo(Name, Handle, false, 0, 1, TextureTarget, TextureInstructionSuffix));
}
else if (Op.Inst == ShaderIrInst.Texb)
{
@ -281,7 +281,7 @@ namespace Ryujinx.Graphics.Gal.Shader
ShaderIrMetaTex Meta = ((ShaderIrMetaTex)Op.MetaData);
string Name = StagePrefix + TextureName + "_cb" + Cbuf.Index + "_" + Cbuf.Pos;
m_CbTextures.Add(Op, new ShaderDeclInfo(Name, Cbuf.Pos, true, Cbuf.Index, 1, Meta.TextureType, Meta.TextureInstructionSuffix));
m_CbTextures.Add(Op, new ShaderDeclInfo(Name, Cbuf.Pos, true, Cbuf.Index, 1, Meta.TextureTarget, Meta.TextureInstructionSuffix));
}
else
{

View file

@ -275,14 +275,14 @@ namespace Ryujinx.Graphics.Gal.Shader
{
foreach (ShaderDeclInfo DeclInfo in IterateCbTextures())
{
TextureTarget Target = ImageUtils.GetTextureTarget(DeclInfo.TextureType);
TextureTarget Target = ImageUtils.GetTextureTarget(DeclInfo.TextureTarget);
SB.AppendLine($"// {DeclInfo.TextureSuffix}");
SB.AppendLine("uniform " + GetSamplerType(Target, (DeclInfo.TextureSuffix & TextureInstructionSuffix.DC) != 0) + " " + DeclInfo.Name + ";");
}
foreach (ShaderDeclInfo DeclInfo in Decl.Textures.Values.OrderBy(DeclKeySelector))
{
TextureTarget Target = ImageUtils.GetTextureTarget(DeclInfo.TextureType);
TextureTarget Target = ImageUtils.GetTextureTarget(DeclInfo.TextureTarget);
SB.AppendLine($"// {DeclInfo.TextureSuffix}");
SB.AppendLine("uniform " + GetSamplerType(Target, (DeclInfo.TextureSuffix & TextureInstructionSuffix.DC) != 0) + " " + DeclInfo.Name + ";");
}
@ -1338,9 +1338,9 @@ namespace Ryujinx.Graphics.Gal.Shader
bool HasDepth = (Meta.TextureInstructionSuffix & TextureInstructionSuffix.DC) != 0;
int Coords = ImageUtils.GetCoordsCountTextureType(Meta.TextureType);
int Coords = ImageUtils.GetCoordsCountTextureTarget(Meta.TextureTarget);
bool IsArray = ImageUtils.IsArray(Meta.TextureType);
bool IsArray = ImageUtils.IsArray(Meta.TextureTarget);
string GetLastArgument(ShaderIrNode Node)
@ -1400,9 +1400,9 @@ namespace Ryujinx.Graphics.Gal.Shader
return "(" + Operation + " >> " + index * 4 + ") & 0xF";
}
int Coords = ImageUtils.GetCoordsCountTextureType(Meta.TextureType);
int Coords = ImageUtils.GetCoordsCountTextureTarget(Meta.TextureTarget);
if (ImageUtils.IsArray(Meta.TextureType))
if (ImageUtils.IsArray(Meta.TextureTarget))
Coords -= 1;
switch (Coords)
@ -1509,7 +1509,7 @@ namespace Ryujinx.Graphics.Gal.Shader
{
ShaderIrMetaTex Meta = (ShaderIrMetaTex)Op.MetaData;
switch (ImageUtils.GetCoordsCountTextureType(Meta.TextureType))
switch (ImageUtils.GetCoordsCountTextureTarget(Meta.TextureTarget))
{
case 1:
return GetOperExpr(Op, Meta.Coordinates[0]);

View file

@ -30,7 +30,7 @@ namespace Ryujinx.Graphics.Gal.Shader
{ RGB_, RG_A, R_BA, _GBA, RGBA, ____, ____, ____ }
};
private static GalTextureTarget TexToTextureType(int TexType, bool IsArray)
private static GalTextureTarget TexToTextureTarget(int TexType, bool IsArray)
{
switch (TexType)
{
@ -49,7 +49,7 @@ namespace Ryujinx.Graphics.Gal.Shader
}
}
private static GalTextureTarget TexsToTextureType(int TexType)
private static GalTextureTarget TexsToTextureTarget(int TexType)
{
switch (TexType)
{
@ -77,7 +77,7 @@ namespace Ryujinx.Graphics.Gal.Shader
}
}
public static GalTextureTarget TldsToTextureType(int TexType)
public static GalTextureTarget TldsToTextureTarget(int TexType)
{
switch (TexType)
{
@ -279,7 +279,7 @@ namespace Ryujinx.Graphics.Gal.Shader
{
bool IsArray = OpCode.HasArray();
GalTextureTarget TextureType = TexToTextureType(OpCode.Read(28, 6), IsArray);
GalTextureTarget TextureTarget = TexToTextureTarget(OpCode.Read(28, 6), IsArray);
bool HasDepthCompare = OpCode.Read(0x32);
@ -288,7 +288,7 @@ namespace Ryujinx.Graphics.Gal.Shader
TextureInstructionSuffix |= TextureInstructionSuffix.DC;
}
ShaderIrOperGpr[] Coords = new ShaderIrOperGpr[ImageUtils.GetCoordsCountTextureType(TextureType)];
ShaderIrOperGpr[] Coords = new ShaderIrOperGpr[ImageUtils.GetCoordsCountTextureTarget(TextureTarget)];
int IndexExtraCoord = 0;
@ -379,7 +379,7 @@ namespace Ryujinx.Graphics.Gal.Shader
continue;
}
ShaderIrMetaTex Meta = new ShaderIrMetaTex(Ch, TextureType, TextureInstructionSuffix, Coords)
ShaderIrMetaTex Meta = new ShaderIrMetaTex(Ch, TextureTarget, TextureInstructionSuffix, Coords)
{
LevelOfDetail = LevelOfDetail,
Offset = Offset,
@ -430,9 +430,9 @@ namespace Ryujinx.Graphics.Gal.Shader
throw new InvalidOperationException($"Invalid Suffix for TEXS instruction {RawSuffix}");
}
GalTextureTarget TextureType = TexsToTextureType(OpCode.Read(52, 0x1e));
GalTextureTarget TextureTarget = TexsToTextureTarget(OpCode.Read(52, 0x1e));
EmitTexs(Block, OpCode, ShaderIrInst.Texs, TextureType, Suffix);
EmitTexs(Block, OpCode, ShaderIrInst.Texs, TextureTarget, Suffix);
}
public static void Tlds(ShaderIrBlock Block, long OpCode, int Position)
@ -466,9 +466,9 @@ namespace Ryujinx.Graphics.Gal.Shader
throw new InvalidOperationException($"Invalid Suffix for TLDS instruction {RawSuffix}");
}
GalTextureTarget TextureType = TldsToTextureType(OpCode.Read(52, 0x1e));
GalTextureTarget TextureTarget = TldsToTextureTarget(OpCode.Read(52, 0x1e));
EmitTexs(Block, OpCode, ShaderIrInst.Txlf, TextureType, Suffix);
EmitTexs(Block, OpCode, ShaderIrInst.Txlf, TextureTarget, Suffix);
}
public static void Tld4(ShaderIrBlock Block, long OpCode, int Position)
@ -497,14 +497,14 @@ namespace Ryujinx.Graphics.Gal.Shader
bool IsArray = OpCode.HasArray();
int ChMask = OpCode.Read(31, 0xf);
GalTextureTarget TextureType = TexToTextureType(OpCode.Read(28, 6), IsArray);
GalTextureTarget TextureTarget = TexToTextureTarget(OpCode.Read(28, 6), IsArray);
if (IsShadow)
{
Suffix |= TextureInstructionSuffix.DC;
}
EmitTld4(Block, OpCode, TextureType, Suffix, ChMask, OpCode.Read(0x38, 0x3), false);
EmitTld4(Block, OpCode, TextureTarget, Suffix, ChMask, OpCode.Read(0x38, 0x3), false);
}
public static void Tld4s(ShaderIrBlock Block, long OpCode, int Position)
@ -531,17 +531,17 @@ namespace Ryujinx.Graphics.Gal.Shader
private static void EmitTexs(ShaderIrBlock Block,
long OpCode,
ShaderIrInst Inst,
GalTextureTarget TextureType,
GalTextureTarget TextureTarget,
TextureInstructionSuffix TextureInstructionSuffix)
{
if (Inst == ShaderIrInst.Txlf && TextureType == GalTextureTarget.CubeArray)
if (Inst == ShaderIrInst.Txlf && TextureTarget == GalTextureTarget.CubeArray)
{
throw new InvalidOperationException("TLDS instructions cannot use CUBE modifier!");
}
bool IsArray = ImageUtils.IsArray(TextureType);
bool IsArray = ImageUtils.IsArray(TextureTarget);
ShaderIrOperGpr[] Coords = new ShaderIrOperGpr[ImageUtils.GetCoordsCountTextureType(TextureType)];
ShaderIrOperGpr[] Coords = new ShaderIrOperGpr[ImageUtils.GetCoordsCountTextureTarget(TextureTarget)];
ShaderIrOperGpr OperA = OpCode.Gpr8();
ShaderIrOperGpr OperB = OpCode.Gpr20();
@ -597,7 +597,7 @@ namespace Ryujinx.Graphics.Gal.Shader
// Encoding of TEXS/TLDS is a bit special and change for 2d textures
// NOTE: OperA seems to hold at best two args.
// On 2D textures, if no suffix need an additional values, Y is stored in OperB, otherwise coords are in OperA and the additional values is in OperB.
if (TextureInstructionSuffix != TextureInstructionSuffix.None && TextureInstructionSuffix != TextureInstructionSuffix.LZ && TextureType == GalTextureTarget.TwoD)
if (TextureInstructionSuffix != TextureInstructionSuffix.None && TextureInstructionSuffix != TextureInstructionSuffix.LZ && TextureTarget == GalTextureTarget.TwoD)
{
Coords[Coords.Length - CoordStartIndex - 1] = OpCode.Gpr8();
Coords[Coords.Length - CoordStartIndex - 1].Index += Coords.Length - CoordStartIndex - 1;
@ -702,7 +702,7 @@ namespace Ryujinx.Graphics.Gal.Shader
continue;
}
ShaderIrMetaTex Meta = new ShaderIrMetaTex(Ch, TextureType, TextureInstructionSuffix, Coords)
ShaderIrMetaTex Meta = new ShaderIrMetaTex(Ch, TextureTarget, TextureInstructionSuffix, Coords)
{
LevelOfDetail = LevelOfDetail,
Offset = Offset,
@ -725,7 +725,7 @@ namespace Ryujinx.Graphics.Gal.Shader
ShaderIrOperGpr OperB = OpCode.Gpr20();
ShaderIrOperImm OperC = OpCode.Imm13_36();
ShaderIrOperGpr[] Coords = new ShaderIrOperGpr[ImageUtils.GetCoordsCountTextureType(TextureType)];
ShaderIrOperGpr[] Coords = new ShaderIrOperGpr[ImageUtils.GetCoordsCountTextureTarget(TextureType)];
ShaderIrOperGpr Offset = null;
ShaderIrOperGpr DepthCompare = null;

View file

@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.Gal.Shader
class ShaderIrMetaTex : ShaderIrMeta
{
public int Elem { get; private set; }
public GalTextureTarget TextureType { get; private set; }
public GalTextureTarget TextureTarget { get; private set; }
public ShaderIrNode[] Coordinates { get; private set; }
public TextureInstructionSuffix TextureInstructionSuffix { get; private set; }
public ShaderIrOperGpr LevelOfDetail;
@ -13,10 +13,10 @@ namespace Ryujinx.Graphics.Gal.Shader
public ShaderIrOperGpr DepthCompare;
public int Component; // for TLD4(S)
public ShaderIrMetaTex(int Elem, GalTextureTarget TextureType, TextureInstructionSuffix TextureInstructionSuffix, params ShaderIrNode[] Coordinates)
public ShaderIrMetaTex(int Elem, GalTextureTarget TextureTarget, TextureInstructionSuffix TextureInstructionSuffix, params ShaderIrNode[] Coordinates)
{
this.Elem = Elem;
this.TextureType = TextureType;
this.TextureTarget = TextureTarget;
this.TextureInstructionSuffix = TextureInstructionSuffix;
this.Coordinates = Coordinates;
}

View file

@ -11,7 +11,7 @@ namespace Ryujinx.Graphics.Gal
public int Cbuf { get; private set; }
public int Size { get; private set; }
public GalTextureTarget TextureType { get; private set; }
public GalTextureTarget TextureTarget { get; private set; }
public TextureInstructionSuffix TextureSuffix { get; private set; }
@ -21,7 +21,7 @@ namespace Ryujinx.Graphics.Gal
bool IsCb = false,
int Cbuf = 0,
int Size = 1,
GalTextureTarget TextureType = GalTextureTarget.TwoD,
GalTextureTarget TextureTarget = GalTextureTarget.TwoD,
TextureInstructionSuffix TextureSuffix = TextureInstructionSuffix.None)
{
this.Name = Name;
@ -29,8 +29,8 @@ namespace Ryujinx.Graphics.Gal
this.IsCb = IsCb;
this.Cbuf = Cbuf;
this.Size = Size;
this.TextureType = TextureType;
this.TextureTarget = TextureTarget;
this.TextureSuffix = TextureSuffix;
}

View file

@ -341,9 +341,9 @@ namespace Ryujinx.Graphics.Texture
{
ImageDescriptor Desc = GetImageDescriptor(Image.Format);
int ComponentCount = GetCoordsCountTextureType(Image.TextureType);
int ComponentCount = GetCoordsCountTextureTarget(Image.TextureTarget);
if (IsArray(Image.TextureType))
if (IsArray(Image.TextureTarget))
ComponentCount--;
int Width = DivRoundUp(Image.Width, Desc.BlockWidth);
@ -474,9 +474,9 @@ namespace Ryujinx.Graphics.Texture
}
}
public static TextureTarget GetTextureTarget(GalTextureTarget TextureType)
public static TextureTarget GetTextureTarget(GalTextureTarget GalTextureTarget)
{
switch (TextureType)
switch (GalTextureTarget)
{
case GalTextureTarget.OneD:
return TextureTarget.Texture1D;
@ -494,13 +494,13 @@ namespace Ryujinx.Graphics.Texture
case GalTextureTarget.CubeArray:
return TextureTarget.TextureCubeMapArray;
default:
throw new NotSupportedException($"Texture type {TextureType} currently not supported!");
throw new NotSupportedException($"Texture target {GalTextureTarget} currently not supported!");
}
}
public static bool IsArray(GalTextureTarget TextureType)
public static bool IsArray(GalTextureTarget TextureTarget)
{
switch (TextureType)
switch (TextureTarget)
{
case GalTextureTarget.OneDArray:
case GalTextureTarget.TwoDArray:
@ -511,9 +511,9 @@ namespace Ryujinx.Graphics.Texture
}
}
public static int GetCoordsCountTextureType(GalTextureTarget TextureType)
public static int GetCoordsCountTextureTarget(GalTextureTarget TextureTarget)
{
switch (TextureType)
switch (TextureTarget)
{
case GalTextureTarget.OneD:
return 1;
@ -528,7 +528,7 @@ namespace Ryujinx.Graphics.Texture
case GalTextureTarget.CubeArray:
return 4;
default:
throw new NotImplementedException($"TextureTpe.{TextureType} not implemented yet.");
throw new NotImplementedException($"TextureTarget.{TextureTarget} not implemented yet.");
}
}
}

View file

@ -12,7 +12,7 @@ namespace Ryujinx.Graphics.Texture
GalImageFormat Format = GetImageFormat(Tic);
GalTextureTarget TextureType = (GalTextureTarget)((Tic[4] >> 23) & 0xF);
GalTextureTarget TextureTarget = (GalTextureTarget)((Tic[4] >> 23) & 0xF);
GalTextureSource XSource = (GalTextureSource)((Tic[0] >> 19) & 7);
GalTextureSource YSource = (GalTextureSource)((Tic[0] >> 22) & 7);
@ -45,16 +45,16 @@ namespace Ryujinx.Graphics.Texture
int Height = (Tic[5] & 0xffff) + 1;
int Depth = ((Tic[5] >> 16) & 0x3fff) + 1;
if (TextureType == GalTextureTarget.OneD)
if (TextureTarget == GalTextureTarget.OneD)
{
Height = 1;
}
if (TextureType == GalTextureTarget.TwoD || TextureType == GalTextureTarget.OneD)
if (TextureTarget == GalTextureTarget.TwoD || TextureTarget == GalTextureTarget.OneD)
{
Depth = 1;
}
else if (TextureType == GalTextureTarget.CubeMap)
else if (TextureTarget == GalTextureTarget.CubeMap)
{
Depth = 6;
}
@ -67,7 +67,7 @@ namespace Ryujinx.Graphics.Texture
BlockHeight,
Layout,
Format,
TextureType,
TextureTarget,
MaxMipmapLevel,
XSource,
YSource,