[Libva] [Libva-intel-driver][PATCH 14/17] Add a new gpe function gen8_gpe_reset_binding_table() to reset binging table
Xiang, Haihao
haihao.xiang at intel.com
Thu Nov 17 08:35:13 UTC 2016
Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
---
src/i965_gpe_utils.c | 18 +++++++++++++++++-
src/i965_gpe_utils.h | 3 ++-
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/i965_gpe_utils.c b/src/i965_gpe_utils.c
index 4c0384e..d1b1941 100644
--- a/src/i965_gpe_utils.c
+++ b/src/i965_gpe_utils.c
@@ -2143,7 +2143,6 @@ gen8_gpe_media_object_walker(VADriverContextP ctx,
ADVANCE_BATCH(batch);
}
-
void
intel_vpp_init_media_object_walker_parameter(struct intel_vpp_kernel_walker_parameter *kernel_walker_param,
struct gpe_media_object_walker_parameter *walker_param)
@@ -2190,3 +2189,20 @@ intel_vpp_init_media_object_walker_parameter(struct intel_vpp_kernel_walker_para
walker_param->local_inner_loop_unit.y = 1;
}
}
+
+void
+gen8_gpe_reset_binding_table(VADriverContextP ctx, struct i965_gpe_context *gpe_context)
+{
+ unsigned int *binding_table;
+ unsigned int binding_table_offset = gpe_context->surface_state_binding_table.binding_table_offset;
+ int i;
+
+ dri_bo_map(gpe_context->surface_state_binding_table.bo, 1);
+ binding_table = (unsigned int*)((char *)gpe_context->surface_state_binding_table.bo->virtual + binding_table_offset);
+
+ for (i = 0; i < gpe_context->surface_state_binding_table.max_entries; i++) {
+ *(binding_table + i) = gpe_context->surface_state_binding_table.surface_state_offset + i * SURFACE_STATE_PADDED_SIZE_GEN8;
+ }
+
+ dri_bo_unmap(gpe_context->surface_state_binding_table.bo);
+}
diff --git a/src/i965_gpe_utils.h b/src/i965_gpe_utils.h
index 1a3210b..076f584 100644
--- a/src/i965_gpe_utils.h
+++ b/src/i965_gpe_utils.h
@@ -511,7 +511,6 @@ gen8_gpe_media_object_walker(VADriverContextP ctx,
struct intel_batchbuffer *batch,
struct gpe_media_object_walker_parameter *param);
-
struct intel_vpp_kernel_walker_parameter
{
unsigned int use_scoreboard;
@@ -524,5 +523,7 @@ struct intel_vpp_kernel_walker_parameter
extern void
intel_vpp_init_media_object_walker_parameter(struct intel_vpp_kernel_walker_parameter *kernel_walker_param,
struct gpe_media_object_walker_parameter *walker_param);
+extern void
+gen8_gpe_reset_binding_table(VADriverContextP ctx, struct i965_gpe_context *gpe_context);
#endif /* _I965_GPE_UTILS_H_ */
--
1.9.1
More information about the Libva
mailing list