<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 20/07/18 11:44, Alex Smith wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20180720104453.7334-1-asmith@feralinteractive.com">
      <pre wrap="">According to the spec, these should apply to all read/write access
types (so would be equivalent to specifying all other access types
individually). Currently, they were doing nothing.

Signed-off-by: Alex Smith <a class="moz-txt-link-rfc2396E" href="mailto:asmith@feralinteractive.com"><asmith@feralinteractive.com></a>
Cc: <a class="moz-txt-link-abbreviated" href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a>
---
 src/intel/vulkan/anv_private.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index cec2842792..775bacaff2 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1731,6 +1731,9 @@ anv_pipe_flush_bits_for_access_flags(VkAccessFlags flags)
          pipe_bits |= ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT;
          pipe_bits |= ANV_PIPE_DEPTH_CACHE_FLUSH_BIT;
          break;
+      case VK_ACCESS_MEMORY_WRITE_BIT:
+         pipe_bits |= ANV_PIPE_FLUSH_BITS;
+         break;
       default:
          break; /* Nothing to do */
       }
@@ -1761,6 +1764,9 @@ anv_pipe_invalidate_bits_for_access_flags(VkAccessFlags flags)
       case VK_ACCESS_TRANSFER_READ_BIT:
          pipe_bits |= ANV_PIPE_TEXTURE_CACHE_INVALIDATE_BIT;
          break;
+      case VK_ACCESS_MEMORY_READ_BIT:
+         pipe_bits |= ANV_PIPE_INVALIDATE_BITS;
+         break;</pre>
    </blockquote>
    <br>
    I know this function is a bit oddly named for that, but with this
    part of the spec regarding VK_ACCESS_MEMORY_WRITE_BIT :<br>
    <br>
    "<br>
    <div class="ulist" style="box-sizing: border-box; margin: 0px;
      padding: 0px; direction: ltr; color: rgb(34, 34, 34); font-family:
      "Helvetica Neue", Helvetica, Helvetica, Arial,
      sans-serif; font-size: 16px; font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: 400; letter-spacing: normal; orphans: 2; text-align:
      start; text-indent: 0px; text-transform: none; white-space:
      normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
      0px; background-color: rgb(255, 255, 255); text-decoration-style:
      initial; text-decoration-color: initial;">
      <ul style="box-sizing: border-box; margin: 0px 0px 0.75em 1.5em;
        padding: 0px; direction: ltr; font-size: 1em; line-height: 1.6;
        list-style-position: outside; font-family: Noto, sans-serif;">
        <li style="box-sizing: border-box; margin: 0px; padding: 0px;
          direction: ltr;">
          <p style="box-sizing: border-box; margin: 0px 0px 0.375em;
            padding: 0px; direction: ltr; font-family: Noto, sans-serif;
            font-weight: normal; font-size: 1em; line-height: 1.6;
            text-rendering: optimizeLegibility;">When included in a
            destination access mask, makes all available writes visible
            to all future write accesses on entities known to the Vulkan
            device.</p>
        </li>
      </ul>
    </div>
    <div class="paragraph" style="box-sizing: border-box; margin: 0px;
      padding: 0px; direction: ltr; color: rgb(34, 34, 34); font-family:
      "Helvetica Neue", Helvetica, Helvetica, Arial,
      sans-serif; font-size: 16px; font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: 400; letter-spacing: normal; orphans: 2; text-align:
      start; text-indent: 0px; text-transform: none; white-space:
      normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
      0px; background-color: rgb(255, 255, 255); text-decoration-style:
      initial; text-decoration-color: initial;">"<br
        class="Apple-interchange-newline">
    </div>
    <br>
    I would also add :<br>
    <br>
    case VK_ACCESS_MEMORY_WRITE_BIT:<br>
        pipe_bits |= ANV_PIPE_FLUSH_BITS;<br>
        break;<br>
    <br>
    Does that sound fair?<br>
    <br>
    -<br>
    Lionel<br>
    <br>
    <blockquote type="cite"
      cite="mid:20180720104453.7334-1-asmith@feralinteractive.com">
      <pre wrap="">
       default:
          break; /* Nothing to do */
       }
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>