On 27 February 2018 at 00:05, Kenneth Graunke <kenn...@whitecape.org> wrote:

> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> @@ -203,12 +203,23 @@ brw_emit_surface_state(struct brw_context *brw,
>         * FIXME: move to the point of assignment.
>         */
>        assert((aux_offset & 0xfff) == 0);
> -      uint32_t *aux_addr = state + brw->isl_dev.ss.aux_addr_offset;
> -      *aux_addr = brw_state_reloc(&brw->batch,
> -                                  *surf_offset +
> -                                  brw->isl_dev.ss.aux_addr_offset,
> -                                  aux_bo, *aux_addr,
> -                                  reloc_flags);
> +
> +      if (devinfo->gen >= 8) {
> +         uint64_t *aux_addr = state + brw->isl_dev.ss.aux_addr_offset;
> +         *aux_addr = brw_state_reloc(&brw->batch,
> +                                     *surf_offset +
> +                                     brw->isl_dev.ss.aux_addr_offset,
> +                                     aux_bo, *aux_addr,
> +                                     reloc_flags);
> +      } else {
> +         uint32_t *aux_addr = state + brw->isl_dev.ss.aux_addr_offset;
> +         *aux_addr = brw_state_reloc(&brw->batch,
> +                                     *surf_offset +
> +                                     brw->isl_dev.ss.aux_addr_offset,
> +                                     aux_bo, *aux_addr,
> +                                     reloc_flags);
> +
Hmm something looks funky here - is there another patch for
brw_state_reloc somewhere?
Currently it's declared as

uint64_t
brw_state_reloc(struct intel_batchbuffer *batch, uint32_t
state_offset,
                struct brw_bo *target, uint32_t target_offset,
                unsigned int reloc_flags);

So the new hunk a) caters for *aux_addr hitting an arithmetic
overflow, or b) stores the full 64bit return value of the function
only to discard it.
If a) is the intended behaviour an explicit note might be a good idea.

HTH
Emil
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to