summaryrefslogtreecommitdiff
path: root/src/gen6_vme.h
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2012-02-29 10:15:47 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2012-02-29 10:15:47 +0800
commitf97c94a8059c40fe876de32fe5fafc8d188ec246 (patch)
treecfb1defec8a6b18bfd7656eb219c667a5baaf67e /src/gen6_vme.h
parent814424d03c88cd7aff57e886587a131f6bf8197f (diff)
downloadlibva-intel-driver-f97c94a8059c40fe876de32fe5fafc8d188ec246.tar.gz
Cleanup VME
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Diffstat (limited to 'src/gen6_vme.h')
-rw-r--r--src/gen6_vme.h53
1 files changed, 20 insertions, 33 deletions
diff --git a/src/gen6_vme.h b/src/gen6_vme.h
index d53697c5..f38577d0 100644
--- a/src/gen6_vme.h
+++ b/src/gen6_vme.h
@@ -34,8 +34,9 @@
#include <i915_drm.h>
#include <intel_bufmgr.h>
+#include "i965_gpe_utils.h"
-#define MAX_INTERFACE_DESC_GEN6 32
+#define MAX_INTERFACE_DESC_GEN6 MAX_GPE_KERNELS
#define MAX_MEDIA_SURFACES_GEN6 34
#define GEN6_VME_KERNEL_NUMBER 3
@@ -45,45 +46,31 @@ struct intel_encoder_context;
struct gen6_vme_context
{
- struct {
- dri_bo *bo;
- } surface_state_binding_table;
-
- struct {
- dri_bo *bo;
- } idrt; /* interface descriptor remap table */
-
- struct {
- dri_bo *bo;
- } curbe;
-
- struct {
- unsigned int gpgpu_mode:1;
- unsigned int max_num_threads:16;
- unsigned int num_urb_entries:8;
- unsigned int urb_entry_size:16;
- unsigned int curbe_allocation_size:16;
- } vfe_state;
+ struct i965_gpe_context gpe_context;
struct {
dri_bo *bo;
} vme_state;
- struct {
- dri_bo *bo;
- unsigned int num_blocks;
- unsigned int size_block; /* in bytes */
- unsigned int pitch;
- } vme_output;
+ struct i965_buffer_surface vme_output;
+ struct i965_buffer_surface vme_batchbuffer;
- struct {
- dri_bo *bo;
- unsigned int num_blocks;
- unsigned int size_block;
- unsigned int pitch;
- } vme_batchbuffer;
- struct i965_kernel vme_kernels[GEN6_VME_KERNEL_NUMBER];
+ void (*vme_surface2_setup)(VADriverContextP ctx,
+ struct i965_gpe_context *gpe_context,
+ struct object_surface *obj_surface,
+ unsigned long binding_table_offset,
+ unsigned long surface_state_offset);
+ void (*vme_media_rw_surface_setup)(VADriverContextP ctx,
+ struct i965_gpe_context *gpe_context,
+ struct object_surface *obj_surface,
+ unsigned long binding_table_offset,
+ unsigned long surface_state_offset);
+ void (*vme_buffer_suface_setup)(VADriverContextP ctx,
+ struct i965_gpe_context *gpe_context,
+ struct i965_buffer_surface *buffer_surface,
+ unsigned long binding_table_offset,
+ unsigned long surface_state_offset);
};
#endif /* _GEN6_VME_H_ */