[Libva] [PATCH 4/5] vpp/gen8: Use 48 bit address relocation for STATE_BASE_ADDRESS

Zhao Yakui yakui.zhao at intel.com
Mon Oct 12 01:41:21 PDT 2015


On 10/12/2015 04:37 PM, sreerenj.balachandran at intel.com wrote:
> From: Sreerenj Balachandran<sreerenj.balachandran at intel.com>
>
> Use 48 bit address relocation for Surface state address, Dynamic state address
> and Instruction base address.
>
> Signed-off-by: Sreerenj Balachandran<sreerenj.balachandran at intel.com>

This goods to me.

Thanks.
    Yakui

> ---
>   src/gen8_post_processing.c | 17 ++++++++---------
>   1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/src/gen8_post_processing.c b/src/gen8_post_processing.c
> index 714997f..a5e036d 100644
> --- a/src/gen8_post_processing.c
> +++ b/src/gen8_post_processing.c
> @@ -1246,21 +1246,20 @@ gen8_pp_state_base_address(VADriverContextP ctx,
>       OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
>   	OUT_BATCH(batch, 0);
>   	OUT_BATCH(batch, 0);
> -	/* DW4. Surface state address */
> -    OUT_RELOC(batch, pp_context->surface_state_binding_table.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY); /* Surface state base address */
> -	OUT_BATCH(batch, 0);
> -	/* DW6. Dynamic state address */
> -    OUT_RELOC(batch, pp_context->dynamic_state.bo, I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_SAMPLER,
> +
> +	/* DW4-5. Surface state address */
> +    OUT_RELOC64(batch, pp_context->surface_state_binding_table.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY); /* Surface state base address */
> +
> +	/* DW6-7. Dynamic state address */
> +    OUT_RELOC64(batch, pp_context->dynamic_state.bo, I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_SAMPLER,
>   		0, 0 | BASE_ADDRESS_MODIFY);
> -	OUT_BATCH(batch, 0);
>
>   	/* DW8. Indirect object address */
>       OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
>   	OUT_BATCH(batch, 0);
>
> -	/* DW10. Instruction base address */
> -    OUT_RELOC(batch, pp_context->instruction_state.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY);
> -	OUT_BATCH(batch, 0);
> +	/* DW10-11. Instruction base address */
> +    OUT_RELOC64(batch, pp_context->instruction_state.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY);
>
>       OUT_BATCH(batch, 0xFFFF0000 | BASE_ADDRESS_MODIFY);
>       OUT_BATCH(batch, 0xFFFF0000 | BASE_ADDRESS_MODIFY);



More information about the Libva mailing list