History

Merge tag 'vmwgfx-next-4.19-3' of git://people.freedesktop.org/~thomash/linux into drm-next

This introduces a header update and support for multisample surfaces.

Dave Airlie committed 8 years ago

Commit b8616862 parents 8038d2a 9b07b2816 files · +2032 −969Browse files

Showing the changes to include/uapi (1 of 16 files). Show all

Unified · Split

include/uapi/drm/vmwgfx_drm.h+107−0
@@ -69,6 +69,8 @@ extern "C" { · 68 unmodified lines
69#define DRM_VMW_GB_SURFACE_REF 2469#define DRM_VMW_GB_SURFACE_REF 24
70#define DRM_VMW_SYNCCPU 2570#define DRM_VMW_SYNCCPU 25
71#define DRM_VMW_CREATE_EXTENDED_CONTEXT 2671#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
72#define DRM_VMW_GB_SURFACE_CREATE_EXT 27
73#define DRM_VMW_GB_SURFACE_REF_EXT 28
72 74
73/*************************************************************************/75/*************************************************************************/
74/**76/**
@@ -80,6 +82,9 @@ extern "C" { · 5 unmodified lines
80 *82 *
81 * DRM_VMW_PARAM_OVERLAY_IOCTL:83 * DRM_VMW_PARAM_OVERLAY_IOCTL:
82 * Does the driver support the overlay ioctl.84 * Does the driver support the overlay ioctl.
85 *
86 * DRM_VMW_PARAM_SM4_1
87 * SM4_1 support is enabled.
83 */88 */
84 89
85#define DRM_VMW_PARAM_NUM_STREAMS 090#define DRM_VMW_PARAM_NUM_STREAMS 0
@@ -95,6 +100,8 @@ extern "C" { · 9 unmodified lines
95#define DRM_VMW_PARAM_MAX_MOB_SIZE 10100#define DRM_VMW_PARAM_MAX_MOB_SIZE 10
96#define DRM_VMW_PARAM_SCREEN_TARGET 11101#define DRM_VMW_PARAM_SCREEN_TARGET 11
97#define DRM_VMW_PARAM_DX 12102#define DRM_VMW_PARAM_DX 12
103#define DRM_VMW_PARAM_HW_CAPS2 13
104#define DRM_VMW_PARAM_SM4_1 14
98 105
99/**106/**
100 * enum drm_vmw_handle_type - handle type for ref ioctls107 * enum drm_vmw_handle_type - handle type for ref ioctls
@@ -1104,6 +1111,106 @@ struct drm_vmw_handle_close_arg { · 1003 unmodified lines
1104};1111};
1105#define drm_vmw_unref_dmabuf_arg drm_vmw_handle_close_arg1112#define drm_vmw_unref_dmabuf_arg drm_vmw_handle_close_arg
1106 1113
1114/*************************************************************************/
1115/**
1116 * DRM_VMW_GB_SURFACE_CREATE_EXT - Create a host guest-backed surface.
1117 *
1118 * Allocates a surface handle and queues a create surface command
1119 * for the host on the first use of the surface. The surface ID can
1120 * be used as the surface ID in commands referencing the surface.
1121 *
1122 * This new command extends DRM_VMW_GB_SURFACE_CREATE by adding version
1123 * parameter and 64 bit svga flag.
1124 */
1125
1126/**
1127 * enum drm_vmw_surface_version
1128 *
1129 * @drm_vmw_surface_gb_v1: Corresponds to current gb surface format with
1130 * svga3d surface flags split into 2, upper half and lower half.
1131 */
1132enum drm_vmw_surface_version {
1133 drm_vmw_gb_surface_v1
1134};
1135
1136/**
1137 * struct drm_vmw_gb_surface_create_ext_req
1138 *
1139 * @base: Surface create parameters.
1140 * @version: Version of surface create ioctl.
1141 * @svga3d_flags_upper_32_bits: Upper 32 bits of svga3d flags.
1142 * @multisample_pattern: Multisampling pattern when msaa is supported.
1143 * @quality_level: Precision settings for each sample.
1144 * @must_be_zero: Reserved for future usage.
1145 *
1146 * Input argument to the DRM_VMW_GB_SURFACE_CREATE_EXT Ioctl.
1147 * Part of output argument for the DRM_VMW_GB_SURFACE_REF_EXT Ioctl.
1148 */
1149struct drm_vmw_gb_surface_create_ext_req {
1150 struct drm_vmw_gb_surface_create_req base;
1151 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;
1156};
1157
1158/**
1159 * union drm_vmw_gb_surface_create_ext_arg
1160 *
1161 * @req: Input argument as described above.
1162 * @rep: Output argument as described above.
1163 *
1164 * Argument to the DRM_VMW_GB_SURFACE_CREATE_EXT ioctl.
1165 */
1166union drm_vmw_gb_surface_create_ext_arg {
1167 struct drm_vmw_gb_surface_create_rep rep;
1168 struct drm_vmw_gb_surface_create_ext_req req;
1169};
1170
1171/*************************************************************************/
1172/**
1173 * DRM_VMW_GB_SURFACE_REF_EXT - Reference a host surface.
1174 *
1175 * Puts a reference on a host surface with a given handle, as previously
1176 * returned by the DRM_VMW_GB_SURFACE_CREATE_EXT ioctl.
1177 * A reference will make sure the surface isn't destroyed while we hold
1178 * it and will allow the calling client to use the surface handle in
1179 * the command stream.
1180 *
1181 * On successful return, the Ioctl returns the surface information given
1182 * to and returned from the DRM_VMW_GB_SURFACE_CREATE_EXT ioctl.
1183 */
1184
1185/**
1186 * struct drm_vmw_gb_surface_ref_ext_rep
1187 *
1188 * @creq: The data used as input when the surface was created, as described
1189 * above at "struct drm_vmw_gb_surface_create_ext_req"
1190 * @crep: Additional data output when the surface was created, as described
1191 * above at "struct drm_vmw_gb_surface_create_rep"
1192 *
1193 * Output Argument to the DRM_VMW_GB_SURFACE_REF_EXT ioctl.
1194 */
1195struct drm_vmw_gb_surface_ref_ext_rep {
1196 struct drm_vmw_gb_surface_create_ext_req creq;
1197 struct drm_vmw_gb_surface_create_rep crep;
1198};
1199
1200/**
1201 * union drm_vmw_gb_surface_reference_ext_arg
1202 *
1203 * @req: Input data as described above at "struct drm_vmw_surface_arg"
1204 * @rep: Output data as described above at
1205 * "struct drm_vmw_gb_surface_ref_ext_rep"
1206 *
1207 * Argument to the DRM_VMW_GB_SURFACE_REF Ioctl.
1208 */
1209union drm_vmw_gb_surface_reference_ext_arg {
1210 struct drm_vmw_gb_surface_ref_ext_rep rep;
1211 struct drm_vmw_surface_arg req;
1212};
1213
1107#if defined(__cplusplus)1214#if defined(__cplusplus)
1108}1215}
1109#endif1216#endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t