unsigned sampleCount);
uint32
vmw_ioctl_gb_surface_create(struct vmw_winsys_screen *vws,
- SVGA3dSurfaceAllFlags flags,
- SVGA3dSurfaceFormat format,
+ SVGA3dSurfaceAllFlags flags,
+ SVGA3dSurfaceFormat format,
unsigned usage,
- SVGA3dSize size,
- uint32 numFaces,
- uint32 numMipLevels,
+ SVGA3dSize size,
+ uint32 numFaces,
+ uint32 numMipLevels,
unsigned sampleCount,
uint32 buffer_handle,
SVGA3dMSPattern multisamplePattern,
- struct vmw_region **p_region);
+ SVGA3dMSQualityLevel qualityLevel,
+ struct vmw_region **p_region);
int
vmw_ioctl_gb_surface_ref(struct vmw_winsys_screen *vws,
unsigned sampleCount,
uint32_t buffer_handle,
SVGA3dMSPattern multisamplePattern,
+ SVGA3dMSQualityLevel qualityLevel,
struct vmw_region **p_region)
{
struct drm_vmw_gb_surface_create_rep *rep;
req->version = drm_vmw_gb_surface_v1;
req->multisample_pattern = multisamplePattern;
+ req->quality_level = qualityLevel;
req->must_be_zero = 0;
req->base.svga3d_flags = SVGA3D_FLAGS_LOWER_32(flags);
req->svga3d_flags_upper_32_bits = SVGA3D_FLAGS_UPPER_32(flags);
uint32_t buffer_size;
uint32_t num_samples = 1;
SVGA3dMSPattern multisample_pattern = SVGA3D_MS_PATTERN_NONE;
+ SVGA3dMSQualityLevel quality_level = SVGA3D_MS_QUALITY_NONE;
memset(&desc, 0, sizeof(desc));
surface = CALLOC_STRUCT(vmw_svga_winsys_surface);
goto no_sid;
num_samples = sampleCount;
multisample_pattern = SVGA3D_MS_PATTERN_STANDARD;
+ quality_level = SVGA3D_MS_QUALITY_FULL;
}
/*
numMipLevels, sampleCount,
ptr.gmrId,
multisample_pattern,
+ quality_level,
surface->buf ? NULL :
- &desc.region);
+ &desc.region);
if (surface->sid == SVGA3D_INVALID_ID) {
if (surface->buf == NULL) {
size, numLayers,
numMipLevels, sampleCount,
0, multisample_pattern,
+ quality_level,
&desc.region);
if (surface->sid == SVGA3D_INVALID_ID)
goto no_sid;
* @version: Version of surface create ioctl.
* @svga3d_flags_upper_32_bits: Upper 32 bits of svga3d flags.
* @multisample_pattern: Multisampling pattern when msaa is supported.
+ * @quality_level: Precision settings for each sample.
* @must_be_zero: Reserved for future usage.
*
* Input argument to the DRM_VMW_GB_SURFACE_CREATE_EXT Ioctl.
enum drm_vmw_surface_version version;
uint32_t svga3d_flags_upper_32_bits;
SVGA3dMSPattern multisample_pattern;
- uint32_t pad64;
+ SVGA3dMSQualityLevel quality_level;
uint64_t must_be_zero;
};