[Libva] [Libva-intel-driver][PATCH v2 14/17] Add a new gpe function gen8_gpe_reset_binding_table() to reset binging table

Zhao Yakui yakui.zhao at intel.com
Fri Nov 18 06:43:39 UTC 2016


On 11/18/2016 01:43 PM, Xiang, Haihao wrote:

This looks good to me.

Thanks
> 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_ */



More information about the Libva mailing list