[Intel-gfx] [PATCH] lib/rendercopy_gen9: WaBindlessSurfaceStateModifyEnable
Siluvery, Arun
arun.siluvery at linux.intel.com
Wed Aug 12 02:47:30 PDT 2015
On 11/08/2015 13:25, Mika Kuoppala wrote:
> Don't set the size of bindless surface state on rendercopy.
> And as of doing so, take into account the workaround for setting
> the command size.
>
> This was tried during hunting for
> https://bugs.freedesktop.org/show_bug.cgi?id=89959. But no
> impact was found.
>
> Cc: Arun Siluvery <arun.siluvery at linux.intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala at intel.com>
> ---
> lib/rendercopy_gen9.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
> index 0766192..4a4a604 100644
> --- a/lib/rendercopy_gen9.c
> +++ b/lib/rendercopy_gen9.c
> @@ -511,7 +511,11 @@ gen7_emit_push_constants(struct intel_batchbuffer *batch) {
>
> static void
> gen9_emit_state_base_address(struct intel_batchbuffer *batch) {
> - OUT_BATCH(GEN6_STATE_BASE_ADDRESS | (19 - 2));
> +
> + /* WaBindlessSurfaceStateModifyEnable:skl,bxt */
> + /* The length has to be one less if we dont modify
> + bindless state */
> + OUT_BATCH(GEN6_STATE_BASE_ADDRESS | (19 - 1 - 2));
>
> /* general */
> OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
> @@ -544,9 +548,9 @@ gen9_emit_state_base_address(struct intel_batchbuffer *batch) {
> OUT_BATCH(1 << 12 | 1);
>
> /* Bindless surface state base address */
> - OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
> OUT_BATCH(0);
> - OUT_BATCH(0xfffff000);
> + OUT_BATCH(0);
> + OUT_BATCH(0);
> }
>
> static void
>
Agrees with spec and looks good to me. No impact observed with
gem_concurrent_blit subtests.
Reviewed-by: Arun Siluvery <arun.siluvery at linux.intel.com>
regards
Arun
More information about the Intel-gfx
mailing list