File indexing completed on 2025-01-18 10:01:50
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 #ifndef _INTEL_AUB_H
0041 #define _INTEL_AUB_H
0042
0043 #define AUB_MI_NOOP (0)
0044 #define AUB_MI_BATCH_BUFFER_START (0x31 << 23)
0045 #define AUB_PIPE_CONTROL (0x7a000002)
0046
0047
0048
0049 #define CMD_AUB (7 << 29)
0050
0051 #define CMD_AUB_HEADER (CMD_AUB | (1 << 23) | (0x05 << 16))
0052
0053 # define AUB_HEADER_MAJOR_SHIFT 24
0054 # define AUB_HEADER_MINOR_SHIFT 16
0055
0056 #define CMD_AUB_TRACE_HEADER_BLOCK (CMD_AUB | (1 << 23) | (0x41 << 16))
0057 #define CMD_AUB_DUMP_BMP (CMD_AUB | (1 << 23) | (0x9e << 16))
0058
0059
0060 #define AUB_TRACE_OPERATION_MASK 0x000000ff
0061 #define AUB_TRACE_OP_COMMENT 0x00000000
0062 #define AUB_TRACE_OP_DATA_WRITE 0x00000001
0063 #define AUB_TRACE_OP_COMMAND_WRITE 0x00000002
0064 #define AUB_TRACE_OP_MMIO_WRITE 0x00000003
0065
0066 #define AUB_TRACE_TYPE_MASK 0x0000ff00
0067 #define AUB_TRACE_TYPE_NOTYPE (0 << 8)
0068 #define AUB_TRACE_TYPE_BATCH (1 << 8)
0069 #define AUB_TRACE_TYPE_VERTEX_BUFFER (5 << 8)
0070 #define AUB_TRACE_TYPE_2D_MAP (6 << 8)
0071 #define AUB_TRACE_TYPE_CUBE_MAP (7 << 8)
0072 #define AUB_TRACE_TYPE_VOLUME_MAP (9 << 8)
0073 #define AUB_TRACE_TYPE_1D_MAP (10 << 8)
0074 #define AUB_TRACE_TYPE_CONSTANT_BUFFER (11 << 8)
0075 #define AUB_TRACE_TYPE_CONSTANT_URB (12 << 8)
0076 #define AUB_TRACE_TYPE_INDEX_BUFFER (13 << 8)
0077 #define AUB_TRACE_TYPE_GENERAL (14 << 8)
0078 #define AUB_TRACE_TYPE_SURFACE (15 << 8)
0079
0080
0081
0082 #define AUB_TRACE_TYPE_RING_HWB (1 << 8)
0083 #define AUB_TRACE_TYPE_RING_PRB0 (2 << 8)
0084 #define AUB_TRACE_TYPE_RING_PRB1 (3 << 8)
0085 #define AUB_TRACE_TYPE_RING_PRB2 (4 << 8)
0086
0087
0088 #define AUB_TRACE_ADDRESS_SPACE_MASK 0x00ff0000
0089 #define AUB_TRACE_MEMTYPE_GTT (0 << 16)
0090 #define AUB_TRACE_MEMTYPE_LOCAL (1 << 16)
0091 #define AUB_TRACE_MEMTYPE_NONLOCAL (2 << 16)
0092 #define AUB_TRACE_MEMTYPE_PCI (3 << 16)
0093 #define AUB_TRACE_MEMTYPE_GTT_ENTRY (4 << 16)
0094
0095
0096
0097
0098
0099
0100
0101
0102 #define ENCODE_SS_TYPE(type, subtype) (((type) << 16) | (subtype))
0103
0104 enum aub_state_struct_type {
0105 AUB_TRACE_VS_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 1),
0106 AUB_TRACE_GS_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 2),
0107 AUB_TRACE_CLIP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 3),
0108 AUB_TRACE_SF_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 4),
0109 AUB_TRACE_WM_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 5),
0110 AUB_TRACE_CC_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 6),
0111 AUB_TRACE_CLIP_VP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 7),
0112 AUB_TRACE_SF_VP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 8),
0113 AUB_TRACE_CC_VP_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x9),
0114 AUB_TRACE_SAMPLER_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xa),
0115 AUB_TRACE_KERNEL_INSTRUCTIONS = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xb),
0116 AUB_TRACE_SCRATCH_SPACE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xc),
0117 AUB_TRACE_SAMPLER_DEFAULT_COLOR = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0xd),
0118
0119 AUB_TRACE_SCISSOR_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x15),
0120 AUB_TRACE_BLEND_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x16),
0121 AUB_TRACE_DEPTH_STENCIL_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_GENERAL, 0x17),
0122
0123 AUB_TRACE_VERTEX_BUFFER = ENCODE_SS_TYPE(AUB_TRACE_TYPE_VERTEX_BUFFER, 0),
0124 AUB_TRACE_BINDING_TABLE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_SURFACE, 0x100),
0125 AUB_TRACE_SURFACE_STATE = ENCODE_SS_TYPE(AUB_TRACE_TYPE_SURFACE, 0x200),
0126 AUB_TRACE_VS_CONSTANTS = ENCODE_SS_TYPE(AUB_TRACE_TYPE_CONSTANT_BUFFER, 0),
0127 AUB_TRACE_WM_CONSTANTS = ENCODE_SS_TYPE(AUB_TRACE_TYPE_CONSTANT_BUFFER, 1),
0128 };
0129
0130 #undef ENCODE_SS_TYPE
0131
0132
0133
0134
0135
0136 static inline uint32_t AUB_TRACE_TYPE(enum aub_state_struct_type ss_type)
0137 {
0138 return (ss_type & 0xFFFF0000) >> 16;
0139 }
0140
0141
0142
0143
0144
0145 static inline uint32_t AUB_TRACE_SUBTYPE(enum aub_state_struct_type ss_type)
0146 {
0147 return ss_type & 0xFFFF;
0148 }
0149
0150
0151
0152
0153 #endif