diff options
| author | Charmaine Lee <charmaiel@vmware.com> | 2016-02-12 02:11:56 -0500 |
|---|---|---|
| committer | Thomas Hellstrom <thellstrom@vmware.com> | 2016-03-14 09:55:51 -0400 |
| commit | f3b3355073ffc2ee717693df587e5d1855ab2d22 (patch) | |
| tree | 1ab8c4a67f64ff4a67b1ec43738229606cad11dd /drivers/gpu/drm/vmwgfx | |
| parent | f2c488212b511f7eadef78c564f1bff8f64db231 (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.c | 22 |
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 | */ | ||
| 3019 | static 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 | |||
| 3012 | static int vmw_cmd_check_not_3d(struct vmw_private *dev_priv, | 3032 | static 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), |
