[Mesa-dev] [RFC PATCH v1 03/30] anv: Refactor get_buffer_format_properties()
Chad Versace
chadversary at chromium.org
Fri Nov 10 00:01:35 UTC 2017
On Tue 07 Nov 2017, Lionel Landwerlin wrote:
> On 07/11/17 14:47, Chad Versace wrote:
> > Make it a stand-alone function. Pre-patch, for some formats the function
> > returned incorrect VkFormatFeatureFlags which were cleaned up by the
> > caller.
> >
> > This prepares for a cleaner implementation of
> > VK_EXT_image_drm_format_modifier.
> >
> > Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
> > ---
> > src/intel/vulkan/anv_formats.c | 44 ++++++++++++++++++++++++++++--------------
> > 1 file changed, 29 insertions(+), 15 deletions(-)
> >
> > diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c
> > index b8c9cacb422..ebc6a8351c6 100644
> > --- a/src/intel/vulkan/anv_formats.c
> > +++ b/src/intel/vulkan/anv_formats.c
> > @@ -514,23 +514,39 @@ get_image_format_properties(const struct gen_device_info *devinfo,
> > static VkFormatFeatureFlags
> > get_buffer_format_properties(const struct gen_device_info *devinfo,
> > - enum isl_format format)
> > + VkFormat vk_format,
> > + const struct anv_format *anv_format)
> > {
> > + if (anv_format->can_ycbcr)
> > + return 0;
>
> There a couple of ycbcr formats with a single plane.
> Is there a line in the spec that says ycbcr formats cannot be access through
> buffer views? (I couldn't find it)
> Might be worth leaving a comment.
I was also unable to find restriction in the spec. You know the ycbcr
spec much better than me, so I would feel safer if you added the
comment.
Just to be clear, the rejection of ycbcr in this patch...
if (anv_format->can_ycbcr)
return 0
... preserves the pre-patch behavior, which rejected ycbcr like this:
if (format->can_ycbcr) {
...
buffer = 0;
}
More information about the mesa-dev
mailing list