aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Decoders/OpCodeTexB.cs
blob: 33434ae197545872b0aa652b58970ef2de987c1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using Ryujinx.Graphics.Shader.Instructions;

namespace Ryujinx.Graphics.Shader.Decoders
{
    class OpCodeTexB : OpCodeTex
    {
        public new static OpCode Create(InstEmitter emitter, ulong address, long opCode) => new OpCodeTexB(emitter, address, opCode);

        public OpCodeTexB(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
        {
            switch (opCode.Extract(37, 3))
            {
                case 0: LodMode = TextureLodMode.None;      break;
                case 1: LodMode = TextureLodMode.LodZero;   break;
                case 2: LodMode = TextureLodMode.LodBias;   break;
                case 3: LodMode = TextureLodMode.LodLevel;  break;
                case 6: LodMode = TextureLodMode.LodBiasA;  break;
                case 7: LodMode = TextureLodMode.LodLevelA; break;
            }
        }
    }
}