aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/svga/drm/vmw_screen_svga.c
diff options
context:
space:
mode:
authorDeepak Rawat <[email protected]>2017-11-01 17:40:50 -0700
committerBrian Paul <[email protected]>2018-09-10 13:07:30 -0600
commit159e706c4c4090b36ea118b3fea5c576ee3a7350 (patch)
tree17884ce7343e15121c1ade911a91d25be4fbe565 /src/gallium/winsys/svga/drm/vmw_screen_svga.c
parentb343c6915ca3e1a60f609807a0c259078a68a182 (diff)
winsys/drm: Add support for quality level in surface ioctl
A new argument "quality level" is added in surface define v3 which represets precision settings for surface. This commit add support for quality level in DRM_VMW_GB_SURFACE_CREATE_EXT and DRM_VMW_GB_SURFACE_REF_EXT. Signed-off-by: Deepak Rawat <[email protected]> Reviewed-by: Charmaine Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/winsys/svga/drm/vmw_screen_svga.c')
-rw-r--r--src/gallium/winsys/svga/drm/vmw_screen_svga.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/winsys/svga/drm/vmw_screen_svga.c b/src/gallium/winsys/svga/drm/vmw_screen_svga.c
index 7edd1303279..a6990414e20 100644
--- a/src/gallium/winsys/svga/drm/vmw_screen_svga.c
+++ b/src/gallium/winsys/svga/drm/vmw_screen_svga.c
@@ -185,6 +185,7 @@ vmw_svga_winsys_surface_create(struct svga_winsys_screen *sws,
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);
@@ -207,6 +208,7 @@ vmw_svga_winsys_surface_create(struct svga_winsys_screen *sws,
goto no_sid;
num_samples = sampleCount;
multisample_pattern = SVGA3D_MS_PATTERN_STANDARD;
+ quality_level = SVGA3D_MS_QUALITY_FULL;
}
/*
@@ -249,8 +251,9 @@ vmw_svga_winsys_surface_create(struct svga_winsys_screen *sws,
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) {
@@ -268,6 +271,7 @@ vmw_svga_winsys_surface_create(struct svga_winsys_screen *sws,
size, numLayers,
numMipLevels, sampleCount,
0, multisample_pattern,
+ quality_level,
&desc.region);
if (surface->sid == SVGA3D_INVALID_ID)
goto no_sid;