[Mesa-dev] [PATCH 1/2] radv: disallow 3D images and mipmaps/layers for R32G32B32 linear formats

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Mon Oct 8 23:12:49 UTC 2018


On Tue, Oct 9, 2018 at 12:43 AM Jason Ekstrand <jason at jlekstrand.net> wrote:
>
> On Mon, Oct 8, 2018 at 4:06 PM Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl> wrote:
>>
>> On Mon, Oct 8, 2018 at 2:39 PM Samuel Pitoiset
>> <samuel.pitoiset at gmail.com> wrote:
>> >
>> > R32G32B32 are weird formats and we are only going to support
>> > some basic operations for now.
>> >
>> > Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> > ---
>> >  src/amd/vulkan/radv_formats.c | 14 ++++++++++++++
>> >  1 file changed, 14 insertions(+)
>> >
>> > diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
>> > index ad06c9e996..a7aa819e2b 100644
>> > --- a/src/amd/vulkan/radv_formats.c
>> > +++ b/src/amd/vulkan/radv_formats.c
>> > @@ -1091,6 +1091,20 @@ static VkResult radv_get_image_format_properties(struct radv_physical_device *ph
>> >                 sampleCounts |= VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT;
>> >         }
>> >
>> > +       if (info->tiling == VK_IMAGE_TILING_LINEAR &&
>> > +           (info->format == VK_FORMAT_R32G32B32_SFLOAT ||
>> > +            info->format == VK_FORMAT_R32G32B32_SINT ||
>> > +            info->format == VK_FORMAT_R32G32B32_UINT)) {
>> Maybe just check if the blocksize is not a power of two?
>
>
> Probably better if you don't support 24 or 48-bit formats.

As far as I can tell this is just a further restriction, we return
unsupported already if the feature flags are 0,
>
>>
>> Either way, this patch  is
>>
>> Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>> > +               /* R32G32B32 is a weird format and the driver currently only
>> > +                * supports the barely minimum.
>> > +                * TODO: Implement more if we really need to.
>> > +                */
>> > +               if (info->type == VK_IMAGE_TYPE_3D)
>> > +                       goto unsupported;
>> > +               maxArraySize = 1;
>> > +               maxMipLevels = 1;
>> > +       }
>> > +
>> >         if (info->usage & VK_IMAGE_USAGE_SAMPLED_BIT) {
>> >                 if (!(format_feature_flags & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)) {
>> >                         goto unsupported;
>> > --
>> > 2.19.1
>> >
>> > _______________________________________________
>> > mesa-dev mailing list
>> > mesa-dev at lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list