1799 Commits

Author SHA1 Message Date
Caleb Cornett
7f64c419c2 Implement VK_KHR_driver_properties 2020-07-07 16:31:07 -04:00
Bill Hollings
c6cb503e3f
Merge pull request #947 from billhollings/master
Fix small memory leak when setting swapchain color space.
2020-07-06 18:02:46 -04:00
Bill Hollings
cd18cec727 Fix small memory leak when setting swapchain color space.
Add CAMetalLayer::colorspaceNameMVK property to handle retain/release automatically.
2020-07-06 17:36:05 -04:00
Bill Hollings
c3f9951dad
Merge pull request #946 from billhollings/master
Update to latest SPIRV-Cross version.
2020-07-06 13:39:21 -04:00
Bill Hollings
e40153abae Update to latest SPIRV-Cross version,
MSL: Workaround broken scalar access chain behavior in LLVM IR / AIR
2020-07-06 13:05:55 -04:00
Bill Hollings
52e7c2ff31
Merge pull request #943 from billhollings/master
MVKPhysicalDevice::getSurfaceFormats() reduce fragility of surface format definitions.
2020-06-30 16:59:38 -04:00
Bill Hollings
1a686efc19 MVKPhysicalDevice::getSurfaceFormats() reduce fragility of surface format definitions. 2020-06-30 15:28:52 -04:00
Bill Hollings
c0b0e4e6c4
Merge pull request #939 from cdavis5e/macos-rgb10a2-surface
MVKDevice: Advertise VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a surface format.
2020-06-30 14:40:47 -04:00
Bill Hollings
d79926a579
Merge pull request #934 from tmm1/tvos-fixups
tvOS fixups
2020-06-29 13:43:10 -04:00
Chip Davis
85357d0a5d MVKDevice: Advertise VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a surface format.
The corresponding Metal format is now documented as supported for
`CAMetalLayer`, confirming my findings in #673.

Only support the 10-10-10-2 formats on macOS. iOS and tvOS instead have
extended-range formats, which unfortunately have no Vulkan equivalents.
I've added them anyway for completeness. I suppose if Vulkan ever does
get these formats, we'll then be ready to expose them as surface
formats.
2020-06-25 13:34:00 -05:00
Aman Gupta
9d886adac5 mark shared memory type as VK_MEMORY_PROPERTY_HOST_CACHED_BIT 2020-06-25 10:49:50 -07:00
Aman Gupta
1de1c64c65 add more tvos paths in MVKDevice 2020-06-24 17:17:54 -07:00
Aman Gupta
fe1ebdf753 Merge remote-tracking branch 'upstream/master' into tvos-fixups 2020-06-24 16:00:58 -07:00
Bill Hollings
21630b59bb
Merge pull request #935 from billhollings/master
Support iOS Simulator and tvOS Simulator, plus further tvOS integration
2020-06-24 18:34:13 -04:00
Aman Gupta
8c6ab03bb9 fix flags in MVKImage.mm 2020-06-24 15:00:20 -07:00
Aman Gupta
dbdccdf068 memoryless storage not allowed for buffers 2020-06-24 14:57:18 -07:00
Aman Gupta
85fb1ae4e8 memoryless introduced in tvOS 10 2020-06-24 14:45:54 -07:00
Aman Gupta
fa17791a31 fix memory properties on tvos 2020-06-24 14:41:13 -07:00
Bill Hollings
ba05b805f8
Merge pull request #936 from cdavis5e/2d-image-view-errors
MVKImage: Tweak some errors.
2020-06-24 17:12:26 -04:00
Bill Hollings
40d3485cec Remove unneeded switch default for MTLLanguageVersion.
Minor doc fixes from PR review.
2020-06-24 17:04:30 -04:00
Chip Davis
3a9d951d51 MVKImage: Remove error message.
The number of layers is set on the `MTLRenderPassDescription`.
2020-06-24 12:18:12 -05:00
Chip Davis
dc79e75379 MVKImage: Fix inverted condition. 2020-06-24 12:18:12 -05:00
Bill Hollings
5e5d6439da Update documentation to cover tvOS, iOS Simulator, and tvOS Simulator. 2020-06-23 23:06:08 -04:00
Aman Gupta
043f51c5a2 missing tvos features 2020-06-23 19:56:20 -07:00
Aman Gupta
e8db4f2af7 fix maxComputeSharedMemorySize for tvos 2020-06-23 19:25:51 -07:00
Aman Gupta
e03df97f66 ensure more tvos properties are set 2020-06-23 18:33:42 -07:00
Aman Gupta
1b88d4afff fill in some missing properties 2020-06-23 18:15:22 -07:00
Bill Hollings
5419d229d0 Cube demo run on tvOS and tvOS Simulator. 2020-06-23 21:06:48 -04:00
Aman Gupta
6fdf7e32fe forgot a shared scheme 2020-06-23 13:35:30 -07:00
Bill Hollings
b9f1d7519a Makefile add debug build targets.
Fix crash during creation of fat dSYMs.
Travis only build macOS version of everything.
2020-06-23 16:08:00 -04:00
Bill Hollings
da981be45b
Merge pull request #932 from Lichtso/VkPhysicalDeviceSubgroupProperties
Adds VkPhysicalDeviceSubgroupProperties.
2020-06-23 14:06:10 -04:00
Bill Hollings
b4de675878 Cube demo running in iOS simulator. 2020-06-23 12:50:40 -04:00
Bill Hollings
7910f43867 MVKPixelFormats reduce some MTLPixelFormat capabilities for simulators.
Add MVK_IOS_SIMULATOR and MVK_TVOS_SIMULATOR macros.
MVKPixelFormats add disableMTLPixelFormatCapabilities().
MVKPixelFormats add disableAllMTLPixelFormatCapabilities().
2020-06-22 23:52:51 -04:00
Bill Hollings
72517a2474 Cleanup tvOS build warnings.
Use platform macros to conditionally build outstanding tvOS code.
Log validation error message when tvOS code doesn't support expected functionality.
2020-06-22 21:55:51 -04:00
Bill Hollings
37e8e3182c Redefine MoltenVK platform macros in terms of newer Apple target conditionals. 2020-06-22 21:37:30 -04:00
Bill Hollings
8b3d3a7338
Merge pull request #930 from js6i/master
Host-coherent texel buffers
2020-06-22 15:56:44 -04:00
Bill Hollings
d984d403bf Makefile supports building fat iOS and tvOS libraries from command line. 2020-06-22 15:56:22 -04:00
Alexander Meißner
56beffd770 Fixes supportedStages and limits subgroupSize to be only set on supported platforms / versions. 2020-06-22 21:54:27 +02:00
Jan Sikorski
6b5217e720 Protect creation of buffers with a mutex 2020-06-22 18:38:12 +02:00
Jan Sikorski
d0059a2bdf Do host-coherent texel buffer caching just for buffer views 2020-06-22 18:35:50 +02:00
Bill Hollings
2ec530feed
Merge pull request #931 from cdavis5e/frag-input-components
MVKPipeline: Fix fragment inputs to have as many components as vertex outputs.
2020-06-22 10:05:49 -04:00
Bill Hollings
abb8792843 fetchDependencies build external libraries in parallel by platform.
Log ext lib build steps to provide user feedback.
Add package_ext_libs_finish.sh script to separate packaging
libraries from building them, to avoid build database conflicts.
Travis only build macOS ext libs.
2020-06-22 00:00:00 -04:00
Alexander Meißner
60af232d4f Adds VkPhysicalDeviceSubgroupProperties.
This comes with a fixed subgroupSize per physical device until VK_EXT_subgroup_size_control is implemented.
2020-06-21 10:17:38 +02:00
Bill Hollings
039cb199bb Remove use of TARGETED_DEVICE_FAMILY Xcode build setting. 2020-06-19 15:55:22 -04:00
Chip Davis
d14d4e918d MVKPipeline: Fix fragment inputs to have as many components as vertex outputs.
Metal is picky about interface matching. If the types of a vertex output
and its corresponding fragment input don't match, down to the number of
vector components, it fails pipeline compilation. To support cases where
the number of components in the fragment input is less than the
corresponding vertex output, we need to fix up the fragment shader to
accept the extra components.
2020-06-19 14:20:29 -05:00
Bill Hollings
ac204382db Merge simulator support with tvOS support. 2020-06-19 15:05:43 -04:00
Jan Sikorski
5eea556bf8 Check for overlap with device memory range when flushing MVKBuffer 2020-06-19 19:37:54 +02:00
Bill Hollings
9fea13773d Support iOS simulator and fat library builds of MoltenVK libraries.
Create fat builds of static, dynamic & framework libraries if both iOS
and simulator versions have been created from separate manual Xcode builds.

Refactor scripts for creating fat libraries to reuse across projects.
Add MVK_BUILT_PROD_DIR to replace use of BUILT_PRODUCTS_DIR in most scripts
to allow flexibility across per-platform compilation.
2020-06-19 09:53:43 -04:00
Bill Hollings
2dd34de8ee
Merge pull request #912 from tmm1/tvos
tvOS support
2020-06-19 09:39:29 -04:00
Aman Gupta
b8fb92a9e3 oops forgot this return 2020-06-18 16:36:45 -07:00