Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next
A couple of fixes from the previous pull request as well as gl3 support. There is one drm core change, an export of a previously private function. Take 2 implementing screen targets, this time with the fbdev code adjusted accordingly. Also there is an implementation of register-driven command buffers, that overrides the FIFO ring for command processing. It's needed for our upcoming hardware revision. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: (35 commits) drm/vmwgfx: Fix copyright headers drm/vmwgfx: Add DX query support. Various fixes. drm/vmwgfx: Add command parser support for a couple of DX commands drm/vmwgfx: Command parser fixes for DX drm/vmwgfx: Initial DX support drm/vmwgfx: Update device includes for DX device functionality drm: export the DRM permission check code drm/vmwgfx: Fix crash when unloading vmwgfx v2 drm/vmwgfx: Fix framebuffer creation on older hardware drm/vmwgfx: Fixed topology boundary checking for Screen Targets drm/vmwgfx: Fix an uninitialized value drm/vmwgfx: Fix compiler warning with 32-bit dma_addr_t drm/vmwgfx: Kill a bunch of sparse warnings drm/vmwgfx: Fix kms preferred mode sorting drm/vmwgfx: Reinstate the legacy display system dirty callback drm/vmwgfx: Implement fbdev on kms v2 drm/vmwgfx: Add a kernel interface to create a framebuffer v2 drm/vmwgfx: Avoid cmdbuf alloc sleeping if !TASK_RUNNING drm/vmwgfx: Convert screen targets to new helpers v3 drm/vmwgfx: Convert screen objects to the new helpers ...
This commit is contained in:
commit
294947a5c7
56 changed files with 19230 additions and 6227 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/**************************************************************************
|
||||
*
|
||||
* Copyright © 2009 VMware, Inc., Palo Alto, CA., USA
|
||||
* Copyright © 2009-2015 VMware, Inc., Palo Alto, CA., USA
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
|
|
@ -64,6 +64,7 @@
|
|||
#define DRM_VMW_GB_SURFACE_CREATE 23
|
||||
#define DRM_VMW_GB_SURFACE_REF 24
|
||||
#define DRM_VMW_SYNCCPU 25
|
||||
#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
|
||||
|
||||
/*************************************************************************/
|
||||
/**
|
||||
|
|
@ -88,6 +89,8 @@
|
|||
#define DRM_VMW_PARAM_3D_CAPS_SIZE 8
|
||||
#define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
|
||||
#define DRM_VMW_PARAM_MAX_MOB_SIZE 10
|
||||
#define DRM_VMW_PARAM_SCREEN_TARGET 11
|
||||
#define DRM_VMW_PARAM_DX 12
|
||||
|
||||
/**
|
||||
* enum drm_vmw_handle_type - handle type for ref ioctls
|
||||
|
|
@ -296,7 +299,7 @@ union drm_vmw_surface_reference_arg {
|
|||
* Argument to the DRM_VMW_EXECBUF Ioctl.
|
||||
*/
|
||||
|
||||
#define DRM_VMW_EXECBUF_VERSION 1
|
||||
#define DRM_VMW_EXECBUF_VERSION 2
|
||||
|
||||
struct drm_vmw_execbuf_arg {
|
||||
uint64_t commands;
|
||||
|
|
@ -305,6 +308,8 @@ struct drm_vmw_execbuf_arg {
|
|||
uint64_t fence_rep;
|
||||
uint32_t version;
|
||||
uint32_t flags;
|
||||
uint32_t context_handle;
|
||||
uint32_t pad64;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -825,7 +830,6 @@ struct drm_vmw_update_layout_arg {
|
|||
enum drm_vmw_shader_type {
|
||||
drm_vmw_shader_type_vs = 0,
|
||||
drm_vmw_shader_type_ps,
|
||||
drm_vmw_shader_type_gs
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -907,6 +911,8 @@ enum drm_vmw_surface_flags {
|
|||
* @buffer_handle Buffer handle of backup buffer. SVGA3D_INVALID_ID
|
||||
* if none.
|
||||
* @base_size Size of the base mip level for all faces.
|
||||
* @array_size Must be zero for non-DX hardware, and if non-zero
|
||||
* svga3d_flags must have proper bind flags setup.
|
||||
*
|
||||
* Input argument to the DRM_VMW_GB_SURFACE_CREATE Ioctl.
|
||||
* Part of output argument for the DRM_VMW_GB_SURFACE_REF Ioctl.
|
||||
|
|
@ -919,7 +925,7 @@ struct drm_vmw_gb_surface_create_req {
|
|||
uint32_t multisample_count;
|
||||
uint32_t autogen_filter;
|
||||
uint32_t buffer_handle;
|
||||
uint32_t pad64;
|
||||
uint32_t array_size;
|
||||
struct drm_vmw_size base_size;
|
||||
};
|
||||
|
||||
|
|
@ -1059,4 +1065,28 @@ struct drm_vmw_synccpu_arg {
|
|||
uint32_t pad64;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
/**
|
||||
* DRM_VMW_CREATE_EXTENDED_CONTEXT - Create a host context.
|
||||
*
|
||||
* Allocates a device unique context id, and queues a create context command
|
||||
* for the host. Does not wait for host completion.
|
||||
*/
|
||||
enum drm_vmw_extended_context {
|
||||
drm_vmw_context_legacy,
|
||||
drm_vmw_context_dx
|
||||
};
|
||||
|
||||
/**
|
||||
* union drm_vmw_extended_context_arg
|
||||
*
|
||||
* @req: Context type.
|
||||
* @rep: Context identifier.
|
||||
*
|
||||
* Argument to the DRM_VMW_CREATE_EXTENDED_CONTEXT Ioctl.
|
||||
*/
|
||||
union drm_vmw_extended_context_arg {
|
||||
enum drm_vmw_extended_context req;
|
||||
struct drm_vmw_context_arg rep;
|
||||
};
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue