aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vmwgfx
diff options
context:
space:
mode:
authorCharmaine Lee <charmaiel@vmware.com>2016-02-12 02:11:56 -0500
committerThomas Hellstrom <thellstrom@vmware.com>2016-03-14 09:55:51 -0400
commitf3b3355073ffc2ee717693df587e5d1855ab2d22 (patch)
tree1ab8c4a67f64ff4a67b1ec43738229606cad11dd /drivers/gpu/drm/vmwgfx
parentf2c488212b511f7eadef78c564f1bff8f64db231 (diff)
drm/vmwgfx: Add DXGenMips support
Add support for DXGenMips command. Signed-off-by: Charmaine Lee <charmainel@vmware.com> Reviewed-by: Sinclair Yeh <syeh@vmware.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Diffstat (limited to 'drivers/gpu/drm/vmwgfx')
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
index 5da5de0cb522..723ba16c6084 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
@@ -3009,6 +3009,26 @@ out_unref:
3009 return ret; 3009 return ret;
3010} 3010}
3011 3011
3012/**
3013 * vmw_cmd_dx_genmips - Validate an SVGA_3D_CMD_DX_GENMIPS command
3014 *
3015 * @dev_priv: Pointer to a device private struct.
3016 * @sw_context: The software context being used for this batch.
3017 * @header: Pointer to the command header in the command stream.
3018 */
3019static int vmw_cmd_dx_genmips(struct vmw_private *dev_priv,
3020 struct vmw_sw_context *sw_context,
3021 SVGA3dCmdHeader *header)
3022{
3023 struct {
3024 SVGA3dCmdHeader header;
3025 SVGA3dCmdDXGenMips body;
3026 } *cmd = container_of(header, typeof(*cmd), header);
3027
3028 return vmw_view_id_val_add(sw_context, vmw_view_sr,
3029 cmd->body.shaderResourceViewId);
3030}
3031
3012static int vmw_cmd_check_not_3d(struct vmw_private *dev_priv, 3032static int vmw_cmd_check_not_3d(struct vmw_private *dev_priv,
3013 struct vmw_sw_context *sw_context, 3033 struct vmw_sw_context *sw_context,
3014 void *buf, uint32_t *size) 3034 void *buf, uint32_t *size)
@@ -3297,7 +3317,7 @@ static const struct vmw_cmd_entry vmw_cmd_entries[SVGA_3D_CMD_MAX] = {
3297 &vmw_cmd_dx_clear_depthstencil_view, true, false, true), 3317 &vmw_cmd_dx_clear_depthstencil_view, true, false, true),
3298 VMW_CMD_DEF(SVGA_3D_CMD_DX_PRED_COPY, &vmw_cmd_invalid, 3318 VMW_CMD_DEF(SVGA_3D_CMD_DX_PRED_COPY, &vmw_cmd_invalid,
3299 true, false, true), 3319 true, false, true),
3300 VMW_CMD_DEF(SVGA_3D_CMD_DX_GENMIPS, &vmw_cmd_invalid, 3320 VMW_CMD_DEF(SVGA_3D_CMD_DX_GENMIPS, &vmw_cmd_dx_genmips,
3301 true, false, true), 3321 true, false, true),
3302 VMW_CMD_DEF(SVGA_3D_CMD_DX_UPDATE_SUBRESOURCE, 3322 VMW_CMD_DEF(SVGA_3D_CMD_DX_UPDATE_SUBRESOURCE,
3303 &vmw_cmd_dx_check_subresource, true, false, true), 3323 &vmw_cmd_dx_check_subresource, true, false, true),