344 Commits

Author SHA1 Message Date
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
Bill Hollings
ebfa36287b
Merge pull request #121 from karl-lunarg/fetch-repo
fetchDeps: remove -sdk. New opts for LVL, glslang trees
2018-04-03 09:34:57 -04:00
Karl Schultz
8faa3a2fe4 fetchDeps: remove -sdk. New opts for LVL, glslang trees
Changes to fetchDependencies script:
- remove -sdk option
- Add --v-lvl-root and --glslang-root options (with an arg)
that allow caller to pass in the root dir of these two repos
if the caller already has them.  The script then symlinks to
these instead of fetching and building.

Fixes: #79 #84
2018-04-02 15:09:06 -06:00
Bill Hollings
823bc18cd8
Merge pull request #120 from hanton/master
Fix typo in Demos/README.md
2018-04-02 11:41:06 -04:00
Hanton
6d96f33b53
Fix typo in Demos/README.md 2018-04-01 14:47:03 +08:00
Bill Hollings
1156ff296d
Merge pull request #119 from billhollings/master
Reorganize External dependencies.
2018-03-30 22:36:21 -04:00
Bill Hollings
979a7f801f Reorganize External dependencies.
fetchDependencies script now in top directory to avoid Travis caching of
External directory. fetchDependencies is now smart about fetching vs cloning
and building only what is necessary.
2018-03-30 22:16:27 -04:00