On Wed, Nov 9, 2016 at 11:39 AM, Zhao Yakui <yakui.z...@intel.com> wrote: > Signed-off-by: Zhao Yakui <yakui.z...@intel.com>
lgtm Sean > --- > src/i965_gpe_utils.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ > src/i965_gpe_utils.h | 14 ++++++++++++++ > 2 files changed, 62 insertions(+) > > diff --git a/src/i965_gpe_utils.c b/src/i965_gpe_utils.c > index 3cd41e8..30529e1 100644 > --- a/src/i965_gpe_utils.c > +++ b/src/i965_gpe_utils.c > @@ -2082,3 +2082,51 @@ gen9_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) > +{ > + memset(walker_param, 0, sizeof(*walker_param)); > + > + walker_param->use_scoreboard = kernel_walker_param->use_scoreboard; > + > + walker_param->block_resolution.x = kernel_walker_param->resolution_x; > + walker_param->block_resolution.y = kernel_walker_param->resolution_y; > + > + walker_param->global_resolution.x = kernel_walker_param->resolution_x; > + walker_param->global_resolution.y = kernel_walker_param->resolution_y; > + > + walker_param->global_outer_loop_stride.x = > kernel_walker_param->resolution_x; > + walker_param->global_outer_loop_stride.y = 0; > + > + walker_param->global_inner_loop_unit.x = 0; > + walker_param->global_inner_loop_unit.y = > kernel_walker_param->resolution_y; > + > + walker_param->local_loop_exec_count = 0xFFFF; //MAX VALUE > + walker_param->global_loop_exec_count = 0xFFFF; //MAX VALUE > + > + if (kernel_walker_param->no_dependency) { > + /* The no_dependency is used for VPP */ > + walker_param->scoreboard_mask = 0; > + walker_param->use_scoreboard = 0; > + // Raster scan walking pattern > + walker_param->local_outer_loop_stride.x = 0; > + walker_param->local_outer_loop_stride.y = 1; > + walker_param->local_inner_loop_unit.x = 1; > + walker_param->local_inner_loop_unit.y = 0; > + walker_param->local_end.x = kernel_walker_param->resolution_x - 1; > + walker_param->local_end.y = 0; > + } else { > + walker_param->local_end.x = 0; > + walker_param->local_end.y = 0; > + > + // 26 degree > + walker_param->scoreboard_mask = 0x0F; > + walker_param->local_outer_loop_stride.x = 1; > + walker_param->local_outer_loop_stride.y = 0; > + walker_param->local_inner_loop_unit.x = -2; > + walker_param->local_inner_loop_unit.y = 1; > + } > +} > diff --git a/src/i965_gpe_utils.h b/src/i965_gpe_utils.h > index c56d3d5..383fcdf 100644 > --- a/src/i965_gpe_utils.h > +++ b/src/i965_gpe_utils.h > @@ -508,4 +508,18 @@ gen9_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; > + unsigned int scoreboard_mask; > + unsigned int no_dependency; > + unsigned int resolution_x; > + unsigned int resolution_y; > +}; > + > +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); > + > #endif /* _I965_GPE_UTILS_H_ */ > -- > 2.8.3 > > _______________________________________________ > Libva mailing list > Libva@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/libva -- Sean V. Kelley <sean.v.kel...@intel.com> Open Source Technology Center / SSG Intel Corp. _______________________________________________ Libva mailing list Libva@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libva