|
| enum | vkd3d_sm4_opcode {
VKD3D_SM4_OP_ADD = 0x00
, VKD3D_SM4_OP_AND = 0x01
, VKD3D_SM4_OP_BREAK = 0x02
, VKD3D_SM4_OP_BREAKC = 0x03
,
VKD3D_SM4_OP_CASE = 0x06
, VKD3D_SM4_OP_CONTINUE = 0x07
, VKD3D_SM4_OP_CONTINUEC = 0x08
, VKD3D_SM4_OP_CUT = 0x09
,
VKD3D_SM4_OP_DEFAULT = 0x0a
, VKD3D_SM4_OP_DERIV_RTX = 0x0b
, VKD3D_SM4_OP_DERIV_RTY = 0x0c
, VKD3D_SM4_OP_DISCARD = 0x0d
,
VKD3D_SM4_OP_DIV = 0x0e
, VKD3D_SM4_OP_DP2 = 0x0f
, VKD3D_SM4_OP_DP3 = 0x10
, VKD3D_SM4_OP_DP4 = 0x11
,
VKD3D_SM4_OP_ELSE = 0x12
, VKD3D_SM4_OP_EMIT = 0x13
, VKD3D_SM4_OP_ENDIF = 0x15
, VKD3D_SM4_OP_ENDLOOP = 0x16
,
VKD3D_SM4_OP_ENDSWITCH = 0x17
, VKD3D_SM4_OP_EQ = 0x18
, VKD3D_SM4_OP_EXP = 0x19
, VKD3D_SM4_OP_FRC = 0x1a
,
VKD3D_SM4_OP_FTOI = 0x1b
, VKD3D_SM4_OP_FTOU = 0x1c
, VKD3D_SM4_OP_GE = 0x1d
, VKD3D_SM4_OP_IADD = 0x1e
,
VKD3D_SM4_OP_IF = 0x1f
, VKD3D_SM4_OP_IEQ = 0x20
, VKD3D_SM4_OP_IGE = 0x21
, VKD3D_SM4_OP_ILT = 0x22
,
VKD3D_SM4_OP_IMAD = 0x23
, VKD3D_SM4_OP_IMAX = 0x24
, VKD3D_SM4_OP_IMIN = 0x25
, VKD3D_SM4_OP_IMUL = 0x26
,
VKD3D_SM4_OP_INE = 0x27
, VKD3D_SM4_OP_INEG = 0x28
, VKD3D_SM4_OP_ISHL = 0x29
, VKD3D_SM4_OP_ISHR = 0x2a
,
VKD3D_SM4_OP_ITOF = 0x2b
, VKD3D_SM4_OP_LABEL = 0x2c
, VKD3D_SM4_OP_LD = 0x2d
, VKD3D_SM4_OP_LD2DMS = 0x2e
,
VKD3D_SM4_OP_LOG = 0x2f
, VKD3D_SM4_OP_LOOP = 0x30
, VKD3D_SM4_OP_LT = 0x31
, VKD3D_SM4_OP_MAD = 0x32
,
VKD3D_SM4_OP_MIN = 0x33
, VKD3D_SM4_OP_MAX = 0x34
, VKD3D_SM4_OP_SHADER_DATA = 0x35
, VKD3D_SM4_OP_MOV = 0x36
,
VKD3D_SM4_OP_MOVC = 0x37
, VKD3D_SM4_OP_MUL = 0x38
, VKD3D_SM4_OP_NE = 0x39
, VKD3D_SM4_OP_NOP = 0x3a
,
VKD3D_SM4_OP_NOT = 0x3b
, VKD3D_SM4_OP_OR = 0x3c
, VKD3D_SM4_OP_RESINFO = 0x3d
, VKD3D_SM4_OP_RET = 0x3e
,
VKD3D_SM4_OP_RETC = 0x3f
, VKD3D_SM4_OP_ROUND_NE = 0x40
, VKD3D_SM4_OP_ROUND_NI = 0x41
, VKD3D_SM4_OP_ROUND_PI = 0x42
,
VKD3D_SM4_OP_ROUND_Z = 0x43
, VKD3D_SM4_OP_RSQ = 0x44
, VKD3D_SM4_OP_SAMPLE = 0x45
, VKD3D_SM4_OP_SAMPLE_C = 0x46
,
VKD3D_SM4_OP_SAMPLE_C_LZ = 0x47
, VKD3D_SM4_OP_SAMPLE_LOD = 0x48
, VKD3D_SM4_OP_SAMPLE_GRAD = 0x49
, VKD3D_SM4_OP_SAMPLE_B = 0x4a
,
VKD3D_SM4_OP_SQRT = 0x4b
, VKD3D_SM4_OP_SWITCH = 0x4c
, VKD3D_SM4_OP_SINCOS = 0x4d
, VKD3D_SM4_OP_UDIV = 0x4e
,
VKD3D_SM4_OP_ULT = 0x4f
, VKD3D_SM4_OP_UGE = 0x50
, VKD3D_SM4_OP_UMUL = 0x51
, VKD3D_SM4_OP_UMAX = 0x53
,
VKD3D_SM4_OP_UMIN = 0x54
, VKD3D_SM4_OP_USHR = 0x55
, VKD3D_SM4_OP_UTOF = 0x56
, VKD3D_SM4_OP_XOR = 0x57
,
VKD3D_SM4_OP_DCL_RESOURCE = 0x58
, VKD3D_SM4_OP_DCL_CONSTANT_BUFFER = 0x59
, VKD3D_SM4_OP_DCL_SAMPLER = 0x5a
, VKD3D_SM4_OP_DCL_INDEX_RANGE = 0x5b
,
VKD3D_SM4_OP_DCL_OUTPUT_TOPOLOGY = 0x5c
, VKD3D_SM4_OP_DCL_INPUT_PRIMITIVE = 0x5d
, VKD3D_SM4_OP_DCL_VERTICES_OUT = 0x5e
, VKD3D_SM4_OP_DCL_INPUT = 0x5f
,
VKD3D_SM4_OP_DCL_INPUT_SGV = 0x60
, VKD3D_SM4_OP_DCL_INPUT_SIV = 0x61
, VKD3D_SM4_OP_DCL_INPUT_PS = 0x62
, VKD3D_SM4_OP_DCL_INPUT_PS_SGV = 0x63
,
VKD3D_SM4_OP_DCL_INPUT_PS_SIV = 0x64
, VKD3D_SM4_OP_DCL_OUTPUT = 0x65
, VKD3D_SM4_OP_DCL_OUTPUT_SIV = 0x67
, VKD3D_SM4_OP_DCL_TEMPS = 0x68
,
VKD3D_SM4_OP_DCL_INDEXABLE_TEMP = 0x69
, VKD3D_SM4_OP_DCL_GLOBAL_FLAGS = 0x6a
, VKD3D_SM4_OP_LOD = 0x6c
, VKD3D_SM4_OP_GATHER4 = 0x6d
,
VKD3D_SM4_OP_SAMPLE_POS = 0x6e
, VKD3D_SM4_OP_SAMPLE_INFO = 0x6f
, VKD3D_SM5_OP_HS_DECLS = 0x71
, VKD3D_SM5_OP_HS_CONTROL_POINT_PHASE = 0x72
,
VKD3D_SM5_OP_HS_FORK_PHASE = 0x73
, VKD3D_SM5_OP_HS_JOIN_PHASE = 0x74
, VKD3D_SM5_OP_EMIT_STREAM = 0x75
, VKD3D_SM5_OP_CUT_STREAM = 0x76
,
VKD3D_SM5_OP_FCALL = 0x78
, VKD3D_SM5_OP_BUFINFO = 0x79
, VKD3D_SM5_OP_DERIV_RTX_COARSE = 0x7a
, VKD3D_SM5_OP_DERIV_RTX_FINE = 0x7b
,
VKD3D_SM5_OP_DERIV_RTY_COARSE = 0x7c
, VKD3D_SM5_OP_DERIV_RTY_FINE = 0x7d
, VKD3D_SM5_OP_GATHER4_C = 0x7e
, VKD3D_SM5_OP_GATHER4_PO = 0x7f
,
VKD3D_SM5_OP_GATHER4_PO_C = 0x80
, VKD3D_SM5_OP_RCP = 0x81
, VKD3D_SM5_OP_F32TOF16 = 0x82
, VKD3D_SM5_OP_F16TOF32 = 0x83
,
VKD3D_SM5_OP_COUNTBITS = 0x86
, VKD3D_SM5_OP_FIRSTBIT_HI = 0x87
, VKD3D_SM5_OP_FIRSTBIT_LO = 0x88
, VKD3D_SM5_OP_FIRSTBIT_SHI = 0x89
,
VKD3D_SM5_OP_UBFE = 0x8a
, VKD3D_SM5_OP_IBFE = 0x8b
, VKD3D_SM5_OP_BFI = 0x8c
, VKD3D_SM5_OP_BFREV = 0x8d
,
VKD3D_SM5_OP_SWAPC = 0x8e
, VKD3D_SM5_OP_DCL_STREAM = 0x8f
, VKD3D_SM5_OP_DCL_FUNCTION_BODY = 0x90
, VKD3D_SM5_OP_DCL_FUNCTION_TABLE = 0x91
,
VKD3D_SM5_OP_DCL_INTERFACE = 0x92
, VKD3D_SM5_OP_DCL_INPUT_CONTROL_POINT_COUNT = 0x93
, VKD3D_SM5_OP_DCL_OUTPUT_CONTROL_POINT_COUNT = 0x94
, VKD3D_SM5_OP_DCL_TESSELLATOR_DOMAIN = 0x95
,
VKD3D_SM5_OP_DCL_TESSELLATOR_PARTITIONING = 0x96
, VKD3D_SM5_OP_DCL_TESSELLATOR_OUTPUT_PRIMITIVE = 0x97
, VKD3D_SM5_OP_DCL_HS_MAX_TESSFACTOR = 0x98
, VKD3D_SM5_OP_DCL_HS_FORK_PHASE_INSTANCE_COUNT = 0x99
,
VKD3D_SM5_OP_DCL_HS_JOIN_PHASE_INSTANCE_COUNT = 0x9a
, VKD3D_SM5_OP_DCL_THREAD_GROUP = 0x9b
, VKD3D_SM5_OP_DCL_UAV_TYPED = 0x9c
, VKD3D_SM5_OP_DCL_UAV_RAW = 0x9d
,
VKD3D_SM5_OP_DCL_UAV_STRUCTURED = 0x9e
, VKD3D_SM5_OP_DCL_TGSM_RAW = 0x9f
, VKD3D_SM5_OP_DCL_TGSM_STRUCTURED = 0xa0
, VKD3D_SM5_OP_DCL_RESOURCE_RAW = 0xa1
,
VKD3D_SM5_OP_DCL_RESOURCE_STRUCTURED = 0xa2
, VKD3D_SM5_OP_LD_UAV_TYPED = 0xa3
, VKD3D_SM5_OP_STORE_UAV_TYPED = 0xa4
, VKD3D_SM5_OP_LD_RAW = 0xa5
,
VKD3D_SM5_OP_STORE_RAW = 0xa6
, VKD3D_SM5_OP_LD_STRUCTURED = 0xa7
, VKD3D_SM5_OP_STORE_STRUCTURED = 0xa8
, VKD3D_SM5_OP_ATOMIC_AND = 0xa9
,
VKD3D_SM5_OP_ATOMIC_OR = 0xaa
, VKD3D_SM5_OP_ATOMIC_XOR = 0xab
, VKD3D_SM5_OP_ATOMIC_CMP_STORE = 0xac
, VKD3D_SM5_OP_ATOMIC_IADD = 0xad
,
VKD3D_SM5_OP_ATOMIC_IMAX = 0xae
, VKD3D_SM5_OP_ATOMIC_IMIN = 0xaf
, VKD3D_SM5_OP_ATOMIC_UMAX = 0xb0
, VKD3D_SM5_OP_ATOMIC_UMIN = 0xb1
,
VKD3D_SM5_OP_IMM_ATOMIC_ALLOC = 0xb2
, VKD3D_SM5_OP_IMM_ATOMIC_CONSUME = 0xb3
, VKD3D_SM5_OP_IMM_ATOMIC_IADD = 0xb4
, VKD3D_SM5_OP_IMM_ATOMIC_AND = 0xb5
,
VKD3D_SM5_OP_IMM_ATOMIC_OR = 0xb6
, VKD3D_SM5_OP_IMM_ATOMIC_XOR = 0xb7
, VKD3D_SM5_OP_IMM_ATOMIC_EXCH = 0xb8
, VKD3D_SM5_OP_IMM_ATOMIC_CMP_EXCH = 0xb9
,
VKD3D_SM5_OP_IMM_ATOMIC_IMAX = 0xba
, VKD3D_SM5_OP_IMM_ATOMIC_IMIN = 0xbb
, VKD3D_SM5_OP_IMM_ATOMIC_UMAX = 0xbc
, VKD3D_SM5_OP_IMM_ATOMIC_UMIN = 0xbd
,
VKD3D_SM5_OP_SYNC = 0xbe
, VKD3D_SM5_OP_DADD = 0xbf
, VKD3D_SM5_OP_DMAX = 0xc0
, VKD3D_SM5_OP_DMIN = 0xc1
,
VKD3D_SM5_OP_DMUL = 0xc2
, VKD3D_SM5_OP_DEQ = 0xc3
, VKD3D_SM5_OP_DGE = 0xc4
, VKD3D_SM5_OP_DLT = 0xc5
,
VKD3D_SM5_OP_DNE = 0xc6
, VKD3D_SM5_OP_DMOV = 0xc7
, VKD3D_SM5_OP_DMOVC = 0xc8
, VKD3D_SM5_OP_DTOF = 0xc9
,
VKD3D_SM5_OP_FTOD = 0xca
, VKD3D_SM5_OP_EVAL_SAMPLE_INDEX = 0xcc
, VKD3D_SM5_OP_EVAL_CENTROID = 0xcd
, VKD3D_SM5_OP_DCL_GS_INSTANCES = 0xce
,
VKD3D_SM5_OP_DDIV = 0xd2
, VKD3D_SM5_OP_DFMA = 0xd3
, VKD3D_SM5_OP_DRCP = 0xd4
, VKD3D_SM5_OP_MSAD = 0xd5
,
VKD3D_SM5_OP_DTOI = 0xd6
, VKD3D_SM5_OP_DTOU = 0xd7
, VKD3D_SM5_OP_ITOD = 0xd8
, VKD3D_SM5_OP_UTOD = 0xd9
,
VKD3D_SM5_OP_GATHER4_S = 0xdb
, VKD3D_SM5_OP_GATHER4_C_S = 0xdc
, VKD3D_SM5_OP_GATHER4_PO_S = 0xdd
, VKD3D_SM5_OP_GATHER4_PO_C_S = 0xde
,
VKD3D_SM5_OP_LD_S = 0xdf
, VKD3D_SM5_OP_LD2DMS_S = 0xe0
, VKD3D_SM5_OP_LD_UAV_TYPED_S = 0xe1
, VKD3D_SM5_OP_LD_RAW_S = 0xe2
,
VKD3D_SM5_OP_LD_STRUCTURED_S = 0xe3
, VKD3D_SM5_OP_SAMPLE_LOD_S = 0xe4
, VKD3D_SM5_OP_SAMPLE_C_LZ_S = 0xe5
, VKD3D_SM5_OP_SAMPLE_CL_S = 0xe6
,
VKD3D_SM5_OP_SAMPLE_B_CL_S = 0xe7
, VKD3D_SM5_OP_SAMPLE_GRAD_CL_S = 0xe8
, VKD3D_SM5_OP_SAMPLE_C_CL_S = 0xe9
, VKD3D_SM5_OP_CHECK_ACCESS_FULLY_MAPPED = 0xea
,
VKD3D_SM4_OP_COUNT
} |
| |
| enum | vkd3d_sm4_instruction_modifier { VKD3D_SM4_MODIFIER_AOFFIMMI = 0x1
, VKD3D_SM5_MODIFIER_RESOURCE_TYPE = 0x2
, VKD3D_SM5_MODIFIER_DATA_TYPE = 0x3
} |
| |
| enum | vkd3d_sm4_register_type {
VKD3D_SM4_RT_TEMP = 0x00
, VKD3D_SM4_RT_INPUT = 0x01
, VKD3D_SM4_RT_OUTPUT = 0x02
, VKD3D_SM4_RT_INDEXABLE_TEMP = 0x03
,
VKD3D_SM4_RT_IMMCONST = 0x04
, VKD3D_SM4_RT_IMMCONST64 = 0x05
, VKD3D_SM4_RT_SAMPLER = 0x06
, VKD3D_SM4_RT_RESOURCE = 0x07
,
VKD3D_SM4_RT_CONSTBUFFER = 0x08
, VKD3D_SM4_RT_IMMCONSTBUFFER = 0x09
, VKD3D_SM4_RT_PRIMID = 0x0b
, VKD3D_SM4_RT_DEPTHOUT = 0x0c
,
VKD3D_SM4_RT_NULL = 0x0d
, VKD3D_SM4_RT_RASTERIZER = 0x0e
, VKD3D_SM4_RT_OMASK = 0x0f
, VKD3D_SM5_RT_STREAM = 0x10
,
VKD3D_SM5_RT_FUNCTION_BODY = 0x11
, VKD3D_SM5_RT_FUNCTION_POINTER = 0x13
, VKD3D_SM5_RT_OUTPUT_CONTROL_POINT_ID = 0x16
, VKD3D_SM5_RT_FORK_INSTANCE_ID = 0x17
,
VKD3D_SM5_RT_JOIN_INSTANCE_ID = 0x18
, VKD3D_SM5_RT_INPUT_CONTROL_POINT = 0x19
, VKD3D_SM5_RT_OUTPUT_CONTROL_POINT = 0x1a
, VKD3D_SM5_RT_PATCH_CONSTANT_DATA = 0x1b
,
VKD3D_SM5_RT_DOMAIN_LOCATION = 0x1c
, VKD3D_SM5_RT_UAV = 0x1e
, VKD3D_SM5_RT_SHARED_MEMORY = 0x1f
, VKD3D_SM5_RT_THREAD_ID = 0x20
,
VKD3D_SM5_RT_THREAD_GROUP_ID = 0x21
, VKD3D_SM5_RT_LOCAL_THREAD_ID = 0x22
, VKD3D_SM5_RT_COVERAGE = 0x23
, VKD3D_SM5_RT_LOCAL_THREAD_INDEX = 0x24
,
VKD3D_SM5_RT_GS_INSTANCE_ID = 0x25
, VKD3D_SM5_RT_DEPTHOUT_GREATER_EQUAL = 0x26
, VKD3D_SM5_RT_DEPTHOUT_LESS_EQUAL = 0x27
, VKD3D_SM5_RT_OUTPUT_STENCIL_REF = 0x29
,
VKD3D_SM4_REGISTER_TYPE_COUNT
} |
| |
| enum | vkd3d_sm4_extended_operand_type { VKD3D_SM4_EXTENDED_OPERAND_NONE = 0x0
, VKD3D_SM4_EXTENDED_OPERAND_MODIFIER = 0x1
} |
| |
| enum | vkd3d_sm4_register_modifier { VKD3D_SM4_REGISTER_MODIFIER_NONE = 0x00
, VKD3D_SM4_REGISTER_MODIFIER_NEGATE = 0x01
, VKD3D_SM4_REGISTER_MODIFIER_ABS = 0x02
, VKD3D_SM4_REGISTER_MODIFIER_ABS_NEGATE = 0x03
} |
| |
| enum | vkd3d_sm4_register_precision {
VKD3D_SM4_REGISTER_PRECISION_DEFAULT = 0x0
, VKD3D_SM4_REGISTER_PRECISION_MIN_FLOAT_16 = 0x1
, VKD3D_SM4_REGISTER_PRECISION_MIN_FLOAT_10 = 0x2
, VKD3D_SM4_REGISTER_PRECISION_MIN_INT_16 = 0x4
,
VKD3D_SM4_REGISTER_PRECISION_MIN_UINT_16 = 0x5
} |
| |
| enum | vkd3d_sm4_output_primitive_type { VKD3D_SM4_OUTPUT_PT_POINTLIST = 0x1
, VKD3D_SM4_OUTPUT_PT_LINESTRIP = 0x3
, VKD3D_SM4_OUTPUT_PT_TRIANGLESTRIP = 0x5
} |
| |
| enum | vkd3d_sm4_input_primitive_type {
VKD3D_SM4_INPUT_PT_POINT = 0x01
, VKD3D_SM4_INPUT_PT_LINE = 0x02
, VKD3D_SM4_INPUT_PT_TRIANGLE = 0x03
, VKD3D_SM4_INPUT_PT_LINEADJ = 0x06
,
VKD3D_SM4_INPUT_PT_TRIANGLEADJ = 0x07
, VKD3D_SM5_INPUT_PT_PATCH1 = 0x08
, VKD3D_SM5_INPUT_PT_PATCH2 = 0x09
, VKD3D_SM5_INPUT_PT_PATCH3 = 0x0a
,
VKD3D_SM5_INPUT_PT_PATCH4 = 0x0b
, VKD3D_SM5_INPUT_PT_PATCH5 = 0x0c
, VKD3D_SM5_INPUT_PT_PATCH6 = 0x0d
, VKD3D_SM5_INPUT_PT_PATCH7 = 0x0e
,
VKD3D_SM5_INPUT_PT_PATCH8 = 0x0f
, VKD3D_SM5_INPUT_PT_PATCH9 = 0x10
, VKD3D_SM5_INPUT_PT_PATCH10 = 0x11
, VKD3D_SM5_INPUT_PT_PATCH11 = 0x12
,
VKD3D_SM5_INPUT_PT_PATCH12 = 0x13
, VKD3D_SM5_INPUT_PT_PATCH13 = 0x14
, VKD3D_SM5_INPUT_PT_PATCH14 = 0x15
, VKD3D_SM5_INPUT_PT_PATCH15 = 0x16
,
VKD3D_SM5_INPUT_PT_PATCH16 = 0x17
, VKD3D_SM5_INPUT_PT_PATCH17 = 0x18
, VKD3D_SM5_INPUT_PT_PATCH18 = 0x19
, VKD3D_SM5_INPUT_PT_PATCH19 = 0x1a
,
VKD3D_SM5_INPUT_PT_PATCH20 = 0x1b
, VKD3D_SM5_INPUT_PT_PATCH21 = 0x1c
, VKD3D_SM5_INPUT_PT_PATCH22 = 0x1d
, VKD3D_SM5_INPUT_PT_PATCH23 = 0x1e
,
VKD3D_SM5_INPUT_PT_PATCH24 = 0x1f
, VKD3D_SM5_INPUT_PT_PATCH25 = 0x20
, VKD3D_SM5_INPUT_PT_PATCH26 = 0x21
, VKD3D_SM5_INPUT_PT_PATCH27 = 0x22
,
VKD3D_SM5_INPUT_PT_PATCH28 = 0x23
, VKD3D_SM5_INPUT_PT_PATCH29 = 0x24
, VKD3D_SM5_INPUT_PT_PATCH30 = 0x25
, VKD3D_SM5_INPUT_PT_PATCH31 = 0x26
,
VKD3D_SM5_INPUT_PT_PATCH32 = 0x27
} |
| |
| enum | vkd3d_sm4_swizzle_type {
VKD3D_SM4_SWIZZLE_NONE = 0x0
, VKD3D_SM4_SWIZZLE_VEC4 = 0x1
, VKD3D_SM4_SWIZZLE_SCALAR = 0x2
, VKD3D_SM4_SWIZZLE_DEFAULT = ~0u - 1
,
VKD3D_SM4_SWIZZLE_INVALID = ~0u
} |
| |
| enum | vkd3d_sm4_dimension { VKD3D_SM4_DIMENSION_NONE = 0x0
, VKD3D_SM4_DIMENSION_SCALAR = 0x1
, VKD3D_SM4_DIMENSION_VEC4 = 0x2
} |
| |
| enum | vkd3d_sm4_resource_type {
VKD3D_SM4_RESOURCE_BUFFER = 0x1
, VKD3D_SM4_RESOURCE_TEXTURE_1D = 0x2
, VKD3D_SM4_RESOURCE_TEXTURE_2D = 0x3
, VKD3D_SM4_RESOURCE_TEXTURE_2DMS = 0x4
,
VKD3D_SM4_RESOURCE_TEXTURE_3D = 0x5
, VKD3D_SM4_RESOURCE_TEXTURE_CUBE = 0x6
, VKD3D_SM4_RESOURCE_TEXTURE_1DARRAY = 0x7
, VKD3D_SM4_RESOURCE_TEXTURE_2DARRAY = 0x8
,
VKD3D_SM4_RESOURCE_TEXTURE_2DMSARRAY = 0x9
, VKD3D_SM4_RESOURCE_TEXTURE_CUBEARRAY = 0xa
, VKD3D_SM4_RESOURCE_RAW_BUFFER = 0xb
, VKD3D_SM4_RESOURCE_STRUCTURED_BUFFER = 0xc
} |
| |
| enum | vkd3d_sm4_data_type {
VKD3D_SM4_DATA_UNORM = 0x1
, VKD3D_SM4_DATA_SNORM = 0x2
, VKD3D_SM4_DATA_INT = 0x3
, VKD3D_SM4_DATA_UINT = 0x4
,
VKD3D_SM4_DATA_FLOAT = 0x5
, VKD3D_SM4_DATA_MIXED = 0x6
, VKD3D_SM4_DATA_DOUBLE = 0x7
, VKD3D_SM4_DATA_CONTINUED = 0x8
,
VKD3D_SM4_DATA_UNUSED = 0x9
} |
| |
| enum | vkd3d_sm4_sampler_mode { VKD3D_SM4_SAMPLER_DEFAULT = 0x0
, VKD3D_SM4_SAMPLER_COMPARISON = 0x1
} |
| |
| enum | vkd3d_sm4_shader_data_type { VKD3D_SM4_SHADER_DATA_IMMEDIATE_CONSTANT_BUFFER = 0x3
, VKD3D_SM4_SHADER_DATA_MESSAGE = 0x4
} |
| |
| enum | vkd3d_sm4_stat_field {
VKD3D_STAT_UNUSED = 0
, VKD3D_STAT_INSTR_COUNT
, VKD3D_STAT_MOV
, VKD3D_STAT_MOVC
,
VKD3D_STAT_CONV
, VKD3D_STAT_FLOAT
, VKD3D_STAT_INT
, VKD3D_STAT_UINT
,
VKD3D_STAT_EMIT
, VKD3D_STAT_CUT
, VKD3D_STAT_SAMPLE
, VKD3D_STAT_SAMPLE_C
,
VKD3D_STAT_SAMPLE_GRAD
, VKD3D_STAT_SAMPLE_BIAS
, VKD3D_STAT_LOAD
, VKD3D_STAT_STORE
,
VKD3D_STAT_DCL_VERTICES_OUT
, VKD3D_STAT_DCL_INPUT_PRIMITIVE
, VKD3D_STAT_DCL_OUTPUT_TOPOLOGY
, VKD3D_STAT_DCL_GS_INSTANCES
,
VKD3D_STAT_BITWISE
, VKD3D_STAT_ATOMIC
, VKD3D_STAT_TESS_DOMAIN
, VKD3D_STAT_TESS_PARTITIONING
,
VKD3D_STAT_TESS_OUTPUT_PRIMITIVE
, VKD3D_STAT_TESS_CONTROL_POINT_COUNT
, VKD3D_STAT_BARRIER
, VKD3D_STAT_LOD
,
VKD3D_STAT_GATHER
, VKD3D_STAT_TEMPS
, VKD3D_STAT_COUNT
} |
| |
|
| | STATIC_ASSERT (SM4_MAX_SRC_COUNT<=SPIRV_MAX_SRC_COUNT) |
| |
| static enum vsir_dimension | vsir_dimension_from_sm4_dimension (enum vkd3d_sm4_dimension dim) |
| |
| static enum vkd3d_sm4_dimension | sm4_dimension_from_vsir_dimension (enum vsir_dimension dim) |
| |
| static bool | shader_is_sm_5_1 (const struct vkd3d_shader_sm4_parser *sm4) |
| |
| static bool | shader_sm4_read_src_param (struct vkd3d_shader_sm4_parser *priv, const uint32_t **ptr, const uint32_t *end, enum vkd3d_data_type data_type, struct vkd3d_shader_src_param *src_param) |
| |
| static bool | shader_sm4_read_dst_param (struct vkd3d_shader_sm4_parser *priv, const uint32_t **ptr, const uint32_t *end, enum vkd3d_data_type data_type, struct vkd3d_shader_dst_param *dst_param) |
| |
| static bool | shader_sm4_read_register_space (struct vkd3d_shader_sm4_parser *priv, const uint32_t **ptr, const uint32_t *end, unsigned int *register_space) |
| |
| static void | shader_sm4_read_conditional_op (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_case_condition (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_shader_data (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_set_descriptor_register_range (struct vkd3d_shader_sm4_parser *sm4, const struct vkd3d_shader_register *reg, struct vkd3d_shader_register_range *range) |
| |
| static void | shader_sm4_read_dcl_resource (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_constant_buffer (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_sampler (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static bool | sm4_parser_is_in_fork_or_join_phase (const struct vkd3d_shader_sm4_parser *sm4) |
| |
| static void | shader_sm4_read_dcl_index_range (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_output_topology (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_input_primitive (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *sm4) |
| |
| static void | shader_sm4_read_declaration_count (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *sm4) |
| |
| static void | shader_sm4_read_declaration_dst (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_declaration_register_semantic (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_input_ps (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_input_ps_siv (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_indexable_temp (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm4_read_dcl_global_flags (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *sm4) |
| |
| static void | shader_sm5_read_fcall (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_function_body (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_function_table (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_interface (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_control_point_count (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *sm4) |
| |
| static void | shader_sm5_read_dcl_tessellator_domain (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_tessellator_partitioning (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_tessellator_output_primitive (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_hs_max_tessfactor (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_thread_group (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *sm4) |
| |
| static void | shader_sm5_read_dcl_uav_raw (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_uav_structured (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_tgsm_raw (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_tgsm_structured (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_resource_structured (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_dcl_resource_raw (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | shader_sm5_read_sync (struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv) |
| |
| static void | init_sm4_lookup_tables (struct vkd3d_sm4_lookup_tables *lookup) |
| |
| static const struct vkd3d_sm4_opcode_info * | get_info_from_sm4_opcode (const struct vkd3d_sm4_lookup_tables *lookup, enum vkd3d_sm4_opcode sm4_opcode) |
| |
| static const struct vkd3d_sm4_opcode_info * | get_info_from_vsir_opcode (const struct vkd3d_sm4_lookup_tables *lookup, enum vkd3d_shader_opcode vsir_opcode) |
| |
| static unsigned int | opcode_info_get_dst_count (const struct vkd3d_sm4_opcode_info *info) |
| |
| static unsigned int | opcode_info_get_src_count (const struct vkd3d_sm4_opcode_info *info) |
| |
| static const struct vkd3d_sm4_register_type_info * | get_info_from_sm4_register_type (const struct vkd3d_sm4_lookup_tables *lookup, enum vkd3d_sm4_register_type sm4_type) |
| |
| static const struct vkd3d_sm4_register_type_info * | get_info_from_vkd3d_register_type (const struct vkd3d_sm4_lookup_tables *lookup, enum vkd3d_shader_register_type vkd3d_type) |
| |
| static enum vkd3d_sm4_swizzle_type | vkd3d_sm4_get_default_swizzle_type (const struct vkd3d_sm4_lookup_tables *lookup, enum vkd3d_shader_register_type vkd3d_type) |
| |
| static enum vkd3d_sm4_stat_field | get_stat_field_from_sm4_opcode (const struct vkd3d_sm4_lookup_tables *lookup, enum vkd3d_sm4_opcode sm4_opcode) |
| |
| static enum vkd3d_data_type | map_data_type (char t) |
| |
| static bool | shader_sm4_read_reg_idx (struct vkd3d_shader_sm4_parser *priv, const uint32_t **ptr, const uint32_t *end, uint32_t addressing, struct vkd3d_shader_register_index *reg_idx) |
| |
| static bool | shader_sm4_read_param (struct vkd3d_shader_sm4_parser *priv, const uint32_t **ptr, const uint32_t *end, enum vkd3d_data_type data_type, struct vkd3d_shader_register *param, enum vkd3d_shader_src_modifier *modifier) |
| |
| bool | shader_sm4_is_scalar_register (const struct vkd3d_shader_register *reg) |
| |
| static uint32_t | swizzle_from_sm4 (uint32_t s) |
| |
| static uint32_t | swizzle_to_sm4 (uint32_t s) |
| |
| static bool | register_is_input_output (const struct vkd3d_shader_register *reg) |
| |
| static bool | register_is_control_point_input (const struct vkd3d_shader_register *reg, const struct vkd3d_shader_sm4_parser *priv) |
| |
| static uint32_t | mask_from_swizzle (uint32_t swizzle) |
| |
| static bool | shader_sm4_validate_input_output_register (struct vkd3d_shader_sm4_parser *priv, const struct vkd3d_shader_register *reg, unsigned int mask) |
| |
| static void | shader_sm4_read_instruction_modifier (uint32_t modifier, struct vkd3d_shader_instruction *ins) |
| |
| static void | shader_sm4_read_instruction (struct vkd3d_shader_sm4_parser *sm4, struct vkd3d_shader_instruction *ins) |
| |
| static bool | shader_sm4_init (struct vkd3d_shader_sm4_parser *sm4, struct vsir_program *program, const uint32_t *byte_code, size_t byte_code_size, const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_message_context *message_context) |
| |
| static void | uninvert_used_masks (struct shader_signature *signature) |
| |
| static bool | shader_sm4_parser_validate_signature (struct vkd3d_shader_sm4_parser *sm4, const struct shader_signature *signature, unsigned int *masks, const char *name) |
| |
| static int | index_range_compare (const void *a, const void *b) |
| |
| static void | shader_sm4_validate_default_phase_index_ranges (struct vkd3d_shader_sm4_parser *sm4) |
| |
| int | tpf_parse (const struct vkd3d_shader_compile_info *compile_info, uint64_t config_flags, struct vkd3d_shader_message_context *message_context, struct vsir_program *program) |
| |
| static void | write_sm4_block (struct tpf_compiler *tpf, const struct hlsl_block *block) |
| |
| bool | sm4_register_from_semantic_name (const struct vkd3d_shader_version *version, const char *semantic_name, bool output, enum vkd3d_shader_register_type *type, bool *has_idx) |
| |
| static bool | get_tessfactor_sysval_semantic (enum vkd3d_shader_sysval_semantic *semantic, enum vkd3d_tessellator_domain domain, uint32_t index) |
| |
| static bool | get_insidetessfactor_sysval_semantic (enum vkd3d_shader_sysval_semantic *semantic, enum vkd3d_tessellator_domain domain, uint32_t index) |
| |
| bool | sm4_sysval_semantic_from_semantic_name (enum vkd3d_shader_sysval_semantic *sysval_semantic, const struct vkd3d_shader_version *version, bool semantic_compat_mapping, enum vkd3d_tessellator_domain domain, const char *semantic_name, unsigned int semantic_idx, bool output, bool is_patch_constant_func) |
| |
| static void | add_section (struct hlsl_ctx *ctx, struct dxbc_writer *dxbc, uint32_t tag, struct vkd3d_bytecode_buffer *buffer) |
| |
| static int | signature_element_pointer_compare (const void *x, const void *y) |
| |
| static void | tpf_write_signature (struct tpf_compiler *tpf, const struct shader_signature *signature, uint32_t tag) |
| |
| static D3D_SHADER_VARIABLE_CLASS | sm4_class (const struct hlsl_type *type) |
| |
| static D3D_SHADER_VARIABLE_TYPE | sm4_base_type (const struct hlsl_type *type) |
| |
| static void | write_sm4_type (struct hlsl_ctx *ctx, struct vkd3d_bytecode_buffer *buffer, struct hlsl_type *type) |
| |
| static D3D_SHADER_INPUT_TYPE | sm4_resource_type (const struct hlsl_type *type) |
| |
| static enum vkd3d_sm4_data_type | sm4_data_type (const struct hlsl_type *type) |
| |
| static D3D_SRV_DIMENSION | sm4_rdef_resource_dimension (const struct hlsl_type *type) |
| |
| static int | sm4_compare_extern_resources (const void *a, const void *b) |
| |
| static void | sm4_free_extern_resources (struct extern_resource *extern_resources, unsigned int count) |
| |
| static const char * | string_skip_tag (const char *string) |
| |
| static struct extern_resource * | sm4_get_extern_resources (struct hlsl_ctx *ctx, unsigned int *count) |
| |
| static unsigned int | get_component_index_from_default_initializer_index (struct hlsl_type *type, unsigned int index) |
| |
| static void | write_sm4_rdef (struct hlsl_ctx *ctx, struct dxbc_writer *dxbc) |
| |
| static enum vkd3d_sm4_resource_type | sm4_resource_dimension (const struct hlsl_type *type) |
| |
| static uint32_t | sm4_encode_instruction_modifier (const struct sm4_instruction_modifier *imod) |
| |
| static void | sm4_register_from_node (struct vkd3d_shader_register *reg, uint32_t *writemask, const struct hlsl_ir_node *instr) |
| |
| static void | sm4_numeric_register_from_deref (struct hlsl_ctx *ctx, struct vkd3d_shader_register *reg, enum vkd3d_shader_register_type type, uint32_t *writemask, const struct hlsl_deref *deref, struct sm4_instruction *sm4_instr) |
| |
| static void | sm4_register_from_deref (const struct tpf_compiler *tpf, struct vkd3d_shader_register *reg, uint32_t *writemask, const struct hlsl_deref *deref, struct sm4_instruction *sm4_instr) |
| |
| static void | sm4_src_from_deref (const struct tpf_compiler *tpf, struct vkd3d_shader_src_param *src, const struct hlsl_deref *deref, unsigned int map_writemask, struct sm4_instruction *sm4_instr) |
| |
| static void | sm4_dst_from_node (struct vkd3d_shader_dst_param *dst, const struct hlsl_ir_node *instr) |
| |
| static void | sm4_src_from_constant_value (struct vkd3d_shader_src_param *src, const struct hlsl_constant_value *value, unsigned int width, unsigned int map_writemask) |
| |
| static void | sm4_src_from_node (const struct tpf_compiler *tpf, struct vkd3d_shader_src_param *src, const struct hlsl_ir_node *instr, uint32_t map_writemask) |
| |
| static unsigned int | sm4_get_index_addressing_from_reg (const struct vkd3d_shader_register *reg, unsigned int i) |
| |
| static uint32_t | sm4_encode_register (const struct tpf_compiler *tpf, const struct vkd3d_shader_register *reg, enum vkd3d_sm4_swizzle_type sm4_swizzle_type, uint32_t sm4_swizzle) |
| |
| static void | sm4_write_register_index (const struct tpf_compiler *tpf, const struct vkd3d_shader_register *reg, unsigned int j) |
| |
| static void | sm4_write_dst_register (const struct tpf_compiler *tpf, const struct vkd3d_shader_dst_param *dst) |
| |
| static void | sm4_write_src_register (const struct tpf_compiler *tpf, const struct vkd3d_shader_src_param *src) |
| |
| static void | sm4_update_stat_counters (const struct tpf_compiler *tpf, const struct sm4_instruction *instr) |
| |
| static void | write_sm4_instruction (const struct tpf_compiler *tpf, const struct sm4_instruction *instr) |
| |
| static bool | encode_texel_offset_as_aoffimmi (struct sm4_instruction *instr, const struct hlsl_ir_node *texel_offset) |
| |
| static void | write_sm4_dcl_constant_buffer (const struct tpf_compiler *tpf, const struct hlsl_buffer *cbuffer) |
| |
| static void | write_sm4_dcl_samplers (const struct tpf_compiler *tpf, const struct extern_resource *resource) |
| |
| static void | write_sm4_dcl_textures (const struct tpf_compiler *tpf, const struct extern_resource *resource, bool uav) |
| |
| static void | tpf_dcl_temps (const struct tpf_compiler *tpf, unsigned int count) |
| |
| static void | tpf_dcl_indexable_temp (const struct tpf_compiler *tpf, const struct vkd3d_shader_indexable_temp *temp) |
| |
| static void | tpf_dcl_semantic (const struct tpf_compiler *tpf, enum vkd3d_sm4_opcode opcode, const struct vkd3d_shader_dst_param *dst, uint32_t interpolation_flags) |
| |
| static void | tpf_dcl_siv_semantic (const struct tpf_compiler *tpf, enum vkd3d_sm4_opcode opcode, const struct vkd3d_shader_register_semantic *semantic, uint32_t interpolation_flags) |
| |
| static void | tpf_dcl_thread_group (const struct tpf_compiler *tpf, const struct vsir_thread_group_size *group_size) |
| |
| static void | write_sm4_dcl_global_flags (const struct tpf_compiler *tpf, uint32_t flags) |
| |
| static void | tpf_write_hs_decls (const struct tpf_compiler *tpf) |
| |
| static void | tpf_write_hs_control_point_phase (const struct tpf_compiler *tpf) |
| |
| static void | tpf_write_hs_fork_phase (const struct tpf_compiler *tpf) |
| |
| static void | tpf_write_dcl_input_control_point_count (const struct tpf_compiler *tpf, const uint32_t count) |
| |
| static void | tpf_write_dcl_output_control_point_count (const struct tpf_compiler *tpf, const uint32_t count) |
| |
| static void | tpf_write_dcl_tessellator_domain (const struct tpf_compiler *tpf, enum vkd3d_tessellator_domain domain) |
| |
| static void | tpf_write_dcl_tessellator_partitioning (const struct tpf_compiler *tpf, enum vkd3d_shader_tessellator_partitioning partitioning) |
| |
| static void | tpf_write_dcl_tessellator_output_primitive (const struct tpf_compiler *tpf, enum vkd3d_shader_tessellator_output_primitive output_primitive) |
| |
| static void | write_sm4_ret (const struct tpf_compiler *tpf) |
| |
| static void | write_sm4_ld (const struct tpf_compiler *tpf, const struct hlsl_ir_node *dst, const struct hlsl_deref *resource, const struct hlsl_ir_node *coords, const struct hlsl_ir_node *sample_index, const struct hlsl_ir_node *texel_offset, enum hlsl_sampler_dim dim) |
| |
| static void | write_sm4_sample (const struct tpf_compiler *tpf, const struct hlsl_ir_resource_load *load) |
| |
| static void | write_sm4_sampleinfo (const struct tpf_compiler *tpf, const struct hlsl_ir_resource_load *load) |
| |
| static void | write_sm4_resinfo (const struct tpf_compiler *tpf, const struct hlsl_ir_resource_load *load) |
| |
| static void | write_sm4_if (struct tpf_compiler *tpf, const struct hlsl_ir_if *iff) |
| |
| static void | write_sm4_jump (const struct tpf_compiler *tpf, const struct hlsl_ir_jump *jump) |
| |
| static bool | var_is_user_input (const struct vkd3d_shader_version *version, const struct hlsl_ir_var *var) |
| |
| static void | write_sm4_load (const struct tpf_compiler *tpf, const struct hlsl_ir_load *load) |
| |
| static void | write_sm4_loop (struct tpf_compiler *tpf, const struct hlsl_ir_loop *loop) |
| |
| static void | write_sm4_gather (const struct tpf_compiler *tpf, const struct hlsl_ir_node *dst, const struct hlsl_deref *resource, const struct hlsl_deref *sampler, const struct hlsl_ir_node *coords, uint32_t swizzle, const struct hlsl_ir_node *texel_offset) |
| |
| static void | write_sm4_resource_load (const struct tpf_compiler *tpf, const struct hlsl_ir_resource_load *load) |
| |
| static void | write_sm4_resource_store (const struct tpf_compiler *tpf, const struct hlsl_ir_resource_store *store) |
| |
| static void | write_sm4_store (const struct tpf_compiler *tpf, const struct hlsl_ir_store *store) |
| |
| static void | write_sm4_switch (struct tpf_compiler *tpf, const struct hlsl_ir_switch *s) |
| |
| static void | write_sm4_swizzle (const struct tpf_compiler *tpf, const struct hlsl_ir_swizzle *swizzle) |
| |
| static void | tpf_simple_instruction (struct tpf_compiler *tpf, const struct vkd3d_shader_instruction *ins) |
| |
| static void | tpf_handle_instruction (struct tpf_compiler *tpf, const struct vkd3d_shader_instruction *ins) |
| |
| static void | tpf_write_shader_function (struct tpf_compiler *tpf, struct hlsl_ir_function_decl *func) |
| |
| static void | tpf_write_shdr (struct tpf_compiler *tpf, struct hlsl_ir_function_decl *entry_func) |
| |
| static void | tpf_write_sfi0 (struct tpf_compiler *tpf) |
| |
| static void | tpf_write_stat (struct tpf_compiler *tpf) |
| |
| int | tpf_compile (struct vsir_program *program, uint64_t config_flags, struct vkd3d_shader_code *out, struct vkd3d_shader_message_context *message_context, struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry_func) |
| |