1563 Commits

Author SHA1 Message Date
Aman Gupta
043f51c5a2 missing tvos features 2020-06-23 19:56:20 -07:00
Aman Gupta
e8db4f2af7 fix maxComputeSharedMemorySize for tvos 2020-06-23 19:25:51 -07:00
Aman Gupta
e03df97f66 ensure more tvos properties are set 2020-06-23 18:33:42 -07:00
Aman Gupta
1b88d4afff fill in some missing properties 2020-06-23 18:15:22 -07:00
Aman Gupta
6fdf7e32fe forgot a shared scheme 2020-06-23 13:35:30 -07:00
Bill Hollings
da981be45b
Merge pull request #932 from Lichtso/VkPhysicalDeviceSubgroupProperties
Adds VkPhysicalDeviceSubgroupProperties.
2020-06-23 14:06:10 -04:00
Bill Hollings
8b3d3a7338
Merge pull request #930 from js6i/master
Host-coherent texel buffers
2020-06-22 15:56:44 -04:00
Alexander Meißner
56beffd770 Fixes supportedStages and limits subgroupSize to be only set on supported platforms / versions. 2020-06-22 21:54:27 +02:00
Jan Sikorski
6b5217e720 Protect creation of buffers with a mutex 2020-06-22 18:38:12 +02:00
Jan Sikorski
d0059a2bdf Do host-coherent texel buffer caching just for buffer views 2020-06-22 18:35:50 +02:00
Bill Hollings
2ec530feed
Merge pull request #931 from cdavis5e/frag-input-components
MVKPipeline: Fix fragment inputs to have as many components as vertex outputs.
2020-06-22 10:05:49 -04:00
Alexander Meißner
60af232d4f Adds VkPhysicalDeviceSubgroupProperties.
This comes with a fixed subgroupSize per physical device until VK_EXT_subgroup_size_control is implemented.
2020-06-21 10:17:38 +02:00
Chip Davis
d14d4e918d MVKPipeline: Fix fragment inputs to have as many components as vertex outputs.
Metal is picky about interface matching. If the types of a vertex output
and its corresponding fragment input don't match, down to the number of
vector components, it fails pipeline compilation. To support cases where
the number of components in the fragment input is less than the
corresponding vertex output, we need to fix up the fragment shader to
accept the extra components.
2020-06-19 14:20:29 -05:00
Jan Sikorski
5eea556bf8 Check for overlap with device memory range when flushing MVKBuffer 2020-06-19 19:37:54 +02:00
Bill Hollings
2dd34de8ee
Merge pull request #912 from tmm1/tvos
tvOS support
2020-06-19 09:39:29 -04:00
Aman Gupta
b8fb92a9e3 oops forgot this return 2020-06-18 16:36:45 -07:00
Aman Gupta
e952660afb these were introduced with Metal 2.0 (tvOS 11) 2020-06-17 18:36:48 -07:00
Aman Gupta
1b08aee36e ensure devID is for A10X 2020-06-17 17:25:20 -07:00
Aman Gupta
bdff52283d remove !MVK_TVOS usage 2020-06-17 17:14:31 -07:00
Aman Gupta
e847fb38e9 fix some missing return warnings 2020-06-17 14:46:06 -07:00
Aman Gupta
639d9182ac assume tvos v1 shipped with these vertex things 2020-06-17 11:05:27 -07:00
Aman Gupta
800d8b4133 audit tvos pixel formats against metal-feature-set-tables.pdf 2020-06-17 10:56:41 -07:00
Aman Gupta
c59c137a3c populate devID for tvOS 2020-06-17 10:42:08 -07:00
Aman Gupta
7392e23db2 unncessary change in the diff 2020-06-17 10:30:41 -07:00
Aman Gupta
073222f8ab proper fix for pixel formats on tvos 2020-06-17 10:28:49 -07:00
Aman Gupta
60d3b3377b fix tvOS compat by using selectors instead of property syntax 2020-06-17 10:25:10 -07:00
Aman Gupta
5bf4d08d15 oops, bad merge here 2020-06-17 10:23:45 -07:00
Aman Gupta
766bed17e6 xcode updates 2020-06-17 10:15:34 -07:00
Aman Gupta
ec82fa46aa this is not supported 2020-06-17 10:15:23 -07:00
Aman Gupta
ded0d173f6 set MTL language versions correctly 2020-06-17 10:15:14 -07:00
Aman Gupta
64ec56b41c reuse iOS framework template for tvOS 2020-06-17 10:06:34 -07:00
Aman Gupta
a0e357fab5 Merge remote-tracking branch 'upstream/master' into tvos 2020-06-17 10:05:40 -07:00
Bill Hollings
ae5282f38c
Merge pull request #928 from billhollings/master
Inline MVKVulkanAPIObject::retain()/release() calls.
2020-06-16 15:43:31 -04:00
Bill Hollings
9956b722de
Merge pull request #927 from cdavis5e/robustness2
Advertise the VK_EXT_robustness2 extension.
2020-06-16 15:13:25 -04:00
Bill Hollings
6cede2b776 Inline MVKVulkanAPIObject::retain()/release() calls.
This improves performance of these calls by 30%.
2020-06-16 14:53:14 -04:00
Chip Davis
75da0c694b Advertise the VK_EXT_robustness2 extension.
We only support the `robustImageAccess2` feature for now. Metal's
guarantees around out-of-bounds accesses to textures give us this for
free. `nullDescriptor` should also be possible to implement, but it
needs testing. Null image descriptors will probably just work, but null
buffer pointers probably not. We may need help, either from SPIRV-Cross
or a pass in SPIRV-Tools. `robustBufferAccess2` definitely needs an
assist from SPIRV-Tools. All three are useful for Direct3D compatibility
layers (DXVK, wined3d).
2020-06-16 12:06:38 -05:00
Bill Hollings
3505d5899d
Merge pull request #926 from billhollings/master
Fix issue where mapped host-coherent device memory not updated from image contents on macOS.
2020-06-16 11:39:27 -04:00
Bill Hollings
821dbd1240
Merge pull request #922 from Lichtso/VK_EXT_inline_uniform_block
Fixes 4 bugs in VK_EXT_inline_uniform_block
2020-06-16 11:38:25 -04:00
Bill Hollings
205b859580 Fix issue where mapped host-coherent device memory not updated from image contents on macOS.
Currently, when a mapping is initiated for host-coherent device memory, existing
image contents are copied from the MTLTexture to host memory. However, if
host-coherent device memory is already mapped in a long-standing memory mapping,
changes to MTLTexture content are not reflected to the host memory.

This change adds that capability to open memory mappings. When the image pipeline
barrier is applied to an image that is attached to a host-coherent device memory
that currently has an open memory mapping, the MTLTexture contents are copied to
the open host memory binding.

Add MVKMappedMemoryRange to retrieve the currently mapped range in an MVKDeviceMemory.

MVKImage cleanup use of isHostCoherent(). Let it be same as MVKDeviceMemory
and don't test for it from macOS because it is unnecessary.
2020-06-15 22:18:53 -04:00
Aman Gupta
d8adfa6989 ensure metal devices are seen on tvos 2020-06-15 18:33:23 -07:00
Aman Gupta
f8133bfb84 missing tvOS symlinks 2020-06-15 17:55:57 -07:00
Aman Gupta
1cb99b1b3f fill in tvOS details from Metal-Feature-Set-Tables.pdf 2020-06-15 17:46:00 -07:00
Aman Gupta
ef08f0d9fb fix some warnings 2020-06-15 17:05:07 -07:00
Aman Gupta
7d1b1e7e8e fix build 2020-06-15 16:49:51 -07:00
Aman Gupta
8c7b6771bc oops 2020-06-15 16:47:53 -07:00
Aman Gupta
ad61c70427 define initGPUInfoProperties stub 2020-06-15 16:47:20 -07:00
Aman Gupta
b13dd86350 forgot an ios reference 2020-06-15 16:45:27 -07:00
Aman Gupta
50e8d9cae5 more conditionals 2020-06-15 16:44:56 -07:00
Aman Gupta
9694169da6 split out MVK_IOS_OR_TVOS 2020-06-15 16:36:05 -07:00
Aman Gupta
b250212c6f add MVK_TVOS and start conditionalizing build failures 2020-06-15 16:21:13 -07:00