mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-21 02:52:10 +01:00
220 lines
9.7 KiB
C
220 lines
9.7 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "dxbc_include.h"
|
||
|
|
||
|
namespace dxvk {
|
||
|
|
||
|
/**
|
||
|
* \brief Instruction code listing
|
||
|
*/
|
||
|
enum class DxbcOpcode : uint32_t {
|
||
|
Add = 0,
|
||
|
And = 1,
|
||
|
Break = 2,
|
||
|
Breakc = 3,
|
||
|
Call = 4,
|
||
|
Callc = 5,
|
||
|
Case = 6,
|
||
|
Continue = 7,
|
||
|
Continuec = 8,
|
||
|
Cut = 9,
|
||
|
Default = 10,
|
||
|
DerivRtx = 11,
|
||
|
DerivRty = 12,
|
||
|
Discard = 13,
|
||
|
Div = 14,
|
||
|
Dp2 = 15,
|
||
|
Dp3 = 16,
|
||
|
Dp4 = 17,
|
||
|
Else = 18,
|
||
|
Emit = 19,
|
||
|
EmitThenCut = 20,
|
||
|
EndIf = 21,
|
||
|
EndLoop = 22,
|
||
|
EndSwitch = 23,
|
||
|
Eq = 24,
|
||
|
Exp = 25,
|
||
|
Frc = 26,
|
||
|
FtoI = 27,
|
||
|
FtoU = 28,
|
||
|
Ge = 29,
|
||
|
IAdd = 30,
|
||
|
If = 31,
|
||
|
IEq = 32,
|
||
|
IGe = 33,
|
||
|
ILt = 34,
|
||
|
IMad = 35,
|
||
|
IMax = 36,
|
||
|
IMin = 37,
|
||
|
IMul = 38,
|
||
|
INe = 39,
|
||
|
INeg = 40,
|
||
|
IShl = 41,
|
||
|
IShr = 42,
|
||
|
ItoF = 43,
|
||
|
Label = 44,
|
||
|
Ld = 45,
|
||
|
LdMs = 46,
|
||
|
Log = 47,
|
||
|
Loop = 48,
|
||
|
Lt = 49,
|
||
|
Mad = 50,
|
||
|
Min = 51,
|
||
|
Max = 52,
|
||
|
CustomData = 53,
|
||
|
Mov = 54,
|
||
|
Movc = 55,
|
||
|
Mul = 56,
|
||
|
Ne = 57,
|
||
|
Nop = 58,
|
||
|
Not = 59,
|
||
|
Or = 60,
|
||
|
ResInfo = 61,
|
||
|
Ret = 62,
|
||
|
Retc = 63,
|
||
|
RoundNe = 64,
|
||
|
RoundNi = 65,
|
||
|
RoundPi = 66,
|
||
|
RoundZ = 67,
|
||
|
Rsq = 68,
|
||
|
Sample = 69,
|
||
|
SampleC = 70,
|
||
|
SampleClz = 71,
|
||
|
SampleL = 72,
|
||
|
SampleD = 73,
|
||
|
SampleB = 74,
|
||
|
Sqrt = 75,
|
||
|
Switch = 76,
|
||
|
SinCos = 77,
|
||
|
UDiv = 78,
|
||
|
ULt = 79,
|
||
|
UGe = 80,
|
||
|
UMul = 81,
|
||
|
UMad = 82,
|
||
|
UMax = 83,
|
||
|
UMin = 84,
|
||
|
UShr = 85,
|
||
|
UtoF = 86,
|
||
|
Xor = 87,
|
||
|
DclResource = 88,
|
||
|
DclConstantBuffer = 89,
|
||
|
DclSampler = 90,
|
||
|
DclIndexRange = 91,
|
||
|
DclGsOutputPrimitiveTopology = 92,
|
||
|
DclGsInputPrimitive = 93,
|
||
|
DclMaxOutputVertexCount = 94,
|
||
|
DclInput = 95,
|
||
|
DclInputSgv = 96,
|
||
|
DclInputSiv = 97,
|
||
|
DclInputPs = 98,
|
||
|
DclInputPsSgv = 99,
|
||
|
DclInputPsSiv = 100,
|
||
|
DclOutput = 101,
|
||
|
DclOutputSgv = 102,
|
||
|
DclOutputSiv = 103,
|
||
|
DclTemps = 104,
|
||
|
DclIndexableTemp = 105,
|
||
|
DclGlobalFlags = 106,
|
||
|
Reserved0 = 107,
|
||
|
Lod = 108,
|
||
|
Gather4 = 109,
|
||
|
SamplePos = 110,
|
||
|
SampleInfo = 111,
|
||
|
Reserved1 = 112,
|
||
|
HsDecls = 113,
|
||
|
HsControlPointPhase = 114,
|
||
|
HsForkPhase = 115,
|
||
|
HsJoinPhase = 116,
|
||
|
EmitStream = 117,
|
||
|
CutStream = 118,
|
||
|
EmitThenCutStream = 119,
|
||
|
InterfaceCall = 120,
|
||
|
BufInfo = 121,
|
||
|
DerivRtxCoarse = 122,
|
||
|
DerivRtxFine = 123,
|
||
|
DerivRtyCoarse = 124,
|
||
|
DerivRtyFine = 125,
|
||
|
Gather4C = 126,
|
||
|
Gather4Po = 127,
|
||
|
Gather4PoC = 128,
|
||
|
Rcp = 129,
|
||
|
F32toF16 = 130,
|
||
|
F16toF32 = 131,
|
||
|
UAddc = 132,
|
||
|
USubb = 133,
|
||
|
CountBits = 134,
|
||
|
FirstBitHi = 135,
|
||
|
FirstBitLo = 136,
|
||
|
FirstBitShi = 137,
|
||
|
UBfe = 138,
|
||
|
IBfe = 139,
|
||
|
Bfi = 140,
|
||
|
BfRev = 141,
|
||
|
Swapc = 142,
|
||
|
DclStream = 143,
|
||
|
DclFunctionBody = 144,
|
||
|
DclFunctionTable = 145,
|
||
|
DclInterface = 146,
|
||
|
DclInputControlPointCount = 147,
|
||
|
DclOutputControlPointCount = 148,
|
||
|
DclTessDomain = 149,
|
||
|
DclTessPartitioning = 150,
|
||
|
DclTessOutputPrimitive = 151,
|
||
|
DclHsMaxTessFactor = 152,
|
||
|
DclHsForkPhaseInstanceCount = 153,
|
||
|
DclHsJoinPhaseInstanceCount = 154,
|
||
|
DclThreadGroup = 155,
|
||
|
DclUnorderedAccessViewTyped = 156,
|
||
|
DclUnorderedAccessViewRaw = 157,
|
||
|
DclUnorderedAccessViewStructured = 158,
|
||
|
DclThreadGroupSharedMemoryRaw = 159,
|
||
|
DclThreadGroupSharedMemoryStructured = 160,
|
||
|
DclResourceRaw = 161,
|
||
|
DclResourceStructured = 162,
|
||
|
LdUavTyped = 163,
|
||
|
StoreUavTyped = 164,
|
||
|
LdRaw = 165,
|
||
|
StoreRaw = 166,
|
||
|
LdStructured = 167,
|
||
|
StoreStructured = 168,
|
||
|
AtomicAnd = 169,
|
||
|
AtomicOr = 170,
|
||
|
AtomicXor = 171,
|
||
|
AtomicCmpStore = 172,
|
||
|
AtomicIAdd = 173,
|
||
|
AtomicIMax = 174,
|
||
|
AtomicIMin = 175,
|
||
|
AtomicUMax = 176,
|
||
|
AtomicUMin = 177,
|
||
|
ImmAtomicAlloc = 178,
|
||
|
ImmAtomicConsume = 179,
|
||
|
ImmAtomicIAdd = 180,
|
||
|
ImmAtomicAnd = 181,
|
||
|
ImmAtomicOr = 182,
|
||
|
ImmAtomicXor = 183,
|
||
|
ImmAtomicExch = 184,
|
||
|
ImmAtomicCmpExch = 185,
|
||
|
ImmAtomicImax = 186,
|
||
|
ImmAtomicImin = 187,
|
||
|
ImmAtomicUmax = 188,
|
||
|
ImmAtomicUmin = 189,
|
||
|
Sync = 190,
|
||
|
DAdd = 191,
|
||
|
DMax = 192,
|
||
|
DMin = 193,
|
||
|
DMul = 194,
|
||
|
DEq = 195,
|
||
|
DGe = 196,
|
||
|
DLt = 197,
|
||
|
DNe = 198,
|
||
|
DMov = 199,
|
||
|
DMovc = 200,
|
||
|
DtoF = 201,
|
||
|
FtoD = 202,
|
||
|
EvalSnapped = 203,
|
||
|
EvalSampleIndex = 204,
|
||
|
EvalCentroid = 205,
|
||
|
DclGsInstanceCount = 206,
|
||
|
};
|
||
|
|
||
|
}
|