low-level programing (native code) has a lot of "buts"
1-you would need to code the engine twice (or tweak it a lot) for nvidia and amd.
2-multi gpu support would be a pain
3 it would take forever.
4 it needs to be hardware-supported.
5 low budget game devs couldn'd afford it.
6 and (probably,not sure) the game (or engine) wouldn't work with future hardware.