451 Commits

Author SHA1 Message Date
Chip Davis
396add581a Support the VK_KHR_maintenance1 extension.
Much of this was already supported, simply by being supported by Metal.
Of course, this support is incomplete: Metal doesn't yet allow you to
create a 2D texture view from a 3D texture.
2018-08-27 12:42:20 -05:00
Bill Hollings
4c8c14a7ad
Merge pull request #227 from billhollings/master
Support Xcode 10.
2018-08-23 15:19:35 -04:00
Bill Hollings
c8a9841d8c Support pre-linking on both Xcode 9 & 10. Update library dependencies.
Remove linking MoltenVKSPIRVToMSLConverter from Build Phase in favour of PreLink.
Update to Vulkan header 1.1.83.
Update to latest version of library dependencies.
2018-08-23 14:02:05 -04:00
Bill Hollings
5bc8403cc1 Support Xcode 10.
Explicitly specify MoltenVKSPIRVToMSLConverter as prelink library.
Update build setting verification check.
2018-08-22 16:22:37 -04:00
Bill Hollings
25f2abf783
Merge pull request #226 from billhollings/master
Move MoltenVK config to instance instead of device.
2018-08-22 11:20:01 -04:00
Bill Hollings
55e80b20a6 Move MoltenVK config to instance instead of device.
Add MVKConfiguration and deprecate MVKDeviceConfiguration.
Add vkGetMoltenVKConfigurationMVK() and deprecate vkGetMoltenVKDeviceConfigurationMVK().
Add vkSetMoltenVKConfigurationMVK() and deprecate vkSetMoltenVKDeviceConfigurationMVK().
Add build setting overrides for all initial MVKConfiguration member values.
Update to MoltenVK version 1.0.19.
Update to VK_MVK_moltenvk spec version 7.
2018-08-22 10:41:50 -04:00
Bill Hollings
729c984768
Merge pull request #225 from ryandesign/typos
Fix typos in comments in fetchDependencies
2018-08-21 14:55:39 -04:00
Ryan Schmidt
8ef623373d
Fix typos in comments in fetchDependencies 2018-08-21 10:04:37 -05:00
Bill Hollings
a27de20546
Merge pull request #219 from billhollings/master
MoltenVK 1.0.18
2018-08-15 16:53:22 -04:00
Bill Hollings
346332e101 Update Whats_New.md for 1.0.18. 2018-08-15 14:39:01 -04:00
Bill Hollings
97df931b43 vkGetPhysicalDeviceFormatProperties() return VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT if supported, even if other format properties are not. 2018-08-15 13:14:43 -04:00
Bill Hollings
0cbc5b086f Fix API for updating MVKDeviceConfiguration::synchronousQueueSubmits.
Notify MVKQueues when MVKDeviceConfiguration::synchronousQueueSubmits changes.
MVKQueue use or not use separate dispatch queue as a result.
2018-08-14 16:08:26 -04:00
Bill Hollings
008274ba67 Support Metal GPU capture scopes.
Add MVKGPUCaptureScope class.
MVKQueue support separate presentation and submission scopes.
2018-08-14 12:32:01 -04:00
Bill Hollings
bd177633ca Update to latest SPIRV-Cross, glslang & SPIRV-Tools.
Update MoltenVK version to 1.0.18.
2018-08-11 16:20:58 -04:00
Bill Hollings
c89fb51003 vkCmdFullBuffer() fills buffer using compute shader.
MVKCmdCopyBuffer passes MVKCmdCopyBufferInfo struct to compute shader.
mvkAlignByteOffset(), mvkAlignAddress() & mvkAlignByteRef() functions allow aligning downwards.
Add mvkFits() function.
2018-08-09 15:10:09 -04:00
Bill Hollings
7d72fb595a
Merge pull request #213 from billhollings/master
Only update CAMetalLayer drawableSize property during swapchain creation.
2018-08-01 15:53:46 -04:00
Bill Hollings
e39d7e6394 Only update CAMetalLayer drawableSize property during swapchain creation.
Simplify structure of MVKQueue::submit() functions.
2018-08-01 15:29:15 -04:00
Bill Hollings
d2aea464de
Merge pull request #210 from karl-lunarg/sdk82
build: Update to get Vulkan 1.1.82 headers
2018-07-31 13:34:42 -04:00
Bill Hollings
a2ddd9e62a
Merge pull request #212 from billhollings/master
Rename folders and project for Cube demo.
2018-07-31 13:34:29 -04:00
Bill Hollings
1fecef0636 Rename folders and project for Cube demo.
Update What's New document.
Remove obsolete deprecated licensing functions.
2018-07-31 13:10:44 -04:00
Karl Schultz
1fd666632a build: Update to get Vulkan 1.1.82 headers 2018-07-30 15:40:00 -06:00
Bill Hollings
d6dfb86fca
Merge pull request #208 from billhollings/master
Various enhancements.
2018-07-29 19:47:45 -04:00
Bill Hollings
0b592f5b4a Update to latest library dependencies. 2018-07-29 17:41:14 -04:00
Bill Hollings
1b6289d5b7 Disable rasterization and return void from vertex shaders that write to resources.
Add SPIRVToMSLConverterOptions::isRasterizationDisabled to allow pipeline
and vertex shader to communicate rasterization status.
Update to latest SPIRV-Cross version.
Update MoltenVK version to 1.0.17.
2018-07-29 15:50:51 -04:00
Bill Hollings
0ac3503908 Merge branch 'master' of https://github.com/KhronosGroup/MoltenVK 2018-07-27 19:24:49 -04:00
Bill Hollings
f65ca1d1e6
Merge pull request #206 from aerofly/master
new vertex format VK_FORMAT_A2B10G10R10_SNORM_PACK32
2018-07-27 19:22:19 -04:00
aerofly
fcbe9f86fd support VK_FORMAT_A2B10G10R10_SNORM_PACK32 2018-07-27 16:45:34 +02:00
aerofly
0d257fa710 new vertex format VK_FORMAT_A2B10G10R10_SNORM_PACK32 2018-07-27 09:42:15 +02:00
Bill Hollings
d51e9faa33 Merge branch 'master' of https://github.com/KhronosGroup/MoltenVK 2018-07-25 09:42:12 -04:00
Bill Hollings
491c840bfb
Merge pull request #201 from prideout/patch-1
CreatePipelines should not return SUCCESS when MSL translation fails.
2018-07-25 09:41:16 -04:00
Philip Rideout
93ff3564b1
Do not kill pipeline when fragment shader is invalid. 2018-07-24 13:23:43 -07:00
Bill Hollings
b796a65cd3 Track layered rendering capability.
Add MVKPhysicalDeviceMetalFeatures::layeredRendering.
Add mvkStaticCmdShaderSource() to generate static MSL shader source for commands.
Add MVKDevice::getMTLCompileOptions() to consolidate shader compilation options.
Fix watermark timing.
Upgrade MoltenVK spec version to 6.
2018-07-24 14:21:37 -04:00
Philip Rideout
00e84bbf11
CreatePipelines should not return SUCCESS when MSL translation fails.
When vertex shader translation fails, we were already calling setConfigurationResult, but we were not doing this for fragment shaders.
2018-07-24 11:07:44 -07:00
Bill Hollings
b70932b262
Merge pull request #200 from billhollings/master
Report correct workgroup sizes from MTLDevice.
2018-07-24 00:16:15 -04:00
Bill Hollings
0afb42107f Retrieve VkPhysicalDeviceLimits::maxComputeWorkGroupSize &
maxComputeWorkGroupInvocations & maxComputeSharedMemorySize from MTLDevice.
2018-07-23 23:52:21 -04:00
Bill Hollings
16d8a040d1
Merge pull request #199 from billhollings/master
Fixes to attachment and image clearing to pass CTS tests.
2018-07-23 22:07:36 -04:00
Bill Hollings
2d4de6db68 Fixes to attachment and image clearing to pass CTS tests.
MVKCmdClearAttachments support clearing multiple attachment layers.
MVKCmdClearImage use renderpass clear, and support clearning multiple image layers.
Rename mvkCmdClearImage() to mvkCmdClearColorImage().
MVKDevice add getFormatIsSupported() to allow devices to test for format support.
MVKFramebuffer support multiple layers.
mvk_datatypes.h support both 2D and 3D mipmap calculations and allow
mvkMTLPrimitiveTopologyClassFromVkPrimitiveTopology() in iOS.
Remove support for VK_FORMAT_B10G11R11_UFLOAT_PACK32 & VK_FORMAT_E5B9G9R9_UFLOAT_PACK32
since format components are reversed on Metal.
Move OS extension source files to new OS directory.
Update to latest SPIRV-Cross version.
Update MoltenVK version to 1.0.16.
2018-07-23 20:12:57 -04:00
Bill Hollings
40df55a9b4
Merge pull request #197 from billhollings/master
Support IOSurface on iOS only if IPHONEOS_DEPLOYMENT_TARGET is at least iOS 11.0.
2018-07-12 23:31:26 -04:00
Bill Hollings
86bb51554b Support IOSurface on iOS only if IPHONEOS_DEPLOYMENT_TARGET is at least iOS 11.0.
On iOS, only compile IOSurface support, and link IOSurface framework to
libMoltenVK.dylib, if IPHONEOS_DEPLOYMENT_TARGET is at least iOS 11.0.
Update to latest version of SPIRV-Cross.
Update MoltenVK version to 1.0.15.
2018-07-12 18:26:54 -04:00
Bill Hollings
166de13325
Merge pull request #195 from karl-lunarg/karl-userguide
docs:  Improve layer limitations description
2018-07-09 17:01:38 -04:00
Bill Hollings
348c041ef0
Merge pull request #194 from natbro/master
Removes references to IOSurface framework on IOS
2018-07-09 17:01:24 -04:00
Karl Schultz
d2a5c02f03 docs: Improve layer limitations description 2018-07-09 08:09:48 -06:00
Nat Brown
4ef6a0f8c9 Removes references to IOSurface framework on IOS and markes the IOSurface features as unavailable. A better solution would be to not support IOSurface features prior to iOS 11.0 when the framework became partially public, but this is a good initial solution. 2018-07-09 06:26:11 -07:00
Bill Hollings
4dbe302023
Merge pull request #191 from billhollings/master
Fix compute shader workgroup size specialization and correct some settings.
2018-07-04 17:58:35 -04:00
Bill Hollings
6950102404 Set correct value for VkPhysicalDeviceLimits::maxPerStageDescriptorInputAttachments. 2018-07-04 12:48:47 -04:00
Bill Hollings
e203b93285 Fix compute shader workgroup size specialization.
Support separate specialization for each workgroup dimension.
Support zero as a specialization ID value.
Cleanup MoltenVKShaderConverterTool.
Update to latest SPIRV-Cross version.
Update MoltenVK version to 1.0.14.
2018-07-03 13:57:53 -04:00
Bill Hollings
5280e9515a vkGetPhysicalDeviceImageFormatProperties() indicate 1D texture limitations. 2018-06-28 17:46:14 -04:00
Bill Hollings
5943aae1ea
Merge pull request #187 from billhollings/master
Support larger VkBufferViews by using 2D Metal textures.
2018-06-28 14:30:27 -04:00
Bill Hollings
42d42721bd Improve crispness of visuals on macOS Retina displays.
Set CAMetalLayer magnificationFilter property to Nearest by default.
Add MVKDeviceConfiguration::swapchainMagFilterUseNearest member to allow overrides.
2018-06-28 14:07:58 -04:00
Bill Hollings
e959b9d9a6 Support larger VkBufferViews by using 2D Metal textures.
Map 1D buffer view contents to 2D Metal texture.
Add MVKPhysicalDeviceMetalFeatures::maxTextureDimension element.
Set VkPhysicalDeviceLimits::maxTexelBufferElements to maxTextureDimension ^ 2.
Shaders accessing buffer view use special function to map 1D buffer view coordinates
to 2D Metal texture coordinates.
Pass maxTextureDimension to shader.
Update to latest SPIRV-Cross version for appropriate shaders.
Update MoltenVK version to 1.0.13.
2018-06-27 18:03:30 -04:00