• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

hardware/intel/intel-driver


コミットメタ情報

リビジョン2f254ecd154d59553a1e3949f66161bade6ca2b7 (tree)
日時2015-09-06 15:13:27
作者Zhao Yakui <yakui.zhao@inte...>
コミッターXiang, Haihao

ログメッセージ

Add one field for Config/Context/Surface/Buffer to store the wrapper content

This is to do the preparation that the libva-intel-driver can be the user of
other backend driver.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Sean V Kelley <seanvk@posteo.de>

変更サマリ

差分

--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -881,6 +881,7 @@ i965_CreateConfig(VADriverContextP ctx,
881881 obj_config->profile = profile;
882882 obj_config->entrypoint = entrypoint;
883883 obj_config->num_attribs = 0;
884+ obj_config->wrapper_config = VA_INVALID_ID;
884885
885886 for (i = 0; i < num_attribs; i++) {
886887 vaStatus = i965_ensure_config_attribute(obj_config, &attrib_list[i]);
@@ -1299,6 +1300,8 @@ i965_CreateSurfaces2(
12991300 obj_surface->free_private_data = NULL;
13001301 obj_surface->subsampling = SUBSAMPLE_YUV420;
13011302
1303+ obj_surface->wrapper_surface = VA_INVALID_ID;
1304+
13021305 switch (memory_type) {
13031306 case I965_SURFACE_MEM_NATIVE:
13041307 if (memory_attibute) {
@@ -1860,6 +1863,7 @@ i965_CreateContext(VADriverContextP ctx,
18601863 obj_context->render_targets =
18611864 (VASurfaceID *)calloc(num_render_targets, sizeof(VASurfaceID));
18621865 obj_context->hw_context = NULL;
1866+ obj_context->wrapper_context = VA_INVALID_ID;
18631867
18641868 for(i = 0; i < num_render_targets; i++) {
18651869 if (NULL == SURFACE(render_targets[i])) {
@@ -2044,6 +2048,8 @@ i965_create_buffer_internal(VADriverContextP ctx,
20442048 obj_buffer->type = type;
20452049 obj_buffer->export_refcount = 0;
20462050 obj_buffer->buffer_store = NULL;
2051+ obj_buffer->wrapper_buffer = VA_INVALID_ID;
2052+
20472053 buffer_store = calloc(1, sizeof(struct buffer_store));
20482054 assert(buffer_store);
20492055 buffer_store->ref_count = 1;
--- a/src/i965_drv_video.h
+++ b/src/i965_drv_video.h
@@ -105,6 +105,8 @@ struct object_config
105105 VAEntrypoint entrypoint;
106106 VAConfigAttrib attrib_list[I965_MAX_CONFIG_ATTRIBUTES];
107107 int num_attribs;
108+
109+ VAGenericID wrapper_config;
108110 };
109111
110112 #define NUM_SLICES 10
@@ -245,6 +247,8 @@ struct object_context
245247 int codec_type;
246248 union codec_state codec_state;
247249 struct hw_context *hw_context;
250+
251+ VAGenericID wrapper_context;
248252 };
249253
250254 #define SURFACE_REFERENCED (1 << 0)
@@ -285,6 +289,8 @@ struct object_surface
285289 uint32_t user_disable_tiling : 1;
286290 uint32_t user_h_stride_set : 1;
287291 uint32_t user_v_stride_set : 1;
292+
293+ VAGenericID wrapper_surface;
288294 };
289295
290296 struct object_buffer
@@ -299,6 +305,8 @@ struct object_buffer
299305 /* Export state */
300306 unsigned int export_refcount;
301307 VABufferInfo export_state;
308+
309+ VAGenericID wrapper_buffer;
302310 };
303311
304312 struct object_image