Move solution and projects to src
This commit is contained in:
parent
cd124bda58
commit
cee7121058
3466 changed files with 55 additions and 55 deletions
55
src/Ryujinx.Graphics.Texture/Utils/Block.cs
Normal file
55
src/Ryujinx.Graphics.Texture/Utils/Block.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
namespace Ryujinx.Graphics.Texture.Utils
|
||||
{
|
||||
struct Block
|
||||
{
|
||||
public ulong Low;
|
||||
public ulong High;
|
||||
|
||||
public void Encode(ulong value, ref int offset, int bits)
|
||||
{
|
||||
if (offset >= 64)
|
||||
{
|
||||
High |= value << (offset - 64);
|
||||
}
|
||||
else
|
||||
{
|
||||
Low |= value << offset;
|
||||
|
||||
if (offset + bits > 64)
|
||||
{
|
||||
int remainder = 64 - offset;
|
||||
High |= value >> remainder;
|
||||
}
|
||||
}
|
||||
|
||||
offset += bits;
|
||||
}
|
||||
|
||||
public ulong Decode(ref int offset, int bits)
|
||||
{
|
||||
ulong value;
|
||||
ulong mask = bits == 64 ? ulong.MaxValue : (1UL << bits) - 1;
|
||||
|
||||
if (offset >= 64)
|
||||
{
|
||||
value = (High >> (offset - 64)) & mask;
|
||||
}
|
||||
else
|
||||
{
|
||||
value = Low >> offset;
|
||||
|
||||
if (offset + bits > 64)
|
||||
{
|
||||
int remainder = 64 - offset;
|
||||
value |= High << remainder;
|
||||
}
|
||||
|
||||
value &= mask;
|
||||
}
|
||||
|
||||
offset += bits;
|
||||
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue