3118 Commits

Author SHA1 Message Date
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
Bill Hollings
699839b970
Merge pull request #186 from billhollings/master
Swapchain return VK_ERROR_OUT_OF_DATE_KHR when window resized.
2018-06-23 23:39:46 -04:00
Bill Hollings
d34c790bea Swapchain return VK_ERROR_OUT_OF_DATE_KHR when window resized. 2018-06-23 15:53:16 -04:00
Bill Hollings
d58fd7e101
Merge pull request #185 from jeremyk-lunarg/jeremyk_MVK_addFetchDependencyOptions
fetchDeps: Add flags for pre-built repos
2018-06-22 15:10:06 -04:00
Jeremy Kniager
cbb9886723 fetchDeps: Add flags for pre-built repos
Add --v-headers-root, --spirv-cross-root,
and --glslang-root options with an arg that allow
caller to pass in the root dir of these three
repos if the caller already has them.  The script
then symlinks to these instead of fetching and building.
2018-06-21 15:42:52 -06:00
Bill Hollings
c7b2304816
Merge pull request #181 from billhollings/master
Multiple fixes and update to Vulkan SDK 1.1.77.
2018-06-16 19:20:18 -04:00
Bill Hollings
394cdd4ebb Fix texture file copy in Cube Demo. 2018-06-16 16:39:51 -04:00
Bill Hollings
10a023debe Update to latest library dependencies to match Vulkan SDK 1.1.77.
Update MoltenVK version to 1.0.12.
2018-06-15 15:14:59 -04:00
Bill Hollings
e90480ea99 vkCmdClearImage() fixes to clearing depth and stencil formats and avoid Metal validation errors. 2018-06-15 14:25:52 -04:00
Bill Hollings
9ae35d73c4 Update Xcode version checks to Xcode 9.4. 2018-06-14 12:46:41 -04:00
Bill Hollings
1b9946c15d vkCmdBlitImage() remove broken support for depth/stencil scaling. 2018-06-13 15:55:33 -04:00
Bill Hollings
84ffa1844e vkCmdBlitImage() support texture arrays as source and destination targets. 2018-06-13 13:36:08 -04:00
Bill Hollings
595470c747 Merge branch 'master' of https://github.com/KhronosGroup/MoltenVK 2018-06-12 13:34:26 -04:00
Bill Hollings
2a3af2089c
Merge pull request #179 from danginsburg/mgpu_headless_sorting
Change the sorting for Metal devices in the list of physicalDevices t…
2018-06-12 13:32:54 -04:00
Bill Hollings
4723911450
Merge pull request #178 from danginsburg/vsync_fix
Fix Dota 2 bug with vsync toggling not working (https://github.com/Va…
2018-06-12 13:30:30 -04:00
Bill Hollings
c1616f96d3 Fix slice index when rendering to cube maps. 2018-06-12 13:27:40 -04:00
Dan Ginsburg
30751d4bde Change the sorting for Metal devices in the list of physicalDevices to be sorted also by whether they are headless. What was happening is that on a dual FirePro D500 system sometimes the headless GPU would be returned first. When that happened, Dota 2 would select that GPU and then fail to start because the queue did not support presentation. 2018-06-12 09:20:44 -04:00
Dan Ginsburg
b808d59743 Fix Dota 2 bug with vsync toggling not working (https://github.com/ValveSoftware/Dota-2-Vulkan/issues/257). Vsync would be disabled on first swapchain creation, but not re-enabled if swapchain mode switched from IMMEDIATE -> FIFO or back from FIFO -> IMMEDIATE. 2018-06-12 09:00:12 -04:00
Bill Hollings
85dae9e978 Merge branch 'master' of https://github.com/KhronosGroup/MoltenVK 2018-06-12 08:59:51 -04:00
Bill Hollings
335b8b9653
Merge pull request #177 from danginsburg/mojave_spvcross_fix
Update to latest SPIRV-Cross to fix MSL compilation failures on macOS…
2018-06-12 08:58:29 -04:00
danginsburg
f5a3b9072f Update to latest SPIRV-Cross to fix MSL compilation failures on macOS 10.14 Mojave Beta (KhronosGroup/SPIRV-Cross#603). Fixes Dota 2 on Mojave.
Also update MoltenVK to 1.0.11 so that VkPipelineCache UUID changes and shaders get regenerated by applications.
2018-06-12 08:24:56 -04:00
Bill Hollings
96d680a4e0 Avoid fragment shader tracking interacting with vertex attributes.
Restrict allowed linear tiling features for pixel formats.
Fix bad logic when testing allowed linear tiling usage.
Update MoltenVK to 1.0.11.
2018-06-06 21:14:09 -04:00
Bill Hollings
67f659c064 Fix copying 4-byte 32-bit depth/stencil formats between buffers and textures. 2018-06-05 17:24:05 -04:00
Bill Hollings
8d9ee9b518
Merge pull request #173 from billhollings/master
Device memory management changes.
2018-06-05 11:30:34 -04:00
Bill Hollings
c2324a574f Avoid Metal validation error on MTLBuffer.contents access from private storage. 2018-06-04 20:04:33 -04:00
Bill Hollings
0c854c508d Support using Metal texel buffer for linear images to increase host coherency.
MVKDeviceMemory track MVKImages and MVKBuffers separately.
Per Vulkan spec, restrict linear images to 2D, non-array, single mipmap.
Use texel buffer if possible for texture on coherent device memory.
Only flush MVKImages (not MVKBuffers) when device memory mapped.
Do not flush texel buffer images.
2018-06-04 19:15:32 -04:00
Bill Hollings
7693ebe313 Merge branch 'master' of https://github.com/KhronosGroup/MoltenVK 2018-06-01 12:49:16 -04:00
Bill Hollings
8aa29c49c3
Merge pull request #171 from danginsburg/vsync_fix
Fix vsync not being enabled in IMMEDIATE present mode. MVK_MACOS was …
2018-06-01 12:48:35 -04:00
Dan Ginsburg
5ce2fc82ff Fix vsync not being enabled in IMMEDIATE present mode. MVK_MACOS was not being defined. 2018-06-01 10:23:27 -04:00
Bill Hollings
958f56fb85 Support mapping and filling device memory before binding an image to it.
MVKDeviceMemory uses a single memory allocation, which may be an MTLBuffer or host memory.
Image populates MTLTexture when bound to host accessible device memory.
Update MoltenVK version to 1.0.10.
2018-05-30 21:21:18 -04:00
Bill Hollings
43130ab27a
Merge pull request #169 from billhollings/master
Replace dependency on Vulkan-LoaderAndValidationLayers with Vulkan-Headers and Vulkan-Tools.
2018-05-28 10:54:17 -04:00
Bill Hollings
8654923cb2 Fix PR merge conflict. 2018-05-28 10:16:22 -04:00
Bill Hollings
585bfd7e02
Merge pull request #167 from hanton/fix_document_typos
Fix several document typos.
2018-05-28 10:10:31 -04:00
Bill Hollings
b1b26e644f Fix glslang install. 2018-05-28 09:43:11 -04:00