Vulkan maximum image size ?

How big might be image size ?
For example i want image size 128 000 x 128 000

Check the following device limits (see my database):

  • maxImageArrayLayers
  • maxImageDimension1D
  • maxImageDimension2D
  • maxImageDimension3D
  • maxImageDimensionCube

You won’t find hardware that supports 128kx128k textures. For huge textures take a look at partial residency (using sparse bindings). But even with these you won’t be able to go beyond the limits reported by the above caps.

32 768 bytes limit.
I think Vulkan have very big images.
Vulkan say close to hardware.
My HD 7950 have 3 gb memory.
Images attached to memory.
In Vulkan memory might allocated 128 mb.

Hm. Strange.

The limit is not in bytes. It’s the max. dimension of the image (width by height).
An uncompressed 128kx128k RGBA would take up 16 GByte of VRAM. 32kx32k RGBA is still 4 GByte, so most GPUs wouldn’t be able to fit more than one such texture into VRAM. So sizes as 128,000 won’t make sense. Even for a 32kx32k texture you usually don’t want it to be completely in memory sou you’d go with partial residency.

P.S.: Take a look at the specs (VkPhysicalDeviceLimits) to see what the limits mean.

Or you can use one Mega texture, like Doom: DOOM (2016) - Graphics Study - Adrian Courrèges

That’s what I was referring to with sparse binding and partial residency :wink:

But that doesn’t get you around the limitations of the max. image dimensions reported by Vulkan. It only helps you leverage memory pressure as you can swap virtual pages in and out so that a texture only occupies as much memory as is actually needed. ALso note that right now only NVIDIA supports partial residency in Vulkan.

Ah, sorry I’m new to graphics. Will write this to my dictionary :slight_smile:

I understand that, limits are limits, no matter which technique you use. I mentioned Doom as example because Ronniko thought Vulkan can’t handle big textures. So it can, but you still can’t get around limitations.

…And I always thought AMD has best Vulkan support because it evolved from Mantle, hmm

I’m pretty sure they’re working on it. I don’t think that partial residency is widely used, so from the IHV perspective it probably has low priority.

But it’s not required for doing mega textures like Doom. From that article they just use a few 16k x 8k textures that are updated using image copies at the frame start.

I think texture 32 768 x 32 768 not bad. :smiley:

What ?!
Sara Bullock :slight_smile: