Implement VK_EXT_queue_family_foreign
Implement VK_EXT_queue_family_foreign

This extension only actually adds an enum. The interesting behavior will
come with image and buffer memory barriers describing an ownership
transition between the real queue family and
VK_EXT_QUEUE_FAMILY_FOREIGN. Depending on the platform, this may be
nothing; may require cache maintenance operations; or may require
a copy to/from an external buffer.

Bug: b/141697747
Change-Id: Ia5b6d3027f21bb7c61143972fcb4d4cd8bc06f11
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36728
Tested-by: Chris Forbes <c3279c50043e18e9442c1ae071cafa0e7a4ca967@google.com>
Presubmit-Ready: Chris Forbes <c3279c50043e18e9442c1ae071cafa0e7a4ca967@google.com>
Reviewed-by: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Kokoro-Presubmit: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>

bkaradzic/SwiftShader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,google/swiftshader,bkaradzic/SwiftShader,google/swiftshader,bkaradzic/SwiftShader,google/swiftshader