3118 Commits

Author SHA1 Message Date
Bill Hollings
c833cc544d Replace dependency on Vulkan-LoaderAndValidationLayers with Vulkan-Headers and Vulkan-Tools.
Update to latest versions of Vulkan-Headers, SPIRV-Cross, glslang, Vulkan-Tools, and VulkanSamples.
2018-05-28 08:33:46 -04:00
Hanton Yang
a8cedc9e10 Fix typos in README.md 2018-05-24 13:23:35 +08:00
Hanton Yang
a609c5ed08 Fix typos in ExternalRevisions/README.md 2018-05-24 13:23:32 +08:00
Hanton Yang
7e6f6b0257 Fix typos in Docs/MoltenVK_Runtime_UserGuide.md 2018-05-24 13:23:29 +08:00
Bill Hollings
fff5ec9adf
Merge pull request #166 from billhollings/master
vkGetPhysicalDeviceImageFormatProperties returns VK_ERROR_FORMAT_NOT_SUPPORTED.
2018-05-23 10:44:01 -04:00
Bill Hollings
442dd2d1a3 vkGetPhysicalDeviceImageFormatProperties returns
VK_ERROR_FORMAT_NOT_SUPPORTED if the format is not supported.
Default value of MVKDeviceConfiguration::metalCompileTimeout set to infinite.
2018-05-22 14:24:34 -04:00
Bill Hollings
9e5e1ee8ba
Merge pull request #161 from mellinoe/fix-depthstencil-clear
Fix an issue where the depth format in MVKCmdClearImage was not getting set correctly.
2018-05-22 11:18:10 -04:00
Bill Hollings
f3355d1887
Merge pull request #165 from billhollings/master
Synchronization and threading fixes.
2018-05-22 11:03:24 -04:00
Bill Hollings
acf2a6efe9 Synchronization and threading fixes.
Move surface access to UI components to main thread.
Fix deadlock possibility between MVKFence and MVKFenceSitter.
Fix handling of locking on deferred-destruction objects.
Update MoltenVK version to 1.0.9.
2018-05-22 10:30:53 -04:00
Eric Mellino
8985ab9131 Fix an issue where the depth format in MVKCmdClearImage was not getting set correctly. 2018-05-19 22:14:27 -07:00
Bill Hollings
d5272484ac
Merge pull request #159 from billhollings/master
Allow queue processing to be optionally handled on the submitting (re…
2018-05-19 22:02:57 -04:00
Bill Hollings
f7dc8c3970 Allow queue processing to be optionally handled on the submitting (render) thread.
Add MVKDeviceConfiguration::synchronousQueueSubmits configuration setting.
Update to latest SPRIV-Cross version to fix atomic_compare issue.
Update MoltenVK version to 1.0.8.
2018-05-19 20:35:02 -04:00
Bill Hollings
c91438e80b
Merge pull request #158 from hanton/hotfix/fix_document_typo
Fix typo in MoltenVK_Runtime_UserGuide.md
2018-05-19 09:31:16 -04:00
Hanton Yang
3eb4179df9 Fix typo in MoltenVK_Runtime_UserGuide.md 2018-05-18 21:24:16 +08:00
Bill Hollings
0279543e0b
Merge pull request #154 from billhollings/master
Remove mutex locks on MVKDescriptorPool.
2018-05-15 07:44:59 -04:00
Bill Hollings
40cdcbba5c Remove mutex locks on MVKDescriptorPool.
Update docs to indicate support for Vulkan 1.0, instead of 1.1.
2018-05-14 15:48:27 -04:00
Bill Hollings
e443796c84
Merge pull request #153 from billhollings/master
Add Metal library, function and pipeline compilation timeout limits.
2018-05-14 12:03:52 -04:00
Bill Hollings
5364206dfc Update to latest SPIRV-Cross. 2018-05-14 11:10:13 -04:00
Bill Hollings
ba5008d866 Add Metal library, function and pipeline compilation timeout limits.
Add MVKDeviceConfiguration::metalCompileTimeout config setting.
Limit Metal compilation timeouts to 125 ms by default in Release mode.
Invoke Metal library, function specialization, and pipeline compilations
asynchronously with completion handlers. Abort after timeout expires.
Set default value of MVKDeviceConfiguration::supportLargeQueryPools to true,
to support large Query Pools by default.
Access vertexDescriptor in MTLRenderPipelineDescriptor only if needed.
Update MoltenVK version to 1.0.7.
2018-05-14 10:53:27 -04:00
Bill Hollings
bbe5370f62
Merge pull request #150 from billhollings/master
Fixes to run Vulkan CTS without crashes
2018-05-08 12:35:50 -04:00
Bill Hollings
3ec46c2811 Handle null pointers in vkDestroy...() functions. 2018-05-07 20:10:43 -04:00
Bill Hollings
397b6ba22a Create copies of MVKShaderLibraries when merging pipeline caches.
Handle NULLs when freeing command buffers.
Replace delete with call to destroy() for all MVK objects.
2018-05-07 15:50:09 -04:00
Bill Hollings
08c5d8eaa7 Handle multiple MVKResources mapped to the same region of a single MVKDeviceMemory. 2018-05-07 13:31:34 -04:00
Bill Hollings
64bdbd995a Cache MTLCommandQueues for reuse to handle long delays in creating new VkDevices and VkQueues.
Move MVKQueueFamily to MVKPhysicalDevice. Cache MTLCommandQueues in MVKQueueFamily
and assign to MVKQueues as they are created.
Refactor performance tracking. Replace vkGetShaderCompilationPerformanceMVK()
with vkGetPerformanceStatisticsMVK() and associated structures.
Add MTLCommandQueue access performance tracker.
Update MoltenVK version to v1.0.6.
2018-05-06 23:28:21 -04:00
Bill Hollings
6088fa88f0
Merge pull request #149 from billhollings/master
Add features to support Vulkan CTS.
2018-05-04 14:27:00 -04:00
Bill Hollings
84f92e0d0e Fix merge conflicts and missing OSX files from class extension file refactoring. 2018-05-04 13:02:07 -04:00
Bill Hollings
f857011ec1 Add features to support Vulkan CTS.
Dynamically create frag shaders for clearning attachments and images.
Dynamically create frag shaders for blitting scaled images.
MVKGraphicsPipeline don't create MTLRenderPipelineState if vertex function conversion fails.
MVKComputePipeline don't create MTLComputePipelineState if compute function conversion fails.
Handle SPIRV-Cross errors thrown during SPIR-V parsing in compiler construction.
Set undefined property limits to large, but not max, values to avoid casting issues in app.
Mark multiDrawIndirect features as available.
Update to latest SPIRV-Cross version.
Update to MoltenVK version 1.0.5.
2018-05-04 12:11:19 -04:00
Bill Hollings
18cc70e055
Merge pull request #148 from csmartdalton86/filter_linear2
Support VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
2018-05-02 22:20:35 -04:00
Chris Dalton
871a39a4ed Support VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
Makes sure this flag gets set on pixel formats for which Metal supports
filtering.

Fixes #147
2018-05-02 12:59:49 -06:00
Chris Dalton
54f0b23d4a Separate "pixel" and "buffer" features in MVK_MAKE_FMT_STRUCT
This will allow us to vary these feature flags independently.

Helps to fix #147
2018-05-02 12:59:49 -06:00
Chris Dalton
2f0c9f6c04 Initialize invalid MVKFormatDescs with MVK_FMT_NO_FEATS
As the feature flags get more complicated, it will be better to just
leave these blank rather than guess what the flags might be if/when
Metal supports their corresponding configs in the future.

Helps to fix #147
2018-05-02 12:59:49 -06:00
Bill Hollings
292da9fa18
Merge pull request #143 from hanton/master
Separate categories from MVKOSExtensions
2018-04-30 17:06:04 -04:00
Hanton Yang
723fa9650d Separate categories from MVKOSExtensions.
MTLTextureDescriptor+MoltenVK
MTLSamplerDescriptor+MoltenVK
CAMetalLayer+MoltenVK
2018-04-27 23:04:28 +08:00
Bill Hollings
77a5571eda
Merge pull request #142 from billhollings/master
Don't use CAMetalLayer displaySyncEnabled property if it is not available.
2018-04-22 23:34:04 -04:00
Bill Hollings
35c9ae7b5f Merge branch 'master' of https://github.com/KhronosGroup/MoltenVK 2018-04-22 23:18:49 -04:00
Bill Hollings
72f1efa674 Don't use CAMetalLayer displaySyncEnabled property if it is not available.
Update version to 1.0.4.
2018-04-22 23:16:52 -04:00
Bill Hollings
4b5aca57af
Merge pull request #140 from billhollings/master
Clearing multisampled textures + minor fix to depth clip mode handling.
2018-04-21 10:00:54 -04:00
Bill Hollings
04bb3b1757
Merge pull request #138 from hanton/master
Update python brew install command
2018-04-21 10:00:33 -04:00
Hanton
8598b779d1
Update python brew install command
python3 is renamed to python in Homebrew formula. [Link](https://docs.brew.sh/Homebrew-and-Python)
>> Homebrew provides one formula for Python 3.x (python) and another for Python 2.7.x (python@2).
2018-04-21 11:06:40 +08:00
Bill Hollings
a80a85f82f MVKCmdClearAttachments & MVKCmdClearImage support multisampled attachments and images. 2018-04-19 18:36:00 -04:00
Bill Hollings
164680b686 Support depth clip mode only from MTLFeatureSet_iOS_GPUFamily2_v4 onwards. 2018-04-18 20:48:34 -04:00
Bill Hollings
58481a7a2d
Merge pull request #137 from billhollings/master
Update to latest LunarG/VulkanSamples and update MoltenVK version to …
2018-04-18 20:34:56 -04:00
Bill Hollings
bb2188c083 Add support for VK_PRESENT_MODE_IMMEDIATE_KHR swapchain presentation mode. 2018-04-18 20:16:45 -04:00
Bill Hollings
9b871d0280 Update to latest LunarG/VulkanSamples and update MoltenVK version to 1.0.3. 2018-04-18 11:06:47 -04:00
Bill Hollings
e837edd200
Merge pull request #135 from karl-lunarg/travis-demos
build: Build the demos in Travis-CI
2018-04-17 20:16:54 -04:00
Bill Hollings
e6199b6ad6
Merge pull request #134 from billhollings/master
Update to latest V-LVL, glslang & SPIRV-Tools.
2018-04-17 16:43:07 -04:00
Karl Schultz
9b616bc087 build: Build the demos in Travis-CI 2018-04-17 13:41:39 -06:00
Bill Hollings
8631fc06b8 Update to latest V-LVL, glslang & SPIRV-Tools.
Fix link references when building against latest SPIRV-Tools.
2018-04-17 13:41:08 -04:00
Bill Hollings
264c4da135
Merge pull request #133 from karl-lunarg/LVL-update
Update V-LVL revision
2018-04-17 11:54:15 -04:00
Karl Schultz
5c36a26632 Update V-LVL revision
- pick up 1.1.73 headers
- cope with interface change in cube demo
2018-04-16 17:52:01 -06:00