.. | .. |
---|
71 | 71 | #define DRM_VMW_CREATE_EXTENDED_CONTEXT 26 |
---|
72 | 72 | #define DRM_VMW_GB_SURFACE_CREATE_EXT 27 |
---|
73 | 73 | #define DRM_VMW_GB_SURFACE_REF_EXT 28 |
---|
| 74 | +#define DRM_VMW_MSG 29 |
---|
74 | 75 | |
---|
75 | 76 | /*************************************************************************/ |
---|
76 | 77 | /** |
---|
.. | .. |
---|
85 | 86 | * |
---|
86 | 87 | * DRM_VMW_PARAM_SM4_1 |
---|
87 | 88 | * SM4_1 support is enabled. |
---|
| 89 | + * |
---|
| 90 | + * DRM_VMW_PARAM_SM5 |
---|
| 91 | + * SM5 support is enabled. |
---|
88 | 92 | */ |
---|
89 | 93 | |
---|
90 | 94 | #define DRM_VMW_PARAM_NUM_STREAMS 0 |
---|
.. | .. |
---|
102 | 106 | #define DRM_VMW_PARAM_DX 12 |
---|
103 | 107 | #define DRM_VMW_PARAM_HW_CAPS2 13 |
---|
104 | 108 | #define DRM_VMW_PARAM_SM4_1 14 |
---|
| 109 | +#define DRM_VMW_PARAM_SM5 15 |
---|
105 | 110 | |
---|
106 | 111 | /** |
---|
107 | 112 | * enum drm_vmw_handle_type - handle type for ref ioctls |
---|
.. | .. |
---|
891 | 896 | * surface. |
---|
892 | 897 | * @drm_vmw_surface_flag_create_buffer: Create a backup buffer if none is |
---|
893 | 898 | * given. |
---|
| 899 | + * @drm_vmw_surface_flag_coherent: Back surface with coherent memory. |
---|
894 | 900 | */ |
---|
895 | 901 | enum drm_vmw_surface_flags { |
---|
896 | 902 | drm_vmw_surface_flag_shareable = (1 << 0), |
---|
897 | 903 | drm_vmw_surface_flag_scanout = (1 << 1), |
---|
898 | | - drm_vmw_surface_flag_create_buffer = (1 << 2) |
---|
| 904 | + drm_vmw_surface_flag_create_buffer = (1 << 2), |
---|
| 905 | + drm_vmw_surface_flag_coherent = (1 << 3), |
---|
899 | 906 | }; |
---|
900 | 907 | |
---|
901 | 908 | /** |
---|
.. | .. |
---|
1130 | 1137 | * svga3d surface flags split into 2, upper half and lower half. |
---|
1131 | 1138 | */ |
---|
1132 | 1139 | enum drm_vmw_surface_version { |
---|
1133 | | - drm_vmw_gb_surface_v1 |
---|
| 1140 | + drm_vmw_gb_surface_v1, |
---|
1134 | 1141 | }; |
---|
1135 | 1142 | |
---|
1136 | 1143 | /** |
---|
.. | .. |
---|
1141 | 1148 | * @svga3d_flags_upper_32_bits: Upper 32 bits of svga3d flags. |
---|
1142 | 1149 | * @multisample_pattern: Multisampling pattern when msaa is supported. |
---|
1143 | 1150 | * @quality_level: Precision settings for each sample. |
---|
| 1151 | + * @buffer_byte_stride: Buffer byte stride. |
---|
1144 | 1152 | * @must_be_zero: Reserved for future usage. |
---|
1145 | 1153 | * |
---|
1146 | 1154 | * Input argument to the DRM_VMW_GB_SURFACE_CREATE_EXT Ioctl. |
---|
.. | .. |
---|
1149 | 1157 | struct drm_vmw_gb_surface_create_ext_req { |
---|
1150 | 1158 | struct drm_vmw_gb_surface_create_req base; |
---|
1151 | 1159 | enum drm_vmw_surface_version version; |
---|
1152 | | - uint32_t svga3d_flags_upper_32_bits; |
---|
1153 | | - SVGA3dMSPattern multisample_pattern; |
---|
1154 | | - SVGA3dMSQualityLevel quality_level; |
---|
1155 | | - uint64_t must_be_zero; |
---|
| 1160 | + __u32 svga3d_flags_upper_32_bits; |
---|
| 1161 | + __u32 multisample_pattern; |
---|
| 1162 | + __u32 quality_level; |
---|
| 1163 | + __u32 buffer_byte_stride; |
---|
| 1164 | + __u32 must_be_zero; |
---|
1156 | 1165 | }; |
---|
1157 | 1166 | |
---|
1158 | 1167 | /** |
---|
.. | .. |
---|
1211 | 1220 | struct drm_vmw_surface_arg req; |
---|
1212 | 1221 | }; |
---|
1213 | 1222 | |
---|
| 1223 | +/** |
---|
| 1224 | + * struct drm_vmw_msg_arg |
---|
| 1225 | + * |
---|
| 1226 | + * @send: Pointer to user-space msg string (null terminated). |
---|
| 1227 | + * @receive: Pointer to user-space receive buffer. |
---|
| 1228 | + * @send_only: Boolean whether this is only sending or receiving too. |
---|
| 1229 | + * |
---|
| 1230 | + * Argument to the DRM_VMW_MSG ioctl. |
---|
| 1231 | + */ |
---|
| 1232 | +struct drm_vmw_msg_arg { |
---|
| 1233 | + __u64 send; |
---|
| 1234 | + __u64 receive; |
---|
| 1235 | + __s32 send_only; |
---|
| 1236 | + __u32 receive_len; |
---|
| 1237 | +}; |
---|
| 1238 | + |
---|
1214 | 1239 | #if defined(__cplusplus) |
---|
1215 | 1240 | } |
---|
1216 | 1241 | #endif |
---|