<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>