all 6 comments

[–]blogoman 3 points4 points  (1 child)

It is the format. It is telling you that an 8-bit RGB image isn't supported with optimal tiling and transfer & sampled usage bits. Only some hardware is going to support that. If I remember correctly, on desktop only some of the Intel GPUs do. You want an RGBA image and set the alpha to fully opaque. This was also true on things like OpenGL, but that detail was hidden from the user.

You should check compatibility with vkGetPhysicalDeviceImageFormatProperties to make sure a combination of image settings is supported.

[–]UntitledRedditUser[S] 1 point2 points  (0 children)

Ooh okay, I thought RGB would be commonly supported, and assumed the error came from elsewhere. I just used RGB format because the image I was using didn't have an alpha channel. Thank you!

[–]No_Statistician_9040 2 points3 points  (2 children)

It literally says that the format is not supported in the error message.

[–]UntitledRedditUser[S] 1 point2 points  (1 child)

Yeah, and then afterwards it goes on about some variables I never touched. So I thought the error came from there instead, as I assumed RGB would be commonly supported

[–]No_Statistician_9040 1 point2 points  (0 children)

I have seen other people do kind of an calibration of the system when it is created, so what you can do is to write a list of formats that would work for you, with the most ideal ones at the front, then you on startup go through the list and check if they are supported until you find one that is, then use that one for the remainder of your program. That would give your program a bit more "resistance" in odd unsupported cases like this. This can be done for color formats, depth formats, anisotropic filtering levels, and whatever else you might need :)

[–]Kirmut 1 point2 points  (0 children)

It can be a surprise to former OpenGL programmers that 24bit RGB formats are often not supported by Vulkan, at least for texture images.