<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Using a single-plane imageview from a multi-plane image is broken"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=105496#c16">Comment # 16</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Using a single-plane imageview from a multi-plane image is broken"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=105496">bug 105496</a>
              from <span class="vcard"><a class="email" href="mailto:lionel.g.landwerlin@linux.intel.com" title="Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>"> <span class="fn">Lionel Landwerlin</span></a>
</span></b>
        <pre>(In reply to atomnuker from <a href="show_bug.cgi?id=105496#c15">comment #15</a>)
<span class="quote">> (In reply to Lionel Landwerlin from <a href="show_bug.cgi?id=105496#c14">comment #14</a>)
> > The ffmpeg repo I built locally had the image below bound to a G8_B8_R8
> > image.
> Yes, the one before I pushed. I only used 1 plane in order to test easily
> without modifying lots of code.
>  
> > layout (set = 0, binding = 0, rgba8) uniform readonly image2D input_img;
> > 
> > But somehow it should contain all the planes?
> Like I said, no, just one: the one with the aspect (plane) you chose via the
> VkImageView.

> To illustrate:
> VkImage (VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR) -> create VkImageView
> (VK_FORMAT_R8_UNORM and aspect VK_IMAGE_ASPECT_PLANE_0_BIT_KHR) -> bind to
> descriptor which describes a storage image inside the shader ->
> imageLoad(input_img, vec2(0)).r will output the pixel of the image at
> location x=0, y=0.</span >

We can't do that, because enabling storage support on a
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR image means we would need to support
that storage on that entire format too (not just on one plane).

<span class="quote">> 
> To have access to all planes you need to create separate imageviews and bind
> them to different images inside the shader, like:
> > layout (set = 0, binding = 0, rgba8) uniform readonly image2D input_img[3];
> > layout (set = 0, binding = 1, rgba8) uniform writeonly image2D output_img[3];

> When you do a read into one of the source images you'll get the pixel value
> inside the .r component of the resulting vec4. The rest of the components
> contain 0.0f, as expected when the format contains 1 component.</span ></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>