<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 10/04/2016 06:09 PM, Jason Ekstrand
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAOFGe95m73KEsguCPXahkLkuHW-r=SCx=h_eXaQj59YEn0X1yg@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Thu, Sep 29, 2016 at 11:27 PM,
            Xu,Randy <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:randy.xu@intel.com" target="_blank">randy.xu@intel.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">Add the
              miptree level/slice x/y_offset when count the surface
              offset<br>
              in brw_emit_surface_state. The surface offset has two
              parts, one is<br>
              from mt->offset, which should be 32 aligned in
              width/height for tiled<br>
              buffer; another is from mt->level[current_level].<wbr>slice[current_slice].<br>
              x/y_offset.<br>
              <br>
              This fix will solve 12 deqp failure<br>
              dEQP-EGL.functional.image.<wbr>create.gles2_cubemap_negative_<wbr>*_texture<br>
              <br>
              Signed-off-by: Xu,Randy <<a moz-do-not-send="true"
                href="mailto:randy.xu@intel.com">randy.xu@intel.com</a>><br>
              ---<br>
               src/mesa/drivers/dri/i965/brw_<wbr>wm_surface_state.c | 3
              ++-<br>
               1 file changed, 2 insertions(+), 1 deletion(-)<br>
              <br>
              diff --git a/src/mesa/drivers/dri/i965/<wbr>brw_wm_surface_state.c
              b/src/mesa/drivers/dri/i965/<wbr>brw_wm_surface_state.c<br>
              index 61a4b94..3a5c573 100644<br>
              --- a/src/mesa/drivers/dri/i965/<wbr>brw_wm_surface_state.c<br>
              +++ b/src/mesa/drivers/dri/i965/<wbr>brw_wm_surface_state.c<br>
              @@ -85,7 +85,8 @@ brw_emit_surface_state(struct
              brw_context *brw,<br>
                                      unsigned read_domains, unsigned
              write_domains)<br>
               {<br>
                  const struct surface_state_info ss_info =
              surface_state_infos[brw->gen];<br>
              -   uint32_t tile_x = 0, tile_y = 0;<br>
              +   uint32_t tile_x = mt->level[0].slice[0].x_<wbr>offset;<br>
              +   uint32_t tile_y = mt->level[0].slice[0].y_<wbr>offset;<br>
            </blockquote>
            <div><br>
            </div>
            <div>This isn't correct.  First off, there are some fairly
              strict restrictions on what we can do with tile_x and
              tile_y and we can't just shove x/y_offset in there.  We
              need to use intel_miptree_get_tile_offsets to get both a
              byte offset and an intratile offset.  Second, we should
              already be taking slices into account for cube maps via
              base_array_layer where needed.<br>
              <br>
            </div>
            <div>Unfortunately, I'm not 100% sure what the correct patch
              is without a bit more information about what the test is
              doing that causes a problem.<br>
              <br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I did take a brief look and when running the set mentioned above
    (for example with ./deqp-egl
--deqp-case=*EGL.functional.image.create.gles2_cubemap_negative_*_texture)
    what happens is that we never end up to the part of code calling
    intel_miptree_get_tile_offsets in that function (because
    surf.dim_layout != dim_layout condition does not trigger). This is
    just what I observed, should we just call
    intel_miptree_get_tile_offsets() unconditionally then?<br>
    <br>
    <br>
    <blockquote
cite="mid:CAOFGe95m73KEsguCPXahkLkuHW-r=SCx=h_eXaQj59YEn0X1yg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>--Jason<br>
            </div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  uint32_t offset = mt->offset;<br>
              <br>
                  struct isl_surf surf;<br>
              <span class="HOEnZb"><font color="#888888">--<br>
                  2.7.4<br>
                  <br>
                  ______________________________<wbr>_________________<br>
                  mesa-dev mailing list<br>
                  <a moz-do-not-send="true"
                    href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
                  <a moz-do-not-send="true"
                    href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev"
                    rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
                </font></span></blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
mesa-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>