-
Notifications
You must be signed in to change notification settings - Fork 58
Vulkan Limitations due to OpenGL Support
Mateusz Kielan edited this page Oct 28, 2020
·
2 revisions
- No texture/sampler separation, combined imageSamplers only
- No Input Attachments
- Push Constants need to satisfy and explicitly declare the std140 packing rules
InputAttachments do not exist in OpenGL and have no API role, however in Vulkan they are necessary as a replacement to an explicit TextureBarrier. This can also help to implement an implicit TextureBarrier insertion for OpenGL when we are writing to the same FBO we're rendering to.
The Push Constants are emulated in OpenGL as a special UBO at binding point 0, they cannot be emulated as a special Uniform Struct as structs have no cross-platform packing rules. So only UBO emulation is possible, hence a requirement to follow std140 packing rules for being cross platform.