1463 Commits

Author SHA1 Message Date
Bill Hollings
4a5bf6953c Update fetchDependencies script to use pre-built spirv-tools files by default. 2020-06-02 13:30:52 -04:00
Bill Hollings
fe1e5c52d0
Merge pull request #902 from EwoutH/patch-2
Travis CI: Update to Xcode 11.5
2020-06-02 12:34:13 -04:00
Ewout ter Hoeven
11e99ffd18
Travis CI: Update to Xcode 11.5
from Xcode 11.3. Also updates macOS version from 10.14.6 to 10.15.4 and JDK from 14.0.0 to 14.0.1
2020-06-02 17:40:21 +02:00
Bill Hollings
81b61f90d6
Merge pull request #901 from billhollings/master
Update dependency libraries to match Vulkan SDK 1.2.141.
2020-06-02 10:24:17 -04:00
Bill Hollings
1bdaac6f13
Merge pull request #900 from Michael-Lfx/master
Fix typo.
2020-06-02 08:58:08 -04:00
Jfeng Lai
f524be17f9
Fix typo. 2020-06-02 11:47:11 +08:00
Bill Hollings
8d7468effb Update maximum number of framebuffer layers to 2048. 2020-06-01 23:41:36 -04:00
Bill Hollings
4840c97e94 Update dependency libraries to match Vulkan SDK 1.2.141. 2020-06-01 17:35:31 -04:00
Bill Hollings
806482f786
Merge pull request #898 from js6i/master
Check for stencil only image view in identity swizzle case
2020-06-01 14:31:33 -04:00
Jan Sikorski
75856bbb6c Set buffer binding size accordingly 2020-06-01 17:05:47 +02:00
Jan Sikorski
333c75a760 Check for stencil only image view in identity swizzle case 2020-06-01 16:36:22 +02:00
Bill Hollings
d0ff200565
Merge pull request #897 from Michael-Lfx/master
Fix typo.
2020-06-01 09:15:56 -04:00
Jfeng Lai
d16b3d55e1
Fix typo. 2020-06-01 11:00:36 +08:00
Bill Hollings
8392cafada
Merge pull request #896 from billhollings/master
Support vertex attribute offsets larger than the vertex buffer stride.
2020-05-31 22:16:23 -04:00
Bill Hollings
1ef26259a7 Remove checking translated vertex bindings on inline buffers. 2020-05-31 21:38:05 -04:00
Bill Hollings
8671295570 Support vertex attribute offsets larger than the vertex buffer stride.
Add MVKTranslatedVertexBinding to describe a translated vertex binding, track these in
MVKGraphicsPipeline, and add a Metal vertex layout for each additional translated binding.
MVKGraphicsResourcesCommandEncoderState query MVKGraphicsPipeline for translated bindings
associated with existing bindings and binds the same MTLBuffer multiple times with
different offsets.
2020-05-31 14:16:12 -04:00
Bill Hollings
e302a6d023 Update to latest version of SPIRV-Cross.
Remove use of obsolete SPIRV-Cross API MSLVertexAttr content.
ExternalDependencies.xcodeproj updated to Xcode 11.5.
Update What's New document.
2020-05-30 16:07:47 -04:00
Bill Hollings
1ec032e5a3
Merge pull request #895 from billhollings/master
vkGetPhysicalDeviceFormatProperties() remove log message for unsupported format when retrieving properties.
2020-05-30 12:00:53 -04:00
Bill Hollings
08f069d103
Merge pull request #894 from Michael-Lfx/master
Fix typo
2020-05-30 10:37:28 -04:00
Bill Hollings
7318d40f3f
Merge pull request #893 from OliverBalfour/patch-1
Fix markdown link syntax in MoltenVK_Runtime_UserGuide.md
2020-05-30 10:37:11 -04:00
Michael(LAI)
6cb3307224
Fix typo 2020-05-30 16:53:53 +08:00
OliverBalfour
b11992d4a0
Fix markdown link in MoltenVK_Runtime_UserGuide.md
The link contains a space between the right square bracket and subsequent left round bracket causing the link to display incorrectly in GitHub's markdown reader.
2020-05-30 15:45:29 +10:00
Bill Hollings
d2f0221f45 vkGetPhysicalDeviceFormatProperties() remove log message for unsupported format. 2020-05-29 18:34:48 -04:00
Bill Hollings
9752525f20
Merge pull request #892 from Michael-Lfx/master
Fix typo.
2020-05-29 08:26:29 -04:00
Michael(LAI)
dc672be179
Fix typo. 2020-05-29 18:16:51 +08:00
Bill Hollings
064a45b6a0
Merge pull request #891 from billhollings/master
Ensure vkGetPhysicalDeviceFormatProperties() are zerod for unsupported VkFormats.
2020-05-28 12:25:04 -04:00
Bill Hollings
12cc82d5a7 Ensure vkGetPhysicalDeviceFormatProperties() are zerod for unsupported VkFormats.
Support MTLPixelFormats with larger values.
MVKPixelFormats::getVkFormatProperties() return
reference and log error if unsupported VkFormat.
Remove tests for null format name strings.
Consolidate MVKPhysicalDevice::getFormatProperties() overloads.
2020-05-28 10:43:29 -04:00
Bill Hollings
2678c95d9f
Merge pull request #890 from Michael-Lfx/master
Fix typo
2020-05-27 23:13:47 -04:00
Michael(LAI)
0ff84cbd33
Fix typo 2020-05-28 10:33:16 +08:00
Bill Hollings
d5ae19e34b
Merge pull request #889 from billhollings/master
Fix crash when more than two GPUs.
2020-05-27 21:58:58 -04:00
Bill Hollings
ea7303e8e6 Fix crash when more than two GPUs.
Crash happened because MVKPhysicalDevices created inline in MVKSmallVector<, 2>
using emplace_back(). Crash occurred when attempting to reallocate memory in
MVKSmallVector, and move inline MVKPhysicalDevice instances. Revert to tracking
MVKPhysicalDevice as pointers, which are easy to move after memory reallocation.

Review and optimize all uses of MVKSmallVector::emplace_back().
Set VkPhysicalDeviceLimits::maxSamplerLodBias to zero since it's unsupported.
Return error and use VK_POLYGON_MODE_LINE for unsupported VK_POLYGON_MODE_POINT.
2020-05-27 21:22:25 -04:00
Bill Hollings
3181f99928
Merge pull request #886 from Michael-Lfx/Michael-Lfx-patch-1
Runtime check maximumFramesPerSecond
2020-05-27 14:40:45 -04:00
Michael(LAI)
2fec79c9a0
Runtime check maximumFramesPerSecond 2020-05-27 11:34:04 +08:00
Bill Hollings
59879144f5
Merge pull request #885 from Michael-Lfx/patch3
Fix typo.
2020-05-26 12:01:07 -04:00
Bill Hollings
d394651e47
Merge pull request #884 from Michael-Lfx/patch2
Fix typo.
2020-05-26 12:00:50 -04:00
Bill Hollings
2ce44a5e3d
Merge pull request #883 from Michael-Lfx/master
Fix typo.
2020-05-26 12:00:29 -04:00
michael
a33f6ea55c Fix typo. 2020-05-26 21:05:17 +08:00
michael
7448fe5b60 Fix typo. 2020-05-26 19:20:21 +08:00
Michael(LAI)
7523dc77a0
Fix typo. 2020-05-26 16:38:57 +08:00
Bill Hollings
e2ef10b977
Merge pull request #882 from billhollings/master
Add MVKSmallVector as a more memory efficient substitute of MVKVector, and use throughout MoltenVK.
2020-05-25 12:15:31 -04:00
Bill Hollings
a859a0624a Merge from upstream. 2020-05-25 10:18:11 -04:00
Bill Hollings
12d1a778f9 Optimize MVKQueueCommandBufferSubmission command buffer vector pre-allocation.
Add MVKQueueFullCommandBufferSubmission template class of to support MVKSmallVector
allocations of varying size based on command buffer count and keep allocs on the stack.
MVKQueueCommandBufferSubmission optimize wait and signal vector preallocations.
Clean up vector preallocation in MVKDescriptorSet and MVKDescriptorTypePreallocation.
2020-05-25 10:03:11 -04:00
Bill Hollings
9de94149ac MVKSmallVector maximize pre-allocation elements count to fill any space created by
the alignment of MVKSmallVector itself, to maximize the use of the preallocated memory.
2020-05-24 12:43:03 -04:00
Bill Hollings
c5075595cf Replace use of std::vector with MVKSmallVector in descriptor sets. 2020-05-23 19:10:23 -04:00
Bill Hollings
0e92b3277c Use of MVKSmallVector between MVKPipeline and SPIRVReflection.
Make SPIRVReflection global functions inline and templated.
Remove SPIRVReflection.cpp.
Allow MVKSmallVector to be sorted by supporting
random access from MVKSmallVector::iterator.
2020-05-23 17:13:28 -04:00
Bill Hollings
3bbef9b3e3 Replace use of MVKVector with MVKSmallVector in remaining MoltenVK code.
Fix rare build issues with mvk_smallvector_allocator,
in move constructor, and use of MAX() macro.
2020-05-23 14:21:21 -04:00
Bill Hollings
0989d2221e Replace use of MVKVector with MVKSmallVector in MVKCommandEncoder. 2020-05-22 21:28:10 -04:00
Bill Hollings
3fccb5ad6e Consolidate tracking of resource bindings in MVKResourcesCommandEncoderState subclasses.
Redefine MVKGraphicsResourcesCommandEncoderState::ShaderStage
as MVKResourcesCommandEncoderState::ResourceBindings.
Add ResourceBindings::reset() function.
MVKComputeResourcesCommandEncoderState replace discrete member variables
with a single ResourceBindings member variable.
Rename MVKGraphicsResourcesCommandEncoderState::_shaderStage
member variable to _shaderStageResourceBindings.
In stage iterations, replace < kMVKShaderStageCompute with <= kMVKShaderStageFragment.
2020-05-22 19:47:17 -04:00
Bill Hollings
9685f5d00a Support Xcode 11.5. 2020-05-22 18:48:29 -04:00
Bill Hollings
a6deef8df9 Use MVKSmallVector in command encoder states.
MVKResourcesCommandEncoderState functions use MVKArrayRef to pass fixed content,
and template functions to pass various dynamic vector types.
2020-05-22 18:39:43 -04:00