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
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