diff options
| author | Mike Schuchardt <mikes@lunarg.com> | 2019-07-26 07:56:30 -0700 |
|---|---|---|
| committer | jeremyk-lunarg <jeremyk@lunarg.com> | 2019-07-26 10:24:37 -0600 |
| commit | aed62466ff5bb38ae39010888bc4859afbe1cf94 (patch) | |
| tree | e9ab692c5f741e01b3ce237255c264d776a8a1d0 /cube/cube.c | |
| parent | af4a7aec2deff253495b5e87c90ed07de44a6c3d (diff) | |
| download | usermoji-aed62466ff5bb38ae39010888bc4859afbe1cf94.tar.xz | |
cube: Workaround macOS cube issue
Latest version of MoltenVK behaves in an apparently non-conformant way
by not allowing some linear images to be mapped to memory with
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT. This change sidesteps the issue
by forcing the use of staging buffer for loading textures.
Diffstat (limited to 'cube/cube.c')
| -rw-r--r-- | cube/cube.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cube/cube.c b/cube/cube.c index 18344e46..41d980ce 100644 --- a/cube/cube.c +++ b/cube/cube.c @@ -3688,6 +3688,12 @@ static void demo_init(struct demo *demo, int argc, char **argv) { memset(demo, 0, sizeof(*demo)); demo->presentMode = VK_PRESENT_MODE_FIFO_KHR; demo->frameCount = INT32_MAX; + +#if defined(VK_USE_PLATFORM_MACOS_MVK) + // MoltenVK may not allow host coherent mapping to linear tiled images + // Force the use of a staging buffer to be safe + demo->use_staging_buffer = true; +#endif for (int i = 1; i < argc; i++) { if (strcmp(argv[i], "--use_staging") == 0) { |
