[Libva] [Libva-intel-driver PATCH 09/25] Media/Skl: Add the gen9_gpe_pipeline_setup to configure the media pipeline
Xiang, Haihao
haihao.xiang at intel.com
Mon Nov 17 20:45:15 PST 2014
From: Zhao Yakui <yakui.zhao at intel.com>
As some media commands related with media pipeline are updated for SKL,
one new function is used to config the media pipeline on SKL.
Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
---
src/gen9_vme.c | 4 ++--
src/i965_gpe_utils.c | 13 +++++++++++++
src/i965_gpe_utils.h | 4 ++++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/gen9_vme.c b/src/gen9_vme.c
index 0cff6a3..bbe030c 100644
--- a/src/gen9_vme.c
+++ b/src/gen9_vme.c
@@ -638,7 +638,7 @@ static void gen9_vme_pipeline_programing(VADriverContextP ctx,
encoder_context);
intel_batchbuffer_start_atomic(batch, 0x1000);
- gen8_gpe_pipeline_setup(ctx, &vme_context->gpe_context, batch);
+ gen9_gpe_pipeline_setup(ctx, &vme_context->gpe_context, batch);
BEGIN_BATCH(batch, 3);
OUT_BATCH(batch, MI_BATCH_BUFFER_START | (1 << 8) | (1 << 0));
OUT_RELOC(batch,
@@ -1065,7 +1065,7 @@ gen9_vme_mpeg2_pipeline_programing(VADriverContextP ctx,
encoder_context);
intel_batchbuffer_start_atomic(batch, 0x1000);
- gen8_gpe_pipeline_setup(ctx, &vme_context->gpe_context, batch);
+ gen9_gpe_pipeline_setup(ctx, &vme_context->gpe_context, batch);
BEGIN_BATCH(batch, 4);
OUT_BATCH(batch, MI_BATCH_BUFFER_START | (1 << 8) | (1 << 0));
OUT_RELOC(batch,
diff --git a/src/i965_gpe_utils.c b/src/i965_gpe_utils.c
index 3386b09..0126587 100644
--- a/src/i965_gpe_utils.c
+++ b/src/i965_gpe_utils.c
@@ -1207,3 +1207,16 @@ gen8_gpe_load_kernels(VADriverContextP ctx,
return;
}
+void
+gen9_gpe_pipeline_setup(VADriverContextP ctx,
+ struct i965_gpe_context *gpe_context,
+ struct intel_batchbuffer *batch)
+{
+ intel_batchbuffer_emit_mi_flush(batch);
+
+ i965_gpe_select(ctx, gpe_context, batch);
+ gen8_gpe_state_base_address(ctx, gpe_context, batch);
+ gen8_gpe_vfe_state(ctx, gpe_context, batch);
+ gen8_gpe_curbe_load(ctx, gpe_context, batch);
+ gen8_gpe_idrt(ctx, gpe_context, batch);
+}
diff --git a/src/i965_gpe_utils.h b/src/i965_gpe_utils.h
index 2331152..aaead12 100644
--- a/src/i965_gpe_utils.h
+++ b/src/i965_gpe_utils.h
@@ -219,4 +219,8 @@ void gen8_gpe_load_kernels(VADriverContextP ctx,
struct i965_gpe_context *gpe_context,
struct i965_kernel *kernel_list,
unsigned int num_kernels);
+
+void gen9_gpe_pipeline_setup(VADriverContextP ctx,
+ struct i965_gpe_context *gpe_context,
+ struct intel_batchbuffer *batch);
#endif /* _I965_GPE_UTILS_H_ */
--
1.9.1
More information about the Libva
mailing list