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
Bill Hollings
b59d74cef5
Merge pull request #132 from billhollings/master
...
Update Demos to use latest LunarG VulkanSamples and Vulkan-LoaderAndValidationLayers code.
2018-04-16 18:49:40 -04:00
Bill Hollings
3a2657b2bb
Update Demos to use latest LunarG VulkanSamples and Vulkan-LoaderAndValidationLayers code.
...
Update to latest Vulkan-LoaderAndValidationLayers version.
Update to latest VulkanSamples version.
Update to latest SPIRV-Cross version.
2018-04-16 16:26:34 -04:00
Bill Hollings
206461371f
Merge pull request #131 from billhollings/master
...
Add workaround for apps that use one semaphore for all swapchain images.
2018-04-15 10:07:27 -04:00
Bill Hollings
793f3fdaf3
Add workaround for apps that use one semaphore for all swapchain images.
...
Support deferred secondary signaling of semaphore & fence acquired while image is free.
Add MVKBaseObject::destroy() function to support customization of object destruction.
Support deferred destruction of MVKSemaphore & MVKFence instances.
2018-04-14 20:12:33 -04:00
Bill Hollings
4c746bb288
Merge pull request #129 from billhollings/master
...
Clean up reference to SDK in dylib build script.
2018-04-10 10:27:25 -04:00
Bill Hollings
9fe7e3659a
Clean up reference to SDK in dylib build script.
2018-04-09 17:42:51 -04:00
Bill Hollings
e9499d1209
Merge pull request #127 from billhollings/master
...
Fix issues #64 & #97 .
2018-04-09 16:42:53 -04:00
Bill Hollings
796cf7e417
MVKImage::getArrayLayers() reports only layer count and excludes depth.
2018-04-09 16:22:43 -04:00
Bill Hollings
c08e22e097
vkCmdCopyBufferToImage() & vkCmdCopyImageToBuffer() support a VkBuffer
...
that is bound to an offseted position in a VkDeviceMemory.
2018-04-09 14:26:02 -04:00
Bill Hollings
256c76683e
Merge pull request #126 from VinDuv/use-ninja-for-deps
...
fetchDependencies: Use ninja if available to build dependencies
2018-04-09 12:58:02 -04:00
Bill Hollings
586186e8f4
Merge pull request #125 from karl-lunarg/fetch-copy
...
fetchDeps: Copy glslang instead of symlink
2018-04-09 12:14:33 -04:00
Karl Schultz
b1a18b7855
fetchDeps: Copy glslang instead of symlink
...
Using a symlink to locate an externally-built glslang
doesn't work if the parent directory of the externally-built
glslang isn't the same as the parent here (External).
This fixes a portability warning when building from V-LVL
because the parent there was "external" vs "External".
Copy is still a win because it is better than fetching and
building.
2018-04-06 18:33:28 -06:00
Vincent Duvert
9a3ab266d1
Use ninja if available to build dependencies
...
If the ninja build system is installed, ask CMake to generate Ninja build files and use
it for the build.
2018-04-06 08:27:22 +02:00
Bill Hollings
9c8117efe6
Merge pull request #124 from billhollings/master
...
Queue and device wait idle logic and update to latest version of VulkanSamples.
2018-04-06 00:07:04 -04:00
Bill Hollings
d58da3a3c8
Queue and device wait idle handled by internal fence instead of semaphore.
...
Merge handling of timed and infinite synchronizations.
2018-04-05 23:32:35 -04:00
Bill Hollings
3a3e52b741
In Cube demo app, replace call to demo_update_and_draw()
...
with call to demo_draw() to support new version of cube.c.
Update to latest version of VulkanSamples.
2018-04-05 11:15:54 -04:00
Bill Hollings
794db80bb8
Merge pull request #122 from billhollings/master
...
Round up row and layer byte counts when copying compressed images with sizes that are not integer multiples of block size.
2018-04-03 22:51:50 -04:00
Bill Hollings
9fddb15a53
Round up row and layer byte counts when copying compressed
...
images with sizes that are not integer multiples of block size.
2018-04-03 17:01:53 -04:00