Why can only Nvidia 10 series and better cards use 512x on certain versions?
The reason is quite simply that Minecraft builds all the items and blocks in to one big texture, known as a texture atlas. When using 512x this atlas is huge.
Most graphics card can only handle a maximum texture resolution of 16,384 pixels by 16,384 pixels (older cards can be less).
However, Nvidia 10 series and later cards for some reason can handle 32,768 pixels by 32,768 pixels.
So for a simple bit of maths a 16,384² atlas when using a full 512x resolution resourcepack can only fit 1,024 textures on it.
As of MC1.16 vanilla Minecraft has 1,143 blocks plus items textures, and with each Minecraft version this number grows.
The “simple” fix would be if Mojang split blocks and items up, but as they only work in 16x they have need no to as they can fit over a million textures in the atlas.