|
748 | 748 | }
|
749 | 749 |
|
750 | 750 | #if MVK_XCODE_15
|
751 |
| - if (supportAtomics && (mtlFormat == MTLPixelFormatR32Uint || mtlFormat == MTLPixelFormatR32Sint || mtlFormat == MTLPixelFormatRG32Uint)) { |
| 751 | + if (supportAtomics && (mtlFormat == MTLPixelFormatR32Uint || mtlFormat == MTLPixelFormatR32Sint)) { |
752 | 752 | mvkEnableFlags(mtlUsage, MTLTextureUsageShaderAtomic);
|
753 | 753 | }
|
754 | 754 | #endif
|
|
1497 | 1497 | // Modifies the format capability tables based on the capabilities of the specific MTLDevice
|
1498 | 1498 | void MVKPixelFormats::modifyMTLFormatCapabilities(const MVKMTLDeviceCapabilities& gpuCaps) {
|
1499 | 1499 |
|
1500 |
| - bool noVulkanSupport = false; // Indicated supported in Metal but not Vulkan or SPIR-V. |
1501 | 1500 | bool notMac = gpuCaps.isAppleGPU && !gpuCaps.supportsMac1;
|
1502 | 1501 | bool iosOnly1 = notMac && !gpuCaps.supportsApple2;
|
1503 | 1502 | bool iosOnly2 = notMac && !gpuCaps.supportsApple3;
|
|
1538 | 1537 | setMTLPixFmtCapsIf( iosOnly6, RG32Uint, RWC );
|
1539 | 1538 | setMTLPixFmtCapsIf( iosOnly6, RG32Sint, RWC );
|
1540 | 1539 |
|
1541 |
| - // Metal supports reading both R&G into as one 64-bit atomic operation, but Vulkan and SPIR-V do not. |
1542 |
| - // Including this here so we remember to update this if support is added to Vulkan in the future. |
1543 |
| - bool atomic64 = noVulkanSupport && (gpuCaps.supportsApple9 || (gpuCaps.supportsApple8 && gpuCaps.supportsMac2)); |
1544 |
| - enableMTLPixFmtCapsIf( atomic64, RG32Uint, Atomic ); |
1545 |
| - enableMTLPixFmtCapsIf( atomic64, RG32Sint, Atomic ); |
1546 |
| - |
1547 | 1540 | setMTLPixFmtCapsIf( iosOnly8, RG32Float, RWCMB );
|
1548 | 1541 | setMTLPixFmtCapsIf( iosOnly6, RG32Float, RWCB );
|
1549 | 1542 |
|
|
0 commit comments