From ba7001c30cd458d2196c0bdabf5caa52681016fc Mon Sep 17 00:00:00 2001 From: Tolmachev Dmitrii Date: Thu, 6 Oct 2022 23:52:23 +0200 Subject: [PATCH] Metal support in VkFFT -This update adds Apple Metal backend in VkFFT (VKFFT_BACKEND 5) -Metal backend has similar performance compared to other backends (tested on M1 Pro 8c SoC) -Metal backend passes all VkFFT tests OpenCL passes (tested on M1 Pro 8c SoC) -Current limitations of the Metal backend: no double precision, no saving/loading binaries, forced 256 max threads, C++ bindings only, incomplete error handling. -Bugfixes: Rader uint LUT offset not working in some cases, Mult Rader coalescing with <1024 threads, DCT-III reordering index issues with OpenCL on Intel/Apple GPUs. -Slightly improved coalescing logic for Nvidia GPUs -Added precision plots --- CMakeLists.txt | 10 +- README.md | 31 +- Vulkan_FFT.cpp | 371 +-- .../cuFFT_scripts/src/user_benchmark_cuFFT.cu | 25 +- .../src/user_benchmark_rocFFT.cpp | 28 +- .../vkFFT_scripts/include/utils_VkFFT.h | 9 +- .../src/sample_0_benchmark_VkFFT_single.cpp | 58 +- .../src/sample_1000_VkFFT_single_2_4096.cpp | 55 +- ...ple_1001_benchmark_VkFFT_double_2_4096.cpp | 55 +- ...e_1003_benchmark_VkFFT_single_3d_2_512.cpp | 55 +- ...mple_100_benchmark_VkFFT_single_nd_dct.cpp | 57 +- ...mple_101_benchmark_VkFFT_double_nd_dct.cpp | 57 +- ...benchmark_VkFFT_single_multipleBuffers.cpp | 15 +- .../src/sample_11_precision_VkFFT_single.cpp | 81 +- .../src/sample_12_precision_VkFFT_double.cpp | 81 +- .../src/sample_13_precision_VkFFT_half.cpp | 81 +- ...mple_14_precision_VkFFT_single_nonPow2.cpp | 81 +- .../sample_15_precision_VkFFT_single_r2c.cpp | 91 +- .../sample_16_precision_VkFFT_single_dct.cpp | 81 +- .../sample_17_precision_VkFFT_double_dct.cpp | 102 +- ...mple_18_precision_VkFFT_double_nonPow2.cpp | 81 +- .../src/sample_1_benchmark_VkFFT_double.cpp | 55 +- .../src/sample_2_benchmark_VkFFT_half.cpp | 55 +- .../sample_3_benchmark_VkFFT_single_3d.cpp | 55 +- ..._benchmark_VkFFT_single_3d_zeropadding.cpp | 55 +- ..._50_convolution_VkFFT_single_1d_matrix.cpp | 97 +- ...VkFFT_single_3d_matrix_zeropadding_r2c.cpp | 98 +- ...onvolution_VkFFT_single_2d_batched_r2c.cpp | 104 +- ...rk_VkFFT_single_disableReorderFourStep.cpp | 55 +- .../sample_6_benchmark_VkFFT_single_r2c.cpp | 55 +- ...ple_7_benchmark_VkFFT_single_Bluestein.cpp | 55 +- ...ple_8_benchmark_VkFFT_double_Bluestein.cpp | 55 +- .../src/user_benchmark_VkFFT.cpp | 56 +- .../vkFFT_scripts/src/utils_VkFFT.cpp | 241 +- documentation/VkFFT_API_guide.lyx | 297 ++- documentation/VkFFT_API_guide.pdf | Bin 362785 -> 367035 bytes documentation/VkFFT_API_guide.tex | 119 +- metal-cpp/Foundation/Foundation.hpp | 45 + metal-cpp/Foundation/NSArray.hpp | 115 + metal-cpp/Foundation/NSAutoreleasePool.hpp | 83 + metal-cpp/Foundation/NSBundle.hpp | 374 +++ metal-cpp/Foundation/NSData.hpp | 54 + metal-cpp/Foundation/NSDate.hpp | 40 + metal-cpp/Foundation/NSDefines.hpp | 41 + metal-cpp/Foundation/NSDictionary.hpp | 128 ++ metal-cpp/Foundation/NSEnumerator.hpp | 78 + metal-cpp/Foundation/NSError.hpp | 173 ++ metal-cpp/Foundation/NSLock.hpp | 105 + metal-cpp/Foundation/NSNotification.hpp | 67 + metal-cpp/Foundation/NSNumber.hpp | 501 ++++ metal-cpp/Foundation/NSObjCRuntime.hpp | 43 + metal-cpp/Foundation/NSObject.hpp | 297 +++ metal-cpp/Foundation/NSPrivate.hpp | 488 ++++ metal-cpp/Foundation/NSProcessInfo.hpp | 354 +++ metal-cpp/Foundation/NSRange.hpp | 83 + metal-cpp/Foundation/NSString.hpp | 245 ++ metal-cpp/Foundation/NSTypes.hpp | 51 + metal-cpp/Foundation/NSURL.hpp | 90 + metal-cpp/LICENSE.txt | 202 ++ metal-cpp/Metal/MTLAccelerationStructure.hpp | 932 ++++++++ ...MTLAccelerationStructureCommandEncoder.hpp | 144 ++ .../Metal/MTLAccelerationStructureTypes.hpp | 169 ++ metal-cpp/Metal/MTLArgument.hpp | 655 ++++++ metal-cpp/Metal/MTLArgumentEncoder.hpp | 250 ++ metal-cpp/Metal/MTLBinaryArchive.hpp | 138 ++ metal-cpp/Metal/MTLBlitCommandEncoder.hpp | 246 ++ metal-cpp/Metal/MTLBlitPass.hpp | 165 ++ metal-cpp/Metal/MTLBuffer.hpp | 101 + metal-cpp/Metal/MTLCaptureManager.hpp | 220 ++ metal-cpp/Metal/MTLCaptureScope.hpp | 92 + metal-cpp/Metal/MTLCommandBuffer.hpp | 465 ++++ metal-cpp/Metal/MTLCommandEncoder.hpp | 101 + metal-cpp/Metal/MTLCommandQueue.hpp | 89 + metal-cpp/Metal/MTLComputeCommandEncoder.hpp | 337 +++ metal-cpp/Metal/MTLComputePass.hpp | 181 ++ metal-cpp/Metal/MTLComputePipeline.hpp | 357 +++ metal-cpp/Metal/MTLCounters.hpp | 258 +++ metal-cpp/Metal/MTLDefines.hpp | 41 + metal-cpp/Metal/MTLDepthStencil.hpp | 269 +++ metal-cpp/Metal/MTLDevice.hpp | 1254 ++++++++++ metal-cpp/Metal/MTLDrawable.hpp | 99 + metal-cpp/Metal/MTLDynamicLibrary.hpp | 82 + metal-cpp/Metal/MTLEvent.hpp | 163 ++ metal-cpp/Metal/MTLFence.hpp | 57 + metal-cpp/Metal/MTLFunctionConstantValues.hpp | 85 + metal-cpp/Metal/MTLFunctionDescriptor.hpp | 156 ++ metal-cpp/Metal/MTLFunctionHandle.hpp | 61 + metal-cpp/Metal/MTLFunctionLog.hpp | 114 + metal-cpp/Metal/MTLFunctionStitching.hpp | 305 +++ metal-cpp/Metal/MTLHeaderBridge.hpp | 2047 +++++++++++++++++ metal-cpp/Metal/MTLHeap.hpp | 282 +++ metal-cpp/Metal/MTLIndirectCommandBuffer.hpp | 189 ++ metal-cpp/Metal/MTLIndirectCommandEncoder.hpp | 187 ++ .../Metal/MTLIntersectionFunctionTable.hpp | 157 ++ metal-cpp/Metal/MTLLibrary.hpp | 621 +++++ metal-cpp/Metal/MTLLinkedFunctions.hpp | 115 + .../Metal/MTLParallelRenderCommandEncoder.hpp | 94 + metal-cpp/Metal/MTLPipeline.hpp | 109 + metal-cpp/Metal/MTLPixelFormat.hpp | 173 ++ metal-cpp/Metal/MTLPrivate.hpp | 135 ++ metal-cpp/Metal/MTLRasterizationRate.hpp | 386 ++++ metal-cpp/Metal/MTLRenderCommandEncoder.hpp | 958 ++++++++ metal-cpp/Metal/MTLRenderPass.hpp | 786 +++++++ metal-cpp/Metal/MTLRenderPipeline.hpp | 1212 ++++++++++ metal-cpp/Metal/MTLResource.hpp | 178 ++ .../Metal/MTLResourceStateCommandEncoder.hpp | 94 + metal-cpp/Metal/MTLResourceStatePass.hpp | 165 ++ metal-cpp/Metal/MTLSampler.hpp | 310 +++ .../Metal/MTLStageInputOutputDescriptor.hpp | 381 +++ metal-cpp/Metal/MTLTexture.hpp | 658 ++++++ metal-cpp/Metal/MTLTypes.hpp | 163 ++ metal-cpp/Metal/MTLVertexDescriptor.hpp | 344 +++ metal-cpp/Metal/MTLVisibleFunctionTable.hpp | 96 + metal-cpp/Metal/Metal.hpp | 80 + metal-cpp/QuartzCore/CADefines.hpp | 41 + metal-cpp/QuartzCore/CAMetalDrawable.hpp | 57 + metal-cpp/QuartzCore/CAPrivate.hpp | 109 + metal-cpp/QuartzCore/QuartzCore.hpp | 27 + metal-cpp/README.md | 245 ++ metal-cpp/SingleHeader/MakeSingleHeader.py | 271 +++ precision_results/FP32_precision.png | Bin 0 -> 1859879 bytes precision_results/FP64_precision.png | Bin 0 -> 1870964 bytes vkFFT/vkFFT.h | 1254 +++++++++- 123 files changed, 24634 insertions(+), 1490 deletions(-) create mode 100644 metal-cpp/Foundation/Foundation.hpp create mode 100644 metal-cpp/Foundation/NSArray.hpp create mode 100644 metal-cpp/Foundation/NSAutoreleasePool.hpp create mode 100644 metal-cpp/Foundation/NSBundle.hpp create mode 100644 metal-cpp/Foundation/NSData.hpp create mode 100644 metal-cpp/Foundation/NSDate.hpp create mode 100644 metal-cpp/Foundation/NSDefines.hpp create mode 100644 metal-cpp/Foundation/NSDictionary.hpp create mode 100644 metal-cpp/Foundation/NSEnumerator.hpp create mode 100644 metal-cpp/Foundation/NSError.hpp create mode 100644 metal-cpp/Foundation/NSLock.hpp create mode 100644 metal-cpp/Foundation/NSNotification.hpp create mode 100644 metal-cpp/Foundation/NSNumber.hpp create mode 100644 metal-cpp/Foundation/NSObjCRuntime.hpp create mode 100644 metal-cpp/Foundation/NSObject.hpp create mode 100644 metal-cpp/Foundation/NSPrivate.hpp create mode 100644 metal-cpp/Foundation/NSProcessInfo.hpp create mode 100644 metal-cpp/Foundation/NSRange.hpp create mode 100644 metal-cpp/Foundation/NSString.hpp create mode 100644 metal-cpp/Foundation/NSTypes.hpp create mode 100644 metal-cpp/Foundation/NSURL.hpp create mode 100644 metal-cpp/LICENSE.txt create mode 100644 metal-cpp/Metal/MTLAccelerationStructure.hpp create mode 100644 metal-cpp/Metal/MTLAccelerationStructureCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLAccelerationStructureTypes.hpp create mode 100644 metal-cpp/Metal/MTLArgument.hpp create mode 100644 metal-cpp/Metal/MTLArgumentEncoder.hpp create mode 100644 metal-cpp/Metal/MTLBinaryArchive.hpp create mode 100644 metal-cpp/Metal/MTLBlitCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLBlitPass.hpp create mode 100644 metal-cpp/Metal/MTLBuffer.hpp create mode 100644 metal-cpp/Metal/MTLCaptureManager.hpp create mode 100644 metal-cpp/Metal/MTLCaptureScope.hpp create mode 100644 metal-cpp/Metal/MTLCommandBuffer.hpp create mode 100644 metal-cpp/Metal/MTLCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLCommandQueue.hpp create mode 100644 metal-cpp/Metal/MTLComputeCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLComputePass.hpp create mode 100644 metal-cpp/Metal/MTLComputePipeline.hpp create mode 100644 metal-cpp/Metal/MTLCounters.hpp create mode 100644 metal-cpp/Metal/MTLDefines.hpp create mode 100644 metal-cpp/Metal/MTLDepthStencil.hpp create mode 100644 metal-cpp/Metal/MTLDevice.hpp create mode 100644 metal-cpp/Metal/MTLDrawable.hpp create mode 100644 metal-cpp/Metal/MTLDynamicLibrary.hpp create mode 100644 metal-cpp/Metal/MTLEvent.hpp create mode 100644 metal-cpp/Metal/MTLFence.hpp create mode 100644 metal-cpp/Metal/MTLFunctionConstantValues.hpp create mode 100644 metal-cpp/Metal/MTLFunctionDescriptor.hpp create mode 100644 metal-cpp/Metal/MTLFunctionHandle.hpp create mode 100644 metal-cpp/Metal/MTLFunctionLog.hpp create mode 100644 metal-cpp/Metal/MTLFunctionStitching.hpp create mode 100644 metal-cpp/Metal/MTLHeaderBridge.hpp create mode 100644 metal-cpp/Metal/MTLHeap.hpp create mode 100644 metal-cpp/Metal/MTLIndirectCommandBuffer.hpp create mode 100644 metal-cpp/Metal/MTLIndirectCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLIntersectionFunctionTable.hpp create mode 100644 metal-cpp/Metal/MTLLibrary.hpp create mode 100644 metal-cpp/Metal/MTLLinkedFunctions.hpp create mode 100644 metal-cpp/Metal/MTLParallelRenderCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLPipeline.hpp create mode 100644 metal-cpp/Metal/MTLPixelFormat.hpp create mode 100644 metal-cpp/Metal/MTLPrivate.hpp create mode 100644 metal-cpp/Metal/MTLRasterizationRate.hpp create mode 100644 metal-cpp/Metal/MTLRenderCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLRenderPass.hpp create mode 100644 metal-cpp/Metal/MTLRenderPipeline.hpp create mode 100644 metal-cpp/Metal/MTLResource.hpp create mode 100644 metal-cpp/Metal/MTLResourceStateCommandEncoder.hpp create mode 100644 metal-cpp/Metal/MTLResourceStatePass.hpp create mode 100644 metal-cpp/Metal/MTLSampler.hpp create mode 100644 metal-cpp/Metal/MTLStageInputOutputDescriptor.hpp create mode 100644 metal-cpp/Metal/MTLTexture.hpp create mode 100644 metal-cpp/Metal/MTLTypes.hpp create mode 100644 metal-cpp/Metal/MTLVertexDescriptor.hpp create mode 100644 metal-cpp/Metal/MTLVisibleFunctionTable.hpp create mode 100644 metal-cpp/Metal/Metal.hpp create mode 100644 metal-cpp/QuartzCore/CADefines.hpp create mode 100644 metal-cpp/QuartzCore/CAMetalDrawable.hpp create mode 100644 metal-cpp/QuartzCore/CAPrivate.hpp create mode 100644 metal-cpp/QuartzCore/QuartzCore.hpp create mode 100644 metal-cpp/README.md create mode 100644 metal-cpp/SingleHeader/MakeSingleHeader.py create mode 100644 precision_results/FP32_precision.png create mode 100644 precision_results/FP64_precision.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b198afb..5b1a2b80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ project(Vulkan_FFT) set(CMAKE_CONFIGURATION_TYPES "Release" CACHE STRING "" FORCE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE) include(FetchContent) -set(VKFFT_BACKEND 0 CACHE STRING "0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, 4 - Level Zero") +set(VKFFT_BACKEND 0 CACHE STRING "0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, 4 - Level Zero, 5 - Metal") if(${VKFFT_BACKEND} EQUAL 1) option(build_VkFFT_cuFFT_benchmark "Build VkFFT cuFFT benchmark" ON) @@ -124,6 +124,12 @@ elseif(${VKFFT_BACKEND} EQUAL 4) NO_DEFAULT_PATH ) target_include_directories(${PROJECT_NAME} PUBLIC ${LevelZero_INCLUDES}) +elseif(${VKFFT_BACKEND} EQUAL 5) + add_compile_options(-WMTL_IGNORE_WARNINGS) + find_library(FOUNDATION_LIB Foundation REQUIRED) + find_library(QUARTZ_CORE_LIB QuartzCore REQUIRED) + find_library(METAL_LIB Metal REQUIRED) + target_include_directories(${PROJECT_NAME} PUBLIC "metal-cpp/") endif() target_compile_definitions(${PROJECT_NAME} PUBLIC -DVK_API_VERSION=11)#10 - Vulkan 1.0, 11 - Vulkan 1.1, 12 - Vulkan 1.2 @@ -164,6 +170,8 @@ elseif(${VKFFT_BACKEND} EQUAL 3) target_link_libraries(${PROJECT_NAME} PUBLIC OpenCL::OpenCL VkFFT half) elseif(${VKFFT_BACKEND} EQUAL 4) target_link_libraries(${PROJECT_NAME} PUBLIC ze_loader VkFFT half) +elseif(${VKFFT_BACKEND} EQUAL 5) + target_link_libraries(${PROJECT_NAME} PUBLIC ${FOUNDATION_LIB} ${QUARTZ_CORE_LIB} ${METAL_LIB} VkFFT half) endif() if(build_VkFFT_FFTW_precision OR VkFFT_use_FP128_Bluestein_RaderFFT) diff --git a/README.md b/README.md index 5d383bc4..0f6b45f5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ [![Build Status](https://travis-ci.com/DTolm/VkFFT.svg?token=nMgUQeqx7PXMeCFaXqsb&branch=master)](https://travis-ci.com/github/DTolm/VkFFT) -# VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero Fast Fourier Transform library -VkFFT is an efficient GPU-accelerated multidimensional Fast Fourier Transform library for Vulkan/CUDA/HIP/OpenCL/Level Zero projects. VkFFT aims to provide the community with an open-source alternative to Nvidia's cuFFT library while achieving better performance. VkFFT is written in C language and supports Vulkan, CUDA, HIP, OpenCL and Level Zero as backends. +# VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library +VkFFT is an efficient GPU-accelerated multidimensional Fast Fourier Transform library for Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal projects. VkFFT aims to provide the community with an open-source alternative to Nvidia's cuFFT library while achieving better performance. VkFFT is written in C language and supports Vulkan, CUDA, HIP, OpenCL, Level Zero and Metal as backends. + +## Check out my poster at SC22: https://sc22.supercomputing.org/presentation/?id=rpost143&sess=sess273 ## Check out my panel at Nvidia's GTC 2021 in Higher Education and Research category: https://gtc21.event.nvidia.com/ @@ -26,9 +28,9 @@ VkFFT is an efficient GPU-accelerated multidimensional Fast Fourier Transform li - WHDCN layout - data is stored in the following order (sorted by increase in strides): the width, the height, the depth, the coordinate (the number of feature maps), the batch number - Multiple feature/batch convolutions - one input, multiple kernels - Multiple input/output/temporary buffer split. Allows using data split between different memory allocations and mitigates 4GB single allocation limit. - - Works on Nvidia, AMD and Intel GPUs. And Raspberry Pi 4 GPU. + - Works on Nvidia, AMD, Intel and Apple GPUs. And Raspberry Pi 4 GPU. - Works on Windows, Linux and macOS - - VkFFT supports Vulkan, CUDA, HIP, OpenCL and Level Zero as backend to cover wide range of APIs + - VkFFT supports Vulkan, CUDA, HIP, OpenCL, Level Zero and Metal as backend to cover wide range of APIs - Header-only library with Vulkan interface, which allows appending VkFFT directly to user's command buffer. Kernels are compiled at run-time ## Future release plan - ##### Planned @@ -53,6 +55,11 @@ To build OpenCL version of the benchmark, replace VKFFT_BACKEND in CMakeLists (l Level Zero: Include the vkFFT.h file. Provide the library with correctly chosen VKFFT_BACKEND definition. Clang and llvm-spirv must be valid system calls. Only single/double precision for now.\ To build Level Zero version of the benchmark, replace VKFFT_BACKEND in CMakeLists (line 5) with the value 4 and optionally enable FFTW. + +Metal: +Include the vkFFT.h file. Provide the library with correctly chosen VKFFT_BACKEND definition. VkFFT uses metal-cpp as a C++ bindings to Apple's libraries - Foundation.hpp, QuartzCore.hpp and Metal.hpp. Only single precision.\ +To build Metal version of the benchmark, replace VKFFT_BACKEND in CMakeLists (line 5) with the value 5 and optionally enable FFTW. + ## Command-line interface VkFFT has a command-line interface with the following set of commands:\ -h: print help\ @@ -75,17 +82,15 @@ The test configuration below takes multiple 1D FFTs of all lengths from the rang ![alt text](https://github.com/DTolm/VkFFT/blob/master/benchmark_plot/fp64_cuda_a100.png?raw=true) ![alt text](https://github.com/DTolm/VkFFT/blob/master/benchmark_plot/fp64_hip_mi250.png?raw=true) ## Precision comparison of cuFFT/VkFFT/FFTW -To measure how VkFFT (single/double/half precision) results compare to cuFFT/rocFFT (single/double/half precision) and FFTW (double precision), a set of ~60 systems covering full FFT range was filled with random complex data on the scale of [-1,1] and one C2C transform was performed on each system. Samples 11(single), 12(double), 13(half) calculate for each value of the transformed system: +![alt text](https://github.com/DTolm/VkFFT/blob/master/benchmark_plot/FP64_precision.png?raw=true) +![alt text](https://github.com/DTolm/VkFFT/blob/master/benchmark_plot/FP32_precision.png?raw=true) + +Above, VkFFT precision is verified by comparing its results with FP128 version of FFTW. We test all FFT lengths from the [2, 100000] range. We perform tests in single and double precision on random input data from [-1;1] range. + +For both precisions, all tested libraries exhibit logarithmic error scaling. The main source of error is imprecise twiddle factor computation – sines and cosines used by FFT algorithms. For FP64 they are calculated on the CPU either in FP128 or in FP64 and stored in the lookup tables. With FP128 precomputation (left) VkFFT is more precise than cuFFT and rocFFT. -- Max difference between cuFFT/rocFFT/VkFFT result and FFTW result -- Average difference between cuFFT/rocFFT/VkFFT result and FFTW result -- Max ratio of the difference between cuFFT/rocFFT/VkFFT result and FFTW result to the FFTW result -- Average ratio of the difference between cuFFT/rocFFT/VkFFT result and FFTW result to the FFTW result +For FP32, twiddle factors can be calculated on-the-fly in FP32 or precomputed in FP64/FP32. With FP32 twiddle factors (right) VkFFT is slightly less precise in Bluestein’s and Rader’s algorithms. If needed, this can be solved with FP64 precomputation. -FFTW is required to launch these samples (specify in CMakeLists include and library directories). If cuFFT is disabled, only FFTW/VkFFT results are calculated.\ -The precision_cuFFT_VkFFT_FFTW.txt file contains the single precision results for Nvidia's 1660Ti GPU and AMD Ryzen 2700 CPU. On average, the results fluctuate both for cuFFT and VkFFT with no clear winner in single precision. Max ratio stays in the range of 2% for both cuFFT and VkFFT, while the average ratio stays below 1e-6.\ -The precision_cuFFT_VkFFT_FFTW_double.txt file contains the double precision results for Nvidia's 1660Ti GPU and AMD Ryzen 2700 CPU. On average, VkFFT is more precise than cuFFT in double precision (see: max_difference and max_eps columns), however, it is also ~20% slower (vkfft_benchmark_double.png). Note that double precision is still in testing and these results may change in the future. Max ratio stays in the range of 5e-10% for both cuFFT and VkFFT, while the average ratio stays below 1e-15. Overall, double precision is ~7 times slower than single on Nvidia's 1660Ti GPU.\ -The precision_cuFFT_VkFFT_FFTW_half.txt file contains the half precision results for Nvidia's 1660Ti GPU and AMD Ryzen 2700 CPU. On average, VkFFT is at least two times more precise than cuFFT in half precision (see: max_difference and max_eps columns), while being faster on average (vkfft_benchmark_half.png). Note that half precision is still in testing and is only used to store data in VkFFT. cuFFT script can probably also be improved. The average ratio stays in the range of 0.2% for both cuFFT and VkFFT. Overall, half precision of VkFFT is ~50%-100% times faster than single on Nvidia's 1660Ti GPU. ## Contact information The initial version of VkFFT is developed by Tolmachev Dmitrii\ E-mail 1: \ No newline at end of file diff --git a/Vulkan_FFT.cpp b/Vulkan_FFT.cpp index 39464d9e..6f2aeaa8 100644 --- a/Vulkan_FFT.cpp +++ b/Vulkan_FFT.cpp @@ -35,6 +35,19 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#ifndef NS_PRIVATE_IMPLEMENTATION +#define NS_PRIVATE_IMPLEMENTATION +#endif +#ifndef CA_PRIVATE_IMPLEMENTATION +#define CA_PRIVATE_IMPLEMENTATION +#endif +#ifndef MTL_PRIVATE_IMPLEMENTATION +#define MTL_PRIVATE_IMPLEMENTATION +#endif +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -270,192 +283,198 @@ VkFFTResult launchVkFFT(VkGPU* vkGPU, uint64_t sample_id, bool file_output, FILE free(deviceList); } free(drivers); +#elif(VKFFT_BACKEND==5) + NS::Array* devices = MTL::CopyAllDevices(); + MTL::Device* device = (MTL::Device*)devices->object(vkGPU->device_id); + vkGPU->device = device; + MTL::CommandQueue* queue = device->newCommandQueue(); + vkGPU->queue = queue; #endif uint64_t isCompilerInitialized = 1; - switch (sample_id) { - case 0: - { - resFFT = sample_0_benchmark_VkFFT_single(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 1: - { - resFFT = sample_1_benchmark_VkFFT_double(vkGPU, file_output, output, isCompilerInitialized); - break; - } + switch (sample_id) { + case 0: + { + resFFT = sample_0_benchmark_VkFFT_single(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 1: + { + resFFT = sample_1_benchmark_VkFFT_double(vkGPU, file_output, output, isCompilerInitialized); + break; + } #if ((VKFFT_BACKEND==0)&&(VK_API_VERSION>10)) - case 2: - { - resFFT = sample_2_benchmark_VkFFT_half(vkGPU, file_output, output, isCompilerInitialized); - break; - } + case 2: + { + resFFT = sample_2_benchmark_VkFFT_half(vkGPU, file_output, output, isCompilerInitialized); + break; + } #endif - case 3: - { - resFFT = sample_3_benchmark_VkFFT_single_3d(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 4: - { - resFFT = sample_4_benchmark_VkFFT_single_3d_zeropadding(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 5: - { - resFFT = sample_5_benchmark_VkFFT_single_disableReorderFourStep(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 6: - { - resFFT = sample_6_benchmark_VkFFT_single_r2c(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 7: - { - resFFT = sample_7_benchmark_VkFFT_single_Bluestein(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 8: - { - resFFT = sample_8_benchmark_VkFFT_double_Bluestein(vkGPU, file_output, output, isCompilerInitialized); - break; - } + case 3: + { + resFFT = sample_3_benchmark_VkFFT_single_3d(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 4: + { + resFFT = sample_4_benchmark_VkFFT_single_3d_zeropadding(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 5: + { + resFFT = sample_5_benchmark_VkFFT_single_disableReorderFourStep(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 6: + { + resFFT = sample_6_benchmark_VkFFT_single_r2c(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 7: + { + resFFT = sample_7_benchmark_VkFFT_single_Bluestein(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 8: + { + resFFT = sample_8_benchmark_VkFFT_double_Bluestein(vkGPU, file_output, output, isCompilerInitialized); + break; + } #if(VKFFT_BACKEND==0) - case 10: - { - resFFT = sample_10_benchmark_VkFFT_single_multipleBuffers(vkGPU, file_output, output, isCompilerInitialized); - break; - } + case 10: + { + resFFT = sample_10_benchmark_VkFFT_single_multipleBuffers(vkGPU, file_output, output, isCompilerInitialized); + break; + } #endif #ifdef USE_FFTW - case 11: - { - resFFT = sample_11_precision_VkFFT_single(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 12: - { - resFFT = sample_12_precision_VkFFT_double(vkGPU, file_output, output, isCompilerInitialized); - break; - } + case 11: + { + resFFT = sample_11_precision_VkFFT_single(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 12: + { + resFFT = sample_12_precision_VkFFT_double(vkGPU, file_output, output, isCompilerInitialized); + break; + } #if ((VKFFT_BACKEND==0)&&(VK_API_VERSION>10)) - case 13: - { - resFFT = sample_13_precision_VkFFT_half(vkGPU, file_output, output, isCompilerInitialized); - break; - } + case 13: + { + resFFT = sample_13_precision_VkFFT_half(vkGPU, file_output, output, isCompilerInitialized); + break; + } #endif - case 14: - { - resFFT = sample_14_precision_VkFFT_single_nonPow2(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 15: - { - resFFT = sample_15_precision_VkFFT_single_r2c(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 16: - { - resFFT = sample_16_precision_VkFFT_single_dct(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 17: - { - resFFT = sample_17_precision_VkFFT_double_dct(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 18: - { - resFFT = sample_18_precision_VkFFT_double_nonPow2(vkGPU, file_output, output, isCompilerInitialized); - break; - } + case 14: + { + resFFT = sample_14_precision_VkFFT_single_nonPow2(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 15: + { + resFFT = sample_15_precision_VkFFT_single_r2c(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 16: + { + resFFT = sample_16_precision_VkFFT_single_dct(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 17: + { + resFFT = sample_17_precision_VkFFT_double_dct(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 18: + { + resFFT = sample_18_precision_VkFFT_double_nonPow2(vkGPU, file_output, output, isCompilerInitialized); + break; + } #endif - case 50: - { - resFFT = sample_50_convolution_VkFFT_single_1d_matrix(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 51: - { - resFFT = sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 52: - { - resFFT = sample_52_convolution_VkFFT_single_2d_batched_r2c(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 110: - { - resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 1); - break; - } - case 120: - { - resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 2); - break; - } - case 130: - { - resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 3); - break; - } - case 140: - { - resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 4); - break; - } - case 111: - { - resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 1); - break; - } - case 121: - { - resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 2); - break; - } - case 131: - { - resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 3); - break; - } - case 141: - { - resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 4); - break; - } - case 200: case 201: - { - resFFT = user_benchmark_VkFFT(vkGPU, file_output, output, isCompilerInitialized, userParams); - break; - } + case 50: + { + resFFT = sample_50_convolution_VkFFT_single_1d_matrix(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 51: + { + resFFT = sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 52: + { + resFFT = sample_52_convolution_VkFFT_single_2d_batched_r2c(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 110: + { + resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 1); + break; + } + case 120: + { + resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 2); + break; + } + case 130: + { + resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 3); + break; + } + case 140: + { + resFFT = sample_100_benchmark_VkFFT_single_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 4); + break; + } + case 111: + { + resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 1); + break; + } + case 121: + { + resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 2); + break; + } + case 131: + { + resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 3); + break; + } + case 141: + { + resFFT = sample_101_benchmark_VkFFT_double_nd_dct(vkGPU, file_output, output, isCompilerInitialized, 4); + break; + } + case 200: case 201: + { + resFFT = user_benchmark_VkFFT(vkGPU, file_output, output, isCompilerInitialized, userParams); + break; + } #if ((VKFFT_BACKEND==0)&&(VK_API_VERSION>10)) - case 202: - { - resFFT = user_benchmark_VkFFT(vkGPU, file_output, output, isCompilerInitialized, userParams); - break; - } + case 202: + { + resFFT = user_benchmark_VkFFT(vkGPU, file_output, output, isCompilerInitialized, userParams); + break; + } #endif - case 1000: - { - resFFT = sample_1000_VkFFT_single_2_4096(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 1001: - { - resFFT = sample_1001_benchmark_VkFFT_double_2_4096(vkGPU, file_output, output, isCompilerInitialized); - break; - } - case 1003: - { - resFFT = sample_1003_benchmark_VkFFT_single_3d_2_512(vkGPU, file_output, output, isCompilerInitialized); - break; - } - } + case 1000: + { + resFFT = sample_1000_VkFFT_single_2_4096(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 1001: + { + resFFT = sample_1001_benchmark_VkFFT_double_2_4096(vkGPU, file_output, output, isCompilerInitialized); + break; + } + case 1003: + { + resFFT = sample_1003_benchmark_VkFFT_single_3d_2_512(vkGPU, file_output, output, isCompilerInitialized); + break; + } + } #if(VKFFT_BACKEND==0) vkDestroyFence(vkGPU->device, vkGPU->fence, NULL); vkDestroyCommandPool(vkGPU->device, vkGPU->commandPool, NULL); @@ -475,6 +494,10 @@ VkFFTResult launchVkFFT(VkGPU* vkGPU, uint64_t sample_id, bool file_output, FILE res = zeCommandQueueDestroy(vkGPU->commandQueue); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_RELEASE_COMMAND_QUEUE; res = zeContextDestroy(vkGPU->context); +#elif(VKFFT_BACKEND==5) + vkGPU->queue->release(); + vkGPU->device->release(); + devices->release(); #endif return resFFT; @@ -510,7 +533,7 @@ int main(int argc, char* argv[]) version_decomposed[0] = version / 10000; version_decomposed[1] = (version - version_decomposed[0] * 10000) / 100; version_decomposed[2] = (version - version_decomposed[0] * 10000 - version_decomposed[1] * 100); - printf("VkFFT v%d.%d.%d (08-09-2022). Author: Tolmachev Dmitrii\n", version_decomposed[0], version_decomposed[1], version_decomposed[2]); + printf("VkFFT v%d.%d.%d (06-10-2022). Author: Tolmachev Dmitrii\n", version_decomposed[0], version_decomposed[1], version_decomposed[2]); #if (VKFFT_BACKEND==0) printf("Vulkan backend\n"); #elif (VKFFT_BACKEND==1) @@ -521,6 +544,8 @@ int main(int argc, char* argv[]) printf("OpenCL backend\n"); #elif (VKFFT_BACKEND==4) printf("Level Zero backend\n"); +#elif (VKFFT_BACKEND==5) + printf("Metal backend\n"); #endif printf(" -h: print help\n"); printf(" -devices: print the list of available device ids, used as -d argument\n"); diff --git a/benchmark_scripts/cuFFT_scripts/src/user_benchmark_cuFFT.cu b/benchmark_scripts/cuFFT_scripts/src/user_benchmark_cuFFT.cu index b22a6310..48bded05 100644 --- a/benchmark_scripts/cuFFT_scripts/src/user_benchmark_cuFFT.cu +++ b/benchmark_scripts/cuFFT_scripts/src/user_benchmark_cuFFT.cu @@ -24,7 +24,7 @@ void user_benchmark_cuFFT(bool file_output, FILE* output, cuFFTUserSystemParamet cudaSetDevice(device_id); const int num_runs = 3; double benchmark_result[2] = { 0,0 };//averaged result = sum(system_size/iteration_time)/num_benchmark_samples - uint64_t storageComplexSize; + uint64_t storageComplexSize=8; switch (userParams->P) { case 0: storageComplexSize = (2 * sizeof(float)); @@ -35,7 +35,22 @@ void user_benchmark_cuFFT(bool file_output, FILE* output, cuFFTUserSystemParamet case 2: storageComplexSize = (2 * 2); break; + default: + storageComplexSize = (2 * sizeof(float)); + break; } + uint64_t bufferSize = 0; + if (userParams->R2C) { + bufferSize = (uint64_t)(storageComplexSize / 2) * (userParams->X + 2) * userParams->Y * userParams->Z * userParams->B; + } + else { + bufferSize = (uint64_t)storageComplexSize * userParams->X * userParams->Y * userParams->Z * userParams->B; + } + + float* buffer_input = (float*)malloc(bufferSize); + for (uint64_t i = 0; i < bufferSize/sizeof(float); i++) { + buffer_input[i] = (float)(2 * ((float)rand()) / RAND_MAX - 1.0); + } for (int n = 0; n < 2; n++) { double run_time[num_runs][2]; for (int r = 0; r < num_runs; r++) { @@ -64,17 +79,14 @@ void user_benchmark_cuFFT(bool file_output, FILE* output, cuFFTUserSystemParamet dims[2] = userParams->X; break; } - uint64_t bufferSize; - if (userParams->R2C) - bufferSize = (uint64_t)(storageComplexSize / 2) * (userParams->X + 2) * userParams->Y * userParams->Z * userParams->B; - else - bufferSize = (uint64_t)storageComplexSize * userParams->X * userParams->Y * userParams->Z * userParams->B; cudaMalloc((void**)&dataC, bufferSize); if (cudaGetLastError() != cudaSuccess) { fprintf(stderr, "Cuda error: Failed to allocate\n"); return; } + cudaMemcpy(dataC, buffer_input, bufferSize, cudaMemcpyHostToDevice); + //forward + inverse int iembed[2][3]; int istride[2] = { 1, 1 }; @@ -195,4 +207,5 @@ void user_benchmark_cuFFT(bool file_output, FILE* output, cuFFTUserSystemParamet cudaDeviceSynchronize(); } } + free(buffer_input); } diff --git a/benchmark_scripts/rocFFT_scripts/src/user_benchmark_rocFFT.cpp b/benchmark_scripts/rocFFT_scripts/src/user_benchmark_rocFFT.cpp index 60b06b85..17d479b5 100644 --- a/benchmark_scripts/rocFFT_scripts/src/user_benchmark_rocFFT.cpp +++ b/benchmark_scripts/rocFFT_scripts/src/user_benchmark_rocFFT.cpp @@ -22,7 +22,7 @@ void user_benchmark_rocFFT(bool file_output, FILE* output, rocFFTUserSystemParam hipSetDevice(device_id); const int num_runs = 7; double benchmark_result[2] = { 0,0 };//averaged result = sum(system_size/iteration_time)/num_benchmark_samples - uint64_t storageComplexSize; + uint64_t storageComplexSize=8; switch (userParams->P) { case 0: storageComplexSize = (2 * sizeof(float)); @@ -33,7 +33,22 @@ void user_benchmark_rocFFT(bool file_output, FILE* output, rocFFTUserSystemParam case 2: storageComplexSize = (2 * 2); break; + default: + storageComplexSize = (2 * sizeof(float)); + break; } + uint64_t bufferSize = 0; + if (userParams->R2C) { + bufferSize = (uint64_t)(storageComplexSize / 2) * (userParams->X + 2) * userParams->Y * userParams->Z * userParams->B; + } + else { + bufferSize = (uint64_t)storageComplexSize * userParams->X * userParams->Y * userParams->Z * userParams->B; + } + + float* buffer_input = (float*)malloc(bufferSize); + for (uint64_t i = 0; i < bufferSize/sizeof(float); i++) { + buffer_input[i] = (float)(2 * ((float)rand()) / RAND_MAX - 1.0); + } for (int n = 0; n < 2; n++) { double run_time[num_runs][2]; for (int r = 0; r < num_runs; r++) { @@ -62,19 +77,15 @@ void user_benchmark_rocFFT(bool file_output, FILE* output, rocFFTUserSystemParam dims[2] = userParams->X; break; } - uint64_t bufferSize; - if (userParams->R2C) - bufferSize = (uint64_t)(storageComplexSize / 2) * (userParams->X + 2) * userParams->Y * userParams->Z * userParams->B; - else - bufferSize = (uint64_t)storageComplexSize * userParams->X * userParams->Y * userParams->Z * userParams->B; - + hipMalloc((void**)&dataC, bufferSize); if (hipGetLastError() != hipSuccess) { fprintf(stderr, "ROCM error: Failed to allocate\n"); return; } - + hipMemcpy(dataC, buffer_input, bufferSize, hipMemcpyHostToDevice); + //forward + inverse int iembed[2][3]; int istride[2] = { 1, 1 }; @@ -196,4 +207,5 @@ void user_benchmark_rocFFT(bool file_output, FILE* output, rocFFTUserSystemParam //hipDeviceSynchronize(); } } + free(buffer_input); } diff --git a/benchmark_scripts/vkFFT_scripts/include/utils_VkFFT.h b/benchmark_scripts/vkFFT_scripts/include/utils_VkFFT.h index 518331db..13871188 100644 --- a/benchmark_scripts/vkFFT_scripts/include/utils_VkFFT.h +++ b/benchmark_scripts/vkFFT_scripts/include/utils_VkFFT.h @@ -33,6 +33,9 @@ typedef struct { ze_context_handle_t context; ze_command_queue_handle_t commandQueue; uint32_t commandQueueID; +#elif(VKFFT_BACKEND==5) + MTL::Device* device; + MTL::CommandQueue* queue; #endif uint64_t device_id;//an id of a device, reported by Vulkan device list } VkGPU;//an example structure containing Vulkan primitives @@ -65,10 +68,10 @@ VkResult createFence(VkGPU* vkGPU); VkResult createCommandPool(VkGPU* vkGPU); VkFFTResult findMemoryType(VkGPU* vkGPU, uint64_t memoryTypeBits, uint64_t memorySize, VkMemoryPropertyFlags properties, uint32_t* memoryTypeIndex); VkFFTResult allocateBuffer(VkGPU* vkGPU, VkBuffer* buffer, VkDeviceMemory* deviceMemory, VkBufferUsageFlags usageFlags, VkMemoryPropertyFlags propertyFlags, uint64_t size); -VkFFTResult transferDataFromCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_t bufferSize); -VkFFTResult transferDataToCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_t bufferSize); #endif +VkFFTResult transferDataToCPU(VkGPU* vkGPU, void* cpu_arr, void* output_buffer, uint64_t bufferSize); +VkFFTResult transferDataFromCPU(VkGPU* vkGPU, void* cpu_arr, void* input_buffer, uint64_t bufferSize); VkFFTResult devices_list(); VkFFTResult performVulkanFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunchParams* launchParams, int inverse, uint64_t num_iter); VkFFTResult performVulkanFFTiFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunchParams* launchParams, uint64_t num_iter, double* time_result); -#endif \ No newline at end of file +#endif diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_0_benchmark_VkFFT_single.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_0_benchmark_VkFFT_single.cpp index 3a073500..b85dde52 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_0_benchmark_VkFFT_single.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_0_benchmark_VkFFT_single.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_0_benchmark_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "0 - VkFFT FFT + iFFT C2C benchmark 1D batched in single precision\n"); @@ -79,13 +84,18 @@ VkFFTResult sample_0_benchmark_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, configuration.FFTdim = 1; //FFT dimension, 1D, 2D or 3D (default 1). configuration.size[0] = 4 * (uint64_t)pow(2, n); //Multidimensional FFT dimensions sizes (default 1). For best performance (and stability), order dimensions in descendant size order as: x>y>z. if (n == 0) configuration.size[0] = 4096; - configuration.numberBatches = (uint64_t)((64 * 32 * (uint64_t)pow(2, 16)) / configuration.size[0]); + configuration.numberBatches = (uint64_t)((64 * 32 * (uint64_t)pow(2, 16)) / configuration.size[0]); if (configuration.numberBatches < 1) configuration.numberBatches = 1; - +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -98,6 +108,8 @@ VkFFTResult sample_0_benchmark_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * configuration.size[0] * configuration.numberBatches; @@ -129,6 +141,10 @@ VkFFTResult sample_0_benchmark_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -146,37 +162,9 @@ VkFFTResult sample_0_benchmark_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList,buffer,buffer_input,bufferSize,0,0,0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; if (configuration.loadApplicationFromString) { FILE* kernelCache; @@ -268,6 +256,8 @@ VkFFTResult sample_0_benchmark_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_1000_VkFFT_single_2_4096.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_1000_VkFFT_single_2_4096.cpp index b6fbf75c..00942e59 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_1000_VkFFT_single_2_4096.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_1000_VkFFT_single_2_4096.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_1000_VkFFT_single_2_4096(VkGPU* vkGPU, uint64_t file_output, cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "1000 - VkFFT FFT + iFFT C2C benchmark 1D batched in single precision: all supported systems from 2 to 4096\n"); @@ -92,11 +97,17 @@ VkFFTResult sample_1000_VkFFT_single_2_4096(VkGPU* vkGPU, uint64_t file_output, if (temp != 1) break;*/ configuration.numberBatches = (uint64_t)pow(2, (uint64_t)log2((uint64_t)64 * 32 * (uint64_t)pow(2, 16) / configuration.size[0])); if (configuration.numberBatches < 1) configuration.numberBatches = 1; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -109,6 +120,8 @@ VkFFTResult sample_1000_VkFFT_single_2_4096(VkGPU* vkGPU, uint64_t file_output, configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * configuration.size[0] * configuration.numberBatches; @@ -140,6 +153,10 @@ VkFFTResult sample_1000_VkFFT_single_2_4096(VkGPU* vkGPU, uint64_t file_output, res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -157,37 +174,9 @@ VkFFTResult sample_1000_VkFFT_single_2_4096(VkGPU* vkGPU, uint64_t file_output, } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; if (configuration.loadApplicationFromString) { FILE* kernelCache; @@ -279,6 +268,8 @@ VkFFTResult sample_1000_VkFFT_single_2_4096(VkGPU* vkGPU, uint64_t file_output, clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_1001_benchmark_VkFFT_double_2_4096.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_1001_benchmark_VkFFT_double_2_4096.cpp index 29b7741f..4d58c00c 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_1001_benchmark_VkFFT_double_2_4096.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_1001_benchmark_VkFFT_double_2_4096.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_1001_benchmark_VkFFT_double_2_4096(VkGPU* vkGPU, uint64_t fil cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "1001 - VkFFT FFT + iFFT C2C benchmark 1D batched in double precision: all supported systems from 2 to 4096\n"); @@ -95,11 +100,17 @@ VkFFTResult sample_1001_benchmark_VkFFT_double_2_4096(VkGPU* vkGPU, uint64_t fil configuration.size[2] = 1; configuration.doublePrecision = true; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -112,6 +123,8 @@ VkFFTResult sample_1001_benchmark_VkFFT_double_2_4096(VkGPU* vkGPU, uint64_t fil configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. @@ -144,6 +157,10 @@ VkFFTResult sample_1001_benchmark_VkFFT_double_2_4096(VkGPU* vkGPU, uint64_t fil res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -159,37 +176,9 @@ VkFFTResult sample_1001_benchmark_VkFFT_double_2_4096(VkGPU* vkGPU, uint64_t fil } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -282,6 +271,8 @@ VkFFTResult sample_1001_benchmark_VkFFT_double_2_4096(VkGPU* vkGPU, uint64_t fil clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_1003_benchmark_VkFFT_single_3d_2_512.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_1003_benchmark_VkFFT_single_3d_2_512.cpp index bbd4b558..997eccde 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_1003_benchmark_VkFFT_single_3d_2_512.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_1003_benchmark_VkFFT_single_3d_2_512.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_1003_benchmark_VkFFT_single_3d_2_512(VkGPU* vkGPU, uint64_t f cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "1003 - VkFFT FFT + iFFT C2C multidimensional benchmark in single precision: all supported cubes from 2 to 512\n"); @@ -92,11 +97,17 @@ VkFFTResult sample_1003_benchmark_VkFFT_single_3d_2_512(VkGPU* vkGPU, uint64_t f if (temp != 1) break;*/ configuration.size[1] = configuration.size[0]; configuration.size[2] = configuration.size[0]; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -109,6 +120,8 @@ VkFFTResult sample_1003_benchmark_VkFFT_single_3d_2_512(VkGPU* vkGPU, uint64_t f configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * configuration.size[0] * configuration.size[1] * configuration.size[2];; @@ -140,6 +153,10 @@ VkFFTResult sample_1003_benchmark_VkFFT_single_3d_2_512(VkGPU* vkGPU, uint64_t f res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -157,37 +174,9 @@ VkFFTResult sample_1003_benchmark_VkFFT_single_3d_2_512(VkGPU* vkGPU, uint64_t f } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; if (configuration.loadApplicationFromString) { FILE* kernelCache; uint64_t str_len; @@ -278,6 +267,8 @@ VkFFTResult sample_1003_benchmark_VkFFT_single_3d_2_512(VkGPU* vkGPU, uint64_t f clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_100_benchmark_VkFFT_single_nd_dct.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_100_benchmark_VkFFT_single_nd_dct.cpp index 0d5835a8..f753278d 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_100_benchmark_VkFFT_single_nd_dct.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_100_benchmark_VkFFT_single_nd_dct.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_100_benchmark_VkFFT_single_nd_dct(VkGPU* vkGPU, uint64_t file cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "1%" PRIu64 "0 - VkFFT FFT + iFFT R2R DCT-%" PRIu64 " multidimensional benchmark in single precision\n", dct_type, dct_type); @@ -94,10 +99,16 @@ VkFFTResult sample_100_benchmark_VkFFT_single_nd_dct(VkGPU* vkGPU, uint64_t file configuration.performDCT = dct_type; //configuration.disableMergeSequencesR2C = 1; //configuration.doublePrecision = 1; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -110,6 +121,8 @@ VkFFTResult sample_100_benchmark_VkFFT_single_nd_dct(VkGPU* vkGPU, uint64_t file configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * configuration.size[0] * configuration.size[1] * configuration.size[2];; @@ -141,6 +154,10 @@ VkFFTResult sample_100_benchmark_VkFFT_single_nd_dct(VkGPU* vkGPU, uint64_t file res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -156,37 +173,9 @@ VkFFTResult sample_100_benchmark_VkFFT_single_nd_dct(VkGPU* vkGPU, uint64_t file } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -224,6 +213,8 @@ VkFFTResult sample_100_benchmark_VkFFT_single_nd_dct(VkGPU* vkGPU, uint64_t file clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); if (configuration.loadApplicationFromString) @@ -302,6 +293,8 @@ VkFFTResult sample_100_benchmark_VkFFT_single_nd_dct(VkGPU* vkGPU, uint64_t file clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_101_benchmark_VkFFT_double_nd_dct.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_101_benchmark_VkFFT_double_nd_dct.cpp index 672e0970..2867664c 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_101_benchmark_VkFFT_double_nd_dct.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_101_benchmark_VkFFT_double_nd_dct.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_101_benchmark_VkFFT_double_nd_dct(VkGPU* vkGPU, uint64_t file cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "1%" PRIu64 "1 - VkFFT FFT + iFFT R2R DCT-%" PRIu64 " multidimensional benchmark in double precision\n", dct_type, dct_type); @@ -95,10 +100,16 @@ VkFFTResult sample_101_benchmark_VkFFT_double_nd_dct(VkGPU* vkGPU, uint64_t file configuration.doublePrecision = 1; //configuration.disableMergeSequencesR2C = 1; //configuration.doublePrecision = 1; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -111,6 +122,8 @@ VkFFTResult sample_101_benchmark_VkFFT_double_nd_dct(VkGPU* vkGPU, uint64_t file configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(double) * configuration.size[0] * configuration.size[1] * configuration.size[2];; @@ -142,6 +155,10 @@ VkFFTResult sample_101_benchmark_VkFFT_double_nd_dct(VkGPU* vkGPU, uint64_t file res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -157,37 +174,9 @@ VkFFTResult sample_101_benchmark_VkFFT_double_nd_dct(VkGPU* vkGPU, uint64_t file } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -225,6 +214,8 @@ VkFFTResult sample_101_benchmark_VkFFT_double_nd_dct(VkGPU* vkGPU, uint64_t file clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); if (configuration.loadApplicationFromString) @@ -303,6 +294,8 @@ VkFFTResult sample_101_benchmark_VkFFT_double_nd_dct(VkGPU* vkGPU, uint64_t file clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_10_benchmark_VkFFT_single_multipleBuffers.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_10_benchmark_VkFFT_single_multipleBuffers.cpp index b8f8ea10..610ec240 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_10_benchmark_VkFFT_single_multipleBuffers.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_10_benchmark_VkFFT_single_multipleBuffers.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_10_benchmark_VkFFT_single_multipleBuffers(VkGPU* vkGPU, uint6 cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif #if(VKFFT_BACKEND==0) if (file_output) @@ -85,10 +90,16 @@ VkFFTResult sample_10_benchmark_VkFFT_single_multipleBuffers(VkGPU* vkGPU, uint6 //configuration.numberBatches = (configuration.numberBatches > 32768) ? 32768 : configuration.numberBatches; uint64_t numBuf = 4; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; configuration.commandPool = &vkGPU->commandPool; @@ -143,7 +154,7 @@ VkFFTResult sample_10_benchmark_VkFFT_single_multipleBuffers(VkGPU* vkGPU, uint6 } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { resFFT = transferDataFromCPU(vkGPU, (buffer_input + shift / sizeof(float)), &buffer[i], bufferSize[i]); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_11_precision_VkFFT_single.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_11_precision_VkFFT_single.cpp index 87c51254..59e8ec9f 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_11_precision_VkFFT_single.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_11_precision_VkFFT_single.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -62,6 +66,7 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "11 - VkFFT/FFTW C2C precision test in single precision\n"); @@ -149,7 +154,11 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, configuration.size[2] = benchmark_dimensions[n][2]; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -162,6 +171,8 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif uint64_t numBuf = 1; @@ -186,6 +197,8 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, cl_mem buffer = 0; #elif(VKFFT_BACKEND==4) void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -207,6 +220,8 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } @@ -222,38 +237,15 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, */ //Can specify buffers at launch configuration.bufferSize = bufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftwf_complex)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, inputC, bufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, inputC, bufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftwf_complex)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -275,6 +267,8 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, launchParams.buffer = &buffer; #elif(VKFFT_BACKEND==4) launchParams.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -286,32 +280,9 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, #if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, buffer, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -384,6 +355,8 @@ VkFFTResult sample_11_precision_VkFFT_single(VkGPU* vkGPU, uint64_t file_output, clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } #if(VKFFT_BACKEND==0) diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_12_precision_VkFFT_double.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_12_precision_VkFFT_double.cpp index ea5d00da..a8c53fc0 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_12_precision_VkFFT_double.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_12_precision_VkFFT_double.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -62,6 +66,7 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "12 - VkFFT/FFTW C2C precision test in double precision\n"); @@ -148,7 +153,11 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, configuration.size[2] = benchmark_dimensions[n][2]; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; configuration.fence = &vkGPU->fence; @@ -161,6 +170,8 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif configuration.doublePrecision = true; @@ -186,6 +197,8 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, cl_mem buffer = 0; #elif(VKFFT_BACKEND==4) void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -207,6 +220,8 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } @@ -222,38 +237,15 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, */ // Can specify buffers at launch configuration.bufferSize = bufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftw_complex)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, inputC, bufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, inputC, bufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftw_complex)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -274,6 +266,8 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, launchParams.buffer = &buffer; #elif(VKFFT_BACKEND==4) launchParams.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -285,32 +279,9 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, #if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftw_complex)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, buffer, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftw_complex)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -384,6 +355,8 @@ VkFFTResult sample_12_precision_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_13_precision_VkFFT_half.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_13_precision_VkFFT_half.cpp index 62bf623d..8879fc8a 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_13_precision_VkFFT_half.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_13_precision_VkFFT_half.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "half.hpp" @@ -64,6 +68,7 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "13 - VkFFT/FFTW C2C precision test in half precision\n"); @@ -148,7 +153,11 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F configuration.halfPrecision = true; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -161,6 +170,8 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif uint64_t numBuf = 1; @@ -185,6 +196,8 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F cl_mem buffer = 0; #elif(VKFFT_BACKEND==4) void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -206,6 +219,8 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } @@ -221,38 +236,15 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F */ // Can specify buffers at launch configuration.bufferSize = bufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / 2 / sizeof(half)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, inputC, bufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, inputC, bufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / 2 / sizeof(half)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -273,6 +265,8 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F launchParams.buffer = &buffer; #elif(VKFFT_BACKEND==4) launchParams.buffer = (void**)&buffer; +#else + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -284,32 +278,9 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F #if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / 2 / sizeof(half)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, buffer, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / 2 / sizeof(half)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -377,6 +348,8 @@ VkFFTResult sample_13_precision_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, F clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_14_precision_VkFFT_single_nonPow2.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_14_precision_VkFFT_single_nonPow2.cpp index 1ead6478..91d035af 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_14_precision_VkFFT_single_nonPow2.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_14_precision_VkFFT_single_nonPow2.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -62,6 +66,7 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "14 - VkFFT/FFTW C2C radix 3/5/7/11/13/Bluestein precision test in single precision\n"); @@ -160,7 +165,11 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file //configuration.keepShaderCode = 1; //configuration.disableReorderFourStep = 1; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -173,6 +182,8 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif uint64_t numBuf = 1; @@ -197,6 +208,8 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file cl_mem buffer = 0; #elif(VKFFT_BACKEND==4) void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -218,6 +231,8 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } @@ -233,39 +248,15 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file */ // Can specify buffers at launch configuration.bufferSize = bufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftwf_complex)), &buffer[i], bufferSize[i]); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, inputC, bufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, inputC, bufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftwf_complex)), &buffer, bufferSize[i]); #endif + if (resFFT != VKFFT_SUCCESS) return resFFT; shift += bufferSize[i]; } //Initialize applications. This function loads shaders, creates pipeline and configures FFT based on configuration file. No buffer allocations inside VkFFT library. @@ -285,6 +276,8 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file launchParams.buffer = &buffer; #elif(VKFFT_BACKEND==4) launchParams.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -295,34 +288,10 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &buffer[i], sizeof(fftwf_complex) * dims[0] * dims[1] * dims[2]); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, buffer, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &buffer, sizeof(fftwf_complex) * dims[0] * dims[1] * dims[2]); #endif + if (resFFT != VKFFT_SUCCESS) return resFFT; shift += bufferSize[i]; } double avg_difference[2] = { 0,0 }; @@ -396,6 +365,8 @@ VkFFTResult sample_14_precision_VkFFT_single_nonPow2(VkGPU* vkGPU, uint64_t file clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_15_precision_VkFFT_single_r2c.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_15_precision_VkFFT_single_r2c.cpp index d10af1bc..40bf5c2c 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_15_precision_VkFFT_single_r2c.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_15_precision_VkFFT_single_r2c.cpp @@ -40,6 +40,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -63,6 +67,7 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "15 - VkFFT / FFTW R2C+C2R precision test in single precision\n"); @@ -178,7 +183,11 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out //configuration.coalescedMemory = 64; //configuration.useLUT = 1; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -191,6 +200,8 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif uint64_t numBuf = 1; @@ -228,6 +239,9 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out #elif(VKFFT_BACKEND==4) void* ibuffer = 0; void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* ibuffer = 0; + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -261,6 +275,9 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + ibuffer = vkGPU->device->newBuffer(inputBufferSize[i], MTL::ResourceStorageModePrivate); + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } configuration.inputBufferNum = numBuf; @@ -273,38 +290,15 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out configuration.inputBufferSize = inputBufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftwf_complex)), &ibuffer[i], inputBufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(ibuffer, inputC, inputBufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(ibuffer, inputC, inputBufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, ibuffer, CL_TRUE, 0, inputBufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, ibuffer, inputC, inputBufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftwf_complex)), &ibuffer, inputBufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += inputBufferSize[i]; } @@ -331,6 +325,9 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out #elif(VKFFT_BACKEND==4) launchParams.inputBuffer = (void**)&ibuffer; launchParams.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams.inputBuffer = &ibuffer; + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -350,6 +347,9 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out #elif(VKFFT_BACKEND==4) launchParams2.inputBuffer = (void**)&ibuffer; launchParams2.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams2.inputBuffer = &ibuffer; + launchParams2.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams2, 1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -363,34 +363,10 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out //resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &buffer[i], bufferSize[i]); resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &ibuffer[i], inputBufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - //res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - res = cudaMemcpy(output_VkFFT, ibuffer, inputBufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - //res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - res = hipMemcpy(output_VkFFT, ibuffer, inputBufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, ibuffer, CL_TRUE, 0, inputBufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, ibuffer, inputBufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + //resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &buffer, bufferSize[i]); + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftwf_complex)), &ibuffer, inputBufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += inputBufferSize[i]; } @@ -470,6 +446,9 @@ VkFFTResult sample_15_precision_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_out #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, ibuffer); zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + ibuffer->release(); + buffer->release(); #endif } diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_16_precision_VkFFT_single_dct.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_16_precision_VkFFT_single_dct.cpp index 3872c9e5..8eaf5736 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_16_precision_VkFFT_single_dct.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_16_precision_VkFFT_single_dct.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -62,6 +66,7 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "16 - VkFFT/FFTW R2R DCT-I, II, III and IV precision test in single precision\n"); @@ -158,7 +163,11 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out //configuration.useLUT = 1; //configuration.disableMergeSequencesR2C = 1; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -171,6 +180,8 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif uint64_t numBuf = 1; @@ -195,6 +206,8 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out cl_mem buffer = 0; #elif(VKFFT_BACKEND==4) void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -216,6 +229,8 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } @@ -231,38 +246,15 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out */ // Can specify buffers at launch configuration.bufferSize = bufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(float)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, inputC, bufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, inputC, bufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(float)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -285,6 +277,8 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } @@ -315,6 +309,8 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out launchParams.buffer = &buffer; #elif(VKFFT_BACKEND==4) launchParams.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -326,32 +322,9 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out #if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(float)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, buffer, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(float)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -402,6 +375,8 @@ VkFFTResult sample_16_precision_VkFFT_single_dct(VkGPU* vkGPU, uint64_t file_out clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_17_precision_VkFFT_double_dct.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_17_precision_VkFFT_double_dct.cpp index fbb42af5..dd683b98 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_17_precision_VkFFT_double_dct.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_17_precision_VkFFT_double_dct.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -62,6 +66,7 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "17 - VkFFT/FFTW R2R DCT-I, II, III and IV precision test in double precision\n"); @@ -156,7 +161,11 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out //configuration.useLUT = 1; //configuration.disableMergeSequencesR2C = 1; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; + #if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -169,6 +178,8 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif uint64_t numBuf = 1; @@ -192,7 +203,9 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out #elif(VKFFT_BACKEND==3) cl_mem buffer = 0; #elif(VKFFT_BACKEND==4) - void* buffer = 0; + void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -214,6 +227,8 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } @@ -229,38 +244,15 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out */ // Can specify buffers at launch configuration.bufferSize = bufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(double)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, inputC, bufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, inputC, bufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(double)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -282,22 +274,9 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out #elif(VKFFT_BACKEND==3) clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; + zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } @@ -329,6 +308,8 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out launchParams.buffer = &buffer; #elif(VKFFT_BACKEND==4) launchParams.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -340,32 +321,9 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out #if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(double)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, buffer, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(double)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -416,6 +374,8 @@ VkFFTResult sample_17_precision_VkFFT_double_dct(VkGPU* vkGPU, uint64_t file_out clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_18_precision_VkFFT_double_nonPow2.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_18_precision_VkFFT_double_nonPow2.cpp index 27c4813d..ab11954a 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_18_precision_VkFFT_double_nonPow2.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_18_precision_VkFFT_double_nonPow2.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -62,6 +66,7 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "18 - VkFFT/FFTW C2C radix 3/5/7/11/13/Bluestein precision test in double precision\n"); @@ -160,7 +165,11 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file //configuration.disableReorderFourStep = 1; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -173,6 +182,8 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif uint64_t numBuf = 1; @@ -197,6 +208,8 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file cl_mem buffer = 0; #elif(VKFFT_BACKEND==4) void* buffer = 0; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; #endif for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) @@ -218,6 +231,8 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize[i], sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + buffer = vkGPU->device->newBuffer(bufferSize[i], MTL::ResourceStorageModePrivate); #endif } @@ -233,38 +248,15 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file */ // Can specify buffers at launch configuration.bufferSize = bufferSize; - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. uint64_t shift = 0; for (uint64_t i = 0; i < numBuf; i++) { #if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftw_complex)), &buffer[i], bufferSize[i]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, inputC, bufferSize[i], cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, inputC, bufferSize[i], hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], inputC, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, inputC, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataFromCPU(vkGPU, (inputC + shift / sizeof(fftw_complex)), &buffer, bufferSize[i]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -285,6 +277,8 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file launchParams.buffer = &buffer; #elif(VKFFT_BACKEND==4) launchParams.buffer = (void**)&buffer; +#elif(VKFFT_BACKEND==5) + launchParams.buffer = &buffer; #endif resFFT = performVulkanFFT(vkGPU, &app, &launchParams, -1, num_iter); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -296,32 +290,9 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file #if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftw_complex)), &buffer[i], sizeof(fftw_complex) * dims[0] * dims[1] * dims[2]); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(output_VkFFT, buffer, bufferSize[i], cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(output_VkFFT, buffer, bufferSize[i], hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize[i], output_VkFFT, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, output_VkFFT, buffer, bufferSize[i], 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; +#else + resFFT = transferDataToCPU(vkGPU, (output_VkFFT + shift / sizeof(fftw_complex)), &buffer, sizeof(fftw_complex) * dims[0] * dims[1] * dims[2]); + if (resFFT != VKFFT_SUCCESS) return resFFT; #endif shift += bufferSize[i]; } @@ -396,6 +367,8 @@ VkFFTResult sample_18_precision_VkFFT_double_nonPow2(VkGPU* vkGPU, uint64_t file clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif } diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_1_benchmark_VkFFT_double.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_1_benchmark_VkFFT_double.cpp index 724dcea5..d23999fa 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_1_benchmark_VkFFT_double.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_1_benchmark_VkFFT_double.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_1_benchmark_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "1 - VkFFT FFT + iFFT C2C benchmark 1D batched in double precision LUT\n"); @@ -86,10 +91,16 @@ VkFFTResult sample_1_benchmark_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, configuration.doublePrecision = true; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -102,6 +113,8 @@ VkFFTResult sample_1_benchmark_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. @@ -134,6 +147,10 @@ VkFFTResult sample_1_benchmark_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -149,37 +166,9 @@ VkFFTResult sample_1_benchmark_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -271,6 +260,8 @@ VkFFTResult sample_1_benchmark_VkFFT_double(VkGPU* vkGPU, uint64_t file_output, clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_2_benchmark_VkFFT_half.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_2_benchmark_VkFFT_half.cpp index 705927da..a3bd5c0a 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_2_benchmark_VkFFT_half.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_2_benchmark_VkFFT_half.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "half.hpp" @@ -59,6 +63,7 @@ VkFFTResult sample_2_benchmark_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, FI cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "2 - VkFFT FFT + iFFT C2C benchmark 1D batched in half precision\n"); @@ -116,10 +121,16 @@ VkFFTResult sample_2_benchmark_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, FI configuration.coalescedMemory = 128; } #endif +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -132,6 +143,8 @@ VkFFTResult sample_2_benchmark_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, FI configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. @@ -164,6 +177,10 @@ VkFFTResult sample_2_benchmark_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, FI res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(half), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -179,37 +196,9 @@ VkFFTResult sample_2_benchmark_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, FI } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -296,6 +285,8 @@ VkFFTResult sample_2_benchmark_VkFFT_half(VkGPU* vkGPU, uint64_t file_output, FI clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_3_benchmark_VkFFT_single_3d.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_3_benchmark_VkFFT_single_3d.cpp index fea2cad2..4579df5a 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_3_benchmark_VkFFT_single_3d.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_3_benchmark_VkFFT_single_3d.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_3_benchmark_VkFFT_single_3d(VkGPU* vkGPU, uint64_t file_outpu cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "3 - VkFFT FFT + iFFT C2C multidimensional benchmark in single precision\n"); @@ -92,10 +97,16 @@ VkFFTResult sample_3_benchmark_VkFFT_single_3d(VkGPU* vkGPU, uint64_t file_outpu configuration.size[1] = benchmark_dimensions[n][1]; configuration.size[2] = benchmark_dimensions[n][2]; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -108,6 +119,8 @@ VkFFTResult sample_3_benchmark_VkFFT_single_3d(VkGPU* vkGPU, uint64_t file_outpu configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * configuration.size[0] * configuration.size[1] * configuration.size[2];; @@ -139,6 +152,10 @@ VkFFTResult sample_3_benchmark_VkFFT_single_3d(VkGPU* vkGPU, uint64_t file_outpu res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -154,37 +171,9 @@ VkFFTResult sample_3_benchmark_VkFFT_single_3d(VkGPU* vkGPU, uint64_t file_outpu } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -276,6 +265,8 @@ VkFFTResult sample_3_benchmark_VkFFT_single_3d(VkGPU* vkGPU, uint64_t file_outpu clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_4_benchmark_VkFFT_single_3d_zeropadding.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_4_benchmark_VkFFT_single_3d_zeropadding.cpp index 7d5421e8..f8f9277c 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_4_benchmark_VkFFT_single_3d_zeropadding.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_4_benchmark_VkFFT_single_3d_zeropadding.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_4_benchmark_VkFFT_single_3d_zeropadding(VkGPU* vkGPU, uint64_ cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "4 - VkFFT FFT + iFFT C2C multidimensional benchmark in single precision, native zeropadding\n"); @@ -103,10 +108,16 @@ VkFFTResult sample_4_benchmark_VkFFT_single_3d_zeropadding(VkGPU* vkGPU, uint64_ configuration.fft_zeropad_left[2] = (uint64_t)ceil(configuration.size[2] / 2.0); configuration.fft_zeropad_right[2] = configuration.size[2]; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -119,6 +130,8 @@ VkFFTResult sample_4_benchmark_VkFFT_single_3d_zeropadding(VkGPU* vkGPU, uint64_ configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * configuration.size[0] * configuration.size[1] * configuration.size[2];; @@ -150,6 +163,10 @@ VkFFTResult sample_4_benchmark_VkFFT_single_3d_zeropadding(VkGPU* vkGPU, uint64_ res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -165,37 +182,9 @@ VkFFTResult sample_4_benchmark_VkFFT_single_3d_zeropadding(VkGPU* vkGPU, uint64_ } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -286,6 +275,8 @@ VkFFTResult sample_4_benchmark_VkFFT_single_3d_zeropadding(VkGPU* vkGPU, uint64_ clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_50_convolution_VkFFT_single_1d_matrix.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_50_convolution_VkFFT_single_1d_matrix.cpp index 8aea3c36..b53b7432 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_50_convolution_VkFFT_single_1d_matrix.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_50_convolution_VkFFT_single_1d_matrix.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "50 - VkFFT convolution example with identitiy kernel\n"); @@ -80,7 +85,11 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t configuration.normalize = 1;//normalize iFFT //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -93,6 +102,8 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //In this example, we perform a convolution for a real vectorfield (3vector) with a symmetric kernel (6 values). We use configuration to initialize convolution kernel first from real data, then we create convolution_configuration for convolution. The buffer object from configuration is passed to convolution_configuration as kernel object. //1. Kernel forward FFT. @@ -126,6 +137,10 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t res = zeMemAllocDevice(vkGPU->context, &device_desc, kernelSize, sizeof(float), vkGPU->device, &kernel); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &kernel; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* kernel = 0; + kernel = vkGPU->device->newBuffer(kernelSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &kernel; #endif configuration.bufferSize = &kernelSize; @@ -157,38 +172,9 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t } } } - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. resFFT = transferDataFromCPU(vkGPU, kernel_input, &kernel, kernelSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(kernel, kernel_input, kernelSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(kernel, kernel_input, kernelSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, kernel, CL_TRUE, 0, kernelSize, kernel_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, kernel, kernel_input, kernelSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif - //Initialize application responsible for the kernel. This function loads shaders, creates pipeline and configures FFT based on configuration file. No buffer allocations inside VkFFT library. resFFT = initializeVkFFT(&app_kernel, configuration); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -219,6 +205,8 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t convolution_configuration.kernel = &kernel; #elif(VKFFT_BACKEND==4) convolution_configuration.kernel = (void**)&kernel; +#elif(VKFFT_BACKEND==5) + convolution_configuration.kernel = &kernel; #endif //Allocate separate buffer for the input data. @@ -249,6 +237,10 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif convolution_configuration.bufferSize = &bufferSize; @@ -271,29 +263,9 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t } } //Transfer data to GPU using staging buffer. -#if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - res = zeCommandListReset(copyCommandList); - if (res != ZE_RESULT_SUCCESS)return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif - + //Initialize application responsible for the convolution. resFFT = initializeVkFFT(&app_convolution, convolution_configuration); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -306,28 +278,8 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t float* buffer_output = (float*)malloc(bufferSize); if (!buffer_output) return VKFFT_ERROR_MALLOC_FAILED; //Transfer data from GPU using staging buffer. -#if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, buffer_output, &buffer, bufferSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer_output, buffer, bufferSize, cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer_output, buffer, bufferSize, hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_output, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - res = zeCommandListReset(copyCommandList); - if (res != ZE_RESULT_SUCCESS)return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer_output, buffer, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif //Print data, if needed. for (uint64_t v = 0; v < convolution_configuration.coordinateFeatures; v++) { if (file_output) @@ -364,6 +316,9 @@ VkFFTResult sample_50_convolution_VkFFT_single_1d_matrix(VkGPU* vkGPU, uint64_t #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); zeMemFree(vkGPU->context, kernel); +#elif(VKFFT_BACKEND==5) + buffer->release(); + kernel->release(); #endif deleteVkFFT(&app_kernel); deleteVkFFT(&app_convolution); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c.cpp index 8ce3ce17..7eae7ddf 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "51 - VkFFT zeropadding convolution example with identitiy kernel\n"); @@ -89,7 +94,11 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* //coordinateFeatures number is an important constant for convolution. If we perform 1x1 convolution, it is equal to number of features, but matrixConvolution should be equal to 1. For matrix convolution, it must be equal to matrixConvolution parameter. If we perform 2x2 convolution, it is equal to 3 for symmetric kernel (stored as xx, xy, yy) and 4 for nonsymmetric (stored as xx, xy, yx, yy). Similarly, 6 (stored as xx, xy, xz, yy, yz, zz) and 9 (stored as xx, xy, xz, yx, yy, yz, zx, zy, zz) for 3x3 convolutions. //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -102,6 +111,8 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //In this example, we perform a convolution for a real vectorfield (3vector) with a symmetric kernel (6 values). We use configuration to initialize convolution kernel first from real data, then we create convolution_configuration for convolution. The buffer object from configuration is passed to convolution_configuration as kernel object. //1. Kernel forward FFT. @@ -134,6 +145,10 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* res = zeMemAllocDevice(vkGPU->context, &device_desc, kernelSize, sizeof(float), vkGPU->device, &kernel); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &kernel; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* kernel = 0; + kernel = vkGPU->device->newBuffer(kernelSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &kernel; #endif configuration.bufferSize = &kernelSize; @@ -166,37 +181,9 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* } } } - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. resFFT = transferDataFromCPU(vkGPU, kernel_input, &kernel, kernelSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(kernel, kernel_input, kernelSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(kernel, kernel_input, kernelSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, kernel, CL_TRUE, 0, kernelSize, kernel_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, kernel, kernel_input, kernelSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif //Initialize application responsible for the kernel. This function loads shaders, creates pipeline and configures FFT based on configuration file. No buffer allocations inside VkFFT library. resFFT = initializeVkFFT(&app_kernel, configuration); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -231,6 +218,8 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* convolution_configuration.kernel = &kernel; #elif(VKFFT_BACKEND==4) convolution_configuration.kernel = (void**)&kernel; +#elif(VKFFT_BACKEND==5) + convolution_configuration.kernel = &kernel; #endif //Allocate separate buffer for the input data. @@ -262,6 +251,10 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif convolution_configuration.bufferSize = &bufferSize; @@ -283,29 +276,9 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* } } //Transfer data to GPU using staging buffer. -#if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - res = zeCommandListReset(copyCommandList); - if (res != ZE_RESULT_SUCCESS)return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif - //Initialize application responsible for the convolution. + if (resFFT != VKFFT_SUCCESS) return resFFT; //Initialize application responsible for the convolution. + resFFT = initializeVkFFT(&app_convolution, convolution_configuration); if (resFFT != VKFFT_SUCCESS) return resFFT; //Sample forward FFT command buffer allocation + execution performed on kernel. FFT can also be appended to user defined command buffers. @@ -317,28 +290,8 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* float* buffer_output = (float*)malloc(bufferSize); if (!buffer_output) return VKFFT_ERROR_MALLOC_FAILED; //Transfer data from GPU using staging buffer. -#if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, buffer_output, &buffer, bufferSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer_output, buffer, bufferSize, cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer_output, buffer, bufferSize, hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_output, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - res = zeCommandListReset(copyCommandList); - if (res != ZE_RESULT_SUCCESS)return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer_output, buffer, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif //Print data, if needed. for (uint64_t v = 0; v < convolution_configuration.coordinateFeatures; v++) { @@ -376,6 +329,9 @@ VkFFTResult sample_51_convolution_VkFFT_single_3d_matrix_zeropadding_r2c(VkGPU* #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); zeMemFree(vkGPU->context, kernel); +#elif(VKFFT_BACKEND==5) + buffer->release(); + kernel->release(); #endif deleteVkFFT(&app_kernel); deleteVkFFT(&app_convolution); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_52_convolution_VkFFT_single_2d_batched_r2c.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_52_convolution_VkFFT_single_2d_batched_r2c.cpp index fa168ef3..a6a21656 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_52_convolution_VkFFT_single_2d_batched_r2c.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_52_convolution_VkFFT_single_2d_batched_r2c.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "52 - VkFFT batched convolution example with identitiy kernel\n"); @@ -81,7 +86,11 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint configuration.numberBatches = 2; //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -94,6 +103,8 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //In this example, we perform a convolution for a real vectorfield (3vector) with a symmetric kernel (6 values). We use configuration to initialize convolution kernel first from real data, then we create convolution_configuration for convolution. The buffer object from configuration is passed to convolution_configuration as kernel object. //1. Kernel forward FFT. @@ -127,6 +138,10 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint res = zeMemAllocDevice(vkGPU->context, &device_desc, kernelSize, sizeof(float), vkGPU->device, &kernel); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &kernel; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* kernel = 0; + kernel = vkGPU->device->newBuffer(kernelSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &kernel; #endif configuration.bufferSize = &kernelSize; @@ -154,37 +169,9 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint } } } - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. resFFT = transferDataFromCPU(vkGPU, kernel_input, &kernel, kernelSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(kernel, kernel_input, kernelSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(kernel, kernel_input, kernelSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, kernel, CL_TRUE, 0, kernelSize, kernel_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, kernel, kernel_input, kernelSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif //Initialize application responsible for the kernel. This function loads shaders, creates pipeline and configures FFT based on configuration file. No buffer allocations inside VkFFT library. resFFT = initializeVkFFT(&app_kernel, configuration); if (resFFT != VKFFT_SUCCESS) return resFFT; @@ -213,6 +200,8 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint convolution_configuration.kernel = &kernel; #elif(VKFFT_BACKEND==4) convolution_configuration.kernel = (void**)&kernel; +#elif(VKFFT_BACKEND==5) + convolution_configuration.kernel = &kernel; #endif convolution_configuration.kernelSize = &kernelSize; @@ -269,7 +258,14 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; convolution_configuration.inputBuffer = &inputBuffer; - configuration.buffer = &buffer; + convolution_configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* inputBuffer = 0; + MTL::Buffer* buffer = 0; + inputBuffer = vkGPU->device->newBuffer(inputBufferSize, MTL::ResourceStorageModePrivate); + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + convolution_configuration.inputBuffer = &inputBuffer; + convolution_configuration.buffer = &buffer; #endif convolution_configuration.inputBufferSize = &inputBufferSize; @@ -292,28 +288,8 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint } } //Transfer data to GPU using staging buffer. -#if(VKFFT_BACKEND==0) resFFT = transferDataFromCPU(vkGPU, buffer_input, &inputBuffer, inputBufferSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(inputBuffer, buffer_input, inputBufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(inputBuffer, buffer_input, inputBufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, inputBuffer, CL_TRUE, 0, inputBufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - res = zeCommandListReset(copyCommandList); - if (res != ZE_RESULT_SUCCESS)return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, inputBuffer, buffer_input, inputBufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif //Initialize application responsible for the convolution. resFFT = initializeVkFFT(&app_convolution, convolution_configuration); @@ -327,29 +303,9 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint float* buffer_output = (float*)malloc(bufferSize); if (!buffer_output) return VKFFT_ERROR_MALLOC_FAILED; //Transfer data from GPU using staging buffer. -#if(VKFFT_BACKEND==0) resFFT = transferDataToCPU(vkGPU, buffer_output, &buffer, bufferSize); if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer_output, buffer, bufferSize, cudaMemcpyDeviceToHost); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer_output, buffer, bufferSize, hipMemcpyDeviceToHost); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueReadBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_output, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - res = zeCommandListReset(copyCommandList); - if (res != ZE_RESULT_SUCCESS)return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer_output, buffer, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif - + //Print data, if needed. for (uint64_t f = 0; f < convolution_configuration.numberKernels; f++) { if (file_output) @@ -398,6 +354,10 @@ VkFFTResult sample_52_convolution_VkFFT_single_2d_batched_r2c(VkGPU* vkGPU, uint zeMemFree(vkGPU->context, inputBuffer); zeMemFree(vkGPU->context, buffer); zeMemFree(vkGPU->context, kernel); +#elif(VKFFT_BACKEND==5) + inputBuffer->release(); + buffer->release(); + kernel->release(); #endif deleteVkFFT(&app_kernel); deleteVkFFT(&app_convolution); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_5_benchmark_VkFFT_single_disableReorderFourStep.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_5_benchmark_VkFFT_single_disableReorderFourStep.cpp index 931f9996..da819651 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_5_benchmark_VkFFT_single_disableReorderFourStep.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_5_benchmark_VkFFT_single_disableReorderFourStep.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_5_benchmark_VkFFT_single_disableReorderFourStep(VkGPU* vkGPU, cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "5 - VkFFT FFT + iFFT C2C benchmark 1D batched in single precision, no reshuffling\n"); @@ -85,10 +90,16 @@ VkFFTResult sample_5_benchmark_VkFFT_single_disableReorderFourStep(VkGPU* vkGPU, configuration.disableReorderFourStep = true; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -101,6 +112,8 @@ VkFFTResult sample_5_benchmark_VkFFT_single_disableReorderFourStep(VkGPU* vkGPU, configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * configuration.size[0] * configuration.numberBatches; @@ -132,6 +145,10 @@ VkFFTResult sample_5_benchmark_VkFFT_single_disableReorderFourStep(VkGPU* vkGPU, res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -149,37 +166,9 @@ VkFFTResult sample_5_benchmark_VkFFT_single_disableReorderFourStep(VkGPU* vkGPU, } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -271,6 +260,8 @@ VkFFTResult sample_5_benchmark_VkFFT_single_disableReorderFourStep(VkGPU* vkGPU, clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_6_benchmark_VkFFT_single_r2c.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_6_benchmark_VkFFT_single_r2c.cpp index 1196d3c0..4afbeafe 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_6_benchmark_VkFFT_single_r2c.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_6_benchmark_VkFFT_single_r2c.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_6_benchmark_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_outp cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "6 - VkFFT FFT + iFFT R2C/C2R benchmark\n"); @@ -87,10 +92,16 @@ VkFFTResult sample_6_benchmark_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_outp configuration.performR2C = true; //Perform R2C/C2R transform. Can be combined with all other options. Reduces memory requirements by a factor of 2. Requires special input data alignment: for x*y*z system pad x*y plane to (x+2)*y with last 2*y elements reserved, total array dimensions are (x*y+2y)*z. Memory layout after R2C and before C2R can be found on github. //configuration.disableMergeSequencesR2C = 1; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -103,6 +114,8 @@ VkFFTResult sample_6_benchmark_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_outp configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif @@ -136,6 +149,10 @@ VkFFTResult sample_6_benchmark_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_outp res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -150,37 +167,9 @@ VkFFTResult sample_6_benchmark_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_outp } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; if (configuration.loadApplicationFromString) { FILE* kernelCache; uint64_t str_len; @@ -286,6 +275,8 @@ VkFFTResult sample_6_benchmark_VkFFT_single_r2c(VkGPU* vkGPU, uint64_t file_outp clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_7_benchmark_VkFFT_single_Bluestein.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_7_benchmark_VkFFT_single_Bluestein.cpp index 4f7eb28f..bb894650 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_7_benchmark_VkFFT_single_Bluestein.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_7_benchmark_VkFFT_single_Bluestein.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_7_benchmark_VkFFT_single_Bluestein(VkGPU* vkGPU, uint64_t fil cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "7 - VkFFT FFT + iFFT C2C Bluestein benchmark in single precision\n"); @@ -87,10 +92,16 @@ VkFFTResult sample_7_benchmark_VkFFT_single_Bluestein(VkGPU* vkGPU, uint64_t fil configuration.size[0] = benchmark_dimensions[n][0]; //Multidimensional FFT dimensions sizes (default 1). For best performance (and stability), order dimensions in descendant size order as: x>y>z. configuration.size[1] = benchmark_dimensions[n][1]; configuration.size[2] = benchmark_dimensions[n][2]; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -103,6 +114,8 @@ VkFFTResult sample_7_benchmark_VkFFT_single_Bluestein(VkGPU* vkGPU, uint64_t fil configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * configuration.size[0] * configuration.size[1] * configuration.size[2]; @@ -134,6 +147,10 @@ VkFFTResult sample_7_benchmark_VkFFT_single_Bluestein(VkGPU* vkGPU, uint64_t fil res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -149,37 +166,9 @@ VkFFTResult sample_7_benchmark_VkFFT_single_Bluestein(VkGPU* vkGPU, uint64_t fil } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -271,6 +260,8 @@ VkFFTResult sample_7_benchmark_VkFFT_single_Bluestein(VkGPU* vkGPU, uint64_t fil clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/sample_8_benchmark_VkFFT_double_Bluestein.cpp b/benchmark_scripts/vkFFT_scripts/src/sample_8_benchmark_VkFFT_double_Bluestein.cpp index 6e21155c..bd038a12 100644 --- a/benchmark_scripts/vkFFT_scripts/src/sample_8_benchmark_VkFFT_double_Bluestein.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/sample_8_benchmark_VkFFT_double_Bluestein.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -56,6 +60,7 @@ VkFFTResult sample_8_benchmark_VkFFT_double_Bluestein(VkGPU* vkGPU, uint64_t fil cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif if (file_output) fprintf(output, "8 - VkFFT FFT + iFFT C2C Bluestein benchmark in double precision\n"); @@ -88,10 +93,16 @@ VkFFTResult sample_8_benchmark_VkFFT_double_Bluestein(VkGPU* vkGPU, uint64_t fil configuration.size[1] = benchmark_dimensions[n][1]; configuration.size[2] = benchmark_dimensions[n][2]; configuration.doublePrecision = 1; +#if(VKFFT_BACKEND!=5) if (r==0) configuration.saveApplicationToString = 1; if (r!=0) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -104,6 +115,8 @@ VkFFTResult sample_8_benchmark_VkFFT_double_Bluestein(VkGPU* vkGPU, uint64_t fil configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. uint64_t bufferSize = (uint64_t)sizeof(double) * 2 * configuration.size[0] * configuration.size[1] * configuration.size[2];; @@ -135,6 +148,10 @@ VkFFTResult sample_8_benchmark_VkFFT_double_Bluestein(VkGPU* vkGPU, uint64_t fil res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; @@ -150,37 +167,9 @@ VkFFTResult sample_8_benchmark_VkFFT_double_Bluestein(VkGPU* vkGPU, uint64_t fil } } */ - //Sample buffer transfer tool. Uses staging buffer of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. -#if(VKFFT_BACKEND==0) - resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; -#elif(VKFFT_BACKEND==1) - res = cudaMemcpy(buffer, buffer_input, bufferSize, cudaMemcpyHostToDevice); - if (res != cudaSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==2) - res = hipMemcpy(buffer, buffer_input, bufferSize, hipMemcpyHostToDevice); - if (res != hipSuccess) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==3) - res = clEnqueueWriteBuffer(vkGPU->commandQueue, buffer, CL_TRUE, 0, bufferSize, buffer_input, 0, NULL, NULL); - if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; -#elif(VKFFT_BACKEND==4) - ze_command_queue_desc_t commandQueueCopyDesc = { - ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, - 0, - vkGPU->commandQueueID, - 0, // index - 0, // flags - ZE_COMMAND_QUEUE_MODE_DEFAULT, - ZE_COMMAND_QUEUE_PRIORITY_NORMAL - }; - ze_command_list_handle_t copyCommandList; - res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, buffer_input, bufferSize, 0, 0, 0); - if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_COPY; - res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); - if (res != 0) return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; -#endif + //Sample buffer transfer tool. Uses staging buffer (if needed) of the same size as destination buffer, which can be reduced if transfer is done sequentially in small buffers. + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; //free(buffer_input); if (configuration.loadApplicationFromString) { @@ -272,6 +261,8 @@ VkFFTResult sample_8_benchmark_VkFFT_double_Bluestein(VkGPU* vkGPU, uint64_t fil clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); diff --git a/benchmark_scripts/vkFFT_scripts/src/user_benchmark_VkFFT.cpp b/benchmark_scripts/vkFFT_scripts/src/user_benchmark_VkFFT.cpp index 06822677..f6a18089 100644 --- a/benchmark_scripts/vkFFT_scripts/src/user_benchmark_VkFFT.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/user_benchmark_VkFFT.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -57,6 +61,7 @@ VkFFTResult user_benchmark_VkFFT(VkGPU* vkGPU, uint64_t file_output, FILE* outpu cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif const int num_runs = 3; double benchmark_result = 0;//averaged result = sum(system_size/iteration_time)/num_benchmark_samples @@ -76,6 +81,24 @@ VkFFTResult user_benchmark_VkFFT(VkGPU* vkGPU, uint64_t file_output, FILE* outpu storageComplexSize = (2 * sizeof(float)); break; } + uint64_t bufferSize = 0; + if (userParams->R2C) { + bufferSize = (uint64_t)(storageComplexSize / 2) * (userParams->X + 2) * userParams->Y * userParams->Z * userParams->B; + } + else { + if (userParams->DCT) { + bufferSize = (uint64_t)(storageComplexSize / 2) * userParams->X * userParams->Y * userParams->Z * userParams->B; + } + else { + bufferSize = (uint64_t)storageComplexSize * userParams->X * userParams->Y * userParams->Z * userParams->B; + } + } + + float* buffer_input = (float*)malloc(bufferSize); + if (!buffer_input) return VKFFT_ERROR_MALLOC_FAILED; + for (uint64_t i = 0; i < bufferSize/sizeof(float); i++) { + buffer_input[i] = (float)(2 * ((float)rand()) / RAND_MAX - 1.0); + } for (uint64_t n = 0; n < 2; n++) { double run_time[num_runs]; for (uint64_t r = 0; r < num_runs; r++) { @@ -97,10 +120,16 @@ VkFFTResult user_benchmark_VkFFT(VkGPU* vkGPU, uint64_t file_output, FILE* outpu configuration.performDCT = userParams->DCT; if (userParams->P == 1) configuration.doublePrecision = 1; if (userParams->P == 2) configuration.halfPrecision = 1; +#if(VKFFT_BACKEND!=5) if (userParams->saveApplicationToString && (n==0) && (r==0)) configuration.saveApplicationToString = 1; if (userParams->loadApplicationFromString || (userParams->saveApplicationToString && ((n != 0) || (r != 0)))) configuration.loadApplicationFromString = 1; +#endif //After this, configuration file contains pointers to Vulkan objects needed to work with the GPU: VkDevice* device - created device, [uint64_t *bufferSize, VkBuffer *buffer, VkDeviceMemory* bufferDeviceMemory] - allocated GPU memory FFT is performed on. [uint64_t *kernelSize, VkBuffer *kernel, VkDeviceMemory* kernelDeviceMemory] - allocated GPU memory, where kernel for convolution is stored. - configuration.device = &vkGPU->device; +#if(VKFFT_BACKEND==5) + configuration.device = vkGPU->device; +#else + configuration.device = &vkGPU->device; +#endif #if(VKFFT_BACKEND==0) configuration.queue = &vkGPU->queue; //to allocate memory for LUT, we have to pass a queue, vkGPU->fence, commandPool and physicalDevice pointers configuration.fence = &vkGPU->fence; @@ -113,20 +142,10 @@ VkFFTResult user_benchmark_VkFFT(VkGPU* vkGPU, uint64_t file_output, FILE* outpu configuration.context = &vkGPU->context; configuration.commandQueue = &vkGPU->commandQueue; configuration.commandQueueID = vkGPU->commandQueueID; +#elif(VKFFT_BACKEND==5) + configuration.queue = vkGPU->queue; #endif //Allocate buffer for the input data. - uint64_t bufferSize = 0; - if (userParams->R2C) { - bufferSize = (uint64_t)(storageComplexSize / 2) * (configuration.size[0] + 2) * configuration.size[1] * configuration.size[2] * configuration.numberBatches; - } - else { - if (userParams->DCT) { - bufferSize = (uint64_t)(storageComplexSize / 2) * configuration.size[0] * configuration.size[1] * configuration.size[2] * configuration.numberBatches; - } - else { - bufferSize = (uint64_t)storageComplexSize * configuration.size[0] * configuration.size[1] * configuration.size[2] * configuration.numberBatches; - } - } #if(VKFFT_BACKEND==0) VkBuffer buffer = {}; VkDeviceMemory bufferDeviceMemory = {}; @@ -155,9 +174,17 @@ VkFFTResult user_benchmark_VkFFT(VkGPU* vkGPU, uint64_t file_output, FILE* outpu res = zeMemAllocDevice(vkGPU->context, &device_desc, bufferSize, sizeof(float), vkGPU->device, &buffer); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; configuration.buffer = &buffer; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* buffer = 0; + buffer = vkGPU->device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + configuration.buffer = &buffer; #endif configuration.bufferSize = &bufferSize; + + resFFT = transferDataFromCPU(vkGPU, buffer_input, &buffer, bufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; + if (configuration.loadApplicationFromString) { FILE* kernelCache; uint64_t str_len; @@ -235,11 +262,14 @@ VkFFTResult user_benchmark_VkFFT(VkGPU* vkGPU, uint64_t file_output, FILE* outpu clReleaseMemObject(buffer); #elif(VKFFT_BACKEND==4) zeMemFree(vkGPU->context, buffer); +#elif(VKFFT_BACKEND==5) + buffer->release(); #endif deleteVkFFT(&app); } } + free(buffer_input); return resFFT; } diff --git a/benchmark_scripts/vkFFT_scripts/src/utils_VkFFT.cpp b/benchmark_scripts/vkFFT_scripts/src/utils_VkFFT.cpp index 930e1d68..ee6763cb 100644 --- a/benchmark_scripts/vkFFT_scripts/src/utils_VkFFT.cpp +++ b/benchmark_scripts/vkFFT_scripts/src/utils_VkFFT.cpp @@ -39,6 +39,10 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #include "vkFFT.h" #include "utils_VkFFT.h" @@ -221,7 +225,7 @@ VkResult getComputeQueueFamilyIndex(VkGPU* vkGPU) { return VK_ERROR_INITIALIZATION_FAILED; } vkGPU->queueFamilyIndex = i; - return VK_SUCCESS; + return VK_SUCCESS; } else return VK_INCOMPLETE; @@ -352,20 +356,18 @@ VkFFTResult allocateBuffer(VkGPU* vkGPU, VkBuffer* buffer, VkDeviceMemory* devic if (res != VK_SUCCESS) return VKFFT_ERROR_FAILED_TO_BIND_BUFFER_MEMORY; return resFFT; } -VkFFTResult transferDataFromCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_t bufferSize) { - //a function that transfers data from the CPU to the GPU using staging buffer, because the GPU memory is not host-coherent +#endif +VkFFTResult transferDataToCPU(VkGPU* vkGPU, void* cpu_arr, void* output_buffer, uint64_t transferSize) { + //a function that transfers data from the GPU to the CPU using staging buffer, because the GPU memory is not host-coherent VkFFTResult resFFT = VKFFT_SUCCESS; +#if(VKFFT_BACKEND==0) VkResult res = VK_SUCCESS; - uint64_t stagingBufferSize = bufferSize; + VkBuffer* buffer = (VkBuffer*)output_buffer; + uint64_t stagingBufferSize = transferSize; VkBuffer stagingBuffer = { 0 }; VkDeviceMemory stagingBufferMemory = { 0 }; - resFFT = allocateBuffer(vkGPU, &stagingBuffer, &stagingBufferMemory, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, stagingBufferSize); - if (resFFT != VKFFT_SUCCESS) return resFFT; - void* data; - res = vkMapMemory(vkGPU->device, stagingBufferMemory, 0, stagingBufferSize, 0, &data); + resFFT = allocateBuffer(vkGPU, &stagingBuffer, &stagingBufferMemory, VK_BUFFER_USAGE_TRANSFER_DST_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, stagingBufferSize); if (resFFT != VKFFT_SUCCESS) return resFFT; - memcpy(data, arr, stagingBufferSize); - vkUnmapMemory(vkGPU->device, stagingBufferMemory); VkCommandBufferAllocateInfo commandBufferAllocateInfo = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO }; commandBufferAllocateInfo.commandPool = vkGPU->commandPool; commandBufferAllocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; @@ -381,7 +383,7 @@ VkFFTResult transferDataFromCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint6 copyRegion.srcOffset = 0; copyRegion.dstOffset = 0; copyRegion.size = stagingBufferSize; - vkCmdCopyBuffer(commandBuffer, stagingBuffer, buffer[0], 1, ©Region); + vkCmdCopyBuffer(commandBuffer, buffer[0], stagingBuffer, 1, ©Region); res = vkEndCommandBuffer(commandBuffer); if (res != VK_SUCCESS) return VKFFT_ERROR_FAILED_TO_END_COMMAND_BUFFER; VkSubmitInfo submitInfo = { VK_STRUCTURE_TYPE_SUBMIT_INFO }; @@ -394,19 +396,96 @@ VkFFTResult transferDataFromCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint6 res = vkResetFences(vkGPU->device, 1, &vkGPU->fence); if (res != VK_SUCCESS) return VKFFT_ERROR_FAILED_TO_RESET_FENCES; vkFreeCommandBuffers(vkGPU->device, vkGPU->commandPool, 1, &commandBuffer); + void* data; + res = vkMapMemory(vkGPU->device, stagingBufferMemory, 0, stagingBufferSize, 0, &data); + if (resFFT != VKFFT_SUCCESS) return resFFT; + memcpy(cpu_arr, data, stagingBufferSize); + vkUnmapMemory(vkGPU->device, stagingBufferMemory); vkDestroyBuffer(vkGPU->device, stagingBuffer, NULL); vkFreeMemory(vkGPU->device, stagingBufferMemory, NULL); +#elif(VKFFT_BACKEND==1) + cudaError_t res = cudaSuccess; + void* buffer = ((void**)output_buffer)[0]; + res = cudaMemcpy(cpu_arr, buffer, transferSize, cudaMemcpyDeviceToHost); + if (res != cudaSuccess) { + return VKFFT_ERROR_FAILED_TO_COPY; + } +#elif(VKFFT_BACKEND==2) + hipError_t res = hipSuccess; + void* buffer = ((void**)output_buffer)[0]; + res = hipMemcpy(cpu_arr, buffer, transferSize, hipMemcpyDeviceToHost); + if (res != hipSuccess) { + return VKFFT_ERROR_FAILED_TO_COPY; + } +#elif(VKFFT_BACKEND==3) + cl_int res = CL_SUCCESS; + cl_mem* buffer = (cl_mem*)output_buffer; + cl_command_queue commandQueue = clCreateCommandQueue(vkGPU->context, vkGPU->device, 0, &res); + if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_QUEUE; + res = clEnqueueReadBuffer(commandQueue, buffer[0], CL_TRUE, 0, transferSize, cpu_arr, 0, NULL, NULL); + if (res != CL_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_COPY; + } + res = clReleaseCommandQueue(commandQueue); + if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_RELEASE_COMMAND_QUEUE; +#elif(VKFFT_BACKEND==4) + ze_result_t res = ZE_RESULT_SUCCESS; + void* buffer = ((void**)output_buffer)[0]; + ze_command_queue_desc_t commandQueueCopyDesc = { + ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, + 0, + vkGPU->commandQueueID, + 0, // index + 0, // flags + ZE_COMMAND_QUEUE_MODE_DEFAULT, + ZE_COMMAND_QUEUE_PRIORITY_NORMAL + }; + ze_command_list_handle_t copyCommandList; + res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); + if (res != ZE_RESULT_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + } + res = zeCommandListAppendMemoryCopy(copyCommandList, cpu_arr, buffer, transferSize, 0, 0, 0); + if (res != ZE_RESULT_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_COPY; + } + res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); + if (res != ZE_RESULT_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; + } +#elif(VKFFT_BACKEND==5) + MTL::Buffer* stagingBuffer = vkGPU->device->newBuffer(transferSize, MTL::ResourceStorageModeShared); + MTL::CommandBuffer* copyCommandBuffer = vkGPU->queue->commandBuffer(); + if (copyCommandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::BlitCommandEncoder* blitCommandEncoder = copyCommandBuffer->blitCommandEncoder(); + if (blitCommandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::Buffer* buffer = ((MTL::Buffer**)output_buffer)[0]; + blitCommandEncoder->copyFromBuffer((MTL::Buffer*)buffer, 0, (MTL::Buffer*)stagingBuffer, 0, transferSize); + blitCommandEncoder->endEncoding(); + copyCommandBuffer->commit(); + copyCommandBuffer->waitUntilCompleted(); + blitCommandEncoder->release(); + copyCommandBuffer->release(); + memcpy(cpu_arr, stagingBuffer->contents(), transferSize); + stagingBuffer->release(); +#endif return resFFT; } -VkFFTResult transferDataToCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_t bufferSize) { - //a function that transfers data from the GPU to the CPU using staging buffer, because the GPU memory is not host-coherent +VkFFTResult transferDataFromCPU(VkGPU* vkGPU, void* cpu_arr, void* input_buffer, uint64_t transferSize) { VkFFTResult resFFT = VKFFT_SUCCESS; +#if(VKFFT_BACKEND==0) VkResult res = VK_SUCCESS; - uint64_t stagingBufferSize = bufferSize; + VkBuffer* buffer = (VkBuffer*)input_buffer; + uint64_t stagingBufferSize = transferSize; VkBuffer stagingBuffer = { 0 }; VkDeviceMemory stagingBufferMemory = { 0 }; - resFFT = allocateBuffer(vkGPU, &stagingBuffer, &stagingBufferMemory, VK_BUFFER_USAGE_TRANSFER_DST_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, stagingBufferSize); + resFFT = allocateBuffer(vkGPU, &stagingBuffer, &stagingBufferMemory, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, stagingBufferSize); + if (resFFT != VKFFT_SUCCESS) return resFFT; + void* data; + res = vkMapMemory(vkGPU->device, stagingBufferMemory, 0, stagingBufferSize, 0, &data); if (resFFT != VKFFT_SUCCESS) return resFFT; + memcpy(data, cpu_arr, stagingBufferSize); + vkUnmapMemory(vkGPU->device, stagingBufferMemory); VkCommandBufferAllocateInfo commandBufferAllocateInfo = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO }; commandBufferAllocateInfo.commandPool = vkGPU->commandPool; commandBufferAllocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; @@ -422,7 +501,7 @@ VkFFTResult transferDataToCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_ copyRegion.srcOffset = 0; copyRegion.dstOffset = 0; copyRegion.size = stagingBufferSize; - vkCmdCopyBuffer(commandBuffer, buffer[0], stagingBuffer, 1, ©Region); + vkCmdCopyBuffer(commandBuffer, stagingBuffer, buffer[0], 1, ©Region); res = vkEndCommandBuffer(commandBuffer); if (res != VK_SUCCESS) return VKFFT_ERROR_FAILED_TO_END_COMMAND_BUFFER; VkSubmitInfo submitInfo = { VK_STRUCTURE_TYPE_SUBMIT_INFO }; @@ -435,16 +514,76 @@ VkFFTResult transferDataToCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_ res = vkResetFences(vkGPU->device, 1, &vkGPU->fence); if (res != VK_SUCCESS) return VKFFT_ERROR_FAILED_TO_RESET_FENCES; vkFreeCommandBuffers(vkGPU->device, vkGPU->commandPool, 1, &commandBuffer); - void* data; - res = vkMapMemory(vkGPU->device, stagingBufferMemory, 0, stagingBufferSize, 0, &data); - if (resFFT != VKFFT_SUCCESS) return resFFT; - memcpy(arr, data, stagingBufferSize); - vkUnmapMemory(vkGPU->device, stagingBufferMemory); vkDestroyBuffer(vkGPU->device, stagingBuffer, NULL); vkFreeMemory(vkGPU->device, stagingBufferMemory, NULL); return resFFT; -} +#elif(VKFFT_BACKEND==1) + cudaError_t res = cudaSuccess; + void* buffer = ((void**)input_buffer)[0]; + res = cudaMemcpy(buffer, cpu_arr, transferSize, cudaMemcpyHostToDevice); + if (res != cudaSuccess) { + return VKFFT_ERROR_FAILED_TO_COPY; + } +#elif(VKFFT_BACKEND==2) + hipError_t res = hipSuccess; + void* buffer = ((void**)input_buffer)[0]; + res = hipMemcpy(buffer, cpu_arr, transferSize, hipMemcpyHostToDevice); + if (res != hipSuccess) { + return VKFFT_ERROR_FAILED_TO_COPY; + } +#elif(VKFFT_BACKEND==3) + cl_int res = CL_SUCCESS; + cl_mem* buffer = (cl_mem*)input_buffer; + cl_command_queue commandQueue = clCreateCommandQueue(vkGPU->context, vkGPU->device, 0, &res); + if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_QUEUE; + res = clEnqueueWriteBuffer(commandQueue, buffer[0], CL_TRUE, 0, transferSize, cpu_arr, 0, NULL, NULL); + if (res != CL_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_COPY; + } + res = clReleaseCommandQueue(commandQueue); + if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_RELEASE_COMMAND_QUEUE; +#elif(VKFFT_BACKEND==4) + ze_result_t res = ZE_RESULT_SUCCESS; + void* buffer = ((void**)input_buffer)[0]; + ze_command_queue_desc_t commandQueueCopyDesc = { + ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, + 0, + vkGPU->commandQueueID, + 0, // index + 0, // flags + ZE_COMMAND_QUEUE_MODE_DEFAULT, + ZE_COMMAND_QUEUE_PRIORITY_NORMAL + }; + ze_command_list_handle_t copyCommandList; + res = zeCommandListCreateImmediate(vkGPU->context, vkGPU->device, &commandQueueCopyDesc, ©CommandList); + if (res != ZE_RESULT_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + } + res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, cpu_arr, transferSize, 0, 0, 0); + if (res != ZE_RESULT_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_COPY; + } + res = zeCommandQueueSynchronize(vkGPU->commandQueue, UINT32_MAX); + if (res != ZE_RESULT_SUCCESS) { + return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; + } +#elif(VKFFT_BACKEND==5) + MTL::Buffer* stagingBuffer = vkGPU->device->newBuffer(cpu_arr, transferSize, MTL::ResourceStorageModeShared); + MTL::CommandBuffer* copyCommandBuffer = vkGPU->queue->commandBuffer(); + if (copyCommandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::BlitCommandEncoder* blitCommandEncoder = copyCommandBuffer->blitCommandEncoder(); + if (blitCommandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::Buffer* buffer = ((MTL::Buffer**)input_buffer)[0]; + blitCommandEncoder->copyFromBuffer((MTL::Buffer*)stagingBuffer, 0, (MTL::Buffer*)buffer, 0, transferSize); + blitCommandEncoder->endEncoding(); + copyCommandBuffer->commit(); + copyCommandBuffer->waitUntilCompleted(); + blitCommandEncoder->release(); + copyCommandBuffer->release(); + stagingBuffer->release(); #endif + return resFFT; +} VkFFTResult devices_list() { //this function creates an instance and prints the list of available devices #if(VKFFT_BACKEND==0) @@ -476,7 +615,7 @@ VkFFTResult devices_list() { } free(devices); } - else + else return VKFFT_ERROR_FAILED_TO_ENUMERATE_DEVICES; vkDestroyInstance(local_instance, NULL); #elif(VKFFT_BACKEND==1) @@ -572,6 +711,12 @@ VkFFTResult devices_list() { free(deviceList); } free(drivers); +#elif(VKFFT_BACKEND==5) + NS::Array* devices = MTL::CopyAllDevices(); + for (uint64_t i = 0; i < devices->count(); i++) { + MTL::Device* loc_device = (MTL::Device*)devices->object(i); + printf("Device id: %" PRIu64 " name: %s\n", i, loc_device->name()->cString(NS::UTF8StringEncoding)); + } #endif return VKFFT_SUCCESS; } @@ -653,7 +798,7 @@ VkFFTResult performVulkanFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunchPar ze_command_list_handle_t commandList = {}; res = zeCommandListCreate(vkGPU->context, vkGPU->device, &commandListDescription, &commandList); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; - + launchParams->commandList = &commandList; //Record commands num_iter times. Allows to perform multiple convolutions/transforms in one submit. for (uint64_t i = 0; i < num_iter; i++) { @@ -662,7 +807,7 @@ VkFFTResult performVulkanFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunchPar } res = zeCommandListClose(commandList); if (res != 0) return VKFFT_ERROR_FAILED_TO_END_COMMAND_BUFFER; - + std::chrono::steady_clock::time_point timeSubmit = std::chrono::steady_clock::now(); res = zeCommandQueueExecuteCommandLists(vkGPU->commandQueue, 1, &commandList, 0); if (res != 0) return VKFFT_ERROR_FAILED_TO_SUBMIT_QUEUE; @@ -674,6 +819,27 @@ VkFFTResult performVulkanFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunchPar //printf("Pure submit execution time per num_iter: %.3f ms\n", totTime / num_iter); res = zeCommandListDestroy(commandList); if (res != 0) return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; +#elif(VKFFT_BACKEND==5) + MTL::CommandBuffer* commandBuffer = vkGPU->queue->commandBuffer(); + if (commandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + launchParams->commandBuffer = commandBuffer; + MTL::ComputeCommandEncoder* commandEncoder = commandBuffer->computeCommandEncoder(); + if (commandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + launchParams->commandEncoder = commandEncoder; + for (uint64_t i = 0; i < num_iter; i++) { + resFFT = VkFFTAppend(app, inverse, launchParams); + if (resFFT != VKFFT_SUCCESS) return resFFT; + } + commandEncoder->endEncoding(); + + std::chrono::steady_clock::time_point timeSubmit = std::chrono::steady_clock::now(); + commandBuffer->commit(); + commandBuffer->waitUntilCompleted(); + std::chrono::steady_clock::time_point timeEnd = std::chrono::steady_clock::now(); + double totTime = std::chrono::duration_cast(timeEnd - timeSubmit).count() * 0.001; + + commandEncoder->release(); + commandBuffer->release(); #endif return resFFT; } @@ -787,6 +953,29 @@ VkFFTResult performVulkanFFTiFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunc time_result[0] = totTime / num_iter; res = zeCommandListDestroy(commandList); if (res != 0) return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; +#elif(VKFFT_BACKEND==5) + MTL::CommandBuffer* commandBuffer = vkGPU->queue->commandBuffer(); + if (commandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + launchParams->commandBuffer = commandBuffer; + MTL::ComputeCommandEncoder* commandEncoder = commandBuffer->computeCommandEncoder(); + if (commandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + launchParams->commandEncoder = commandEncoder; + for (uint64_t i = 0; i < num_iter; i++) { + resFFT = VkFFTAppend(app, -1, launchParams); + if (resFFT != VKFFT_SUCCESS) return resFFT; + resFFT = VkFFTAppend(app, 1, launchParams); + if (resFFT != VKFFT_SUCCESS) return resFFT; + } + commandEncoder->endEncoding(); + + std::chrono::steady_clock::time_point timeSubmit = std::chrono::steady_clock::now(); + commandBuffer->commit(); + commandBuffer->waitUntilCompleted(); + std::chrono::steady_clock::time_point timeEnd = std::chrono::steady_clock::now(); + double totTime = std::chrono::duration_cast(timeEnd - timeSubmit).count() * 0.001; + time_result[0] = totTime / num_iter; + commandEncoder->release(); + commandBuffer->release(); #endif return resFFT; -} \ No newline at end of file +} diff --git a/documentation/VkFFT_API_guide.lyx b/documentation/VkFFT_API_guide.lyx index 4f3f7fad..77cf9d99 100644 --- a/documentation/VkFFT_API_guide.lyx +++ b/documentation/VkFFT_API_guide.lyx @@ -136,8 +136,8 @@ vspace{1cm} \backslash scshape \backslash -LARGE VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero Fast Fourier Transform library - +LARGE VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform + library \backslash par} \end_layout @@ -192,7 +192,7 @@ vspace{1cm} { \backslash -large September 2022, version 1.2.28 +large October 2022, version 1.2.30 \backslash par} \end_layout @@ -237,8 +237,8 @@ Introduction \end_layout \begin_layout Standard -This document describes VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero Fast Fourier - Transform library. +This document describes VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal + Fast Fourier Transform library. It describes the features and current limitations of VkFFT, explains the API and compares it to other FFT libraries (like FFTW and cuFFT) on the set of examples. @@ -334,7 +334,8 @@ Copy vkFFT.h file into one of the directories included in the user's project. \begin_layout Enumerate \noindent Define VKFFT_BACKEND as a number corresponding to the API used in the user's - project: 0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, 4 - Level Zero. + project: 0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, 4 - Level Zero, 5 - + Metal. Definition is done like: \begin_inset ERT status open @@ -395,7 +396,7 @@ begin{minted}[tabsize=4,obeytabs,breaklines]{cmake} \begin_layout Plain Layout set(VKFFT_BACKEND 1 CACHE STRING "0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, - 4 - Level Zero") + 4 - Level Zero, 5 - Metal") \end_layout \begin_layout Plain Layout @@ -963,6 +964,100 @@ end{mdframed} \end_inset +\end_layout + +\begin_layout Enumerate +Metal API: Metal. + Sample CMakeLists can look like this: +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{mdframed}[backgroundcolor=bg] +\end_layout + +\begin_layout Plain Layout + + +\backslash +begin{minted}[tabsize=4,obeytabs,breaklines]{cmake} +\end_layout + +\begin_layout Plain Layout + +add_compile_options(-WMTL_IGNORE_WARNINGS) +\end_layout + +\begin_layout Plain Layout + +find_library(FOUNDATION_LIB Foundation REQUIRED) +\end_layout + +\begin_layout Plain Layout + +find_library(QUARTZ_CORE_LIB QuartzCore REQUIRED) +\end_layout + +\begin_layout Plain Layout + +find_library(METAL_LIB Metal REQUIRED) +\end_layout + +\begin_layout Plain Layout + +target_include_directories(${PROJECT_NAME} PUBLIC "metal-cpp/") +\end_layout + +\begin_layout Plain Layout + +\end_layout + +\begin_layout Plain Layout + +target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/vk +FFT/) +\end_layout + +\begin_layout Plain Layout + +add_library(VkFFT INTERFACE) +\end_layout + +\begin_layout Plain Layout + +target_compile_definitions(VkFFT INTERFACE -DVKFFT_BACKEND=5) +\end_layout + +\begin_layout Plain Layout + +\end_layout + +\begin_layout Plain Layout + +target_link_libraries(${PROJECT_NAME} PUBLIC ${FOUNDATION_LIB} ${QUARTZ_CORE_LIB +} ${METAL_LIB} VkFFT) +\end_layout + +\begin_layout Plain Layout + + +\backslash +end{minted} +\end_layout + +\begin_layout Plain Layout + + +\backslash +end{mdframed} +\end_layout + +\end_inset + + \end_layout \end_deeper @@ -1228,7 +1323,8 @@ VkFFT buffers VkFFT allows for explicit control over the data flow, which makes both in-place and out-of-place transforms possible. Buffers are passed to VkFFT as VkBuffer pointer in Vulkan, as double void - pointers in CUDA/HIP/Level Zero and as cl_mem pointer in OpenCL. + pointers in CUDA/HIP/Level Zero, as cl_mem pointer in OpenCL and as MTL::Buffer + pointer in Metal. This is done to maintain a uniform data pattern because some of the buffers can be allocated automatically. @@ -2644,6 +2740,14 @@ ndLaunchKernel calls to user-defined command list ze_command_list_handle_t. \end_layout +\begin_layout Itemize +Metal API: similar to Vulkan, VkFFT appends a sequence of dispatchThreads + calls to user-defined command encoder MTL::ComputeCommandEncoder. + MTL::ComputeCommandEncoder and its MTL::CommandBuffer must be provided + as a pointer in VkFFTLaunchParams. + +\end_layout + \begin_layout Standard If VkFFT fails during the VkFFTAppend call, it will not free the application and allocated there resources - use a separate call for that. @@ -2937,6 +3041,23 @@ uint32_t commandQueueID; // ID of the commandQueue with compute and copy \begin_layout Plain Layout +#elif(VKFFT_BACKEND==5) +\end_layout + +\begin_layout Plain Layout + +MTL::Device* device; // Pointer to Metal device, obtained from MTL::CopyAllDevic +es +\end_layout + +\begin_layout Plain Layout + +MTL::CommandQueue* queue; // Pointer to Metal queue, obtained from device->newCo +mmandQueue() +\end_layout + +\begin_layout Plain Layout + #endif \end_layout @@ -3172,6 +3293,80 @@ cl_mem* kernel; // Pointer to device buffer used to read kernel data from \begin_layout Plain Layout +#elif(VKFFT_BACKEND==4) +\end_layout + +\begin_layout Plain Layout + +void** buffer; // Pointer to device buffer used for computations +\end_layout + +\begin_layout Plain Layout + +void** tempBuffer; // Needed if reorderFourStep is enabled to transpose + the array. + Same size as buffer. + Default 0. + Setting to non zero value enables manual user allocation +\end_layout + +\begin_layout Plain Layout + +void** inputBuffer; // Pointer to device buffer used to read data from if + isInputFormatted is enabled +\end_layout + +\begin_layout Plain Layout + +void** outputBuffer; // Pointer to device buffer used to read data from + if isOutputFormatted is enabled +\end_layout + +\begin_layout Plain Layout + +void** kernel; // Pointer to device buffer used to read kernel data from + if performConvolution is enabled +\end_layout + +\begin_layout Plain Layout + +#elif(VKFFT_BACKEND==5) +\end_layout + +\begin_layout Plain Layout + +MTL::Buffer** buffer; // Pointer to device buffer used for computations +\end_layout + +\begin_layout Plain Layout + +MTL::Buffer** tempBuffer; // Needed if reorderFourStep is enabled to transpose + the array. + Same size as buffer. + Default 0. + Setting to non zero value enables manual user allocation +\end_layout + +\begin_layout Plain Layout + +MTL::Buffer** inputBuffer; // Pointer to device buffer used to read data + from if isInputFormatted is enabled +\end_layout + +\begin_layout Plain Layout + +MTL::Buffer** outputBuffer; // Pointer to device buffer used to read data + from if isOutputFormatted is enabled +\end_layout + +\begin_layout Plain Layout + +MTL::Buffer** kernel; // Pointer to device buffer used to read kernel data + from if performConvolution is enabled +\end_layout + +\begin_layout Plain Layout + #endif \end_layout @@ -3429,6 +3624,7 @@ uint64_t saveApplicationToString; // Will save all compiled binaries to VkFFTApplication.saveApplicationString (will be allocated by VkFFT, deallocated with deleteVkFFT call). VkFFTApplication.applicationStringSize will contain size of binary in bytes. + Currently disabled in Metal backend. (0 - off, 1 - on) \end_layout @@ -3438,6 +3634,7 @@ uint64_t loadApplicationFromString; // Will load all binaries from loadApplicati onString instead of recompiling them (must be allocated by user, must contain what saveApplicationToString call generated previously in VkFFTApplication.saveA pplicationString). + Currently disabled in Metal backend. (0 - off, 1 - on). Mutually exclusive with saveApplicationToString \end_layout @@ -3662,8 +3859,8 @@ uint64_t registerBoost; // Specify if register file size is bigger than 4 to emulate 128KB of shared memory). Defaults: Nvidia - 4 in Vulkan/OpenCL, 1 in CUDA backend; AMD - 2 if shared memory >= 64KB, else 4 in Vulkan/OpenCL backend, 1 in HIP backend; Intel - - 1 if shared memory >= 64KB, else 2 in Vulkan/OpenCL/Level Zero backends; - Default 1 + - 1 if shared memory >= 64KB, else 2 in Vulkan/OpenCL/Level Zero backends, + 1 in Metal; Default 1 \end_layout \begin_layout Plain Layout @@ -3900,6 +4097,21 @@ ze_command_list_handle_t* commandList; // Filled at app creation \begin_layout Plain Layout +#elif(VKFFT_BACKEND==5) +\end_layout + +\begin_layout Plain Layout + +MTL::CommandBuffer* commandBuffer; // Filled at app execution +\end_layout + +\begin_layout Plain Layout + +MTL::ComputeCommandEncoder* commandEncoder; // Filled at app execution +\end_layout + +\begin_layout Plain Layout + #endif \end_layout @@ -4055,6 +4267,19 @@ uint32_t commandQueueID - ID of the commandQueue with compute and copy capabilit ies \end_layout +\begin_layout Standard +Metal API will need the following information: +\end_layout + +\begin_layout Itemize +MTL::Device* device - Pointer to Metal device, obtained from MTL::CopyAllDevices +\end_layout + +\begin_layout Itemize +MTL::CommandQueue* queue - Pointer to Metal queue, obtained from device->newComm +andQueue() +\end_layout + \begin_layout Subsubsection Memory management parameters \end_layout @@ -4088,11 +4313,12 @@ kernel buffer, used for calculation of convolutions and cross-correlations \begin_layout Standard These buffers must be passed by a pointer: in Vulkan API they are provided as VkBuffer*, in CUDA, HIP and Level Zero they are provided as void**, - in OpenCL, they are provided as cl_mem*. - Even though the underlying structure (VkBuffer, void*, cl_mem) is not a - memory but just a number that the driver can use to access corresponding - allocated memory on the GPU, passing them by a pointer allows for the user - to query multiple GPU allocated buffers for VkFFT to use. + in OpenCL they are provided as cl_mem*, in Metal they are provided as MTL::Buff +er*. + Even though the underlying structure (VkBuffer, void*, cl_mem, MTL::Buffer*) + is not a memory but just a number that the driver can use to access correspondi +ng allocated memory on the GPU, passing them by a pointer allows for the + user to query multiple GPU allocated buffers for VkFFT to use. Currently, it is only supported in Vulkan API - each of five buffer types can be made out of multiple separate memory allocations. For example, it is possible to combine multiple small unused at the point @@ -4233,8 +4459,9 @@ Precision parameters (and some things that can affect it): \begin_layout Standard uint64_t doublePrecision - perform calculations in double precision. Default 0, set to 1 to enable. - In Vulkan/OpenCL/Level Zero your device must support double-precision functiona + In Vulkan/OpenCL/Level Zero your device must support double precision functiona lity. + Metal API does not support double precision. Optional parameter. \end_layout @@ -4246,8 +4473,9 @@ uint64_t doublePrecisionFloatMemory - perform calculations in double precision, This option increases precision, but not that much to be recommended for actual use. Default 0, set to 1 to enable. - In Vulkan/OpenCL/Level Zero your device must support double-precision functiona + In Vulkan/OpenCL/Level Zero your device must support double precision functiona lity. + Metal API does not support double precision. Experimental feature. Optional parameter. \end_layout @@ -4420,6 +4648,7 @@ uint64_t saveApplicationToString - will save all compiled binaries to VkFFTAppli cation.saveApplicationString (will be allocated by VkFFT, deallocated with deleteVkFFT call). VkFFTApplication.applicationStringSize will contain size of binary in bytes. + Currently disabled in Metal backend. Default 0, set to 1 to enable. Optional parameter. \end_layout @@ -4429,6 +4658,7 @@ uint64_t loadApplicationFromString - will load all binaries from loadApplication String instead of recompiling them (loadApplicationString must be allocated by user, must contain what saveApplicationToString call generated previously in VkFFTApplication.saveApplicationString). + Currently disabled in Metal backend. Default 0, set to 1 to enable. Optional parameter. Mutually exclusive with saveApplicationToString @@ -4668,7 +4898,7 @@ Register overutilization \begin_layout Standard Only works in C2C mode, without convolution support. Enabled in Vulkan, OpenCL and Level Zero APIs only (it works in other APIs, - but worse). + but worse, does not work in Metal). Experimental feature. \end_layout @@ -5155,6 +5385,21 @@ uint32_t commandQueueID; \begin_layout Plain Layout +#elif(VKFFT_BACKEND==5) //Metal API +\end_layout + +\begin_layout Plain Layout + +MTL::Device* device; +\end_layout + +\begin_layout Plain Layout + +MTL::CommandQueue* queue; +\end_layout + +\begin_layout Plain Layout + #endif \end_layout @@ -6347,6 +6592,21 @@ launchParams->commandList = &commandList; \begin_layout Plain Layout +#elif(VKFFT_BACKEND==5) //Metal API +\end_layout + +\begin_layout Plain Layout + +launchParams->commandBuffer = commandBuffer; +\end_layout + +\begin_layout Plain Layout + +launchParams->commandEncoder = commandEncoder; +\end_layout + +\begin_layout Plain Layout + #endif \end_layout @@ -7437,6 +7697,7 @@ This example shows how to save/load binaries generated by VkFFT. from it. Be sure that rest of the configuration stays the same to reuse the binary. Use rb/wb flags to load/save. + This does not currently work in Metal backend. \end_layout \begin_layout Standard diff --git a/documentation/VkFFT_API_guide.pdf b/documentation/VkFFT_API_guide.pdf index fd4ce4336b19e150e6a52b6fe5b183020c435b6a..f9b7ba53c47cae8de7e6018a7ac8fd1758be0e46 100644 GIT binary patch delta 140391 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

Nfqwm?;HB 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

sS;VQd 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

PO(8JM}Ji2#f5qC>muuWtWm*vZR*)b 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 CAc?a8 delta 136347 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 z ZJBWx@wkDsp$-7AJr6GJhp71we#&$;c?u@5bZW~;V_9t57k*3zT!%XRack`SRG~lq`mAz=LdJ_ zQ>4zhfuLLXYk@&gfm+tHLy`i}N^V~NIgEx&eK)o!l8vThw^kXFs);P7roi|yB@R98 ztJdxmDb)NUMR^0E{X(k_&1QpS9$OsOX+LHlaw=#mo`-PB_6)uf2&Qe=rEN*0{GIhs zXhCtY_xt3fC?&gEeC6lnA_+FT z!XY&f@z8e#s~Dt?a=m6#QDJu>*c41O_x#@s--2$3_Z)ROs<|pWlom}b)=6WO`5B8# zgK;Gir6ScyA_~}nnB~tgG1I>I1gbQH->7JP+goP7V7%h!KS>Z;g%@n8|*4L|qWT29Qay6u93C zl^(^zMTJ#kKSW*q@hQ88z*Uq)Nj#o0dDBhlWdFcFBF-Irdx5yD-Yao%__m;13SZef z9Gu3rKyW~Ddk)z2M=N39>%@$$Gw4%P|TZa=SqL74qJ;>?oLVhdH z^^_8$B97St%(!^(a7rZFR*A_MHLfvB(d%pzvk;{%N7a0o+=89>5-4KOfRUIS%V|nc zZarYee*U)>wC~|04BK;gZ50(0?e>8nb`;sW9O*(2)-qVcBCd^1N%`{1lh1pEGxmM_ z*Hx}+p2hLe_lqr2m!&TvM9qG&Yg`>j<=*-o#F>ptpxhj6x()OuG`Dm9Xksh}BVC%s zB?6gCyFFF@LI&V^s@V`iZkNx*3UuBaU(gU51>8qVHu7^|GKrQ!iGge{V=_bJ8~wU* zNSZqtJ$42!(^^IIHjgDqd4Y|xNGoeIyotlmG0Z(b@v>7Hu2v9?iB(3a2#V`nEOZYi zMNgTxSER7ZUDt~`3^A=ruAVEhKQq|$B%oK4R^njm+eP9$8aqCARd@w4_vQ}AFLVXg zRhq&!q-(J-vVS1uD*~r%@sDqu)+rxb4ZM6SsjVH~ylt5Bm*PH~$rt`~;2V43vLfZ? zg_jtiaLphJUC7}E$IvCyg* zX9I(d#G~&R+C?e9!G;Ntd-18Ao7R(B<(lj;{ccyJs93>Mxs7)Tm^lHcn|1hkZA z9S#c_=wo5Ep}@}_8(4UFdR3a~C58HWaTjS7l>3sD9l*8Di=}_M1r`a3XR7OHDgoiC zn4kB8|HgSsLpXpMXlC||r+w`IrxhTNi!xA^{Ya+`ML^4474b4)BscA!HHfROK~Lj8 z(@sB#=9ruCB!n|843rjx^~?(2t01OkX4L316-@oZTLWM+R;6?6M$dC8Us)#qrii<% z6C3z_#F>o`D2F(SKj%|7H`w1~KHFUZMVk+KhcMjxc3nYi*iqhApqI;2nim^lGG2*L zM89j(afiKZ-Uqe!qNc$S3gTQA@8T>)aP2_TxU*0@5u9@zP^&~BP=eYPc;AHl& zW+6z`pCp zt-SrTcESpQr!zOcqm?{Krrb|Zdti8`A0kT0XF6}@xGH|JH24(l8v)+18)zMwTjDS;VfsP`dqfI(6NQfcg&yMWU+#F19s0W)9l%r5+#8$T3Ip zdIXGb2aq`GLp(MWeq|o>txDAmT4|(w#ik~N`ZGnV{q~ z*YNR8FYoY>WO{Fak_wlpC|O$y3Y$Qdqj-uYT<17z$XvW+U7s_Y(bPmOID3mKc1*I^ z#>^!N+>_8oz-47{V{+v#MC^08V30L49HC~eZ-9~m0rrCjYOVm|)eTLNIS(Y=F@^2` za}4Dw)*859v7_VC<&z15A49vwaaZRdPeXI)i$VJinzD1pl{_$@Yu}j3`%@0rP}m*n ziS9ZQ(&x1iIoU(bFpVPL+~ew42z4*c$>rjcSRZng{WS;Isu~+Y9jKZtbn^&Qb;*KQ zh9W?Kmda8Ho%@;24IATpVYM29IFz|g;TsZYou>7GF^mgZXp6i_9i=VXE)a*}CMtgy zA1P;^om|R|_oQ_OiOwC~!~i^d)3PR$ROPQG_m2{7tV!3@?WX!*9{GeSq(YX6<%4S} zlsJywYpm&tI+x+gUI8PO*9dk3#fECN?r6}!SlMBNY1MSgZnqYDzw(C-5|)zUeA{Bn z<{d>SeLk)qNLn~(rqy#v%tM}vhBDIJk5}DEA&B~N3NVVx2;1^Sgkz{4+zz!{WjQr? zz&xZU-}NFPQi3#!T9mr5nmgEJrYB+1Z3Q#O1k~J>ak=UgS{R6fXL+*#!(|--0{sYJ zF^0bpIP{<)89wt+gtKvy=bgpP*AxiDD5Pqd5hXB4EU^WPI{D>%X(sl zgF4G6utH<9Cju)w9Wf}Pl(JW(BX!?lOh@}JN#C(XZ7Ce(B1(lJWF{~kaMCm~)HF4l zDjaj{C_{wuuHTiO!lg^yVKp>#s3{ykYMfEWIr@omKbMx5>9)Mrktd?hTZU% zQ?qW;6f|_l%ydQSX&++CVw~s2s0~rZVn5(2AECPWjA`&z)!zoJqiGM#qyrRz_wL13 zKC5*rk~&PO;|qH#Wpeb9iv4E;2f6nQ;zkX>K53RkppX0sQcw`KtvFcuDiU0Obp9c1 zad)9|J!(bc+iVWY754(2inNOuK1Y911RZ2^F6S|ZpO&-;0v9Qyntc=ic4_^OFo}K_FUscF zPcrdpSHmQu*ZjfkXpv@Yh^QIYGnHsDjd06eYiF?;-cx*$LzasPE*m;vF3B9OO9aih z$R6HKtcb&q*ELgyJxr5JBwrMJQe)p9xZ^ZpJYfU;(pHgra84Oq`|9U4su*xF0@(#K_ZLR@@M=q1^BHW% zXoziD7#MRV%sM@q>84P6UA`V$aJ8dCH&?BPL}A4?*tj*#E{K})4F(K-Wfw0yo=?tc z@gD4H+^ZiNWGvimZHwkQyjk34pVzGpB&WQ_8&4OhP9Yn$(L+&UtcR+-MCixS9Y?0s z+2(FOINS_tY1rDDRAbqQ&-43JLjj<0P~>tv!rSG;t&#=hnG=g9zgc^?QOQH~%1hOCTE-)r$SE_i zP?<1U7yN&_?JWoqJ>R_aLW36gqotz9>9NU_U_Y7so>_@B3Jk~V?R&f*%!Uj64ZQe` z!RR2cudDQt_vihlj+X}BvidV;66l7j+k*f<9wk|D;gR|qvYt=vHt`E|n? z=#Jz*fV<;ZcI6W?91}+g-@HO-<9~OAgek9r7Eauw(HX{f?Ok`3KT9e)ANXlhNt4TC z`23Etqym@%hj(r4W8J4e1@a*AT6#me=bBM@?5dJO8|3|7Nc3j3lVH?JO_))f(eh zVnN_wa)BkCrqnYwSO==m+iLqHMxfuA&9_YXO26M1L4__lBIWnd@4)RZ6P}~JUWt&C zm{5aFMH8RrjeQeszu4<$kKCJ2i3qFp)NzQ1|IC%PR zJXW;lia|*d_vT~fWk9+TOR@EMmG1<%VuUV%@eu@gE7nr>dL=3^!yN0VPT22dma?6U zv|Uzkvk^SP+&`!TS*RqBBW}d!f_A z%_LVrkAx5J3xRSjwtGiWp5GdB4_jznq6VeCw8Rw)eu#AHO}dYkF$P}EU?mR!$dGzg zmAj6(4AwI!+%)dQsN{aYHd&st5d`dcrf20hgXp%3^HsTXUcR^iF71Nz`LGDHq9FiMrani5+b|zuV+6vW$ z0)!8_Zxt?kuB;Syi7}i~ESRX@p*SSjCr736ccuoViFO)gwf?GM2_7&k3kw^nZ4esj z98N#)!UGDlYO_#cx`=-`=>%KePz{<`V2fg!!g}4CB)78Yf<1 zTz8-pxs&mBDp4}f%Q9>dOodc2*a000W{=ws@&PQz?;xFbpdpu()meSCURpv-i+9ox zT3uN}mSmCUAXBX-a<)izvraCvo3PsOZPH7y!yk90OvBdf z3KxT|$c}hpADt)2Ku`A{p2>9We%+$bEbI@jN^H^mVir1l3k&mBzpkKK=^^jZowV<#R3s>TtnyC8<46mw=Wu>a zzy*y>L=*XIR)`&o-hSa+&dY0G6nWoost71BiJT^u9+B7N_mlk0DMcK*^icTAidJJ% zF6!8BGmb{zkyiAT_tfEj(t?!37*2kTYL3;Tmc_d9Uinukm(&HKzU&Z%_Z)w!1mtl1 z!}jet6XaJipX@M)7A~hV3zJg|y|rnReJ!IhwNsH%&X!b&k@6OGfzU>lp5`n1Kij~f zu4t|UEmWwN8NzZRU!Utol*-6AOXOhlq_~wvqHzgOQI85XuYQ25t_HN zvt5Rywc{l7{VhQ&Cl0+YeUzo(;9kFB&-bHn>CZ~OB^5lLJZNU{zJLXmIdk9}VZ{E~ zmgx9Z06{-#>i>C!dWw4QP`k9Z&lwGT&QJTXO4@LFs=^aW3UZ5Jybz)*A9%lN8F3mw zh;B`q30BvREIq}Ge0B}& zI1GRHO)hm_!zJg40JYHPXB!ouZ=S{VXrY#Bu5d4?Q9zJ(EDrxx;llni=o=#2nmXwY z&?fsA2-#3sQ&fuwOJ2%o$#OB7@_0OX)|^t}0Lt(DgE&p7$?0%(PkDIm?1OMzOh#J< zOdI;J4Oy=_&%sRFPAGMDAXFJ}&M1ocwebfSN?gvldK3A(~tTe)td z_%BC%CYaDN<=nHDF;IdjEG@+Ol^MbeUrw@pbEJ7n?j}`!(HGp2;H_V%*`0})#fn8* zD{m)Z&SLBRCP0(C#1qhZNJ&ajU7kLvvM88D6(I2uPN9K{1=zRV zh~|8PuE~#BezS0c%BBpzA}|6T5PPdd;y;{pLQ?Vyy597cYVRl1SSrXFTGlQ?6m1;~ zml?N)G1X<=%?lXSBkin!QzT?FvJACjny<353}1fSZFmOTc74!N z769{I9Z$0P)Rmr!suJmqsA<*&4BSH2AL?8{jb&}A&+IVZhr3Z5Fjc25g5Z1QRl%kv zdk9g^UCh(mImc0K)%4(~Z-jY$VjmEFW3ZuzN#z1RAVuzLO((bfY2>0aR;5bbBH*b9 zA8i_k|7mq)wP}>d07VA0xJi|zgOBA;nCG-Ml>IbB4?4(@cECL{yx-63=0qlBAo#A) z&+Y%|n$Ps327?9VOa=8I!DRo8dHBB~_1HN-jnqFS=0Acg*g5~tIl zNBs=72%P?};uU`;927WKrjYKZ3pxJP-(@U32o@f;e+8`ntDFAdv$^kBYm!L2PFw&H z0@QL(J~-cv&euWd{bNOzv?|jg(en%9tOGK5B11~?^BcXK{-3U>2_~iD&aJJ2o-IWE zQhiOc($21rTk?UZw$WJh*j7&cWr>c*yFV+3tyUz4n-ka9y_TTz7YZnaex`m{qIx8g z9BfO@G8Kw8@za=DTFbSWDI8NV{lq4Eh?jtp%h#q@fY*978yXDCAjEJBon;jHu zvf=PDu#6-$W@*_N=tUow6l5>Gt_iW$*wrn+Noi)^zTz;MOVno{z{@ z?Hv#cd=ddx<=aRY7~?2x88@WXxe=nPnN(FjB2{yb{@zSG zew)`(5ZBM1*tTj~ z;*@o1!?L;}QMV#o{ox?d4D9mEO<7SayHGT_grAMF3%_sH46o8q-^!_#u zGBSt9u<5>fiG9D^_Uz)tK2A?axh=vA-1`dK3ME6(c((m}I4{NDO!fDVs1zxW@-Kb$ zBV?L-#U~vkCq=vbB!4Y8tU&6;0+Tzm9UuXmf06T*46 zcrQgi!wfVvV)PJ0R;?UszNADz#a5t{Rx?CsbRut;W4T|SH&%;I;g_+cwYe6@v)DR9 zdq_rNgg&}?l#}I)?5vyn=&r@>Q$n2`(uHe}8krkLBk* zgTpl&FvU-BV^vEA%6$Kf%%Q8Av5laZeDY2&bGk=Y6tsesK_qETAcW9}5o~`q==AI{1_b1i+{=}*1&#K>MTIy?88k; zQgeG*Km~Ua=^2@Uy?&`@NJB8Kp`iT7JzT1< z_|km;D(c(`+bX<57`1dE@PiS$hMPv3J0@O#Iv@AOZehdX*hbF>*TzqYY(^)%zs@W% z1pn|sB*AX{)930y0f=0xy}{cKTtemA@=x0NZn&iDb=Z$Yi=|rj{>|OhY`AkY^{ESO zJJ~C_<*C+DDH_3}L`$H8sw?i!muX?6he=23Rok^WmNlutrDD1@Jk;H{ArMW&eQ>}T zJ6BAGh#6X{vK-y0L&_?;_I2N6G#xJFA$1DL$5liaRtl0N9(V=U4{nfcYMu!0rPmilYu<0DEnBG~wPfJZT8=Q|gCXOZ&?4Gj8|W!WD8aDb&z3Vxe~ZemSB%hwmzAi6lZ zHiAkr^Y8@i99VLKTLA*Wtm%36M3R-&vlY+HSJqK2k;XN0LbqRI7d24m2!^UIa-Nr3 z+QT;Ujb&eB6OMy`Q1t}uXeV5f=gre_+GOW{(e+NznY3-UcE?7?wr!(hC!M5Y+cxjm zw#_?sI_x+d+qP}4Jm2$<@qg=o$J(pfx%R5+taHv|&fEGBC`y~z;6dNosN46AO)Kn7dX=Nc?KNA%i=(HF5A6{g5LpBn^`ekSjL{SC zb3HE`tgmnC2jqJ`$$zA+A77{jIvdA-3UB{cVG2j8Kgbv8|6i&W$3N8E|Hb)pu>WiP zegOgf>fZg2ed&MoTQM`UG5k;WE(lxd^)o1Dsvjb#Kq}_rSGscU3NAPc=T{}p|17Sm zv_@md$`RKe)%K8_wV5X4q^Vt8U1QizSE5aM-CRBaUOj{Q&^z(`O;jc(;8;ePyO`y+ zpPl8agqw3$&rfd;xv7Df3!^7lh%J+VuH!rL^*j19a?f0W1+mckhv)89JwoYs_{VO+ z&q{E2d*^UJe5h9y>RV}m{ip4pQcA!>e$q#}0P#EjGj$r`p*vT>4a_xhWq25-{QJd*Ywd8=0H&XO0E}L$c`ew&P8( zx+x*=20rqR#zia%f0D|OxUR%4mga|!``<=1pGobl&*rM+MO#bQ0D{P(svJP_3>?jP zXiM_mI?A~U{e7TDy@$yHtc)y{R=hZY7|YV4mghr~=8c%@1F=a$G`Di_5I%ih$6%AX z;dA00&k20-`Z#KWNup6nMo(Osm(xhZlI=}Pl7S6RtGy!j`Kns^60ENRaj`J@dMwY&zt9hbS-c)UJP=OV^*+&1FjG4$j{qFQ0yOzj;)+{ql>{ z`myPL`OCkwaI8Z0Z|sRdppcy;jT}+KBcJZ4HEXaIt#4~iy(N}K>pcQs$-N%1Uie{d z*^-m2ggFwR@YZlU;N5}7t+XnR{o1><1UBRF+UHybXRa>vMZ%P-2ifDQBA&=5hz zJrj8vhys)A@Pb*FzzOlRU_$>kvO2oDcRj;EY`VSjlcO?&eZN6+R|GjN@A;UjOgs}p ztg$$+Hzu!NyQ~7}#UBsgBglyB>a*lXu($jswswHDLKIG>ZM?2G#|-nkR$x|JavI29 z`P+NuJGU=;&_u3>8iUjtFim68<}<|2yih;eVU2G%+fOGHxj70@UkxGN-*GPRL310~ z*HidG=iZbeQcb241&op9b~-zcCvXVjjtjpX!))i*#07(vixUA{vg#(eId)ZlzmjEU zpmRk~VHS7yC}g4L&BGNCGcS0Y4DoArckLJWB;NU2QFs#b5$2MVZ6(s-y1prW?oF#6 zPv<0$D1UP+js%f3NHgsz^zX2vmFJ5M{q7bC;sWAD9y5#s#|GX*D#9jA9By5mebel@ zqsYU0uF*iHR>%Xm4YbEIU`qVSc4!O9W8HbQxY65t|E1=FN@9p*yEn$V_ejo#cQHevY+(jb^rT?wKTpO)l zE80{NXe>Vgn%@Xn3-6j(E2SyD>B)_YiVHPx`4u~Gcbos{H8KtUhQX-iyR0OZ$MKtZ zO16o|M61gm2n}J-R8RuS_}o}b{w&oJ%W}FFWwEE>yV#lr^1aH(^2vu!*BXh%U{|VY zK8IPl=SLxcsh=I%Fmqd42969v}ZkY!@40>dhhx706$=k zhvKJbQ+n=mT)tCoDMy3x?7Y#N^tBJ&iSO{O0gvC0>zciuyos|8>1DfhHB9(nFk{4? zo(?F)4(;CabjVxE#<8sd0lxI83wT*O60mWKp=o@AKwE8o#k)HfJ4y%HVD_l^Vh+?A zwblf{HO2JA$AcmbcFA%0hU2+0Dus;G)q07gWRb>J8e7K;vJ2|;_M7G&N_=*n%D76k z$Ifu+h!Zt261&$`jI2FrfF?B0rjWclGMMQob~`w_)^tdt)ZrL{CbdFa!yeLBCHI=5 zIh%qe8uoqG#}Y%nLwhnG1TKv&$|cIV<@7q>!~7F3(j{FG?a%PT93L;^Vpc^Z4tfaT z_?^f!d}!h=>qQ1w<}uci#7v|&R%E<6vmYB0gEp2JyZu8?A`tv$?9Inw_wp7o6i13)1 zpIy}suvQUJYwTLbL%J;JbYZz8Y>UIK4abZw9O-N;(fqfXgXNnixh&_8wi!v1eZQsp z)}8vYdGL7M6lpfaywA(Wex1*0619>yAGo@a@qRjQJbZMfFtqMbY00=@ID9=3mk7ej zcczyo35$L3fT|?sOgD5ZGp9`ex9@CI=UK^}F#eFyrc`JhdD*M&fvzT!sgAeRy!>mg zz;IV>EWEJ*V(Hptwj&|KBZ+rhnFa=}+4!gqis8b7L{)4i^1yFkn36^=dSN(=Oj^}I zR4^~$#<>uC_`TN242?HS=fy$GkUmh<9OI&AYhUuuwNR)a zuXJ$IGDIk4AFnO9P<2MT=T9nVPD%^4KhFxAVHR{?Qntnf^Jp#4v zO1j@LkcJQ)0`lzl=;)6O8ygqzYb8fWEuCmxF>?&xj-;Ddb#OYdPECBUeJua%@wCr; z+qIdSD&D@6TLS_LC?$R?70%QwzFyfsmyjvgKHBy!A=8Z_kgLHfn1cz5jY?;)eZapU z+%XmsrdB5xO?xL-*ca;gs=2K&R&-?e&V}sscC_)*X0}a^D-f8zGp02;PRKl&PY*7P zChIBo<`#Zr2-_CM{@B#)qDaXdfea}g?e*&JR@{w>%I5=|Dw+AF2E4czhPe+9X`z=G z`HF8c$^9~dO)#RzaaIX|aS3I=KiwDh!&mtpe_o@?@hI>ugg})Sa@{31JN;IV*Ckol z!D>Q4D@2SUw$o}*WU2E8QERT9f}94W8WxIfWtx|JgDx=S%&x&(< z@$d^sP=^B*VfGjyj;fr5eqPCF1ba!ZHdq5$D-I9T9V z3KS4+0__E>uJezZswiR+3H$xrEw0RxhB9aarxMbI44++PqnlmjFTZ_09~Rep#7<3I zav0Y0|5(f}G0JL#VH7gKLZg)`USx8qr5q+`2c zPW@`T{bUe;ud@Q`OkUmcX+YOH(S&BE2$Ll#D770%$?}Dc`OiLZ{@^CS8DoxR$ADZ>#~f!dM^y6r<*3tytSo z&ky$97WligH(4Y9?c{{c<41pbdSEls6VYcLH|llP(v+-&B0X~8U2ktXhEvffH@tiHs$XKV^<_mqEt?j&YTw9svR-OH<#DZtA0CVR(<~mn z)@&Ocm0xQH#JSDFU ze%f;87lyi`heQH2c@2Z17egE{^EqLm1Q`KvHlHgjsFC21yoNbnQJRu=IKWdA{Ltnf zZEg>}n&CRUt?p^!lW_^<#kfM>SRZY$W}JgiolPGzu$4(LifAi|sV~s{v(ktl_K<&E z6=LTvupCxj2ecM2Qif8ZNKT(b1I*-RQA9LgT~@2!FHxi{clPph-p z(~{vKX3qN);f8|E4&a1$(abpoln=@y362lb^6CwwbPu2yi^Yv(E+ew`FmZZR|oYU2jzRdBbD4I)tCUokbwxEw|7T|vg0Qbq#;e==aH(1@D zL(dg|mOBKUb7S+7GvZr7d*%m#Q|Wd&(y*4=PCvnJ3PP~l*VHGV%co>l{NnBDN19@l zIW&!SuN>G}RP-dtOS4r;pu^jsQ}y=mkilh%k$Se}KCPcy1|7<}A7NinpXi=%L3^^H zpsXMDEjJdqQDg!zMA9ai=|cl+$tCnoK%h?vXVow)0$rZID8nFuf_MZvtDV7ZoS=9E`r?anIKHcnf?=Bw=S}m{?U4g)K&PE2!+V z7QZgK_t%22C_)3gj%_X^%4uZviIH+V7{6<5YHPhs2ZLjSDi&X#69&RUd)vj;s zO^fZ;&Mgn~Pn}!=_}VA#FwY8HjKiLGL$>tmTz&qw^imfk$t~Hbr|u^0Soa9#j#)9m zSQn;D3THq&fXJrX;IbfbpOKw)a|cOJa)9c&>`PXxRB?l-jTq<|LkXsV+D7)cJfkm& ztfzs~qw!iC?6#^tBqu>{IT{@OGW3{72=A{d z7xuG1kWB<-@OJ<~RSs0lfZht$$olv;wT@JM-*2O`_13MK9Kd1`Y)a^gQrYP#{Vw-m=o7I?nT=WzE zCL-{Gz?A(>>v`r`&p&e@ATrwe;T{Nn0mV1w{I$6e4%96$U6HuE0389TKO4~!ZBk6? z*UFrQzy2gmZT%E81Bud6IuJaeOH1a3o46Zdys1V8JmTveQ%;$4ibnoHug0Kn+JgKv zaJkrU>~7#oEO9<~?uU(}kBS{e@6b8CJ^C?nCfHH%0kmpB!wT&#<4KXy*!doMx zt8FQ*XJ08bn&)4gkyUDz#cOWRxIHrt%Xw@S)a02rbhSxwa_@%WwOk~Y=X$Sr+cFqE{+Pk?~ulKhv<+}-VceLe@iD21_ndRH&FItHSq~;|o zkFM#RV|TmB#y*m)&6q0p#H%T9Ye@$Ux6*W`9PLIUOz&KJj;JGa9ech_OWQ^c|AQ9O z#3U|vlH?lQNTa0VSVpRxu?y+spTg3+?7e~QO0mMi?siaZ{48U3u{G8?G2pBa*pgDo zfOp)g==U~=qD*A;rCiyp+Lb~}2ljSLhbE(@){#iqCtByRXi5UEgQKkGdN2|W;Kz#p z@o|&E7qrB{5K1tXDznsbR5zH$-);~iFo>v`^tB#Xk8ylc`vzG2q1O7Fgu z)cnp|unvkEa_UBeW)5jIOKf}yezNW{z*WnM3Gjg|uip}-L^|;yXKz?SZGt(Uu|_&m z8!Fj%a`nwZy_3KlZNe*p?Tk?fXLyjch&dqan#YWavmk0PQ@(x80*S#O9zrvOSG*|M zl|?er-2d0XGHrFF9m2U@i0M(Tta%gJk(gGidQ&Cw2+7nPYF8KFm2ns-ulZH%;zR}d zJ$32fE4mEd1Ox+}^WS)n|2=qq0h|A~F;NHv^xx`pHqL+RzEi0YLD5p{zk{JbvNLfp zaQ)B9H3%@IM7{)tM%1!rYt`f@k^<6Z2; z9gW$ey4lcE6l5ZR-cSM-O^l2rKdiOP>$)ktel7+>gMvn7SL4VLN;4Qi?}+h9-9Kz{ z-ao_=0tGI+eczs)uS)JyvSzo>zXrXdH?hv+mb~U8AKxOm(7T6IfZb;s^**7r#xNk( z4SJt{U$8WZdUEpS<0F)r0>G?L47iiX!M^l zK4x@~^64W+7@xC6^j(uxYWM^4aQX0ldeB>Y0JN9e&6IAklT0b&7`&3FVY|}3K54(~c1HaFh!@fF^@4V(hvoa?sqgBauU`E>MHP=}O(41*sKzU0iVX@O+fd);FL?a0cXrjs>BL`~Uw`RhI;Z^>g>8?ugc z4L_H6D%!9`9hg4ZK&?b3FQU;m3Z&dD*=8%%2)!~7Z{p!Kd> zR0r&ySEuz|v_wS_O92qkX4j*Qn5*d8v&Ks2C=)vA`W3?b;YG2>&0L^5N4>p;bvz_@ zmOp=nfAftT&HFZaEX}ZDGP({QV1iqs%)fCK5rHyAl_OJjh$7Jy%~O_)Fl+Gu)0Q~Q zHIq1>NQB_)PvstEsZES8N(Vjwwi-}H~PxgRbz|RT&6Kiod$u zpH_UfSb1)F(dTX2m~eM8ow%aS6z~L_O=^L6=$Fv^fqKmI_;}g)u{~!V?#O~rH_$;;VN9a$A*=3cG zC?C37AmBxzM^VT;8uXUGuZIlcS(Ec%a%2YF=_TR5Hr$N`MQVUVtin^Lz>rkfNWhuE zu=qSEX*f(j&VJNV%E2OZJ4vpnN8fg-RYUVm&+qPc!#I(1TQz54vj2t2-krkOk!LiQ zEYWf)a?Aj1;O)Y_h_OiAa;FCxGYaX&=8`)F{Z(X9+m`o7j;>!jjhXaJ!^FnTyH3Q` z3a%YqBI?l_UQ*o&YW3L9MBtY_@HJc5PTEX(R$34m)OkVAl)5HlZ|W7rr1i+S^=&qV zz*!4dqj&liqK>sw(LLFwD^Y`1!6kRZ+dSPYlEn{TjQP`vTk@XqlQbc3N%1d#ijWBB zMZ6Rcgo7maU`4g#9($~y>)9c_mtt78^XrX!#zh8Tz73g+YTV&$K6+a)mCBq@L@y0? z-4TTnyYLIvo)uY*o$2}*25&^o>6JQ;jBi&O*;yVJATOU&Dqo;8mJVf#=3AB4B(@!S z04E28siPBn+_-!cvS4;f!pLkjx1{9IgNM+RHsfvwJ?QNg3Oaq<-2-n!k(YN~Ygc!F zs%|bBUGeCOBcbC|4k>iT9N4?Vc#zB3HJkS9@B){i5?`-u_B`m)YzZ{8BhN}UzS=V7 zr>5R2^ZP@8f}RO4X=)KuVTbC<_}Y(ora=QZly{%)%(#moI46sXJ0lHO=4-1o_E`d} zczNq?{*F+M;Aofj>1=E7e{GZ;li$P z-{jZ$q*IjcIPINf5iB99Q^A&=?N{zOQ#n4pd0ZB>8hNb$whS*|3L613I?TlVfv12= z@x{KRK& z7{3ZFEqBrzN_Dgn*D!V#cYf>J6`l@qo!`1pz^Rx{<>{}vX`rR?ihHD4=9l&QnYG}0 zQ4V_{hU?lpl@lIn+j($c&2T_z?dAeTXoa*!-^|KJc_P9+Sv%YNO~Oq@gyFa&g+9rc zuMCQ79z>Ehe{UqrC4@T=FXii_^`2`^2h>IuaIg|Y+n@H_LU)=xwR$!x6NjBJ{Xz=J z?{$KlP4EI|RkP)RF$u{v@(~92)az{fOb+VUG`u8F?)qcCe{Mp1X=^l@QDF=)ZaSBm zP3>w9fMvV4VmeHU08;X`)CTGtAN|f6wut_@x=!rpnw6h|6*N@GxeU1z&)P}~*%u$& z?Ovok5oBFK)UA3@={K?7b_|7GsVF;4j6N7xJycf@`J?uJ_Li*$&HR%^{3p07OMtj0 z&V3m*$Q^PpZIm~Q`GB>kc~Ue0x`byU@YB!&Oa1$(KmG=QkEkq?SNk4r zQ!35Xjud^=F@Os(F4j%}7`qAeP&o z4_qTAsO&Gi!|+;-a*6k%aAFs;^nUzdmJwo$x^!)53DXXIv0vK1Z_=@=J)nvtAV1S_ z8g?Bcn1&pkdxXMh^j|8iS_&kvy`<8r*JXU=N#1P1dg=hi8v~uq(^IvwEkELL9 z&We8WF<<41x>sVBvey@2nVYkiG>6_uNgV~AQ1tsaUQ~6z%7sCXeliz$=pVOz*wyWZ zDD!-uyAXkD&plN^f-%0HYj*XX75$*ZUTjGb&$dV$*ZAr{!yMK4X=NYxUIoHn|3(oP zmV=GSFMcIvA{0P1+iPi9Iqx3guRUc}6?TOjZ#bnKjq-Nt<)ZJ%fELZ?J1#(V5$De( zP`?#wDc%)w^ykGVBXGmGS{o8qMxf(fJD*tJh?DJloj~jNMopyy-+g^V3=@}qxla#K zCb{>ta~F!5n_jXFwNVBl9@+al!;`dMoD=EvdSD%5FbLr4wkXKmdEB2>1I~+3P>o`A zKkCaf`Wc-3Sd%AeQA^nV^YxUFAIvOst?oK>>FxYOww(Uyskn?MBpd0(`ZV>%3J>nR zve9b_Jl{PME406SCG6EX5zFkah%{;H8aXw&loz-0BXm$@VQQMVQ%m9x@&B65CmDEe_u*+yB3YX3I2&p-9jDGvkCK$iV z16fCdd3Ru?X<2jDBb~|BR-RLB@aMX6H>C)-X(}RGl$GA{0CmD2oYb4GExJ%K zNC9N&pTTTuE)M-+lD|vQjEdG}?j4pxCEGdVcJ zDC&QdKfoKyI@+I7=D(*fmi6lhXYOV#mbbWlh&G+o=9^XrB6Y6Uo21tFLly2RJNIn`h5fO>Q@dC2c$7>ld4Xo99Pphoi7R zK^TRfy^;E!$Zu-e2gE5gP>B`^tH+UOa!9*bflUmq2_-ySSnl(={L6H*T?+qlcZk=v z*>jkD%lPFpO583bM3oUcqL^mf+0E5xz+x@WY`!v`PZ3U9B52A6bD6A4?0t1)?{*ViCXJ4^3?WpN1=kH@BmkIUu$R^4#E=wt}DU11SVf z4K2nc+=Dmql$kf@hhKkQ9k@o_xTxFL^B#fSC!AVczeRlrMmDvFrY=_i7bA~Mf?Y3P zu|ZdbZ}qV?aTjwcp)W{Axpm%?vP?Z-JDrI1RV7hj#Y6jET04P51BXU~lSrCNLxaPi zOux}+svFg9Vf+Udlku6zyQd;#sZBL$-Cv?f~&{qBs zo>Zjj8XC%<3s7sp-K;f$w(c9umz=HZn%vJNX+~2)@TULg0^x-My z2w>7Zh&qBKGEA8BdyF@~MU**-{K0LoXTipm<*)>C7RlpZA*F5rv3Q)jj=jZ7fYE7< zbT*=#6pFiX_TR>n4KX-O9w__ZzwT-y;z9T>q*`3q=igt|t4=`stuv*D%ub;RGP5?! zH&al#5lt`;s8`ZWhB9IkF$OF_i#rYSv+GX&N^MisS-%a8EWDn|Hj4`=@^PP?)8wg{ zEZ1G_Hzr!yr+B9VBvju0_=g@eUPhRq_&oJgaG@3Z7f>sH@tIa7gn|+}*ow=;Gg7i* zX$bPPTN~(#9AQCsFft+H3{J0Mns7|X^)VW*2{8xIH<~>|R7yKER7JS8vY$z5P_1+! zW-?})iR?{7ek;-62!M_KGt4wbAVr$}S%MstypU6FshnsDI6^n+npd#~i>$bJx8CHN zESD&7XeLpAmvvI^LjSNmo`TMIfrwVb`krUIdbuIZs#?UG5Sm_U$gtkPMi(FvI7@P| zOl6OjD^z9gGQz?VTXvp@5$N|4se+qg+xW^lN9(+sj1h159ChB1F_I|Zyjh>EEVw+6 zs+Kd2F@)~{SZ^a`OFi4z{QKhvaeKg|;kC5^7OBdDwf>~=NUvP#%j~;~wLDb>>W*Y^ za@ur;=Ppf*;>m_{4A#_vkW(5CWRkQ3_Yu*F(6gqd)^Arvo`p55h0*xQitd?8LyXb7 zxK7w5>p752xmCaD<}OX@KOuqf@X9b{*Ler zO75{fgmV}+W=*imlm6eI9O=QkxtTAs!1=tUlDq8ukjtI=MQJOM@ygGi_tL#=nG+)K zFwJZ|ddOqJcVxiv`$xWyU{Pe;^uW`Em~2JV)**AOR@L|~m%pPjyStJBa}!p6@>#GS z$_hP91B!kmHRsrMo}jA=V+fXgD;1Ysy^B&^4IrvgQp?K|eJC}kLvox-HAAyrh1SV$ z1L6y_CQU7eX}nTUAzf@t4h5=x#Jm?lor8HKK^hd?h&L{o;}v(aukpfmSX3o5kXBjg zT<|1r(cn{LL{)E0;yT+<&QB%#LM*kkJ3-^a07g>EH1>?OctRes+Y6@!G+u2Syln;M zO|bKge67E`Ep(`|#D1wf6XDHS0=HF?&}LNyI0d&M1d0xOUY@cmGjVV^ZIQ7}j7;(@E|o**trJ|V3kY4ozcH~{l~cck;{_nbp&We+ zcPB6`jU}&qpZ8Q9e_S%%8Tz9XEKd(RcZ)`A^`cA95K<9@3&yx|E=i zk${wK1!=Kh2lptQ!DV8$$pZfwzREbq4VWu*VL<3B73sTjFvb#9#SMw=WNQ-MX1`@| zv%(Y5P4QA&7V*>h?Uu}syjg2OD1{_lD-gQa5GuIH=L^FH$fZtW8t2DwA3*z4;-cek(3i*Eq$|72)wWxKda~&HWA_C<29PoB zIp$H9tX8-#1xXa2RqY}56&ztSzUgRRzw^V7Vf8P$&NrRwgq;h+vg;UrE%uUy$uUdf z;}h_zQkt7$avK&!oW71Hv6h)~>6EF4E~FBS=9?0H-9bQo0L#AluK^R)XJS=x`C5Cj z7PM0M07KA3&O5IR9tN8`+FM(Xk620h4L!LWbx4QS~0z5@fce8NBVjAhT? z1ip=vBeDLlUSEiNo)9l^!y|`zizrxo+4I&{Re>r~n_5dtj-g^R3hM9ugRR=~&ZL@I z+jBC=ipz8joB0qAoeuzC-*|VqQ0{4^F5;w}-0tcO_fUZ2e%<4>?ZzvV(i*>N(Savk z-hUBNT^d|VlGFXxkVw~f%b~j~7wXc*yG1i7De5|r7+l%sn^Ixz#=%3RDfo-~N}ZNt zFCVTu{ATpTVZ_WDzx-52(BnPr=E7w7EhRH=yCRiXQaRKg>la|eDHT;k^LsW} zWCXeCWpS%oc8)d{uak!X-d(T*6DH=M5JOa7_4}9vGNqb8!8Bl80xjbqSlavWJXxAg z$H#7`JYL^BO$nf@!nKk7#JDsZ_MK{*$r*KFapUc+P@vY~I1x{zaBWdt{Fv{N0786j zl%DMQ!#L9u`+j*_D&ceQJG_2lECuATjuFtl@s1_IZQVzpYo*<@%by?24=cPs>4>xV z-08B8^6+SrP{=EW7cXzgRPai+x~BUSEO z899EsTJzcUerqV(hJ&j8-rm)|=38^mh_kzTsP_8)!AhpK324QQk-eYvUD)jUU~n<^ zGCgjXfL%^A-voeiw`}X;Bk?q^>gfyU~!QPsx|> zgJU>=W;n3v4!FE=b`>}6EUOa+SqgP~bc+eJ%MSk$^&Abu#OmYC`ymcOrDH;zfvs+r zh2s34BZF!BiccRC>w;VEw**^_mbD>`I|O=pdk6HPvzJG4?*OB-beucFNPD9a!0!fb`6 z{AtcQZ|41};byjyzRqJ*StTGb^NmNyZdnk^Q`P+!ubuv49DK_KQXD}R53|prAbD!a zeCJ+{uvg;g@EY2AVeYwu)_uBKgp74F_e+romG$rs-f30$NS~-D#spj5>WM@Smnu|i zKYQAaJaX?x%5X9ai1{*;L!p-F%$;O(!#|zT;8rL zk^(|pL3GoQI=M1OK4XCiwZ%jRY2ER)?Cdn&@5^mE`Jro!Bf9Z9@*N~ye`7er;zN!a zGHFIkO%UQ9o2-Ug&&xH4=kEm067av9!~C3VYz9pBa&rTjTqGRmBOOo{Ntp-z`)tnQ z&$l34j3-N=jDE`1@OO(H=b=i!6?u7?#+6Up2Z3jtftiJ}i3=FLs+6~x5=>}2BRiFX zOcH?RcnN=FQ^(iL#${4rfnYp+f5!t~06u6`}^etI3~%#}~<7XuQ$)%baN z6b4{}kdr+2yd`)_N_W072EJ3xbUy65FK#xnVdC0xL@Aua_Z6MN7R6@2HbBLw|Fdi`FVdf9S#DL;RlsN&iJsrug?^`nx5(Rhx3;SB0KLQU<{O48fXSlO}wP=ns`UnHBdk(O#DclLXjr zK<((dcAR@%Xr~dp^DFv7D2DbVn$CiOflp+zkcfCe!xnMP0O1u?Igru0(kx38vaDF@ zIqzh?UCsXDK<9XUN^rU*_Cdu(iU%!Y9}3wtZN=KeGb`60+{bST3agwD%7hyPpG=s=bnv z%{L$DrUbxyQ_6tAu9%vl@D$CmDQIIs(Ny=SH`KiRd1^owwIlUN{$rmC2cjIFoH1XN zW6lH7g9R$)cI*Nb!m?FtH0>Z(YwTr&t^^S}jreL*G}tX3I;`*xmA*q6EeSxotyC-X zLxMXjBU&a@gsgMvhSp?^y3?~)-K)NW4ibB~uB{VHHOVDzh5e3UggP3$?xyvv@?@(E zBpxsh7P@Y)L3zpjvvu`bLZ7z)UP4H{xc;TC`0aR5<5QeoK;bd~HO6u?a_(Ei!4-6b zDZL%urS{{5u0Qgn=m);H=_i2h348_YDd@NI6^xNW59Ju|pTo1*3s(vPy#@#)atJR1 zZ(#x3$w?)!-W-y2qH8v;2W>WwPvrE* zXtx=lJwV+m(>>w$JqIv?jxCl`WT&!LEsB;u#`9}30@y1@Hy!FC)$=%WHKE~(x%muA z&RD^N|Dn=dWtvJ;RH_8QfC{BT@gV#huR28q$@2&7)c(-by9U3Ta4^a$_BxOsn*MsL z5xfH4`{Cvh*dDehBBoElNQl`EOJERv(92kO0IBu7&LDh`i38~W(T2a!0807-yN=-U zb|aSQB8s(zdk$DIrJe`Ub`NHx2eU znoT8t!l^ybxi;EuglKsJ)~_Bpq`sj*Dq~kXCE^xu3n5wh zEtPvg`DO#A7nOjuu!s@)4mhgJAmrH)7;ET~)$(`E@)S_|W9U>Pt7=lP^!Bt==iCZA z+k>PKPW!hzXw+|O@`?te`5;#EhD3ykbAMX^qmVfA+#kKkR`DIXt%u(}KBRAxLFl^) zB5Q>bbS7Ce@?8&b#O90jUpe^+ol~R)n+v3Zvh!?e}_qfOcKGyDhiKto=mMPI@JKL7FC_T$@dBgR{-2QQw zbt2Iw!v;n8B%r`>w^JNHh`>pjO;1_!1J7#8=oYoa4^2Xu$ea`nL~XT$6)J zTbC&`ea=ulArZK-Yst$kKFpozNzU-vn+V9s#%Acz&+%MP9ttu7pduacO%J2p#MY{n z@;ue4Eq?C@?|#aNCnTv17}FQ3aMj<)(#YgLft={fU0VHl8%h^#s2JUtV>tF~$R)ya zDei{D!v@FERSVL;sjuW#2G^2>S)`KubGy3eSuQse-d+b8Mj=x;{M57axL_YBF$O?F zOr&gRS2>FKZ9nu-`Kqro$9db+!%=Tf{8xrCY;v=MMlBEQtfxg8TeQZ+uR+?)#8=sE zGPs(n1nVJ2rqgWWT&833P`gbxeM4Zkr&MI=94<0;gPBuG)+p@1iKLL8EY}Owys;Botsso|YAF^qTW%*oQ5D5vU!yhpyHJgv(iC=~6>T zbmFdC4fkHi$N{ea+ejn*rKqn?MJnq=^XJ}?C^}ig&yGrxr&3>H>~N5hfa>CO=%V;( ziwe4;wNxlFl^928C-J}}BQfGDKG9^GiyTq&B8Dpqd{>$CWY2WmVAXpu#7fP1twSkz zJe(_1%lk9;OQ_6FEp54-nCASI%wLkHKix$;vgG1ZKvuM@^e8Lfr2(wF)zQuZ;9`!} z-FAcDTrbKoaIFa>%UP|uKx$B%JpBU zD%XEd)lha&)UP(xf9>`E3svRd;9_89W=$pj$F(%X4vGT8mDm%63dzLIz{bV$?;gDi z@ykR1&mKJ$g5zHU)0dn6Yb)PV1p1X{|2u|^8}a^?_6CYa9K|KbPZ$(ETLr9AXTxw^ z$LezvKOBvkTG+vOVT{WNtzLw3;5J^VV)fJZ8Ai`SD(o1fVjJd+}P68{TAo=PoAt^qp!^e9YDNK5+qXG?lR! zN&Ul6+~FVG*tj<)dmJRb&UB}?h4{ZJtZ}$yD5Oh*C)dat=7bq-oVrnrTafhcVYA*} zi~kn<%v6;z@{cJ4d>49-ebqmHjYlvMKzVKbJUrF2(tY8UmG7PyNkQ59BN&-2r8Xa5 z?RiK!)xgB1czW;xcibATpA2Xd{?bpgV{q2|hLSt(!}u6KBa}G%DPYhHkq|}$vm1j? zSL{D6z=#l{=WarfB~gaUO?+AljfyXO2}wuIn(_hrb?My2?~1PR@vSZ8RLnuRf0M8%kZF3OQ(|j2wB=LUlNc9npQI#VG=Gi>*0szSG!x6e^_tGFN zl+qQ0Vza5#1%Z>U7^|^bz-Z%o*_LLL+X0nIvz*OoL@=%W%8jKLcM2lRQ7#w8v0YsU z1Tn%Zeu9aJml|+mdjn{laKHl#hE0`m2c~j|mx}vSLb3 zi62>%FR*HN)qj#QWdZl4W53pL!ek#3C|DYYafYe9u$$8odLQy?Bzz+)iO$e4jPEWTmU(@HYQ$HV$RZ; zh(tBA=5@P(CxycBK?jB}DmlT;3vv~R=7Z-NpGo2ouF6_T2}56H;lWUrC9TI^U_ccq$1Yk{S=f;srohp(p#1!j2F(WG;tN z-sw-B1PN&yP_HFX8HjMivE$dpOZhaEZPKGYghRqJO&KHj3(m@#MMYC1NsoZ8EsfO3sq9R)u68DUBE+=ZAHr+;1TMzBORLK< zS;qnAM;?wngex)Al+8w_t4lHAt|q*5lV8^@JVZ@r%ZTG$*1W-Kc04Ba^@6;JFEsl+Q^ZY9q)iR!m4FG!Ci=DkNptYsdR1FTvew8$oDx7Q3l7i~ z>Y6YgKp3-xl_DU=?103q(5c#9e|voFPPT7HhM9yEJEB?mLb@hkEDDqJ@kX~{8J+M~3txCAKa!-a&A1xc?#DIiM6|Ys z`M2{M>9Zrbj^aQdy4Pv+_#}^{d_(edvO78!;1moO@&;<{TXW&*)dhTmpIO>BrF>9E zhnmTC@}=3zCT@QKFSU&^d#FcrWL}>b5fNa@7y9O%JP%Ytr4Zjj2=rkvqP02ZrV`Oq zC5!&|K8TQqAIU`NBrd21*w+(@8+&L&Qw8_Mpt2191}h z4qP*-GReXh2O86oc`zUI+L^7l(u0BdZ38_g-U7Kg&j`nKw7$u6%!PJ?Brz#><6774!?!JQjyzu3EFrR;cSnYzhl)A{_oCCDw7mT5gp5J2h(Ee-6!mQ%S| zJ-VsM_BFcnPq;o;b(~y-4B>w)sTXvW)1F!K>Ya$(_wc{6!pQfcR*-}zBtM1d#b+_+|X8Ms8XWkXL?mLKTO$lf{#IB9x;4a^+2pX)WyYk zVe=ouy&X+1=`caF2S^C9Q(}|C{`3Xi7gcbzC59KySWt?39Pb48Ne`y4UU8;JSX>3s zlygLukKyO_o)Co>_UX3IEn43I5Z3-5y1p_hj&0i-cMlNUA-Fri-GaM^;O^0Y_x#nywe}f`F9zUplrDA+q$YY$T zJugKxoVB;jhulgno~inIW^&ANs4?`Z!p*mgYtY*zPzi_Iapt74+Alm;w&2e0bpX~? zK&E0-BW8ZbvM8{whDWL=^6i#eKS1tVLcftLQ2%R0$uSX>{#RK!^bIMzkLHEMmLOKd+KCVlH6-Z)oDxLi%#A^Bn zw+>pW+D{9;Nh2Q{cW7|ejV5ozbvwtCOaz~sxNQ8yoTr+Ek~?{Ida&U%qEk9{mw!L9 zYh6TNG_21(dqW!>2R5=02b=Y?J?E9dppwD20eFhnHV;>ic<&<3GKn(IlJ{@hT^zMs z>ymon&#Rwps1VOr99{S&^!**%lfK54ZeyI2qo_!y)CHZU2Ir~RPS-V;t8;HT-VMiL zxLj!PSJ5yj;>E1&nN;L+M#ayU1#-3oj~uq0Vpy2gG6pUwzq2X#+hzYuISWJbvf-0* z2e|LPg@11c&kz{eR8runV3C_;+4740;Y-l(NS*izF3Qd>VQ2WgV}Z+1`#~*V?fGFp zmHPHxAIFkdh2Eo71gozS)~kjYizhs#`3s9IqNo``SghxqK$o7oz8V#SSn0lUsXtwM zC%|szzV`4L7q%{B`My;YchBlxTf=8S6p-5+$K(kJD~C}Q%sv^fn2<~?1;8ik)g)+J zE#qvcJ9JmhaH`p9P>jC73%S`=g}eDZw5F&Gd$v`D*318rOKEHJ^u|(*f%6Q}7`*AEM56A!ho!dCve#Rs;~V*Db2~pR?Hh2Bdvg_KE z5N+iVQdHF;nhzg*zO+TZv9PAYvJ4Q*BX0_&-S)I0p?f~1WLtbz7Molv+Zu@^h+w36 zAu32FASi6`<}gOq(8;+im{hN>NF-aif#pX^^5bhBvbq{zjr#Rj^n2oczcso}_?i-( z9wF9*%>&^v)e5>&X%@8i2!t#L<-F^DDw;a#({k6uZ}ihOd7GX9(l7j9Ow_v-`XB4NV*-zD)YTa3Tlo-ld-+2Y9!yj%dM{f`3h zIQzf(9o#@eXh=F>moUT!T<(AQGyQk)%EiIR0kS2J`v80c4Z-_AhOo2p{0GRw68;;= z@{53g?6@@~NQ{M>nf-4{2>vhIoz_bMgDF8~1UKdHMuzN-kUJ+ju~v@5?*@HeYp`Xk z8#!eQ!-&G3ZKtYw_`Y9+7nBvI25Qq}ye`znC6Jwk-Xpj(&Q* z(bUz2^C6$*?gvZm?0KVaC+>FB!ufhDZ#q(BXRB(LnFavBmr}!AH}67xJJCa=4IqwR zc{0zGccHRwCYyV$JdJTlnsBBn&*`X!9k-~X+iv7sJ!0BmL9RB1Y}eN-!V1e}hl`wm zjqZN@-f-=RGCFYe#P1GCx3TN2xm3-Bm(YI12PUQ|*oWyW&P6OKLsV0e^0Iwx=fzpX zLBHf>N)A9{AdzauW&y)hjxnbX#5zSNny?PEd}nuy8S!PInRJMP`RP&QT*~eK;62pF zN33rzo=1pZ>DoD7^pS^6?Dn-HAup$y2UQF?xD(vNxVXy^7Azi%7vPv@LXu9>(jv`h zTz4DcR&MW;E?q?~1IrE}f~W4`x7zYCgW0bhyc1xS%&sqMDw?gW z{#BA==7VUlj?TtrVofhw8?;MJQidm*P%RhOIif)VUNMBZfm)Oa0c{F<`>7W{uuQ&J z-!XthR}miGHj&Uk(^IW0F?QM!awd0I7g1$TbvmSx35Aa~pc zrb>mcI-=i}!kC?KlYWmb<{@w2Ub-#v?!--Lcj7QF}C(2M?KAj*}~;gn^(r~3nIX9$&f z03QeERK}o@SXnpe$#@Ekbp#!WSn`Oo8l%dRO8#2>(nhRmXY|Jd<}i3_ohx3z zww|t!i-z@8y=Jqnt8RB3+g2|Y+tw_`)M%6*amuGa@tPbu6F2D|RK~-rW#gWu2Wfgu z7MhPp1|fi+3;0HRj5eDB!tGAlhM^W(=RmI?daL~+)0!M`Y@B;(fwKx&E*beP_o}QI z(+7SqD}G*_q|_CyeWpSUREm4_e&M75CM#?pn2gHKhZmKkwR0@_1dN&ZXS*UZ^m;U44a3*aWbDbie)cwm+tT{8g#PA265@HrP{{7ALPnB?&#GK`0Dysia5 zAhxI`WYUEYA}-0>0Y!x4OOg61se{cOUNH7}znTAh&6cGVY2Bz^N(mzXdc8pu0uFi? z8G&;AaujmiHKEKs;u&+!e23P88h=)jgM657(~@CZhiM^avK0q;)!$Mu^z=2fh5ExS#K?g^@@R{ZvS>KtxpD&3Gc- z&Gsfz?z|4`Y5hjM%S{s}0>_@5nJw?)_dV{P;@>>tvwjhDh~Vn2V|WxoKr;&DR^CAbk<*;b3t?RD}@nzdO`_(>E4Fq@1a^2O&+tuRg9 z0y{T;N7tcA3F*E-lS)7M(QdB8!G4t!Je~M45h=~dMCwQ@7H3YD%4+mm_W2-sbY0Ab z%YKZ%&8Qb19y&gw@l&qh{5O0z=0RO|yo>wD-K;>ZIQ#yWNdT*_=Y5VC(!^p!O1Xzr zHg0~TfmrI91g()8Akj%Fm6fJbnGj8#LS9@K)ql}V+4lV^H!9}%ik1Mk#u^ut^qdS*~0ms30cL=0nLi|INW;RU3 zYZ(5jA_cnL41H4+4#O)_L0^9nqJPo$0*@4pk)J(IC4%Kjggs!LkZ5uf+uQyj-oG); zUm|=OAK@dRAQIY@_X#off4YMawa@lBZi|l>pzHZv*}D=)2|>y}uz?Id#~{rJoZkXfN>J{Uqpz9ya~Fd;9!X%G=M zi(_UTjD|bVve?&8Q-7L`sq#t7w4|E?F=}t~EC+E_ z7;4!OZt6rhGhZ!~sI=>&z1iAIKfA9{E6=R?MEam*f;Em9TKT>guqGWE2R)a3b6a{8 zI+V5&WOxO@;3a!g5j@m>9%alh;K<-Wqd5h=~2_U4&FYuj0D(RuJ^V zcT9&b-gmA>iqS$$pIO3Z(Tw}?Q{X+adr#FTHc<4a1ot+7FDxv|Ncya0zkKQ){tnX- zkhJAdT$}$Y=JXj~!oQZ&sO=NA>inf>2^B%O^gZ4?Tb41r>1*q28Vg0rz+T?i!Fs)k z&GPTr`hfuK{;TeKjUB#2Bdc=F=B8JMkedKQ&5~IyUwS7`^WX2v-F08yHJf!*M z+unoHdr9uD-l{#ZSvip9KaaY=q3)pW0l3ebMq%v|f@$_(`#*{s<4+`kpJ!G$qEb(l zUcyt6HN@gi6=7h}I&6n?yz!+~i#Ld2BpyF{R?O(wx4XHU+~D72eZkcQkE!3cc*Xw6 zUScX;xwEBov6PQfH1tap9g4Y%Rocsw_~7W1i~P-w))17PyS-7i%w_?iSVnHQA;8t~ z;g@YJui_qDz&=qI;Xcsab)KF#ulu-f{QWnx+ChJ-^ERF*Dpyk}7d%SW+mGV;(R6JM zXg7VTF;MR)?3Sy6gXO1l02r62U>+U!G|j?$%m-gebJt6m$&;e@5a;-wOn2-Y>Q^gl zrAB4Lnx3`NKAnLrKi&I}RrOo1*RU%9Ft(1n*T4AKKxqz$f3?Q){IfNdhZTrk4NgtP z^LJ%hK;XX|zmaW@^?AfhvwfX-bCSF{j`uQAihksA2=4ELTe=Ym=kGjLSqNEl1@nhvIlHC zUD~hmZ({fRN_d{sRPEfuh^1%k$ldGL}oz$PmXhebTLK?MlPQzIQio-`A~VJ2Bj~lgO|7^3%7JpJ;Ad+xo5~5OWFO>tW|zl_#vrh zJyRW!d!v-=sTL$v*Bt~Zqt4LJPx-d6E55uK^fF3NF};Y_D{|1<4%+D7RX;?t54_)A z4w)A=KT+}wsY5I{V}$jTDtu%8sLYus2Uwx&H&w_`TH266J~5HRCQYSVs+newQWKrk zluHZp9K;n%-%$5G`-UpjsFbc$Y87PcZne4^h`3;#D`oQ)9>Y$J{+lb*7)2?qeuKRv zOj&#mTM)J%(ij;d;p{Yh@mePwYn_f`MA%#Ef#cotRFEon_yI~j$j~A@BZxFS1u*!* zK}2@^cVOV>h=fkp$PXHNg(cNv$Jkj=kmXYFSQ-*~ZNFF5NtvchZRi{joU!)P5jQ2? z=5K0T*ug&vpr=Yqh}q`LGkf-ihMK3lVN51-po>#y{T^A~Oet&qXij?|eZ#I9WpDf` zq0xC|iDO}78QSv(UQjWa`R%=LdK93&4s3_^5B<Z{>c@|>khx(U*Hcj?h_~-4Tr)6WgpubCoq}8h)QuKq>f?_F4l9c(07d zJdslj@|aUJ5U7|2>a7L+WbP)eTYG%Sg_c~JI>{cs>^cDvc^DZ5)%<%c(=)dltg3B! zC`8h<)#?tQhVAwZgZ>(5PqWBo|eVL#u%h$n^ zrXhFP?=vCnUX}ec#04&c|=5STh(qq9>#HBqy zf7O4=!R|dQ>My1fO_?J9n2&Cw;;*LF)>QH(S#LuwxC~QD`mkiYvq6kjPVK#o!)|hF z<7DtOoN?5=kmC6ui88K=*D?Q*!}1&UR%GJ$@}bmM5$%_>Mc*%FnulosbQ2AQJu2#a znc1KI)q@sg^DSn$br(x#L=b$rC_^-6*RQ$+{5^yplaUm*qRV{n@?9Gc2c-l;V6>GG z9a`}%{lagwsJo2F`fFo0a`--NuzI7E`d^fC7q(;==#~-{wbO=&9JMH`P*?;somFMZ zW|4+hDx6fz&32M2OyrgVYNap0MAiaOxW6+Q;ui78y759k2dp19lXaSUoqAS9%R?-lk^f|z05TSJpo&3KMbuQaD1U|;Rp*5^pxszQD z>SDVk{fw`x;4X#d>13rt0DI9(58qhx$9g2La_W1|Z#S)GNBUcw>VfoJ-XD#s`K?dz zPG80x8CBs6J5Ct@RqaZYqANmLZJ^GdA5B?_%er&9a|y!ugZa`+Cb610Yl*9qnOF7{ z7O1!A9lgE#1WG>CCT{UKLF!1y$=|Yj1ffwJ`O3TIm*!TsvIyLP^M0e6&c4!AfVph2 z)lCJ;QcHFj!QF{9c(7&_uzM`GJd1ojbllS~>~wHE(ynhD27Rtuhx6`^lc^_$1Cn_tLK*+Iu7d( zjiABy{3+~Hz;R}xy-I$nGVu!a)KDCk>v-ScVqpA;Z;gPUTQLQH-I2Y~f|&CyIKc{P zNoD$hcXz)>rl_9-3HRKOD$xhS$?2uKj8BtnH zT|T6tUMypW$QN$sd@`XA7vk|)mpagsl^x1ZQ4{$!HsQ;4weTwZWx&6UmdxfgxtrKv z^xBFx@+oVd4s2z6f$F`^$GL_b_8sK+`co3WXop~J8-T=(cb8an%Bq6!A?u>IZ>{fR zb<{XXEM@k12&Anxblbx=PkMp9dN(2h0izWLlIR@lB7^(8`y*=fw$;VoA$~^y`Xlh7 z3LFWG=bzT+JbziAQ^WsPhzBx$`FB;0=U-muJX{GEOC*1E)+ix4nA!eNQ>mMvbRf=Q zk!G)N1Az-6b_&UK3P8UF(7WZ5FCah>1pvpw0uBA&DsLRje=J35DgHN};9&mWj-sHE zxwa7Wz&>M$58$i`Zzr^%OS2?gxF|z#Fef;aP&a-52H^vb~(<0<9C&kM@4}bRZdFc5wICUYR#`p zIpt)^W$ZW`Q)Q?S%~QaC#sIo-ARr30(JRa--)(k>k!x9 zgH>J_QS4bKU!1!<$DcfyBNelL^vwNenPZVd2v8LnYO#Q0j6CxoD#WFz(cbQWsR2+S zkv9@OOmw~dwiJj7AD?FyKuO0F9KhRurZ(1I5?3R=nGD%4TvV0$5ahHzu=m-zDu$3W zjMH&?<)pk_pc&U*#LEEFnwYiHSq$$O^7ZrhWMSKCuxLXRPL#Qu%>&oa5sxf~`w2r% zYgmT(@6;%qU+~*^?blpEVso1^?ehSRN+^0RF`Z5*O-V6=UQ8vm7FAd-lXd<9#Q3%m z=kGch)se$x;4xI_G`s!F4wkzJ5&GGu90-u!Z5)D^M0z z#v7jV0>uc@8t6>5ZMrF~g%rt8XeLuWVB_gZkerk~W&7wSFsSTN%Q5w_5DNeTCIs(u zV2^3P&K`gzn)PFoX|*Uj^f00G&Ic9$pO?rd{w?)}Temzqh<3hwkq}B#a1bA03+W^l zhc>h*Mq9p{kZuz?Sc?siR{sECtZkRPq-fvu3qpE__3DuDQ*301KjqRyo98D`g$Ik~ zBJ%Ft{~om_zgo_4$(^1x7u^M5_{p|IE=qHDd+r-lamF@an)oQN%{(6!7aj-(*fkZ6 zNk{nv{Rj)ai2ttP*wRxllx0g&V>ciX?FR*9qjn?Nj!R-gj|_UT7*et_%26aNE4h$U zPqp{(BAc76PdTaWZ$Th3_ltM_+GAleVJGQY@e9j3jf3k;Gt*c~RrV90BoS*Pk^>53 z0V?O4A$_Y^@+Jip)$F&8BCO285n~6FaB8ZDS@CeQUwmJRtH%q*sCdgG4WvU{qN1FC zvK&q(jG<48YpFkTKjFQ#ych6qSI*s_q~C@r%^eU*-Of^4alXyt7S zUKdkK*Ql-m_tpJ!hasi~X!!8rcxst#!2pM|Coad~X-GdS6Q}|_>}zYLdDJ{tX2}!Z zAZz-PdpTI78(;}he94E;efp4F{2+g4NG8T}s{K*It#|&|3|?6J89P1RsW$EF^0@E~ zT+q~-Y7-@z^Q@StYGZrU1V-G zP#F_BfUMv`V|K#HX{S(6VR&b`&O2dQq3N7iInRl%HWaBGP`ue(JZrGcnHHM>Q9{Er zG&p6``xS3g#ql?$*n#wZf1nmVeXyuziFY1#jjno0Lg)mc4XmNP$Hm7FQX8%dk1toe z@kTT}Tfw)0J-ffv>h9EvjiPp!=|vbpvL}`46%a7iPNmLYT@NuSEGP>E;S=% zs)zpBG`RG&^y4w{4r3*F7k|;$ZL9R*A6wOp6hU`!H&2)XG z=BS>E-Hx&shnK;zVY4ONZ&^M!GzJL>UH4u@7gJnvcmSk0dFdE$KcgB|I;d%w+EUBb z*vF8X3qys6b>7QQ4PjNL%{h46JV7Rhr+|&#dI}(T)j=~xX=ieHwYq$0_ibKT|N5CW zgU!_9JT!9&;M$&PrudH5b0``%xE^HAD|`Lby}TQ7%*gUJ8pof~~Zg-CR5+B06|83=nedS8Ou(L64|q#qyy1C~Frk3s(VK zgG>hG z#+@v9UKTF|^P9^(J=)6N)D}*HX6$EKo&5W#X$f2otF&#;e;tRGbA5TuRdOL~*+MEh z^IgN0<5MwS!9{{prFyInC!U>~wV;f9D6pv}I7*y}i0t`QQ}XQ^@C$r)s<+VUz^}H% zVr{P8+0)~Rm`EGh{_h|TYJ2%Rh_n1rfBj!U93&$9e^w(N8 zC2dfQUKaz0Pu2!`HN@gVLIZ`LAb5ZR?hq&mU*ZWMSh<1dDo|JuV>&e`sr zm<4$mx$I9Yug;&QH(s~bVj|EJoY|!EZ*LwJGW&4}QZrII8Xi84Dz_e9j@%pupbc-l zlLVnX%rlCZM~EKQa2ICu;4Z=&QTWE+fCFiMsvvOjF$8*dk9p|^p96s&5C-76zB@G5)%XSD=bz`%mk8h8Lc|1>j7r-$B~0$zED>UrODi{hN|P8kmu{M+ zlDIJ$=5=dtWEXxFz_}x&)ejjecAkEN>`Smv7vmNSxT5Dk3cmUIrC1>pv}2fiOGWZ@uig5Y=x9637`G zggth0Y|^D|ohS%0eN^H*>jO1QhcSUy>Z&l^&dlJFJ`pm*^Ci|n7#8d5wl#4P`FxIi7c>6?i zLpPHkDQ6Umb0ce8)?|$8XZHLH&F}HaF02q#@#)&|S=B-zV|$R;nFV#iidu`(>d_lq zB1!e6Vqt8kW(~mLF~k*FKwG{Y(|*t>GzZ;^R4>xkD0JX#GV00t@j`V*7yonAHrPk& zI3ZR+|Mx)$AT#oyztpkVGC6Wp)Uk6oZhB7J*1d!6#~5s+5Au0Um=7uV{fftG-6{cU zl$WP;2xq$wDjs6JyL<&{S3@TQ1Y0K~ukfqDCoXUXeZ<3G;*i7o0D}qIAO)#1p0DG) z=rj><%fD8-3$q?Mwx)~c9i+pCg+S>5<=RF77;WB;@D*_SSJA0SL79#4 zFJ8B!_`_j1cqD(jOIx@S(5(itgKiacxIhxY1Kp|!9*sURDfseodL8=op(?I|hfi-} zFQ&4Cwl+Ido9at1LzN>KVsP?NMU|sACzGfM=x)hKa|Gwt5a5wdHcn`V=IGK{6#}UR z+~7|EC)2mc%oQj!(hH-49v$S65W2B;-~EddL!+wF6#ym&%Hch9Dttq|og=ZHy4swm z;`^H)EYP`1S2h!(?>R1|t7a1nJTt>Y86RsSz&<=oEuX*Z0omd9I((TfX6o9YA8;v} z!9fRin3qWGHiDN(%qmphg5CqhE^O{+PjmIQyVvus7SAVFGe|gTMKOX46AVvagNtE&wPEEey{SKExd@+P*9~`gUl^+tludJv?i4M#JZTAchh8{-$DwL zdoM4~1e0=$tp3{IK?xLT1~@4;2g|>x%KuRU=K!&k|9|`YpS@9%Z~pfrtz z{ZF0p#+I)<5Yq9dOVc6bG#pz&`?+3m~9?xr^Xrz==grR!fiu!3@f? zL5VdKD=XXInw3paX%J;_C{0n=NLpKuyIX>g*696zFAeLzlWf+1CfTfiC)xkk()=UI z29idAbX|r5{`;)JSrWG5^nnNkf2Y+1O`V{r!XXRAeVPf`Z+i#hN8cX(dtJ5?z{#*V z*!~F-SpS9y|E;Q_l>aYLPY#eW%wLcIG5SA{02w%$2#)t3T#z6XPY2HY*PDhW#YzYb zc$D!O-7Z~#kJrOTOgV0Wzb{Xc@z>@5`2@4E0eeP4MwEZA&3|5-aIpR30S38A{xuu7 zX3zr+`ViR+`jzC;K)=XF1~~SAruEmNU;)uuKn7FI&3{TPg-R?a{A_U1UPX;QuKvyevPhSdeHd;& z%07w-*=S=4Q&GF$UICVxKPm!#ZcAm^B`>2}XkuKPo*y|e=Kg4iXRci=<^*1p)St#k z*vvv$8W<1}S<%rA8WM%49_>0Q_wy!^bErF$m~#k!`xHcpDwniKU%62$%kjjJMv}UlVl*S zEvAfDUyIq(nT6OGgtzYrooi3=t4A1nXFgQ^@I{YQ?*KnOt5e+{PUmP@8&Ox*C()hm z$gqa*rW(b+h5D|D*$W{_wLUbX_eeb$)vGsmQmv8>*_hr3#_!2GZ}LL&3U zcpZ-@H=6b?=B6Y^`0LfNmEe;xGW?YyDq{cQZ=x!F@^>aV04Y{G&03ZS%&}6c-z(m- z{GwBqw?F=1@*4Nl^xFoRX8K&nS87Hz_d6ZtM2X;&QDwDd7r=A54*f^8G$n+=&-U(x z?6CrCRuZN`$-X;n;WHO@j?z)Nn|{_krzv!sk!!QHgtzW+&?J1) ze-TN!3GWG&G;%l@v=KE$7xF`vtP$L<>1;tD``qDZO4?$-JL=Vrz+YtYty7P!*nC@VJ6(Eo zS<~R@7)Oe5twd1!BqUMf^R3wgknY%K0bsJ(qQXX(uZD`nHDItR{jp*Oc*DbdbgY-?%xc(AA2aOBWI2k+XsaJ;zH9C*PEo4}J!JB5 z4QnGv&e2ekeD2dbu%bT4Y+Rw_)*gSYoWZq!4|JT%5*I7rOpWJAkwi*( z$&63Fi|@gu@{LtL+_St)4gqqh@ynqry;4EzG+QIoSScJmMQ=^P77#ugtVwpk;Q>yP zD+sVB&#k9Zt)D$e3HbOOM;wYtZ5@@=8Da=`kOuWM?CsBa^7`I|C8hcgKEB4Hg;So){X9EN>X{lS zW6+F9r62>W(j}8L5ytvglxY!TVz09eRvWtO!6wy?s9!2#+8JBGlGP-JV{I-RRll?+wF9BY_DB6H??k}QI z#&s8l{pK6)igReGe0Aa#V+M&TR45otiGBvm+p6?w4sd$y`#zfih-4F66MDqO3c!*o z^$c^-Pdk&a*pgM&)W#8p`Q~gTvI1(%@S${Acmt;zC{QP{G$hF`1(C+8_rsA=6$`9p z+;KU3Lw2U43WgQnPF|Yc=d9?P(V>!ZCjsg0c3o#5B6I_B;N$c}q2h18ui)1QtU z`k+fyXfNGO%`|@3+@#8QZv{Rhw*u&dQv4F*)3Y~6yC!cY*#JePV+|+NIT=2>Se4w{ zTA4lrxU$)8zjfUWcX6i};o@N87wcknG)SSW(%v>NXxe6ErYLKz)WO@V2O`k|UH1FS z;>UKCu%ro+d0o2ug%m0@OZIo3o)cexee*$)h;#j6jH%;q4D zadzTHkHnmFuG}n=!2f`r5ROwe%!A^nmKEw|J9YQj1fRwr2&te(vUPGIVYfDKXv#DA z1_hC@%mwOACwMtCOu{#GRxRT3Vhgn}@G+g_lvtv_&KF18fxY*7r0@M2b~5vC+%dHQ z`2m>Y27!jj{tuEh2iqT#H8lbU+rPmFu(Ro3FLXfP{h?Wd^vb#a3yFRMa`l41#vh6_ zBr7ND-*93~M>b}g6QlFKO3{|DJ6Kfx5*`Qn0hgpn?g@J*ac!s8X;Js?-0qSlKECy| zvHUE+I)X||&7k9FUVlgzjKIrHf7|)H0Q}Ql08XT#Zke#wfa33qq5B^jzCQ%t#1|$Y z%??g3x+ZVi&ZEO|KLx)dbqTz(ei_cd8;t3C$7=;7+Yt(z!#}x}5GF`qA^_gK9_pxA zcGKC)Tv8;Y9%(n?pZptd+P1w|OXB;P*25%(p(&8#IDMg1)38N$FRpHGzwVMi^%Ml+ z>c7#qYxcq;^@t-t;OKXvcAauJ%QiQ2Pw#dyO$b_!yJhsHIwjtm7AN^aPP^n;5wCoI z6U72Z_EN47y$>UGa{U>`Osuh_>Z1wlKn4roMsFqDNN8LI@+Jo0dr97s1Do&_ ztf7vFaiZ9_Vp3fmgtLQ+n1gG-<&z#XJXQFAXRZe(I}RUw$wL_VZ0R}wdB9j#45ujY ztVKHqlgt2XO<>RhO8$pe^1^kR)|6QX0G6VHRIcYFzP68rQj-lMt7u1I2RaEy!&8_) z@7BMm+<<4GK$+jvLl^>A^aBv>vx&S6*$()xaSGzW7(+h!k*29u=oUK1B_(km>kFEW zr~<6g%nSF(u<**kbxCK7YFIH*27CQZ+CGZb&$!Ads?Hv}UN(=9s1wx6?d&gF0OLFw z1sY)y-3)XIUkE}b8>fhK*^y;?=`?K-g8h|-ht|(& z63CMr)*Wv_DjTRrtbi&;57p$6>+ge~{Kn%j>%z++2vyq4pS=|(BDlcbuK% zj^0?Ot9?#KLo}C2X=n1dsBLfAt4F&z>a7WFp~A^44`34aPl+tF&brAwO+UYVV$I9Y zR{O1f9e13A%5`LtI58uhz$48DZF~Hd!j9>TLt$?5#bbs@dQIE=H?Iy)G~jcvVQ#?d zJa#hHfS;C*t~OCt&k32BZ|w=yl4@P|Qlw=a!gn+}n@pHCLpxyn+u^X#Xlv&g@jO$osTD?(z&MdD1 zroD3~ZjiJLM=iZv6_)1G5}>8tbP$s%iEM>%bXo7F5Y%JXMe=@bX2neGx8|Fqk zp-uKg*@TneW%8_drMjqRmgXb?FRwb%4$U*NikVbrX5z&i^#vo4k?PmJbbHYjMyLn# zZah1Jl73i1|t?Tlp4N7sK3OVQuT<1#1j$kKwF7zpW(LS4}iJaZsm<)slWEn zhG{mH3NO5c4eeZDxjEu4Yp#Qf0`#pOm}&dU$7y8Q1J7i+;ck`Ih@L_dO{0+m7wJaB z0#;v3F6k>RC-W2z6Vk*_@iaO~w;|b>2p5W)2wj`;)!gC<>Cw|6ht%!g62hr;Fq40a zcLniv$&LJg!2#MOA_A0Dl5-o@b;N(Fk|a^5Qilt7Ra3t6DFR8VqEXCzpJEX(=t6{p;;LNq*femr zwNX0@F_k?$x56eJCV6^o`HWP*-`wm$3j^`mQ}0?@g{+T@D7{K~^1=0H`j-t)n8S?@+v!4plX#@G^cM?HF5k zH#ZyupV+H>bHrm^e9rT|s{^-Iqg zk$l-P*|^PK_u6*-V}8qKcjU>hftjvXQ7np|^xy9e8B8orsjOi9k}beHRuO9?r3R1= z%Onq9_jCNGJB6mo9!ae_@m;C=qa3-Xq^V6t$rA3^37P4hz%`d`@avL@>v!^q2{IuHsVmp zI)Mm(xZuawuq@?aLoHLG6f{(JCW(tecqA&8OQ~;k4hhAJw2TSIN(wGRm{x#!d)ByB;SbPqt&( zcVOBVcVtS~qvGmw<(T?fBV1o|U$SM_4^3~s=#%g8GF+^kU zMGzqgwGxDHPtYL|{uEx3fcCARLLXca$PkDV0}==LE(Q+!uWB&RV+=Hsa2$dVf(7IW z^hb4XPKPfBp9}5mT*JB*C)A>oxO)qXAGtZgDRYZ9Y^`5>b?4mdVb8u{T1Feb^{WB~ za0h80A4L$w!}&pAa%=m;sldC>*9&P_P8^A1^#JE&bDI!Bz-OOF1g1Ct{TZP!d)Egh z)mL!T{S2v!5J0eCmTy%i#*g5q{r&q~x<`;{&W>gd6Yx)64P=^fzNJI=wVaC*`{>a& z=TxbKa(0&_{LV9mR}JF^YeBm&H1`dDUWhUqpBpY{JoE~%sZ$&wlXLcTd)T*L>c_%d z_|???RsF_f7JaCv0E}$E?>J^_gso7ww@<&b)3;Ts1l5a;RGyhE=(s-&IX{usT?jz0 za*-}MWfn@05edaqO%8wbyGL~mTxk&YlwC=}Or?gQ(BIRka0n2>N|lcrbY)@|6M}IF zJ_-=gQ@v`j984t*Km5XGQANxK+g^S)gydd$*$^l@8x@K5xx>c#$40@$y^{I(Wi%9y-VsDV~5YvH;P}-;k^JGL#afX`6@_t zWj;R+r)2ePJ?VpnPH{}P!`L1TR=#2nSw}G|z*su)MVHVA%=z}S@X_aD?3*fTe<<8l z3rv(f58!-*cTtl5MsSrgY={oMX2j6E^1Q#>QFP0{|WFAj3Y zbb=4+#2vX6N!K>rV$lOEEswz6ouDgMXB#zMoZDQUbHk;*2#n$O&`N%ccRb}CcUe`y zH)4COx0!l8#Kh`Ld- z|AQ;y&~sqNO@LgM(9B4j4f1)s&S+KnuJSnfk^38 z@FQ3<3Iz7@u_Y*p;ady1j6NT~Z~`sUB)VdZr#@HJy=)SUqxG1oro>yt|56w6IL#-L z{*)yfqs?63&{<*kgT=Il|7xJAH!*;;l`KlF*`3&tDkV#auF< z&OTvwO1>RX93CCCFKnUD52J2epv_`v;{!)JOxift=Q0&TqWP#ex!MtZt_8-_gccEF zK#w+xF8=uI7~zo?+8iV(>~Vu4)@mROY;IG6ozh>s&}O6kVzBnJi5|OpfQSB*egU_P zbKsoO$}D6+Q`@>d}f`qDL(#O^NGyjHBqaVKU*Xaa?W*O&qy0g%h&GQ zcnIJMwvciePeFu%^0IA?f~w(q)#(wRF(axy%W%yd{1GP|nRIYuMi8eOoBW0=Qh$G#VOw zOpl1B-CLKcjXGnp5N_Fbfn{JiFInylA$XL7={wF+UUQf=vYXHB_noplO`qsbdjJ8E z(PR{*2GP5Uy(@*Y@HQI+oqjWv!>APPJlow)G6F2?Ql(40JG+>KbJo|wid9#Bb&yNe zK|fUa$=TLv`I$JPwKrEEXlMrroQ+QASV%LSC)H4m3gW3Hb_DJQqHJ3agOIZv^Y9Nl zzKSn98gHrOir9huoly}= zx8Z&}E{#m@66Xwmg2Qpsj2VcyiYW7b!iX-(Lk-F=R(7{lNlqg3v%JHpjwsyfyzs?&A*1Un@(Dn?z^mZ+ z|Izi90daImxNu-_cZcBa4#C~sEx0=b353C2f)4KP?oM!bm*9}#l0c9x^ct(AiNvc&Pd4$feV7kOrt<{#szJ{ZYOQ`gj7eycO zWb302c$l@(quNM@ZH7wnGWk$V5pDIWr2%?^!TtW!0ebL*sdi1)kg<|~#h2kmL=~IP z{Zxsq+E+@!VSQF{>OJ)Q)lFI=MU=UM&q4%3ezNUc7f9^XRa z8aDr}=zjKr`;bJUkk~j}od09z!Nmy{4g)tq;r_i3=|AzWeMqoD_Zb8ONCI4*;dB1e zK>iP=7$+|;GY==2)(>`FRBZcOy`g}MG>GEguHL^JwcwVu!aq(QJgnf>HU1o(*<8FBGS3Em!JPH{NZ_l6B82QU7}d+>>B46AY0$1n=du$ z^<7I#jtDLEMv|~9Ejy%`MQDg-msRIiopiJQU~8@>}iGy?H$JHY94puD-FMCXT#kb7N~PX-MQm3K9Fie zc$b|5`}J7Q5x6j6lufuuV3)t4uEy_KXdp3^Z#0p9dVNnJlEvRVq>;~QT(FzsX?mCGTM0k zV?av?B|Xr;Ez_tpmlyOR@hKrbDZNyludCi9Y@90p^2m!V)H_L{LR#6lCI{J!4CrF* z6XzMA3mWj5Aa-e9;2y95%58=Qo+Sy;Q(mJ7iJ|f@W`{I{2)^&b$@}(xWqkzSA)dz7 z$SX?O1N>3Ul^1=UOkb7CtBR4}Z9^1)(r>DfCjnGr&O#slg8GuSX}tuGzlljCgNi9h zlw69(=lm6&zw~+|JXzC2F?i$-NwQd7bx`v=rx;#8p!kEdjMt+)Z#s@OLlR(%`5O<^1akDOvqvgOsgZ1 zxbT3elSCA@NI#{@Za>!@=V?I2EirGr7Y+im7=P3x6c{r4aA9OA5!Z>5CtxD7Ktd)m z?_JBJR%o`9wwTIMwz4|;-y)}(2ZjdYaymoCaJt4nT{Dx;A=y% z5qc)sWHYG%-4sJGjBk9eqWT21J&wejfh)(N+{~Rv7A$Wj%aRq`W@6z4Ka<-LU(39n+2E*&O%o~&mvPiN$3iCwgTa+LXB`~)vxRvCKeU> zaD*#ry2)n*#@}sLqmtud^f;#avKq;c zw;YY;F!(7-=n<@M{cJ*d)zHqSDh)Uv7p7c45(0I;YD|;*8a*Vv83VJM7g4b;*Wt_N zyk`e%NG^jA?!)7_V8}*V2zt4oGAeRx_owMeawEAkMW4!dT}?=#W%3pD@sa?*rKEOI zej{Ss3i`gOv_oe|pc?`=Go|t7mngf0)$xUuNu_hP1eAzqF#C!V_Gt; zKQgn7OcZJ%rsDgal%Mwk*2w@XRI5yAGeR!PIZbTVurJ~4KeVk&#A^ilV0n+D;}xOk zo)2==S~m9_h+M~-75OG9ui{N54+V6j*7Fzf%_4LXCBtFg$g^Xx;@G3_>SVY5v{&rK zB^a}NVcvTD;;+n??l5GG*q-+M9T!+Ds8}XMIcM%!d~bZ@rNNDBlXT1kG=G0F;uT!5 zx~0TTlGT-b1-BSR5VuA_pgc*S%qx?2=fh6&)w=oNbBwf=lZAlTUEWZ^y)oSb3!xk! zL~5U;9LD=K%H&u1*bZN%*`A3q{byHJOl}M#ZHis$Ju@76=(MQzwy4z!zxuPAiixCC zEgM-s!{Wu63D}&UFbW(#z;BI|z+uHzS{wKyw->DzhT<;!a_RoO>>t&)s(TQ6%(3z; z`E*6!sx=Mo*$**-Hogc+Ol6dtzH4${;tV`JN7S|F4n9`xfCD)!dg6b&RXK9=*1Z`h zbY;XsmBS+Rl4#PWdXt0oX-lq2M*7Pq+Tv7B6(w1>oAOA;ct5NSB_JZnn$*E)9j%QV z@!IV~hN@5eEgNExhJof?YbIY0OC?=icAk?bq&6&iC z^o#+Yk5zhDSZI%8^NX5-R!P>E8+wGZ=t^F`RH05=66c6Ha5atcZ51Eqj%)|fOEB78 zGJeH=xQLI@_RzIbcLgHKc&)kfyu=KC*ZY`A=Y`t2DyH3Z~hmYlg2 z4@`|@1L>|nGJ>&+#>x;B{|)L?fB=Iury%LTgonQ%L9he)9yi#5Ja5Cp-vLF}7k~^n zTZVL7FLVmZtj{p;KuMGL14gk#NXjGXbmAitb^ zH>=y%I-50@E=$+G-QDH;j1ByWD)gRzs?c-uJ^C%7kTIv5fye7NKktVh{z=}O$Zxk_ zkJICUIfQ{C@S!di0_s|~SlzEJzq+W|4l_7@7s!;E`}$;zcwyUw-O@5mVtxlPb0ZgL z!{bK;|3-MU+soIvw|9m9lh)VYZS<;Zc-!-* z(BTynP1i^*`3rRm91WM>v>W*b_ayd%XYB*Q;H^=r5-B}M5_{hLv$ zc_VIy&z3o?7U;J#fgDj|wz;14^G)@HLga?**KQU)pi4Mwg8TzjK1Hw2;E#QbtyU!b zd&u)kx8vyEd_#K*BzS?}k~7)oq< zTYi@j87>Xv6QyfJ_)2rj@+o2QsK6sj%0$n1d3KDwcg8^ZX;@ge2p>$=ac0{|z!(0c z2R0|YcDJkesF> z6*Z17QGG|c$W`paqCs~8g0{k8)WWRQjn-SMc|Ka|-DltoTs6EL(s5sDvgv5}H`*vut6>}Lk9c7aO*KWB*c+_}-iX~P;<9%u>13ne)#5b(_nPgtUOBI~8YeiJv5amCcC&GwOr z!ln>N^g)X~OmMj%!D^QqvMOKF%O5Y-V&5xKmbccJU@BCd&P~3`wcjwxy)<|XXQ!f| zLoHJu47qN-OD+nA07jz%kJ=DYbZ=~4TfDh4dx{j$?=EbpBk+Sklqq>d%@#&=bS{)D zD5K?KlIU!u_L5<1?d+T@d-(P)9?#m3UCLF@AIXmdo#@_4`PdMNukLt1_jyAl1)ICX zeUfc_W}%8XU%Op1zfBxc=ct|V8i}^q6HVtO%k;r3Wdkp&v%(7SrBIRlhTv@hPfhDu zD>qix(1mSJJmhP$K-Zqm8%Y~HthPXsb8OEdCs_i$A{r5x@cPO0Y%-TGVJe4$qG>uHx;z+7L=hCt2&ZIsb`RYXcv{NFCq01v}k}x)JD^6Ro{F}b% zT>33D5{#IOjhIm#=jf+~MozU^Uu81(m;%ioki~vz27Wi?q>%$u4UrmTKC)l5yk+yl ze|~S{?X@eA^MZMq@^bhhbkgMQ5lB0zW@s$gI!cb1l^xBt8FTJd$_+Xmy}_GnPKST@%U5=)l2c6^Oohj9&EBE z4bQmZ&K#3%&p1Yk&24RHh0RHcSp@^qZT0Xf41*q1I(DUN=9xd;wynZBr%>^B2=^(p zQ`*k?C~#rjRkKV5XSpFQ$nxejm|ok!M9A;$1s8=?5VD8eVtGvzJ zbYcSS$9&q2yH3})2s0tv!pthy%nM}o8B(DVMkHL)?}@Y(CdH~tt~^~%!HO+ONvoQW z_T3SMsnc|5SZ+((H0nhSQ)_q<51WERvLmOC=)h~qg$4@r-3CGH2mbPa`{m5UZRZ)? z$^>UNBKKH^9q?Dmy00e1*U;E4qvn*x688MW-V1~D!Ot|y8S-Nyjnc)1ohA4+F6KE- zQM4@$JbGGSYA?*=7LVRk!D1tZA(ared`bK6u-D@+uPBzU3AJwh`(+UJ#TNvQPUc`z zA`s!_Tq-m)hQ`)BH?wMWM1-woZN#}tYnq$A(Lnr=zrMu#_dbG@l8fPEH9>U-T55lR z&WMAfRA*4M{E_K+)d=*F5Bw=2-{9?8QhM^YEDw{iidw4nPcnmQ%-;x44}apFKFs-b zHSr8v_6Iu}-+W&br6;6oXn2LM;}s4u0{Z2=S2pkvleXksE@IfILyRzQwY|CI3(+Xa zrs3Wzu-lwJD10-Tk9Ka&I?p@mvb5bM&%~B2v#a{9bPijoY}zsJdeju~d>L53kK8Zi zG{Pokf8z~YrOOK}B3Hx@Y}6a+)->DYChgq6%<&k9kU!;1JHHLra!+k{_xE(Q;HsZy z9sKxEpAmdDIZ#x>JbsRITEr41G%-3NqFP6{r^Ct1@FVA3bK0=hx{7#-rh+)OKMQPqI`R53j>*#f>WA@9 zA$RgFkMUd4so(44?GL9< z{LO5?4y48m;(C|glrPb-h@J{G?fbFwJG&oO#7A?z17G=i_x83^Dg>W!08d>}XOJYw zsO~CtJzfD9X7)LcbS!9_%=hx21o8vefUQ~G>iPsc6DB_&=D+!{HfU}>p-(9236Tn$ z5l~LP&110%=$6GF6+Lc+()s0<;o z_j8b+a^jSKSsTWL$kp4kKpqVG4QeNbk%b`WjTEeRx@r#rt#^HjD_^O<;{;R0iX z`8U8WF0L4a>#-&~IlZ3SgCyjy1jA~3ylqtNTfAL6ro&HCm3+phc~BT9sRsPr$y>v1 zH#U_nM1y+*n7C!gw;O$OH=3IMEO5!3eUqGWJ0)|B*MY98qwgAZ1mk7GiW2?eb){tw zyM?+(nM6?sp6v7yNoSdV2qv`~MguhyH+3v~x78R4@@0O>#F`-ui_ygd6Vefxe2YkR zX`EFV)j4)hp;CPd_Q;TknUR*=U`eATEDm>7!|>cdcU%<>Vpv?5W1vo+wq2F1m{)nH z%=(k869N@+AT~QxkmwhqHUa^bu5bndRfW7Q>=<9OmxK}?cn8n|hU;sx*%I&wnrz;6 zSJI0YDhHe)|6Qm^h^9Z2V1~p{H<7%v7@ZnNk%QJ)e>pZ8jCo!q zB)g!{tSBl`j#{&q(0%o{v=*Fhw%A$)Nb7#Gr(bV@cyu{&QW|sy{$jzq9Wr&3X0b6b zjA){Suvh^Ey2g>*B-VU9*S$b22Z5P#oBaT~H7`;cd+<+c5-QU!ghUA$yCKQ`LCAy+ zn9zLtGE+2+Frw}XZ%;X~ed4K&u-0>zipGf!6j{xse)8l*ISjSbrNCX zvkP&wWx<-@HO$U#nyWP>`D}<3bR9ikaH=L)clxXB3MFQ z(m-ky-r~kO(%-q<{hdSWCXZ7UQ9>OZz0DgHvZDz=znzP)7m|U0=J`kCUhHpq2E_?N z-+M)L4uK!~4AS!aj7WWS+72{s0{V~sX11cn-9Ez?w$%4@ zz$eX0d2ChOxV)WWzJDgagB#-bEWAr#?JJREGZ!B`%B*843m=el6zFRjCwiN@>sD1O zy`BYN@qS6<%&Mtp*08r*E#sRMG{DFI*h4`^L$gtW5#C zkd*W(*eiCCj{P0x@QBzX_1{RDa$omi9YGsgkU`^niZ*$gsC3)aCJ(VQ7?Le=^>N32 zr`*#5J+^!I=Xd-Zm4QiUO^V}Co5=j|b!v69)z0!Rl&=cR^Pz9B)zRq3ok-@>;Hbcf zr2`g>Z80n@y(yW&|4~rcm5#C3R_B37p^d(W3q;&Mj) zT~8OC8*czRw4qkWh}?lUQ-#yy(|5ZV0ai&&RQqaflHh#5C%^LQ&p2`k54)oSYOBCI zSl2lJN{x4@p_NH(^}d+(I9*N&3*?;n;zx~A1+BTB)u%MWO{5lBi4Ts$MZ>88ldbIQ z!-1^ib;v;`0e2XT=~3=;=*kVIDmqc|rpR;m%+8Qz^5}Ooj;515Lxc*mIP;&4!2t}0 zuqle(QIinQy}*KYF<+<b~7p?587?{5hB zM;&&*iGh^M2xx0FZ0XCipElTlogVDD*uhX>PogU-)bK#|9bv|fs$(^>H&>es+Xk~l z?m|F09dV$ZOr*ELmU8-hzE6+jJE*Lzyi=V`mlUjD`!BB?em)=`jk!7Q)IFYQI!~F% zfLmt1OJO`zJD$V9n`us*5|SPGOWh^!no#*vvU}G28%(Pqd{@wL2_056ZBoW^~B`Z(;FKCWitWcc;$Vbs({GMg>^eUqx7+DzlWb?=?cyR zoi0JhfwB&>mfTnaBQ0`ir2%EGmZqWTcPti;8bfkKG4yo6u%44o&y)?i`H!~Rv=(#d z#wkH)jCd3qP*Y1VLs=qOA9NdWuH{pzmC}F( zy)%DK{D!5o4{s&qkRKw|UKqf_`t~DSvV^y39OqiMtiBf7gLE3)rzL@Qbh+4X{nH*_ zl=vGJ7L_bvfwG-hMN8r&<<)$AC+J6_I~rBHa^aq2DpDK_lg9=zu=1SkY-|YikqEo$ zat2s%Y^USa>^`NAYL>ZfHWstiX(dyiB}Zm;hIZd$_K34d;FmF@mDxvhn${k(jxK05 zuZ=)D6n8-S7rmi;e)op`v-%rzcsP;A7|5A*Zfcq>!uJ%CI9ZgZM3IEi7_9wG%+)R5D3Yfb zRj$8}f#k+$eV&j5-tsXlSDNy77n&&9Kuvxh!jmoDwwPAqe^@J{^_MN3h=f@VFe4XK z9u4Vsg9l~_T&qj~@e0U=3KXF5L`5&AZzIeO;(#^q?CDa{IteM{$=PDMF-mG}^CMM5 z22jo*vWUCd8v_P?HoTcCI8x_958H*?8LSTeHH~Y!(%fv>3kHq+!bn!F{-oN&PR+F? zqP1+md*)$!oa7!_3`PR-b>-H4>mgr(85nVicc_c zswwbqLxHG3;KMrpa%>S)N{Y{+ed~yZ_|+0K21c>UdDvCXHjr>+WEno-1F{PiA0f0V zdg%5m*V9K;n_6K+TV(Of=in3s9qXJ|S-TUd?i7!uZ=*uP1E+H%2H&%btx|>g8MvzF>?;fhj)}#DT_9tI_exj z;iD>r`r!-rki^$&F06DmKP4E~L>Suwlt-YpFdj~3P!3aN?C5b$Oh54PCa!I-$ut4d zG7#1sOZaJJ-1RUYRTp~8@Fv#Tdy>LeAbE;#lg#E#krm#ntkPDDFEIczIia78f^pH7 z0J>B(tRwSI>x`80f%PTv(1YUrFt&(|Wj|a!+NfK{-8+hlLOxu%^+b%@m%eg6Z&z8uHf?~)@2a~i(F z3kGa1)e|}Zj0BF8yEJQAIErIHgr!|BRglFSwdtP(IvBScyNUjiNo2-MsPjjbIx^&< zm=@ZywQ^#Jj__ciM%$xQv{SxhgkWIg7CzL=rV|F`^C=12wc?x`>0N)a;D>$&+no+- zTKwp>k2QLqP9%F_9|q%hWfhR?X374G4ZZX$FucDMj2Sk4(v~wR zH3+gf^w;7+Z2KARypHvor&V>DdHqaa{4Af4VOej$_tkxTcWCz~4`B=_|1fZ$O zyeVTahODpSdUzo8~o3u}$ZgnpyB6PUYAz$g%qjL$#`?uQd2nS)Dx=7HF$T z26N0rxy~n(Ajz2kbBM5M4bq-dcDx6 zjtw)-INOM83`Gx?3ed>9Yp_5n!G=^MrREBI!J1O-9IDTgR0!zTL>)U$=@a z=UIa)r{I2UiabPgVS4Ku6Ut55%$+}m&ko38rMZ|cVbz0UwP~MrWbYk!8b9EaJ4uA3RNAy@+$*Jn@(I4l#TX`%TlV{CQo~u(A z-J6fyz}2&6kCSnB8EH}W5rSj0LzUWif(!U1?UoB3!z`i;g%RWGt+yK>Zj&!=_tsv8 zWo~hkF5!#>iW?S0HHt^~<}Z=d)pT}(C#^FzSBIwA=R_$bK%RKrBqztp%cXd`D@PEn zg_e+*IZ2G}HT#X>617f3RP2!UL07AzVxc>m=E;DRdcuK{6w8x~XQB@ejNb7U(_p5L zurs6PhQ2>9`lDMm(fPNWP|NoxRMoE5RQXlLiDEbn4=yY#3j{8f^G7%y=)Dn;lCBN% ze1RNAWhYh_K%=CLZ1a2KkWT`RI1~D9b(2?=>1!K;e!eK0lOjOn<(sxrH1=C$NL`4W0w~19;PW zv3N4DP!7_tHTLNaYN6Y+S%ugGs!0$r1EL!cJh#sctLa-L-ldKEgV zCda9`Y~5Ox(lTahb-9541(RXD11#E~7qu=O{j^s&+BFm|pN*8SWZ3#VJ(Bk7P3O>< z7^#^Ce=t+0u3_(x-%>Ar;SU#3l&Dr$ByDZFap%g=#+<19QhL~yHc4A75aQZkt5%JG zsZp~50iTq0=*{^)oy0Y zz@Rur%bSnEZD}hSPS+MqMyEsXwJ1`jHU;}Rw=AapNQq4zw-$E2D#G=Ao4SzA@m@AA znkzlKis$bLE}!>d<);G)X;i*$TA2O}Lxb|Jt>NACY6u7GLN|L@){ z_x})Axc?AWz{Zq+l!|QjAyNOOOO%oYLG+uKg7T+{`!7n$I5gldB?Vl@|527*G>~=L z}*;oyrX z8H$<%EA-?%+%esA0p)isiloJgVyQC5f%x&~+4v?)&u-B6)uYRff;Z0-VTNCyJYQcD z@e6@p_b(fwL~o90;LC%6yQdKFgIB_C$S(qcc`Yn|;0xZ1J$kW*+u@sCS{P}c7~2>J zD&D89ctQLHYf9}dMI23PE#$o%T1?lY`IY-i*B@8rlcZ1x<8bdfpLAt0wpcHig3zMN^R2@$iV=ohB`N zB`|Pa=$IsR{-fkpMU2~YC(#>-=n(!|ug!@;^d8~EUwKtSh=ipZLJAPxV?Wg29f)_B zwU;Omp_Yhpr!h$MVRIPW0kH-+&?Oz1KD*p%3IZQL8knRlCkEJ;1TerPg~GF0nA1d! zZ3X1_48Ai6$rhBE{&m%f0U;jr0dsZS;W>s&LAEPDSnB;Q{)(eD9oCb6&b5 z+$ZYfUrLUNfz>>Vz3k2(W!YbZr#K?ArG9*wIxSO>TYI$Gdn8qsgKU@c5_e)CR^U8n zv5*D;xX>Sr4n)&zv-&+H69ZeqS{-w-O$~-erbJ_N zFGvpfw^)MPlCl%Yrn7ZO_gxw3J(C!q)sHc<50S z{}B}Xv6Ese4=ND5n*k$#dxYG%nbSvudI^*WSs}2wu7DxH`NMieU+k&v z9#uuXQgio75ua_RXjb|UbQ8L|hENcN{qn~gxb>jw5?UI(qn9k&NHiZh>{GpqLR!dn z%gJp!+nn?s+})3%u)Ro~iG$Q~-z8B+^)Jl5h>t%;_M3~r{ZPV^4DUK715XZXF#voT z3%26%AF7OBy@0Z7ZZo4Y7M7NyzPAG*{Edzj4>! zS>r5}U&u|a-m{I-%T$!oU1>q7`ufrx>f4!~?IW5nFIlJRIw5v3 zT0Z52sZI|3UklB{hsY@t8d|4oTjeW(21v#ac?qNrMZBLk9_rfmrMG;f|~D z!3@cH29`r9wr%Vxr$;GWte0RJdL@~K_@JLyqEd&+Q(`0Pj#z5a%d1<-V;@_9;j%XQ zxqG@-Z!8lg`$FlytWx^xT!%>XEcVt*jBrqIN}lPN-HA+ z(+PgIlmhkw4+MNg24Pnr{A{sOr2y=ua>OL#VW?y2GZ1so)f@1(2xoHZGc8075IKGs ztcPwV=|6olo8zJab)As>MMJ&^gd5j30NX43px}=xhas?v2P|1^X zmdc#*aL2zC_UK53WqP+$?rD_AHbt1W9Hd016V@(aZ8(@k`q}d(TIOCep_(STq`r%{ z7c}5P3XRb}Deax`8cBu8nS6$7d_)OVqstzV+m34wPggqg5|w+5zIcoPVnr6w$$~p8 z@q=wUwviCtAu0p3g>Z)k)4_<-QQ_oi_>A|{LuQHOS-j)U#6MCvKTqfE9w)d!9ye8)(IozrcaXV4a* zSFX!P@j*t3$qUUEQe*c($6odO$|VtFoD==35K#&R^IX?RsFfr0(vZ{!M~XV8C}_$v z{Snhru{>JRVVeq>4&J-D8n-D+%TD~3gFxq?)TT)4S5Ewhl5P`z*dzax#GDl(c#2mJ zEH&8AQfY2@GJ|cOoqf|tY(7NdJF;Z%V(~t=YT-_Y9-39m8Mj9PH3uqSm2Pykx`+5y z<0I}kn zj9lxp$n6s_m>+cU66*@4)!y=I|J)tS^w;L1wewbM@N_ZIb~9jOqbgpKT(8!p52!Zs zIIgJFwKc}5(BgLm*2Ht2s(dBJ!A#`8g_(Ck%%NZkVqR=0oY7M|6l}gz%C$Cukg>~I zHcWCR5G?E2#E*8`H}k^u*0j7Tlu4xZ#g+Vc7CRf`8GE#Orh(v7wU%Udi}lF^Q*7(! za?_UaB1{*N_^*$@?BS!3bzkH5gw0xqxOa#AkDk^i*JRRhfn!Nrgtv_0hCp-_jRvZ( zGM4YZ#w0?=47-hE^y67>v_7Pz1EC7+6E)L3V86I^pr{R|r=(Wve6fbtYwi{Kc$+ zAeQuGK6DySBPVsYG&r%)6y0$)7O^GopKlqQ?*b~knT~!eKsiiiT_nXU8!<{%@Gg}K zSknC(+cX>d^38F?dTy{&NvDFLQ$onsWzBeL6)ng>TGEihZ)${!>MD_ytHU@flQr)k zcmCzU@=T469a5|P6++?Du*aYB50V=!_V`B#lKX#YF5G`7$5^1nL3 zpxQIA*kLw0027SNE8PRT8z5hTySrdH#(#wVz_b>s|6(L>p@Yl6^I@=kDH}U@pue1C zU3n)kC%OBZc5MrcHGTpIQG$qZZ%Pql+u|bANST9c8R{sw1RPjCPtaRU@i=IOt)`6J zpYXjoq`%Uny;_(0kh9I5E}T5mZ&NmcP)i$w0~B%;`gHivGbCw95J-FO`ji#BSk z@pMVu$Sg zvQ_uVy;RZ?7svFgNOWAVB*zUaM)y1Wt&1#dJq{VIcP>BKYx6aC=J6SqV%c^tX@x$i zjG>_p?qy5UZW9Zu&~+Wu?QNqSISIWL${vhP7)c6~)?1&rTnlJ3wt%bNL+JueYOwg{ zXWMfQL_1Tq9J-9}RgVy1+23hM8In*W^K*P%*ZI8Tqd|6Awr1g;JT9&e?HOGkD`O`0 zj+`hSHrj_kmjT)s!Dy8N;SlmurvWo5OVgs8YZ~K#tRFx&ZslTwU@O4tW&@w)>g$qf z!52f-Tsh|kjA^!0!~owm6GBR$jm9xAYR=&6 zC6d>;sX6DD%7(^@W#<%}Ha@E|w~vBWCN4<90ms#pr79Y@>QW1$s+w{@;$Q4J%c3)b zhmKLF_qxk;qnpXEtT}=W!tj~`?lP)}?esMf#mRoiKg{Ppk5Ea5Ra{AW@buYg8+s=?g?QsM9L#|5mV^wYnOIG1yYpd`2QM@dpn8kJ1Y|=*!JCB zxc8RMBftHKdIsz<59`2bSN$#a-Q6)vQc!gH9Z7NDSofPSXekrl&oFUS`Q_HaYnEpv zON|)*V4u`X${xE}p#D5E638jkXcC#gRk#u^N`%_kNq+ESKJ7X)vuNdR`p`6XKG%=# zB69ZwyeMXwivc@)ZFxuhR%qTCU0tgHyC~Bo9{L?t$>Bhw1WsCwko0Sq+%#{wj={$G z){TL@O&N&DL9LVOiuvmsy3dL43 z&9ny;C6|$*Qe*DAye(KE;&n{Vuu0&p^OyYJpR8`~pfEfDN+QGuuy!!d|H7zw{{LXq zJpTiu=J^AorU!XH{%vvnuh{BuOAIK2M8Uw)9vQ7mcfCP>4LLh;n)4^&K z{_mhsL1+~K3XmWzfEj`ZWMT!t!s7Y+g!vE6SRSxOaXJ9|_v;ZsxiVnQ3h?U*K}WOz zG-RHCv}d)!Lvey?asavjE?(9aV>-Y+#2|Bh%#%A(<<>1bo-WNtyq#rt

q}(7mS%4wPhz{@-6fOri2Wc_@=s-F000qzt13;vO zK>?711L_wCFoAxU0t!K&B>?g*hh_jD07yp$U<~TB0x*NV$^cwI#?}B*5EvbXlBk$K z1lFVlZ~?gZxPK=~q=noDPy-466AXj@J?mFHKsEvRpWvr6*jM0R)Ba;!|Z5Oe); zUHV-J=yP*(GxLxd{;NdbW@QCIIRoy%`FL~&TtKjcPF(<;kYI-;QddAXB-pQf#}yz1 z2{tVvbpw$9b|I2*1LQ-p@_>%r0QZorU==@izyc&IUrX}`zzoFiv`#_LfT}$Ka^Q3Q zxk!1v05arYb^v(h6BPg4F8@rK`yXqC|C=>#u=4irGqiv*0R8|vw!d@vuZe?S@@Ino z`KCYX`p@-goC6R?`lr#XP0G#6_j?WWAlbM;h`E3)u!u2OU>amL3BG>6=K`o8*?9kk zsg?(*gn?w^{+l6&Qa~;~+drk&zoY$EfdxAE1dC`#gCTJ(IAs8NNSwdJ{eQyb0~uxf zSAPE7IUE%L0?>K|_|9SbC;#9e!NGxp)Q4be(WnF@L;M!x2Co7w2(ua>0V>S}-#Qy$ z&BT_pYJff-cwPToM5M!jY>GcB+yD0(;{HdV`#;u(JyA4)wgr9!fCs>3|2yJ;#|hTT z-Yos!IDd=*a6xI~0Cc2(at00)tY`BlOdb%%1Rw;!MXC?Vo&aP*{?@t%vphf+lYqBK z0tYYy`3;kAa4ezfK(i>&n4puYzZ2k0%o)Q2e$s(=$6Q_{A)Ahd(9cuYC*owKAj*XZ zWQ&@ovaaVhvJ5Iqn&v}7my7@8_?Pq zoP8T6O!*+I-rO@ve5Ik3!zhk9r!H$%cr%sddEp7V@S%XlMi-^SibQYFX3-IH8vR)W zbgJR}t}vFGk(4G#=hrW1Xd5duipQSH5|?DAnna3PvX73Si$@wIr%M+vq1y${L=RWrrzCB0;4)96+iqi2VuB~$b-ibyT_U?$W7J-w)36N) z|9Zr>{T^F9)T4r#Nw!DPZl&0;O21@sbP2zqsZ2^-$?|@M_w2Os*4`nzuT@;WJBGiD znNA;+KRGHhi{DhtndQ-!u36D^gN#poHg{`oDAla=&LmJPqiWt}UZHq`henALcu+Wm zA6#iK%tMy<%^&;cB;B_4nop~E)w^XoCXE-0j}>H39>2G~!rj6~ zjUx?Z$v&>qg;upo(zPS0x0m^ovt$z}bt%LY?3Ru$*ey(#;x91Ta&v{HD>LQdsL7YM zlu6h^H%00xI^;F0t(S7rXU(a<1JVJKWe?Q6Y7mLJ~{qz;t^^Y2Z z9xFgELzhIywMlWbptXd*;p+$zBrc0=l-?pdCQK4K?loTA>Fo2&Uy?M8%qIDyRTL^- z-pjWihU^z&07*RNPc!tsmzl2O8!e`bs()Sv{TWxsPqB=mLb)%xeH{nI{XoUUvw_=6 zGhkdpSeOjMnbmUInx5duNi{AIz{dIAY-$g_u>)$gGCf+8R(__TdSH15o#aNPW=IQ0 z<5F9X3f8zC>is@lJ1I#@pJmb05nhC$=J`1@`V}Kz{FYtWb?U=z?M3horQ2b(qP)XE zbY(-){A~a0qMW>a!u*dbw_FDAFMI#M;Q>hg84u5IwodDrs^e3!L zFC3IUC(@IV#S4<|*gcf+L8Y({s6DuC_faZC-BGrai;Ja=Vm}9w+Ud z?qEW}ZiK}4LK;D`Z!9JE`#>z4<13>DpQ;v7NU3_c4MC34OQ2p;eBW$G{dOPAb?T|| z)cW$uw>xh{N%$=`c0~CbOGKwW!mqwU=B*T163s;>A<9XqzNt#E+5$}B^*yB5QYi%! z<-Jn-Jnp@8!kM?IA)}rN7rhejM#-%o0^+aV*#h=w`WU8j&o9EpoGk^%C*3{(BV(^K zUspgQA9Ze>tbp$&ecB~!w=G_cYLrRyxbV}0)t+@sAieOEh(m><10sm+YCUR76Hw7t z@bi@4+V9@KI~mm90JLFrYyAije0`{u#ckUOQGs>)VTqkLPp;6>Z}j7U8G*($p3k$n z7VR(;^NI@q;P>2tt6AZxf;y7+J3eK-B@5Ylw=w1~I0Vd@oT`05iE?G|Svlz-Yh*Vl z%sB|vnYW}Mo*q20B-2hWb+Y)S<}dHel60&8m}X@u5466or0Y*hKRE4HI!v__zNRrh z!^vq6mO37cQC<)8wzNdaC^N@q?8&tb3X*GmGrov>*@s;zM{;xuN6U`|6^KDPlryN* za36MYy$Qrxdy3|AAb_W{(0ec9@Lf?GD57=4NhUwt+U|rwBkgqG_GZr86(P;4SsUI5 zK5nAI^)2oJ+Ue;3;kDqA_JVa@}*PU~^zkCdeN*5J)(sn}P&(QgWI zv~$Oaw`%4%o%~sPEVAtL@LLQx#3aO0m9My3-mwwAwZIPOflJ6WeYKqTm7~+mnrH>D zp0j6u9aULazSP%=ocNC&=?yUCz0xrMr?Kk}tfJWZCbd4NaOfr9T5GMT%4vM5-X*_nX~Ka_h)gL%VNG zSRg)sGc-9qs$cTP!uWyty$|o*zE)a;U2@}(#ly>ov~maf#N7V=!rt$r z(&p9PxVl+(-WOdSS9pB+4|B^u` z&$nAd?({izC+M2#zdfRvJL*B;>fLLXe!cs*q!~{SN5=U*yu0AFdH!8$Ukb^quzZTU z^_Fo#Z|&*Qx8|Bj?dH5vZA$0&2b`bSrbFcWarJ-3QQ6*`$0MKlrM~-Z=*C~>Tv4|s zCoSDtq2rKx*N*oseC@!MJ-lnzzB6;y8mLq>`8rQn*|j{KOA;=uDa!B)Yuo5x7{A=Iu}*B%(B>&qQ|XY#7D-t zLf)KLZrY{^v%@DmkC5hn8?*4x^W7bz-uoo=>*$C{nf`eZ5q+Pwecu+_->KaH z_!s5NCrAbF%^tU}O}BFCl|Ky23)z_S&)oH!pY1<5K)bha(d}!e_HO(>d0fqpy6-%g zS-IY$o{ic!?3!yXTYM^f%-UO@1noN0YsvWVHs!Y5YqMwkZ%^-BTyf;dSI zn`JX{POoXfm3`Qvd6$kS170M#e`#|xrca<*6xVgcuz&O1b!pxYzl|)n?(C?deedqd zI5kh#LJ~&>l&SQ5z)v;uYZxihmK%OkGs|b{C+p9i{?5bw^V8b?IBMmIhdoEEdt-3n z{_w3kx8A)u?!$s6f4u9nF5uPkooggFn!EqtAI>hn(0|FcwSSyDS7Y?KdJ)}ry1ItWI6o-xe*MhP0y|GV^UKi9a$x#*w;!pe^J0wq zYt|gw^x5HOTGWLt?V^_*;I_`5buV~h+?*AU7Mxj}xcczXQ@-vA_tGo&?mDx6+q8A{ z9^d}&fA632zkBu1h_k(CH*VYV?Y9oarwz{=Gqh~aY6~XSA5*<^QN+`a;)N&r^o3!I zPMn?qyYdQf}QhE*%-#R_FR z<air{hQ zr#5x1&Zv6**FzsKt8s9*`Rw&u1)n^JiT}9k-#r>1npt*xR+GQ|2OkRlGe2~8#Qp1w z6n$Gz70&%+YG%*s-G051+i2$g4e6&t_$mi3_+DQAO7qjR-)>sP-zPMYZ!!6ci(LwN zpR@lScsumxIhTjN=I=M{$(Qr@&kgu3^!JF~um0l7dNOxWey_BjVy-M(Q+e=+h5k9G zpI_@RFL1_=2X|*zto&$0lMlXL7}VG&>-d7Gr?cmLKJ)OL)#c^KKAYXQ3U2pk+`mQG z@pIKig=Vd;WSlRTm%rXs`*5GL-O|>6aWZ$p#73?+2X`v=fjljc&w+;_>M<>Mc-)!C3HR;f-emjzORxh(?N%rw;QiY0{wS0aY zy!PnPGmF-SbnWkR@Jf6@1@6|&T36ScbZ;KLVsyaw@6=oNl`?4ju`XMe<@E~f)!xio zx?tR2Wj_CWQr^-U9f$17+xyeaut&)~f}?xqzw%|>Yw>^Qzqa$nrv2SgdajCFU1x1< z(|32z+VIMfTdU8u|FZiJ=imGF+r^(s1=Wu&+xK+PH#NU#H)ZjbX$L;Mu_dGVS2xbY z>|1}e*Usm6b6!>45hE*h;cBgD_#~j+y@%hle-bHAKX&Hq%%%E{$p>eJkD2#u(Yl8* zW}8iCCf}R#@p55$o9oxk&dO|dwO_5ErNR4hGr~7^8!&3?$qCIHrYEm(2TnUQz9{V8 zj*c~_EPq}wecpz<%EU|eH}iY1oO=3RXTQ!xeX~z2+tZ-o^lvZc7B#w%xg(@==Xsxx z*>(Kd@KZ%wdUZbek8j%3f|*vLM&3Y3Qp+;UliPG`m1tJJvvPczd0b4ZHE;EYvTeoloG1+~FDh1_$PyeZSz{fmfOZ@4t9Iu78y4?>UX$ z6S8Nya9uTA*$_kl-xU6{CdO1pcP3NJ1;3PKkqbnA5Q{_?*w-@fzjo!{X3t*bg- z?HFa8>yq+#b@ZF#j#kT&d!9;ockb^$&v3o>`q`c9M|Z7S_SYZvbMAFtZ~Q%Sb6&k! z1LLzgJx|%ZGBIvf>}Ri5i@Ig*(kEP8JK?W4-+erC!QuKjXD9wWZrg)1y`G$38F~25 z>Mk!@9^E|ULIIz0_g~2=r|(VWW-lG_{9wgVKNMN{?JlZ%r2$Ca7drIUZp zW(K#m`P@&l{oU8f2iFMwSCxGcTX)n>tXvqpu9;8j@#yY9R3303vC@Fn;Wq<>HhSmZ z2dry0Fj0CiOO1XotNP{5JyYX0&YzfiwdT;61L*-vX9zuJ)D`+K-cz;7j;@U+Zc85I`0=n8UhPV-c|Q?AITIhqAT!2%{!f4I|HQR%BVSk zz^tyPl3e>^OuP@Hs@?J6NLOKyy;VG_FtS)Uca*D1baCDD=|b0^L3Ei@m1PsXf(xrG za%Ou*rv|?P&%2uJXp83K5TpNOAyTs#3S|@{s z6lVS48W)KNag@%f(mmHN!OmmzJP^nm(g_#U?z_IL<||vZ-+E@{SGo1JU=<{f(G>FqISre|RxvMePqMEHf zl2TmNEET$BHhbb*)m+k;E9anu_p;SPvJP>Rq9vy+FFDn5Nw-&8GHhj&oVu^%6pLlv zE|bc+o{FMPFYg6ULu$jEjuMf+1YNgWb-9kFOoyM z^8y&zQBc`dDD%#@KGn<)PkaMCsf4$6kgeY)16j3e^0IYJk$ktEifo;g;Jb60A?r>* zr}i)F=87iJhZGf;BJub~FCt-m3}@<&C=}kNs_?eR@Je2*f~+{@WyLAOubS=8CS|5$wbv-MG+rdvbL$hK=l(o1HVHq1aFXie}5o z6RZ-jVs7fj#lSwD#-H}OE%`b_`(%&Z0xa*!PbvI&bKAdV_I z5KKUJl*)l%0ImE7 zR3e-@s%LkV2&aw`IuOFCqmB-QaOx0x~$Y-@ly{Z4;2ese&V&4L!K92yj#i z^;QPMQic|mlw{0BacrN{ADD_`1sw>cqB!=@fnX|%B$^$1Lg==Yu^SXJ71`d`4unj_ zdY?csn+lnV>?uBlOvQTaR!JW+6~}5i;}Aw2`{_UkqpD*891!8uF{%!PaO#*>8-j5p zNi~%eE;2GwRiEDGrTSdBxuh3Y!F zD_^*_FZYg*i*zXH*E`s(p2}5L$tEwp)Z~~$)sc*<*b1RKYOXrJI8{}F*n!A`wBA*$ zK|;tDE*_*+#t87F;tu_`WUhL_ke+4C3#nYC8jd96JC4j9lszN^U5cN-@piw#G0*)wSGteetk5FwqEO2fHXHb|WJSNpa!|c-g1KS|BjA}G}GPz)Le}Aq{RfAY&s+mMru1ro35k-TUkZi6X z$QhYj?GU`@ml1|+{+S8ZHlsaUQFXG{zCiM*w&=3lh~e>;-RBxD(!#v(ad< z8)SK&s1el)95Z%+C2eMv@haZ|5Xh7PTpXm$$WtOO)7v)yBg;IoBGkxGE;D!_gr&hN zFsfe_Znfe@Bv8BYpZRCRMRu+d69H`OZWg6SGWT2&Gb(yfTUlS!-a5^+H>RCA@> zN^U-Q98QjrGJ{7Fws2vI zX_b&#rjO***8~GQnnq zei>YY~wdDBZiC;AS=(FA5;dbYy%r`Y9|CL464ko#e*egfU}l z*)jhT@rxLdnK6=GT0cb5Diu%zs&t&gi=xJ8IARj=^xG0#Oa6ogrMeJ4yY8Z7C21wd zZz7t^Dw3vo zttUYcb)NPSfQfV@3z(#1{uB`%5fuZ|St14#UGSoc0FuUqjbdmRc*>03&t1B9+DjA( z3e1RAS6PKq1yU>{pOWz;ULXmO7fggJ^j=QLUo-^T!1EFk6WU}-vdD;ELXJoiK^#QK zKRj|w+BpEG8M@n>L%%jLpv3euY@<>t1qr1i+696}si$`rr(u$gxzGbb z{FGQRAY@JVL+VE>E9vMhYS<%zr***%F)(30l0s(2qG0g!fS{qV;+F-+Q%bTxOM#aV zyvWg({qs;7M3l5qK{!i`8pwj>K0OppL=;9T7nDc?*jrj~IM{f_Ft?or!><{%Sb=QS zv%NGJfhA+-0i#nc5D^#?48n{-a?7ya)OzwrnMv7%B5W1YykLL_a;zqF%fm5IHHXab!D0~vCq8Pt%UFffS}GO6(-@-s3A=C+CuJZcckfbj0j zKE`HZq8wxcjO|Aejjl<6hQJsz#Vrcn4gq|j6wfFjY5|NdSKxGLDJY^!Z!u)tNEu6J zY*$?*111SDBL5Qcs{$em?~c4Gz^BqMk!Q9Y$TF@R`566fiT?!jW!4zAL?-S>I!oHU35C~0qiBrXz<4ljpFzZ z9W^@0L_A}i7JG?RKvvE$Xc#ZSl}m^?F{Xgp3%#6f0C_rR17Q?XC@CP@rWI2VG^S7u z7-ND#1Dk>#Pa`JS_CLi+gI;Q}W){QXN|-z!FoZeufI2jof*}l`DY`7kH&@5r?xg|SVu%&xNcE_Wu}o0)Kq8~Tcv|~8040L*MO)5 z(sn_RAVQiMiR9%}{3jq4bMo@ieJsJw(_)qI%TAg>IC9$ffH12w$k;rV&W`^Ca(+Q8 zh=f`yW#I$~#cO)q;d$xgLV!c13xtA<42E7N$*t?O&j&J3=K=x_GUyasfbF4=JP2Xh z9RnAoSZbMMWc0*v5&bXGbQvy?>4>dEiyw#EGz>dOW7ZvX=@xM_&u(hai6f>bf$xB6dRdZ5*4dNyI$Zj_CphNI{X$i0mq-# zc%|_lh$t^X))?cX$!cl-ZfCvZsFglW0uh6;dI%l8({jikTL&jv)a*1=&FC4E+>@R$ zvIE8)YZ_D3Mt&vGN4kQB!!^482lYkzLoovdW*F2_NT!+A5$Z889@d{855cnIH%j9_ zn1Etn$&Sz!91hXQumKDa{FIwE)w+(Dm&Qf7;0;6khdLE~{v?1b9g^d4L}mgN_$xX+ z!`UFt)F{Gm(2OrJWL1{v_z#-EtUKzHjGZ@d>P0UTA~;6;C^s{4fPw2u#ky4z{~5^l zXi=jk#aKc_Q(}VAkqMyzGw8}FkeR{~3VnfWa+N%pk0zZ8~baa0zrjXg`CC z$P5#)n=D+WBbpig(B!K?a3@hnf<~ar9n8qM&)OYI8~|`m`+JK`eJhgjpg> z)OG0?83_P$N(h+F$P)LP>B=H@8gniOnB>{dT1*kwHfc+O19Qgv1BM$#loVv#BcRM0 z4pT%%dLlX!4@xq)D1rjK2QHC6qFkOf#uD;XI(`DObrTXOB{~C7 z&D3CkE7C<=1Xye(*;{7I&K7da0m<_quxltQ01f?GfcJuBS!TjM;+A8K_ZUX zS^Y|bIV=)$ZVnie0pR8!3eq$Y?IpN~SSV%1CWeN1;>KfkD811q2?R!`BM=O(OI2OW zRd>T&#wX?E|+Lr`?eLIrs*hvc9##mC?phf|}4eL2l8yd8>rxEfeJCf|1Zl s7Fr?hZ_&zV$v6G~bg^!#j>zpdJU4H6M*l!CA@Tk~V9lBd9a{(fAL$m-rT_o{ diff --git a/documentation/VkFFT_API_guide.tex b/documentation/VkFFT_API_guide.tex index 190f43c3..edba5bf8 100644 --- a/documentation/VkFFT_API_guide.tex +++ b/documentation/VkFFT_API_guide.tex @@ -37,14 +37,14 @@ \begin{titlepage} \centering \vspace{1cm} -{\scshape\LARGE VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero Fast Fourier Transform library \par} +{\scshape\LARGE VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library \par} \vspace{1.5cm} {\huge\bfseries API guide with examples\par} \vspace{2cm} {\Large Dmitrii Tolmachev\par} \vspace{1cm} -{\large September 2022, version 1.2.28\par} +{\large October 2022, version 1.2.30\par} \end{titlepage} \newpage{} @@ -55,7 +55,7 @@ \section{Introduction} -This document describes VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero +This document describes VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library. It describes the features and current limitations of VkFFT, explains the API and compares it to other FFT libraries (like FFTW and cuFFT) on the set of examples. It is by no @@ -98,13 +98,13 @@ \subsection{Installing VkFFT} \par\end{flushleft} \item Define VKFFT\_BACKEND as a number corresponding to the API used in the user's project: 0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, 4 - -Level Zero. Definition is done like:\begin{mdframed}[backgroundcolor=bg] +Level Zero, 5 - Metal. Definition is done like:\begin{mdframed}[backgroundcolor=bg] \begin{minted}[tabsize=4,obeytabs,breaklines]{make} -DVKFFT_BACKEND=X \end{minted} \end{mdframed} in GCC or as \begin{mdframed}[backgroundcolor=bg] \begin{minted}[tabsize=4,obeytabs,breaklines]{cmake} -set(VKFFT_BACKEND 1 CACHE STRING "0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, 4 - Level Zero") +set(VKFFT_BACKEND 1 CACHE STRING "0 - Vulkan, 1 - CUDA, 2 - HIP, 3 - OpenCL, 4 - Level Zero, 5 - Metal") \end{minted} \end{mdframed}in CMake. \item Depending on the API backend, the project must use additional libraries @@ -200,6 +200,21 @@ \subsection{Installing VkFFT} target_link_libraries(${PROJECT_NAME} PUBLIC LevelZero VkFFT) \end{minted} \end{mdframed} +\item Metal API: Metal. Sample CMakeLists can look like this:\begin{mdframed}[backgroundcolor=bg] +\begin{minted}[tabsize=4,obeytabs,breaklines]{cmake} +add_compile_options(-WMTL_IGNORE_WARNINGS) +find_library(FOUNDATION_LIB Foundation REQUIRED) +find_library(QUARTZ_CORE_LIB QuartzCore REQUIRED) +find_library(METAL_LIB Metal REQUIRED) +target_include_directories(${PROJECT_NAME} PUBLIC "metal-cpp/") + +target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/vkFFT/) +add_library(VkFFT INTERFACE) +target_compile_definitions(VkFFT INTERFACE -DVKFFT_BACKEND=5) + +target_link_libraries(${PROJECT_NAME} PUBLIC ${FOUNDATION_LIB} ${QUARTZ_CORE_LIB} ${METAL_LIB} VkFFT) +\end{minted} +\end{mdframed} \end{enumerate} \end{enumerate} @@ -332,9 +347,9 @@ \subsubsection{VkFFT buffers} VkFFT allows for explicit control over the data flow, which makes both in-place and out-of-place transforms possible. Buffers are passed to VkFFT as VkBuffer pointer in Vulkan, as double void pointers in -CUDA/HIP/Level Zero and as cl\_mem pointer in OpenCL. This is done -to maintain a uniform data pattern because some of the buffers can -be allocated automatically. +CUDA/HIP/Level Zero, as cl\_mem pointer in OpenCL and as MTL::Buffer +pointer in Metal. This is done to maintain a uniform data pattern +because some of the buffers can be allocated automatically. The main buffer is called buffer and it always has to be provided, either during the plan creation or when the plan is executed. All @@ -889,6 +904,10 @@ \subsubsection{Function VkFFTAppend()} calls to user-defined command list ze\_command\_list\_handle\_t. They have execution barriers between. ze\_command\_list\_handle\_t must be provided as a pointer in VkFFTLaunchParams. +\item Metal API: similar to Vulkan, VkFFT appends a sequence of dispatchThreads +calls to user-defined command encoder MTL::ComputeCommandEncoder. +MTL::ComputeCommandEncoder and its MTL::CommandBuffer must be provided +as a pointer in VkFFTLaunchParams. \end{itemize} If VkFFT fails during the VkFFTAppend call, it will not free the application and allocated there resources - use a separate call for that. @@ -952,6 +971,9 @@ \subsection{VkFFT configuration} ze_context_handle_t* context; // Pointer to Level Zero context, obtained from zeContextCreate ze_command_queue_handle_t* commandQueue; // Pointer to Level Zero command queue with compute and copy capabilities, obtained from zeCommandQueueCreate uint32_t commandQueueID; // ID of the commandQueue with compute and copy capabilities +#elif(VKFFT_BACKEND==5) +MTL::Device* device; // Pointer to Metal device, obtained from MTL::CopyAllDevices +MTL::CommandQueue* queue; // Pointer to Metal queue, obtained from device->newCommandQueue() #endif // Data parameters (buffers can be specified at launch): @@ -990,6 +1012,18 @@ \subsection{VkFFT configuration} cl_mem* inputBuffer; // Pointer to device buffer used to read data from if isInputFormatted is enabled cl_mem* outputBuffer; // Pointer to device buffer used to write data to if isOutputFormatted is enabled cl_mem* kernel; // Pointer to device buffer used to read kernel data from if performConvolution is enabled +#elif(VKFFT_BACKEND==4) +void** buffer; // Pointer to device buffer used for computations +void** tempBuffer; // Needed if reorderFourStep is enabled to transpose the array. Same size as buffer. Default 0. Setting to non zero value enables manual user allocation +void** inputBuffer; // Pointer to device buffer used to read data from if isInputFormatted is enabled +void** outputBuffer; // Pointer to device buffer used to read data from if isOutputFormatted is enabled +void** kernel; // Pointer to device buffer used to read kernel data from if performConvolution is enabled +#elif(VKFFT_BACKEND==5) +MTL::Buffer** buffer; // Pointer to device buffer used for computations +MTL::Buffer** tempBuffer; // Needed if reorderFourStep is enabled to transpose the array. Same size as buffer. Default 0. Setting to non zero value enables manual user allocation +MTL::Buffer** inputBuffer; // Pointer to device buffer used to read data from if isInputFormatted is enabled +MTL::Buffer** outputBuffer; // Pointer to device buffer used to read data from if isOutputFormatted is enabled +MTL::Buffer** kernel; // Pointer to device buffer used to read kernel data from if performConvolution is enabled #endif uint64_t bufferOffset; // Specify if VkFFT has to offset the first element position inside the buffer. In bytes. Default 0 uint64_t tempBufferOffset; // Specify if VkFFT has to offset the first element position inside the temp buffer. In bytes. Default 0 @@ -1029,8 +1063,8 @@ \subsection{VkFFT configuration} uint64_t keepShaderCode; // Will keep shader code and print all executed shaders during the plan execution in order (0 - off, 1 - on) uint64_t printMemoryLayout; // Will print order of buffers used in shaders (0 - off, 1 - on) -uint64_t saveApplicationToString; // Will save all compiled binaries to VkFFTApplication.saveApplicationString (will be allocated by VkFFT, deallocated with deleteVkFFT call). VkFFTApplication.applicationStringSize will contain size of binary in bytes. (0 - off, 1 - on) -uint64_t loadApplicationFromString; // Will load all binaries from loadApplicationString instead of recompiling them (must be allocated by user, must contain what saveApplicationToString call generated previously in VkFFTApplication.saveApplicationString). (0 - off, 1 - on). Mutually exclusive with saveApplicationToString +uint64_t saveApplicationToString; // Will save all compiled binaries to VkFFTApplication.saveApplicationString (will be allocated by VkFFT, deallocated with deleteVkFFT call). VkFFTApplication.applicationStringSize will contain size of binary in bytes. Currently disabled in Metal backend. (0 - off, 1 - on) +uint64_t loadApplicationFromString; // Will load all binaries from loadApplicationString instead of recompiling them (must be allocated by user, must contain what saveApplicationToString call generated previously in VkFFTApplication.saveApplicationString). Currently disabled in Metal backend. (0 - off, 1 - on). Mutually exclusive with saveApplicationToString void* loadApplicationString; // Memory binary array through which user can load VkFFT binaries, must be provided by user if loadApplicationFromString = 1. Use rb/wb flags to load/save. uint64_t disableSetLocale; // disables all VkFFT attempts to set locale to C - user must ensure that VkFFT has C locale during the plan initialization. This option is needed for multithreading. Default 0. @@ -1063,7 +1097,7 @@ \subsection{VkFFT configuration} uint64_t kernelConvolution; // Specify if this application is used to create kernel for convolution, so it has the same properties. performConvolution has to be set to 0 for kernel creation // Register overutilization (experimental): (default 0 if not stated otherwise) -uint64_t registerBoost; // Specify if register file size is bigger than shared memory and can be used to extend it X times (on Nvidia 256KB register file can be used instead of 32KB of shared memory, set this constant to 4 to emulate 128KB of shared memory). Defaults: Nvidia - 4 in Vulkan/OpenCL, 1 in CUDA backend; AMD - 2 if shared memory >= 64KB, else 4 in Vulkan/OpenCL backend, 1 in HIP backend; Intel - 1 if shared memory >= 64KB, else 2 in Vulkan/OpenCL/Level Zero backends; Default 1 +uint64_t registerBoost; // Specify if register file size is bigger than shared memory and can be used to extend it X times (on Nvidia 256KB register file can be used instead of 32KB of shared memory, set this constant to 4 to emulate 128KB of shared memory). Defaults: Nvidia - 4 in Vulkan/OpenCL, 1 in CUDA backend; AMD - 2 if shared memory >= 64KB, else 4 in Vulkan/OpenCL backend, 1 in HIP backend; Intel - 1 if shared memory >= 64KB, else 2 in Vulkan/OpenCL/Level Zero backends, 1 in Metal; Default 1 uint64_t registerBoostNonPow2; // Specify if register overutilization should be used on non power of 2 sequences (0 - off, 1 - on) uint64_t registerBoost4Step; // Specify if register file overutilization should be used in big sequences (>2^14), same definition as registerBoost. Default 1 //not used techniques: @@ -1105,6 +1139,9 @@ \subsection{VkFFT configuration} cl_command_queue* commandQueue; // Filled at app creation #elif(VKFFT_BACKEND==4) ze_command_list_handle_t* commandList; // Filled at app creation +#elif(VKFFT_BACKEND==5) +MTL::CommandBuffer* commandBuffer; // Filled at app execution +MTL::ComputeCommandEncoder* commandEncoder; // Filled at app execution #endif } VkFFTConfiguration; \end{minted} @@ -1170,6 +1207,12 @@ \subsubsection{Driver API parameters} \item uint32\_t commandQueueID - ID of the commandQueue with compute and copy capabilities \end{itemize} +Metal API will need the following information: +\begin{itemize} +\item MTL::Device{*} device - Pointer to Metal device, obtained from MTL::CopyAllDevices +\item MTL::CommandQueue{*} queue - Pointer to Metal queue, obtained from +device->newCommandQueue() +\end{itemize} \subsubsection{Memory management parameters} @@ -1185,18 +1228,19 @@ \subsubsection{Memory management parameters} \end{itemize} These buffers must be passed by a pointer: in Vulkan API they are provided as VkBuffer{*}, in CUDA, HIP and Level Zero they are provided -as void{*}{*}, in OpenCL, they are provided as cl\_mem{*}. Even though -the underlying structure (VkBuffer, void{*}, cl\_mem) is not a memory -but just a number that the driver can use to access corresponding -allocated memory on the GPU, passing them by a pointer allows for -the user to query multiple GPU allocated buffers for VkFFT to use. -Currently, it is only supported in Vulkan API - each of five buffer -types can be made out of multiple separate memory allocations. For -example, it is possible to combine multiple small unused at the point -of FFT calculation buffers to form a tempBuffer. This option also -allows Vulkan API to overcome the limit of 4GB for a single memory -allocation - due to the fact that Vulkan can only use 32-bit numbers -for addressing (other APIs support 64-bit addressing). +as void{*}{*}, in OpenCL they are provided as cl\_mem{*}, in Metal +they are provided as MTL::Buffer{*}. Even though the underlying structure +(VkBuffer, void{*}, cl\_mem, MTL::Buffer{*}) is not a memory but just +a number that the driver can use to access corresponding allocated +memory on the GPU, passing them by a pointer allows for the user to +query multiple GPU allocated buffers for VkFFT to use. Currently, +it is only supported in Vulkan API - each of five buffer types can +be made out of multiple separate memory allocations. For example, +it is possible to combine multiple small unused at the point of FFT +calculation buffers to form a tempBuffer. This option also allows +Vulkan API to overcome the limit of 4GB for a single memory allocation +- due to the fact that Vulkan can only use 32-bit numbers for addressing +(other APIs support 64-bit addressing). To use the buffers other than the main buffer, the user has to specify this in configuration at the application creation stage (set to zero @@ -1276,15 +1320,17 @@ \subsubsection{Precision parameters (and some things that can affect it):} uint64\_t doublePrecision - perform calculations in double precision. Default 0, set to 1 to enable. In Vulkan/OpenCL/Level Zero your device -must support double-precision functionality. Optional parameter. +must support double precision functionality. Metal API does not support +double precision. Optional parameter. uint64\_t doublePrecisionFloatMemory - perform calculations in double precision, but all intermediate and final storage in float. Input/Output/main buffers must have single-precision layout. doublePrecision must be set to 0. This option increases precision, but not that much to be recommended for actual use. Default 0, set to 1 to enable. In Vulkan/OpenCL/Level -Zero your device must support double-precision functionality. Experimental -feature. Optional parameter. +Zero your device must support double precision functionality. Metal +API does not support double precision. Experimental feature. Optional +parameter. uint64\_t halfPrecision - half-precision in VkFFT is implemented only as memory optimization. All calculations are done in single precision @@ -1389,15 +1435,15 @@ \subsubsection{Advanced parameters (code will work fine without using them)} uint64\_t saveApplicationToString - will save all compiled binaries to VkFFTApplication.saveApplicationString (will be allocated by VkFFT, deallocated with deleteVkFFT call). VkFFTApplication.applicationStringSize -will contain size of binary in bytes. Default 0, set to 1 to enable. -Optional parameter. +will contain size of binary in bytes. Currently disabled in Metal +backend. Default 0, set to 1 to enable. Optional parameter. uint64\_t loadApplicationFromString - will load all binaries from loadApplicationString instead of recompiling them (loadApplicationString must be allocated by user, must contain what saveApplicationToString call generated previously in VkFFTApplication.saveApplicationString). -Default 0, set to 1 to enable. Optional parameter. Mutually exclusive -with saveApplicationToString +Currently disabled in Metal backend. Default 0, set to 1 to enable. +Optional parameter. Mutually exclusive with saveApplicationToString void{*} loadApplicationString - memory binary array through which user can load VkFFT binaries, must be provided by user if loadApplicationFromString @@ -1535,8 +1581,8 @@ \subsubsection{Convolution parameters} \subsubsection{Register overutilization} Only works in C2C mode, without convolution support. Enabled in Vulkan, -OpenCL and Level Zero APIs only (it works in other APIs, but worse). -Experimental feature. +OpenCL and Level Zero APIs only (it works in other APIs, but worse, +does not work in Metal). Experimental feature. uint64\_t registerBoost - specify if the register file size is bigger than shared memory and can be used to extend it X times (on Nvidia @@ -1728,6 +1774,9 @@ \subsection{utils\_VkFFT helper routines} ze_context_handle_t context; ze_command_queue_handle_t commandQueue; uint32_t commandQueueID; +#elif(VKFFT_BACKEND==5) //Metal API +MTL::Device* device; +MTL::CommandQueue* queue; #endif uint64_t device_id; //an id of a device, reported by devices_list call } VkGPU; @@ -1974,6 +2023,9 @@ \subsection{Simple FFT application example: 1D (one dimensional) C2C (complex launchParams.commandQueue = &commandQueue; #elif(VKFFT_BACKEND==4) //Level Zero API launchParams->commandList = &commandList; +#elif(VKFFT_BACKEND==5) //Metal API +launchParams->commandBuffer = commandBuffer; +launchParams->commandEncoder = commandEncoder; #endif resFFT = VkFFTAppend(app, -1, &launchParams); @@ -2207,7 +2259,8 @@ \subsection{Simple FFT application binary reuse application} This example shows how to save/load binaries generated by VkFFT. This can reduce time taken by initializeVkFFT call by removing RTC components from it. Be sure that rest of the configuration stays the same to -reuse the binary. Use rb/wb flags to load/save. +reuse the binary. Use rb/wb flags to load/save. This does not currently +work in Metal backend. \begin{mdframed}[backgroundcolor=bg] \begin{minted}[tabsize=4,obeytabs,breaklines]{C} diff --git a/metal-cpp/Foundation/Foundation.hpp b/metal-cpp/Foundation/Foundation.hpp new file mode 100644 index 00000000..408252e9 --- /dev/null +++ b/metal-cpp/Foundation/Foundation.hpp @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/Foundation.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSArray.hpp" +#include "NSAutoreleasePool.hpp" +#include "NSBundle.hpp" +#include "NSData.hpp" +#include "NSDate.hpp" +#include "NSDefines.hpp" +#include "NSDictionary.hpp" +#include "NSEnumerator.hpp" +#include "NSError.hpp" +#include "NSLock.hpp" +#include "NSNotification.hpp" +#include "NSNumber.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSProcessInfo.hpp" +#include "NSRange.hpp" +#include "NSString.hpp" +#include "NSTypes.hpp" +#include "NSURL.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSArray.hpp b/metal-cpp/Foundation/NSArray.hpp new file mode 100644 index 00000000..8730df99 --- /dev/null +++ b/metal-cpp/Foundation/NSArray.hpp @@ -0,0 +1,115 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSArray.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSObject.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +class Array : public Copying +{ +public: + static Array* array(); + static Array* array(const Object* pObject); + static Array* array(const Object* const* pObjects, UInteger count); + + static Array* alloc(); + + Array* init(); + Array* init(const Object* const* pObjects, UInteger count); + Array* init(const class Coder* pCoder); + + template + _Object* object(UInteger index) const; + UInteger count() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Array::array() +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSArray), _NS_PRIVATE_SEL(array)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Array::array(const Object* pObject) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSArray), _NS_PRIVATE_SEL(arrayWithObject_), pObject); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Array::array(const Object* const* pObjects, UInteger count) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSArray), _NS_PRIVATE_SEL(arrayWithObjects_count_), pObjects, count); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Array::alloc() +{ + return NS::Object::alloc(_NS_PRIVATE_CLS(NSArray)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Array::init() +{ + return NS::Object::init(); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Array::init(const Object* const* pObjects, UInteger count) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithObjects_count_), pObjects, count); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Array::init(const class Coder* pCoder) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithCoder_), pCoder); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::Array::count() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(count)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Object* NS::Array::object(UInteger index) const +{ + return Object::sendMessage<_Object*>(this, _NS_PRIVATE_SEL(objectAtIndex_), index); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSAutoreleasePool.hpp b/metal-cpp/Foundation/NSAutoreleasePool.hpp new file mode 100644 index 00000000..a2383a55 --- /dev/null +++ b/metal-cpp/Foundation/NSAutoreleasePool.hpp @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSAutoreleasePool.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +class AutoreleasePool : public Object +{ +public: + static AutoreleasePool* alloc(); + AutoreleasePool* init(); + + void drain(); + + void addObject(Object* pObject); + + static void showPools(); +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::AutoreleasePool* NS::AutoreleasePool::alloc() +{ + return NS::Object::alloc(_NS_PRIVATE_CLS(NSAutoreleasePool)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::AutoreleasePool* NS::AutoreleasePool::init() +{ + return NS::Object::init(); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::AutoreleasePool::drain() +{ + Object::sendMessage(this, _NS_PRIVATE_SEL(drain)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::AutoreleasePool::addObject(Object* pObject) +{ + Object::sendMessage(this, _NS_PRIVATE_SEL(addObject_), pObject); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::AutoreleasePool::showPools() +{ + Object::sendMessage(_NS_PRIVATE_CLS(NSAutoreleasePool), _NS_PRIVATE_SEL(showPools)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSBundle.hpp b/metal-cpp/Foundation/NSBundle.hpp new file mode 100644 index 00000000..2e8c5395 --- /dev/null +++ b/metal-cpp/Foundation/NSBundle.hpp @@ -0,0 +1,374 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSBundle.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSNotification.hpp" +#include "NSObject.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +_NS_CONST(NotificationName, BundleDidLoadNotification); +_NS_CONST(NotificationName, BundleResourceRequestLowDiskSpaceNotification); + +class String* LocalizedString(const String* pKey, const String*); +class String* LocalizedStringFromTable(const String* pKey, const String* pTbl, const String*); +class String* LocalizedStringFromTableInBundle(const String* pKey, const String* pTbl, const class Bundle* pBdle, const String*); +class String* LocalizedStringWithDefaultValue(const String* pKey, const String* pTbl, const class Bundle* pBdle, const String* pVal, const String*); + +class Bundle : public Referencing +{ +public: + static Bundle* mainBundle(); + + static Bundle* bundle(const class String* pPath); + static Bundle* bundle(const class URL* pURL); + + static Bundle* alloc(); + + Bundle* init(const class String* pPath); + Bundle* init(const class URL* pURL); + + class Array* allBundles() const; + class Array* allFrameworks() const; + + bool load(); + bool unload(); + + bool isLoaded() const; + + bool preflightAndReturnError(class Error** pError) const; + bool loadAndReturnError(class Error** pError); + + class URL* bundleURL() const; + class URL* resourceURL() const; + class URL* executableURL() const; + class URL* URLForAuxiliaryExecutable(const class String* pExecutableName) const; + + class URL* privateFrameworksURL() const; + class URL* sharedFrameworksURL() const; + class URL* sharedSupportURL() const; + class URL* builtInPlugInsURL() const; + class URL* appStoreReceiptURL() const; + + class String* bundlePath() const; + class String* resourcePath() const; + class String* executablePath() const; + class String* pathForAuxiliaryExecutable(const class String* pExecutableName) const; + + class String* privateFrameworksPath() const; + class String* sharedFrameworksPath() const; + class String* sharedSupportPath() const; + class String* builtInPlugInsPath() const; + + class String* bundleIdentifier() const; + class Dictionary* infoDictionary() const; + class Dictionary* localizedInfoDictionary() const; + class Object* objectForInfoDictionaryKey(const class String* pKey); + + class String* localizedString(const class String* pKey, const class String* pValue = nullptr, const class String* pTableName = nullptr) const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_PRIVATE_DEF_CONST(NS::NotificationName, BundleDidLoadNotification); +_NS_PRIVATE_DEF_CONST(NS::NotificationName, BundleResourceRequestLowDiskSpaceNotification); + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::LocalizedString(const String* pKey, const String*) +{ + return Bundle::mainBundle()->localizedString(pKey, nullptr, nullptr); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::LocalizedStringFromTable(const String* pKey, const String* pTbl, const String*) +{ + return Bundle::mainBundle()->localizedString(pKey, nullptr, pTbl); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::LocalizedStringFromTableInBundle(const String* pKey, const String* pTbl, const Bundle* pBdl, const String*) +{ + return pBdl->localizedString(pKey, nullptr, pTbl); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::LocalizedStringWithDefaultValue(const String* pKey, const String* pTbl, const Bundle* pBdl, const String* pVal, const String*) +{ + return pBdl->localizedString(pKey, pVal, pTbl); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Bundle* NS::Bundle::mainBundle() +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSBundle), _NS_PRIVATE_SEL(mainBundle)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Bundle* NS::Bundle::bundle(const class String* pPath) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSBundle), _NS_PRIVATE_SEL(bundleWithPath_), pPath); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Bundle* NS::Bundle::bundle(const class URL* pURL) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSBundle), _NS_PRIVATE_SEL(bundleWithURL_), pURL); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Bundle* NS::Bundle::alloc() +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSBundle), _NS_PRIVATE_SEL(alloc)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Bundle* NS::Bundle::init(const String* pPath) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithPath_), pPath); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Bundle* NS::Bundle::init(const URL* pURL) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithURL_), pURL); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Bundle::allBundles() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(allBundles)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Bundle::allFrameworks() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(allFrameworks)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Bundle::load() +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(load)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Bundle::unload() +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(unload)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Bundle::isLoaded() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(isLoaded)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Bundle::preflightAndReturnError(Error** pError) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(preflightAndReturnError_), pError); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Bundle::loadAndReturnError(Error** pError) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(loadAndReturnError_), pError); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::bundleURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(bundleURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::resourceURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(resourceURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::executableURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(executableURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::URLForAuxiliaryExecutable(const String* pExecutableName) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(URLForAuxiliaryExecutable_), pExecutableName); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::privateFrameworksURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(privateFrameworksURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::sharedFrameworksURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(sharedFrameworksURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::sharedSupportURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(sharedSupportURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::builtInPlugInsURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(builtInPlugInsURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::Bundle::appStoreReceiptURL() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(appStoreReceiptURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::bundlePath() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(bundlePath)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::resourcePath() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(resourcePath)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::executablePath() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(executablePath)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::pathForAuxiliaryExecutable(const String* pExecutableName) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(pathForAuxiliaryExecutable_), pExecutableName); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::privateFrameworksPath() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(privateFrameworksPath)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::sharedFrameworksPath() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(sharedFrameworksPath)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::sharedSupportPath() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(sharedSupportPath)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::builtInPlugInsPath() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(builtInPlugInsPath)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::bundleIdentifier() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(bundleIdentifier)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Bundle::infoDictionary() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(infoDictionary)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Bundle::localizedInfoDictionary() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(localizedInfoDictionary)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Object* NS::Bundle::objectForInfoDictionaryKey(const String* pKey) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(objectForInfoDictionaryKey_), pKey); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Bundle::localizedString(const String* pKey, const String* pValue /* = nullptr */, const String* pTableName /* = nullptr */) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(localizedStringForKey_value_table_), pKey, pValue, pTableName); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSData.hpp b/metal-cpp/Foundation/NSData.hpp new file mode 100644 index 00000000..1c699e47 --- /dev/null +++ b/metal-cpp/Foundation/NSData.hpp @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSData.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSObject.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +class Data : public Copying +{ +public: + void* mutableBytes() const; + UInteger length() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void* NS::Data::mutableBytes() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(mutableBytes)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::Data::length() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(length)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSDate.hpp b/metal-cpp/Foundation/NSDate.hpp new file mode 100644 index 00000000..ee6c83af --- /dev/null +++ b/metal-cpp/Foundation/NSDate.hpp @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSDate.hpp +// +// See LICENSE.txt for this project licensing information. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ + +using TimeInterval = double; + +class Date : public Copying +{ +public: + static Date* dateWithTimeIntervalSinceNow(TimeInterval secs); +}; + +} // NS + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Date* NS::Date::dateWithTimeIntervalSinceNow(NS::TimeInterval secs) +{ + return NS::Object::sendMessage(_NS_PRIVATE_CLS(NSDate), _NS_PRIVATE_SEL(dateWithTimeIntervalSinceNow_), secs); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/metal-cpp/Foundation/NSDefines.hpp b/metal-cpp/Foundation/NSDefines.hpp new file mode 100644 index 00000000..70e67086 --- /dev/null +++ b/metal-cpp/Foundation/NSDefines.hpp @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSDefines.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#define _NS_WEAK_IMPORT __attribute__((weak_import)) +#define _NS_EXPORT __attribute__((visibility("default"))) +#define _NS_EXTERN extern "C" _NS_EXPORT +#define _NS_INLINE inline __attribute__((always_inline)) +#define _NS_PACKED __attribute__((packed)) + +#define _NS_CONST(type, name) _NS_EXTERN type const name; +#define _NS_ENUM(type, name) enum name : type +#define _NS_OPTIONS(type, name) \ + using name = type; \ + enum : name + +#define _NS_CAST_TO_UINT(value) static_cast(value) +#define _NS_VALIDATE_SIZE(ns, name) static_assert(sizeof(ns::name) == sizeof(ns##name), "size mismatch " #ns "::" #name) +#define _NS_VALIDATE_ENUM(ns, name) static_assert(_NS_CAST_TO_UINT(ns::name) == _NS_CAST_TO_UINT(ns##name), "value mismatch " #ns "::" #name) + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSDictionary.hpp b/metal-cpp/Foundation/NSDictionary.hpp new file mode 100644 index 00000000..ccbe2bd8 --- /dev/null +++ b/metal-cpp/Foundation/NSDictionary.hpp @@ -0,0 +1,128 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSDictionary.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSEnumerator.hpp" +#include "NSObject.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +class Dictionary : public NS::Copying +{ +public: + static Dictionary* dictionary(); + static Dictionary* dictionary(const Object* pObject, const Object* pKey); + static Dictionary* dictionary(const Object* const* pObjects, const Object* const* pKeys, UInteger count); + + static Dictionary* alloc(); + + Dictionary* init(); + Dictionary* init(const Object* const* pObjects, const Object* const* pKeys, UInteger count); + Dictionary* init(const class Coder* pCoder); + + template + Enumerator<_KeyType>* keyEnumerator() const; + + template + _Object* object(const Object* pKey) const; + UInteger count() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Dictionary::dictionary() +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSDictionary), _NS_PRIVATE_SEL(dictionary)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Dictionary::dictionary(const Object* pObject, const Object* pKey) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSDictionary), _NS_PRIVATE_SEL(dictionaryWithObject_forKey_), pObject, pKey); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Dictionary::dictionary(const Object* const* pObjects, const Object* const* pKeys, UInteger count) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSDictionary), _NS_PRIVATE_SEL(dictionaryWithObjects_forKeys_count_), + pObjects, pKeys, count); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Dictionary::alloc() +{ + return NS::Object::alloc(_NS_PRIVATE_CLS(NSDictionary)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Dictionary::init() +{ + return NS::Object::init(); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Dictionary::init(const Object* const* pObjects, const Object* const* pKeys, UInteger count) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithObjects_forKeys_count_), pObjects, pKeys, count); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Dictionary::init(const class Coder* pCoder) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithCoder_), pCoder); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE NS::Enumerator<_KeyType>* NS::Dictionary::keyEnumerator() const +{ + return Object::sendMessage*>(this, _NS_PRIVATE_SEL(keyEnumerator)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Object* NS::Dictionary::object(const Object* pKey) const +{ + return Object::sendMessage<_Object*>(this, _NS_PRIVATE_SEL(objectForKey_), pKey); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::Dictionary::count() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(count)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSEnumerator.hpp b/metal-cpp/Foundation/NSEnumerator.hpp new file mode 100644 index 00000000..69596c04 --- /dev/null +++ b/metal-cpp/Foundation/NSEnumerator.hpp @@ -0,0 +1,78 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSEnumerator.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSObject.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +struct FastEnumerationState +{ + unsigned long state; + Object** itemsPtr; + unsigned long* mutationsPtr; + unsigned long extra[5]; +} _NS_PACKED; + +class FastEnumeration : public Referencing +{ +public: + NS::UInteger countByEnumerating(FastEnumerationState* pState, Object** pBuffer, NS::UInteger len); +}; + +template +class Enumerator : public Referencing, FastEnumeration> +{ +public: + _ObjectType* nextObject(); + class Array* allObjects(); +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::FastEnumeration::countByEnumerating(FastEnumerationState* pState, Object** pBuffer, NS::UInteger len) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(countByEnumeratingWithState_objects_count_), pState, pBuffer, len); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _ObjectType* NS::Enumerator<_ObjectType>::nextObject() +{ + return Object::sendMessage<_ObjectType*>(this, _NS_PRIVATE_SEL(nextObject)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE NS::Array* NS::Enumerator<_ObjectType>::allObjects() +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(allObjects)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSError.hpp b/metal-cpp/Foundation/NSError.hpp new file mode 100644 index 00000000..5ebf9818 --- /dev/null +++ b/metal-cpp/Foundation/NSError.hpp @@ -0,0 +1,173 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSError.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +using ErrorDomain = class String*; + +_NS_CONST(ErrorDomain, CocoaErrorDomain); +_NS_CONST(ErrorDomain, POSIXErrorDomain); +_NS_CONST(ErrorDomain, OSStatusErrorDomain); +_NS_CONST(ErrorDomain, MachErrorDomain); + +using ErrorUserInfoKey = class String*; + +_NS_CONST(ErrorUserInfoKey, UnderlyingErrorKey); +_NS_CONST(ErrorUserInfoKey, LocalizedDescriptionKey); +_NS_CONST(ErrorUserInfoKey, LocalizedFailureReasonErrorKey); +_NS_CONST(ErrorUserInfoKey, LocalizedRecoverySuggestionErrorKey); +_NS_CONST(ErrorUserInfoKey, LocalizedRecoveryOptionsErrorKey); +_NS_CONST(ErrorUserInfoKey, RecoveryAttempterErrorKey); +_NS_CONST(ErrorUserInfoKey, HelpAnchorErrorKey); +_NS_CONST(ErrorUserInfoKey, DebugDescriptionErrorKey); +_NS_CONST(ErrorUserInfoKey, LocalizedFailureErrorKey); +_NS_CONST(ErrorUserInfoKey, StringEncodingErrorKey); +_NS_CONST(ErrorUserInfoKey, URLErrorKey); +_NS_CONST(ErrorUserInfoKey, FilePathErrorKey); + +class Error : public Copying +{ +public: + static Error* error(ErrorDomain domain, Integer code, class Dictionary* pDictionary); + + static Error* alloc(); + Error* init(); + Error* init(ErrorDomain domain, Integer code, class Dictionary* pDictionary); + + Integer code() const; + ErrorDomain domain() const; + class Dictionary* userInfo() const; + + class String* localizedDescription() const; + class Array* localizedRecoveryOptions() const; + class String* localizedRecoverySuggestion() const; + class String* localizedFailureReason() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_PRIVATE_DEF_CONST(NS::ErrorDomain, CocoaErrorDomain); +_NS_PRIVATE_DEF_CONST(NS::ErrorDomain, POSIXErrorDomain); +_NS_PRIVATE_DEF_CONST(NS::ErrorDomain, OSStatusErrorDomain); +_NS_PRIVATE_DEF_CONST(NS::ErrorDomain, MachErrorDomain); + +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, UnderlyingErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, LocalizedDescriptionKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, LocalizedFailureReasonErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, LocalizedRecoverySuggestionErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, LocalizedRecoveryOptionsErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, RecoveryAttempterErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, HelpAnchorErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, DebugDescriptionErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, LocalizedFailureErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, StringEncodingErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, URLErrorKey); +_NS_PRIVATE_DEF_CONST(NS::ErrorUserInfoKey, FilePathErrorKey); + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Error* NS::Error::error(ErrorDomain domain, Integer code, class Dictionary* pDictionary) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSError), _NS_PRIVATE_SEL(errorWithDomain_code_userInfo_), domain, code, pDictionary); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Error* NS::Error::alloc() +{ + return Object::alloc(_NS_PRIVATE_CLS(NSError)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Error* NS::Error::init() +{ + return Object::init(); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Error* NS::Error::init(ErrorDomain domain, Integer code, class Dictionary* pDictionary) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithDomain_code_userInfo_), domain, code, pDictionary); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Integer NS::Error::code() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(code)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::ErrorDomain NS::Error::domain() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(domain)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Error::userInfo() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(userInfo)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Error::localizedDescription() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(localizedDescription)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::Error::localizedRecoveryOptions() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(localizedRecoveryOptions)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Error::localizedRecoverySuggestion() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(localizedRecoverySuggestion)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Error::localizedFailureReason() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(localizedFailureReason)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSLock.hpp b/metal-cpp/Foundation/NSLock.hpp new file mode 100644 index 00000000..f27de081 --- /dev/null +++ b/metal-cpp/Foundation/NSLock.hpp @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSLock.hpp +// +// See LICENSE.txt for this project licensing information. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSTypes.hpp" +#include "NSDate.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ + +template +class Locking : public _Base +{ +public: + void lock(); + void unlock(); +}; + +class Condition : public Locking +{ +public: + static Condition* alloc(); + + Condition* init(); + + void wait(); + bool waitUntilDate(Date* pLimit); + void signal(); + void broadcast(); +}; + +} // NS + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE void NS::Locking<_Class, _Base>::lock() +{ + NS::Object::sendMessage(this, _NS_PRIVATE_SEL(lock)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE void NS::Locking<_Class, _Base>::unlock() +{ + NS::Object::sendMessage(this, _NS_PRIVATE_SEL(unlock)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Condition* NS::Condition::alloc() +{ + return NS::Object::alloc(_NS_PRIVATE_CLS(NSCondition)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Condition* NS::Condition::init() +{ + return NS::Object::init(); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::Condition::wait() +{ + NS::Object::sendMessage(this, _NS_PRIVATE_SEL(wait)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Condition::waitUntilDate(NS::Date* pLimit) +{ + return NS::Object::sendMessage(this, _NS_PRIVATE_SEL(waitUntilDate_), pLimit); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::Condition::signal() +{ + NS::Object::sendMessage(this, _NS_PRIVATE_SEL(signal)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::Condition::broadcast() +{ + NS::Object::sendMessage(this, _NS_PRIVATE_SEL(broadcast)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/metal-cpp/Foundation/NSNotification.hpp b/metal-cpp/Foundation/NSNotification.hpp new file mode 100644 index 00000000..0abbc9f5 --- /dev/null +++ b/metal-cpp/Foundation/NSNotification.hpp @@ -0,0 +1,67 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSNotification.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSDictionary.hpp" +#include "NSObject.hpp" +#include "NSString.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +using NotificationName = class String*; + +class Notification : public NS::Referencing +{ +public: + NS::String* name() const; + NS::Object* object() const; + NS::Dictionary* userInfo() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Notification::name() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(name)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Object* NS::Notification::object() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(object)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::Notification::userInfo() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(userInfo)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSNumber.hpp b/metal-cpp/Foundation/NSNumber.hpp new file mode 100644 index 00000000..8d0f66f3 --- /dev/null +++ b/metal-cpp/Foundation/NSNumber.hpp @@ -0,0 +1,501 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSNumber.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSObjCRuntime.hpp" +#include "NSObject.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +class Value : public Copying +{ +public: + static Value* value(const void* pValue, const char* pType); + static Value* value(const void* pPointer); + + static Value* alloc(); + + Value* init(const void* pValue, const char* pType); + Value* init(const class Coder* pCoder); + + void getValue(void* pValue, UInteger size) const; + const char* objCType() const; + + bool isEqualToValue(Value* pValue) const; + void* pointerValue() const; +}; + +class Number : public Copying +{ +public: + static Number* number(char value); + static Number* number(unsigned char value); + static Number* number(short value); + static Number* number(unsigned short value); + static Number* number(int value); + static Number* number(unsigned int value); + static Number* number(long value); + static Number* number(unsigned long value); + static Number* number(long long value); + static Number* number(unsigned long long value); + static Number* number(float value); + static Number* number(double value); + static Number* number(bool value); + + static Number* alloc(); + + Number* init(const class Coder* pCoder); + Number* init(char value); + Number* init(unsigned char value); + Number* init(short value); + Number* init(unsigned short value); + Number* init(int value); + Number* init(unsigned int value); + Number* init(long value); + Number* init(unsigned long value); + Number* init(long long value); + Number* init(unsigned long long value); + Number* init(float value); + Number* init(double value); + Number* init(bool value); + + char charValue() const; + unsigned char unsignedCharValue() const; + short shortValue() const; + unsigned short unsignedShortValue() const; + int intValue() const; + unsigned int unsignedIntValue() const; + long longValue() const; + unsigned long unsignedLongValue() const; + long long longLongValue() const; + unsigned long long unsignedLongLongValue() const; + float floatValue() const; + double doubleValue() const; + bool boolValue() const; + Integer integerValue() const; + UInteger unsignedIntegerValue() const; + class String* stringValue() const; + + ComparisonResult compare(const Number* pOtherNumber) const; + bool isEqualToNumber(const Number* pNumber) const; + + class String* descriptionWithLocale(const Object* pLocale) const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Value* NS::Value::value(const void* pValue, const char* pType) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSValue), _NS_PRIVATE_SEL(valueWithBytes_objCType_), pValue, pType); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Value* NS::Value::value(const void* pPointer) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSValue), _NS_PRIVATE_SEL(valueWithPointer_), pPointer); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Value* NS::Value::alloc() +{ + return NS::Object::alloc(_NS_PRIVATE_CLS(NSValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Value* NS::Value::init(const void* pValue, const char* pType) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithBytes_objCType_), pValue, pType); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Value* NS::Value::init(const class Coder* pCoder) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithCoder_), pCoder); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::Value::getValue(void* pValue, UInteger size) const +{ + Object::sendMessage(this, _NS_PRIVATE_SEL(getValue_size_), pValue, size); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE const char* NS::Value::objCType() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(objCType)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Value::isEqualToValue(Value* pValue) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(isEqualToValue_), pValue); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void* NS::Value::pointerValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(pointerValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(char value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithChar_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(unsigned char value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithUnsignedChar_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(short value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithShort_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(unsigned short value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithUnsignedShort_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(int value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithInt_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(unsigned int value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithUnsignedInt_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(long value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(unsigned long value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithUnsignedLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(long long value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithLongLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(unsigned long long value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithUnsignedLongLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(float value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithFloat_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(double value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithDouble_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::number(bool value) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSNumber), _NS_PRIVATE_SEL(numberWithBool_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::alloc() +{ + return NS::Object::alloc(_NS_PRIVATE_CLS(NSNumber)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(const Coder* pCoder) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithCoder_), pCoder); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(char value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithChar_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(unsigned char value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithUnsignedChar_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(short value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithShort_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(unsigned short value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithUnsignedShort_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(int value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithInt_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(unsigned int value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithUnsignedInt_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(long value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(unsigned long value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithUnsignedLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(long long value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithLongLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(unsigned long long value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithUnsignedLongLong_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(float value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithFloat_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(double value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithDouble_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Number* NS::Number::init(bool value) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithBool_), value); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE char NS::Number::charValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(charValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE unsigned char NS::Number::unsignedCharValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(unsignedCharValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE short NS::Number::shortValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(shortValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE unsigned short NS::Number::unsignedShortValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(unsignedShortValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE int NS::Number::intValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(intValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE unsigned int NS::Number::unsignedIntValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(unsignedIntValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE long NS::Number::longValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(longValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE unsigned long NS::Number::unsignedLongValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(unsignedLongValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE long long NS::Number::longLongValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(longLongValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE unsigned long long NS::Number::unsignedLongLongValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(unsignedLongLongValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE float NS::Number::floatValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(floatValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE double NS::Number::doubleValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(doubleValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Number::boolValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(boolValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Integer NS::Number::integerValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(integerValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::Number::unsignedIntegerValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(unsignedIntegerValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Number::stringValue() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(stringValue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::ComparisonResult NS::Number::compare(const Number* pOtherNumber) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(compare_), pOtherNumber); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Number::isEqualToNumber(const Number* pNumber) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(isEqualToNumber_), pNumber); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Number::descriptionWithLocale(const Object* pLocale) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(descriptionWithLocale_), pLocale); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSObjCRuntime.hpp b/metal-cpp/Foundation/NSObjCRuntime.hpp new file mode 100644 index 00000000..48e65066 --- /dev/null +++ b/metal-cpp/Foundation/NSObjCRuntime.hpp @@ -0,0 +1,43 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSObjCRuntime.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ + +_NS_ENUM(Integer, ComparisonResult) { + OrderedAscending = -1, + OrderedSame = 0, + OrderedDescending = 1, +}; + +const Integer NotFound = IntegerMax; + +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSObject.hpp b/metal-cpp/Foundation/NSObject.hpp new file mode 100644 index 00000000..f4e1c632 --- /dev/null +++ b/metal-cpp/Foundation/NSObject.hpp @@ -0,0 +1,297 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSObject.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSPrivate.hpp" +#include "NSTypes.hpp" + +#include +#include + +#include + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +template +class Referencing : public _Base +{ +public: + _Class* retain(); + void release(); + + _Class* autorelease(); + + UInteger retainCount() const; +}; + +template +class Copying : public Referencing<_Class, _Base> +{ +public: + _Class* copy() const; +}; + +class Object : public Referencing +{ +public: + UInteger hash() const; + bool isEqual(const Object* pObject) const; + + class String* description() const; + class String* debugDescription() const; + +protected: + friend class Referencing; + + template + static _Class* alloc(const char* pClassName); + template + static _Class* alloc(const void* pClass); + template + _Class* init(); + + template + static _Dst bridgingCast(const void* pObj); + static class MethodSignature* methodSignatureForSelector(const void* pObj, SEL selector); + static bool respondsToSelector(const void* pObj, SEL selector); + template + static constexpr bool doesRequireMsgSendStret(); + template + static _Ret sendMessage(const void* pObj, SEL selector, _Args... args); + template + static _Ret sendMessageSafe(const void* pObj, SEL selector, _Args... args); + +private: + Object() = delete; + Object(const Object&) = delete; + ~Object() = delete; + + Object& operator=(const Object&) = delete; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Class* NS::Referencing<_Class, _Base>::retain() +{ + return Object::sendMessage<_Class*>(this, _NS_PRIVATE_SEL(retain)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE void NS::Referencing<_Class, _Base>::release() +{ + Object::sendMessage(this, _NS_PRIVATE_SEL(release)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Class* NS::Referencing<_Class, _Base>::autorelease() +{ + return Object::sendMessage<_Class*>(this, _NS_PRIVATE_SEL(autorelease)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE NS::UInteger NS::Referencing<_Class, _Base>::retainCount() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(retainCount)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Class* NS::Copying<_Class, _Base>::copy() const +{ + return Object::sendMessage<_Class*>(this, _NS_PRIVATE_SEL(copy)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Dst NS::Object::bridgingCast(const void* pObj) +{ +#if __OBJC__ + return (__bridge _Dst)pObj; +#else + return (_Dst)pObj; +#endif // __OBJC__ +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE constexpr bool NS::Object::doesRequireMsgSendStret() +{ +#if (defined(__i386__) || defined(__x86_64__)) + constexpr size_t kStructLimit = (sizeof(std::uintptr_t) << 1); + + return sizeof(_Type) > kStructLimit; +#elif defined(__arm64__) + return false; +#elif defined(__arm__) + constexpr size_t kStructLimit = sizeof(std::uintptr_t); + + return std::is_class(_Type) && (sizeof(_Type) > kStructLimit); +#else +#error "Unsupported architecture!" +#endif +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template <> +_NS_INLINE constexpr bool NS::Object::doesRequireMsgSendStret() +{ + return false; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Ret NS::Object::sendMessage(const void* pObj, SEL selector, _Args... args) +{ +#if (defined(__i386__) || defined(__x86_64__)) + if constexpr (std::is_floating_point<_Ret>()) + { + using SendMessageProcFpret = _Ret (*)(const void*, SEL, _Args...); + + const SendMessageProcFpret pProc = reinterpret_cast(&objc_msgSend_fpret); + + return (*pProc)(pObj, selector, args...); + } + else +#endif // ( defined( __i386__ ) || defined( __x86_64__ ) ) +#if !defined(__arm64__) + if constexpr (doesRequireMsgSendStret<_Ret>()) + { + using SendMessageProcStret = void (*)(_Ret*, const void*, SEL, _Args...); + + const SendMessageProcStret pProc = reinterpret_cast(&objc_msgSend_stret); + _Ret ret; + + (*pProc)(&ret, pObj, selector, args...); + + return ret; + } + else +#endif // !defined( __arm64__ ) + { + using SendMessageProc = _Ret (*)(const void*, SEL, _Args...); + + const SendMessageProc pProc = reinterpret_cast(&objc_msgSend); + + return (*pProc)(pObj, selector, args...); + } +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::MethodSignature* NS::Object::methodSignatureForSelector(const void* pObj, SEL selector) +{ + return sendMessage(pObj, _NS_PRIVATE_SEL(methodSignatureForSelector_), selector); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Object::respondsToSelector(const void* pObj, SEL selector) +{ + return sendMessage(pObj, _NS_PRIVATE_SEL(respondsToSelector_), selector); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Ret NS::Object::sendMessageSafe(const void* pObj, SEL selector, _Args... args) +{ + if ((respondsToSelector(pObj, selector)) || (nullptr != methodSignatureForSelector(pObj, selector))) + { + return sendMessage<_Ret>(pObj, selector, args...); + } + + if constexpr (!std::is_void<_Ret>::value) + { + return 0; + } +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Class* NS::Object::alloc(const char* pClassName) +{ + return sendMessage<_Class*>(objc_lookUpClass(pClassName), _NS_PRIVATE_SEL(alloc)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Class* NS::Object::alloc(const void* pClass) +{ + return sendMessage<_Class*>(pClass, _NS_PRIVATE_SEL(alloc)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +template +_NS_INLINE _Class* NS::Object::init() +{ + return sendMessage<_Class*>(this, _NS_PRIVATE_SEL(init)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::Object::hash() const +{ + return sendMessage(this, _NS_PRIVATE_SEL(hash)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Object::isEqual(const Object* pObject) const +{ + return sendMessage(this, _NS_PRIVATE_SEL(isEqual_), pObject); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Object::description() const +{ + return sendMessage(this, _NS_PRIVATE_SEL(description)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::Object::debugDescription() const +{ + return sendMessageSafe(this, _NS_PRIVATE_SEL(debugDescription)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSPrivate.hpp b/metal-cpp/Foundation/NSPrivate.hpp new file mode 100644 index 00000000..9dfd2ab5 --- /dev/null +++ b/metal-cpp/Foundation/NSPrivate.hpp @@ -0,0 +1,488 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSPrivate.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#define _NS_PRIVATE_CLS(symbol) (Private::Class::s_k##symbol) +#define _NS_PRIVATE_SEL(accessor) (Private::Selector::s_k##accessor) + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#if defined(NS_PRIVATE_IMPLEMENTATION) + +#define _NS_PRIVATE_VISIBILITY __attribute__((visibility("default"))) +#define _NS_PRIVATE_IMPORT __attribute__((weak_import)) + +#if __OBJC__ +#define _NS_PRIVATE_OBJC_LOOKUP_CLASS(symbol) ((__bridge void*)objc_lookUpClass(#symbol)) +#else +#define _NS_PRIVATE_OBJC_LOOKUP_CLASS(symbol) objc_lookUpClass(#symbol) +#endif // __OBJC__ + +#define _NS_PRIVATE_DEF_CLS(symbol) void* s_k##symbol _NS_PRIVATE_VISIBILITY = _NS_PRIVATE_OBJC_LOOKUP_CLASS(symbol); +#define _NS_PRIVATE_DEF_PRO(symbol) +#define _NS_PRIVATE_DEF_SEL(accessor, symbol) SEL s_k##accessor _NS_PRIVATE_VISIBILITY = sel_registerName(symbol); +#define _NS_PRIVATE_DEF_CONST(type, symbol) \ + _NS_EXTERN type const NS##symbol _NS_PRIVATE_IMPORT; \ + type const NS::symbol = (nullptr != &NS##symbol) ? NS##symbol : nullptr; + +#else + +#define _NS_PRIVATE_DEF_CLS(symbol) extern void* s_k##symbol; +#define _NS_PRIVATE_DEF_PRO(symbol) +#define _NS_PRIVATE_DEF_SEL(accessor, symbol) extern SEL s_k##accessor; +#define _NS_PRIVATE_DEF_CONST(type, symbol) + +#endif // NS_PRIVATE_IMPLEMENTATION + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +namespace Private +{ + namespace Class + { + + _NS_PRIVATE_DEF_CLS(NSArray); + _NS_PRIVATE_DEF_CLS(NSAutoreleasePool); + _NS_PRIVATE_DEF_CLS(NSBundle); + _NS_PRIVATE_DEF_CLS(NSCondition); + _NS_PRIVATE_DEF_CLS(NSDate); + _NS_PRIVATE_DEF_CLS(NSDictionary); + _NS_PRIVATE_DEF_CLS(NSError); + _NS_PRIVATE_DEF_CLS(NSNumber); + _NS_PRIVATE_DEF_CLS(NSObject); + _NS_PRIVATE_DEF_CLS(NSProcessInfo); + _NS_PRIVATE_DEF_CLS(NSString); + _NS_PRIVATE_DEF_CLS(NSURL); + _NS_PRIVATE_DEF_CLS(NSValue); + + } // Class +} // Private +} // MTL + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +namespace Private +{ + namespace Protocol + { + + } // Protocol +} // Private +} // NS + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +namespace Private +{ + namespace Selector + { + + _NS_PRIVATE_DEF_SEL(addObject_, + "addObject:"); + _NS_PRIVATE_DEF_SEL(activeProcessorCount, + "activeProcessorCount"); + _NS_PRIVATE_DEF_SEL(allBundles, + "allBundles"); + _NS_PRIVATE_DEF_SEL(allFrameworks, + "allFrameworks"); + _NS_PRIVATE_DEF_SEL(allObjects, + "allObjects"); + _NS_PRIVATE_DEF_SEL(alloc, + "alloc"); + _NS_PRIVATE_DEF_SEL(appStoreReceiptURL, + "appStoreReceiptURL"); + _NS_PRIVATE_DEF_SEL(arguments, + "arguments"); + _NS_PRIVATE_DEF_SEL(array, + "array"); + _NS_PRIVATE_DEF_SEL(arrayWithObject_, + "arrayWithObject:"); + _NS_PRIVATE_DEF_SEL(arrayWithObjects_count_, + "arrayWithObjects:count:"); + _NS_PRIVATE_DEF_SEL(automaticTerminationSupportEnabled, + "automaticTerminationSupportEnabled"); + _NS_PRIVATE_DEF_SEL(autorelease, + "autorelease"); + _NS_PRIVATE_DEF_SEL(beginActivityWithOptions_reason_, + "beginActivityWithOptions:reason:"); + _NS_PRIVATE_DEF_SEL(boolValue, + "boolValue"); + _NS_PRIVATE_DEF_SEL(broadcast, + "broadcast"); + _NS_PRIVATE_DEF_SEL(builtInPlugInsPath, + "builtInPlugInsPath"); + _NS_PRIVATE_DEF_SEL(builtInPlugInsURL, + "builtInPlugInsURL"); + _NS_PRIVATE_DEF_SEL(bundleIdentifier, + "bundleIdentifier"); + _NS_PRIVATE_DEF_SEL(bundlePath, + "bundlePath"); + _NS_PRIVATE_DEF_SEL(bundleURL, + "bundleURL"); + _NS_PRIVATE_DEF_SEL(bundleWithPath_, + "bundleWithPath:"); + _NS_PRIVATE_DEF_SEL(bundleWithURL_, + "bundleWithURL:"); + _NS_PRIVATE_DEF_SEL(characterAtIndex_, + "characterAtIndex:"); + _NS_PRIVATE_DEF_SEL(charValue, + "charValue"); + _NS_PRIVATE_DEF_SEL(countByEnumeratingWithState_objects_count_, + "countByEnumeratingWithState:objects:count:"); + _NS_PRIVATE_DEF_SEL(cStringUsingEncoding_, + "cStringUsingEncoding:"); + _NS_PRIVATE_DEF_SEL(code, + "code"); + _NS_PRIVATE_DEF_SEL(compare_, + "compare:"); + _NS_PRIVATE_DEF_SEL(copy, + "copy"); + _NS_PRIVATE_DEF_SEL(count, + "count"); + _NS_PRIVATE_DEF_SEL(dateWithTimeIntervalSinceNow_, + "dateWithTimeIntervalSinceNow:"); + _NS_PRIVATE_DEF_SEL(descriptionWithLocale_, + "descriptionWithLocale:"); + _NS_PRIVATE_DEF_SEL(disableAutomaticTermination_, + "disableAutomaticTermination:"); + _NS_PRIVATE_DEF_SEL(disableSuddenTermination, + "disableSuddenTermination"); + _NS_PRIVATE_DEF_SEL(debugDescription, + "debugDescription"); + _NS_PRIVATE_DEF_SEL(description, + "description"); + _NS_PRIVATE_DEF_SEL(dictionary, + "dictionary"); + _NS_PRIVATE_DEF_SEL(dictionaryWithObject_forKey_, + "dictionaryWithObject:forKey:"); + _NS_PRIVATE_DEF_SEL(dictionaryWithObjects_forKeys_count_, + "dictionaryWithObjects:forKeys:count:"); + _NS_PRIVATE_DEF_SEL(domain, + "domain"); + _NS_PRIVATE_DEF_SEL(doubleValue, + "doubleValue"); + _NS_PRIVATE_DEF_SEL(drain, + "drain"); + _NS_PRIVATE_DEF_SEL(enableAutomaticTermination_, + "enableAutomaticTermination:"); + _NS_PRIVATE_DEF_SEL(enableSuddenTermination, + "enableSuddenTermination"); + _NS_PRIVATE_DEF_SEL(endActivity_, + "endActivity:"); + _NS_PRIVATE_DEF_SEL(environment, + "environment"); + _NS_PRIVATE_DEF_SEL(errorWithDomain_code_userInfo_, + "errorWithDomain:code:userInfo:"); + _NS_PRIVATE_DEF_SEL(executablePath, + "executablePath"); + _NS_PRIVATE_DEF_SEL(executableURL, + "executableURL"); + _NS_PRIVATE_DEF_SEL(fileSystemRepresentation, + "fileSystemRepresentation"); + _NS_PRIVATE_DEF_SEL(fileURLWithPath_, + "fileURLWithPath:"); + _NS_PRIVATE_DEF_SEL(floatValue, + "floatValue"); + _NS_PRIVATE_DEF_SEL(fullUserName, + "fullUserName"); + _NS_PRIVATE_DEF_SEL(getValue_size_, + "getValue:size:"); + _NS_PRIVATE_DEF_SEL(globallyUniqueString, + "globallyUniqueString"); + _NS_PRIVATE_DEF_SEL(hash, + "hash"); + _NS_PRIVATE_DEF_SEL(hostName, + "hostName"); + _NS_PRIVATE_DEF_SEL(infoDictionary, + "infoDictionary"); + _NS_PRIVATE_DEF_SEL(init, + "init"); + _NS_PRIVATE_DEF_SEL(initFileURLWithPath_, + "initFileURLWithPath:"); + _NS_PRIVATE_DEF_SEL(initWithBool_, + "initWithBool:"); + _NS_PRIVATE_DEF_SEL(initWithBytes_objCType_, + "initWithBytes:objCType:"); + _NS_PRIVATE_DEF_SEL(initWithBytesNoCopy_length_encoding_freeWhenDone_, + "initWithBytesNoCopy:length:encoding:freeWhenDone:"); + _NS_PRIVATE_DEF_SEL(initWithChar_, + "initWithChar:"); + _NS_PRIVATE_DEF_SEL(initWithCoder_, + "initWithCoder:"); + _NS_PRIVATE_DEF_SEL(initWithCString_encoding_, + "initWithCString:encoding:"); + _NS_PRIVATE_DEF_SEL(initWithDomain_code_userInfo_, + "initWithDomain:code:userInfo:"); + _NS_PRIVATE_DEF_SEL(initWithDouble_, + "initWithDouble:"); + _NS_PRIVATE_DEF_SEL(initWithFloat_, + "initWithFloat:"); + _NS_PRIVATE_DEF_SEL(initWithInt_, + "initWithInt:"); + _NS_PRIVATE_DEF_SEL(initWithLong_, + "initWithLong:"); + _NS_PRIVATE_DEF_SEL(initWithLongLong_, + "initWithLongLong:"); + _NS_PRIVATE_DEF_SEL(initWithObjects_count_, + "initWithObjects:count:"); + _NS_PRIVATE_DEF_SEL(initWithObjects_forKeys_count_, + "initWithObjects:forKeys:count:"); + _NS_PRIVATE_DEF_SEL(initWithPath_, + "initWithPath:"); + _NS_PRIVATE_DEF_SEL(initWithShort_, + "initWithShort:"); + _NS_PRIVATE_DEF_SEL(initWithString_, + "initWithString:"); + _NS_PRIVATE_DEF_SEL(initWithUnsignedChar_, + "initWithUnsignedChar:"); + _NS_PRIVATE_DEF_SEL(initWithUnsignedInt_, + "initWithUnsignedInt:"); + _NS_PRIVATE_DEF_SEL(initWithUnsignedLong_, + "initWithUnsignedLong:"); + _NS_PRIVATE_DEF_SEL(initWithUnsignedLongLong_, + "initWithUnsignedLongLong:"); + _NS_PRIVATE_DEF_SEL(initWithUnsignedShort_, + "initWithUnsignedShort:"); + _NS_PRIVATE_DEF_SEL(initWithURL_, + "initWithURL:"); + _NS_PRIVATE_DEF_SEL(integerValue, + "integerValue"); + _NS_PRIVATE_DEF_SEL(intValue, + "intValue"); + _NS_PRIVATE_DEF_SEL(isEqual_, + "isEqual:"); + _NS_PRIVATE_DEF_SEL(isEqualToNumber_, + "isEqualToNumber:"); + _NS_PRIVATE_DEF_SEL(isEqualToString_, + "isEqualToString:"); + _NS_PRIVATE_DEF_SEL(isEqualToValue_, + "isEqualToValue:"); + _NS_PRIVATE_DEF_SEL(isiOSAppOnMac, + "isiOSAppOnMac"); + _NS_PRIVATE_DEF_SEL(isLoaded, + "isLoaded"); + _NS_PRIVATE_DEF_SEL(isLowPowerModeEnabled, + "isLowPowerModeEnabled"); + _NS_PRIVATE_DEF_SEL(isMacCatalystApp, + "isMacCatalystApp"); + _NS_PRIVATE_DEF_SEL(isOperatingSystemAtLeastVersion_, + "isOperatingSystemAtLeastVersion:"); + _NS_PRIVATE_DEF_SEL(keyEnumerator, + "keyEnumerator"); + _NS_PRIVATE_DEF_SEL(length, + "length"); + _NS_PRIVATE_DEF_SEL(lengthOfBytesUsingEncoding_, + "lengthOfBytesUsingEncoding:"); + _NS_PRIVATE_DEF_SEL(load, + "load"); + _NS_PRIVATE_DEF_SEL(loadAndReturnError_, + "loadAndReturnError:"); + _NS_PRIVATE_DEF_SEL(localizedDescription, + "localizedDescription"); + _NS_PRIVATE_DEF_SEL(localizedFailureReason, + "localizedFailureReason"); + _NS_PRIVATE_DEF_SEL(localizedInfoDictionary, + "localizedInfoDictionary"); + _NS_PRIVATE_DEF_SEL(localizedRecoveryOptions, + "localizedRecoveryOptions"); + _NS_PRIVATE_DEF_SEL(localizedRecoverySuggestion, + "localizedRecoverySuggestion"); + _NS_PRIVATE_DEF_SEL(localizedStringForKey_value_table_, + "localizedStringForKey:value:table:"); + _NS_PRIVATE_DEF_SEL(lock, + "lock"); + _NS_PRIVATE_DEF_SEL(longValue, + "longValue"); + _NS_PRIVATE_DEF_SEL(longLongValue, + "longLongValue"); + _NS_PRIVATE_DEF_SEL(mainBundle, + "mainBundle"); + _NS_PRIVATE_DEF_SEL(maximumLengthOfBytesUsingEncoding_, + "maximumLengthOfBytesUsingEncoding:"); + _NS_PRIVATE_DEF_SEL(methodSignatureForSelector_, + "methodSignatureForSelector:"); + _NS_PRIVATE_DEF_SEL(mutableBytes, + "mutableBytes"); + _NS_PRIVATE_DEF_SEL(name, + "name"); + _NS_PRIVATE_DEF_SEL(nextObject, + "nextObject"); + _NS_PRIVATE_DEF_SEL(numberWithBool_, + "numberWithBool:"); + _NS_PRIVATE_DEF_SEL(numberWithChar_, + "numberWithChar:"); + _NS_PRIVATE_DEF_SEL(numberWithDouble_, + "numberWithDouble:"); + _NS_PRIVATE_DEF_SEL(numberWithFloat_, + "numberWithFloat:"); + _NS_PRIVATE_DEF_SEL(numberWithInt_, + "numberWithInt:"); + _NS_PRIVATE_DEF_SEL(numberWithLong_, + "numberWithLong:"); + _NS_PRIVATE_DEF_SEL(numberWithLongLong_, + "numberWithLongLong:"); + _NS_PRIVATE_DEF_SEL(numberWithShort_, + "numberWithShort:"); + _NS_PRIVATE_DEF_SEL(numberWithUnsignedChar_, + "numberWithUnsignedChar:"); + _NS_PRIVATE_DEF_SEL(numberWithUnsignedInt_, + "numberWithUnsignedInt:"); + _NS_PRIVATE_DEF_SEL(numberWithUnsignedLong_, + "numberWithUnsignedLong:"); + _NS_PRIVATE_DEF_SEL(numberWithUnsignedLongLong_, + "numberWithUnsignedLongLong:"); + _NS_PRIVATE_DEF_SEL(numberWithUnsignedShort_, + "numberWithUnsignedShort:"); + _NS_PRIVATE_DEF_SEL(objCType, + "objCType"); + _NS_PRIVATE_DEF_SEL(object, + "object"); + _NS_PRIVATE_DEF_SEL(objectAtIndex_, + "objectAtIndex:"); + _NS_PRIVATE_DEF_SEL(objectForInfoDictionaryKey_, + "objectForInfoDictionaryKey:"); + _NS_PRIVATE_DEF_SEL(objectForKey_, + "objectForKey:"); + _NS_PRIVATE_DEF_SEL(operatingSystem, + "operatingSystem"); + _NS_PRIVATE_DEF_SEL(operatingSystemVersion, + "operatingSystemVersion"); + _NS_PRIVATE_DEF_SEL(operatingSystemVersionString, + "operatingSystemVersionString"); + _NS_PRIVATE_DEF_SEL(pathForAuxiliaryExecutable_, + "pathForAuxiliaryExecutable:"); + _NS_PRIVATE_DEF_SEL(performActivityWithOptions_reason_usingBlock_, + "performActivityWithOptions:reason:usingBlock:"); + _NS_PRIVATE_DEF_SEL(performExpiringActivityWithReason_usingBlock_, + "performExpiringActivityWithReason:usingBlock:"); + _NS_PRIVATE_DEF_SEL(physicalMemory, + "physicalMemory"); + _NS_PRIVATE_DEF_SEL(pointerValue, + "pointerValue"); + _NS_PRIVATE_DEF_SEL(preflightAndReturnError_, + "preflightAndReturnError:"); + _NS_PRIVATE_DEF_SEL(privateFrameworksPath, + "privateFrameworksPath"); + _NS_PRIVATE_DEF_SEL(privateFrameworksURL, + "privateFrameworksURL"); + _NS_PRIVATE_DEF_SEL(processIdentifier, + "processIdentifier"); + _NS_PRIVATE_DEF_SEL(processInfo, + "processInfo"); + _NS_PRIVATE_DEF_SEL(processName, + "processName"); + _NS_PRIVATE_DEF_SEL(processorCount, + "processorCount"); + _NS_PRIVATE_DEF_SEL(rangeOfString_options_, + "rangeOfString:options:"); + _NS_PRIVATE_DEF_SEL(release, + "release"); + _NS_PRIVATE_DEF_SEL(resourcePath, + "resourcePath"); + _NS_PRIVATE_DEF_SEL(resourceURL, + "resourceURL"); + _NS_PRIVATE_DEF_SEL(respondsToSelector_, + "respondsToSelector:"); + _NS_PRIVATE_DEF_SEL(retain, + "retain"); + _NS_PRIVATE_DEF_SEL(retainCount, + "retainCount"); + _NS_PRIVATE_DEF_SEL(setAutomaticTerminationSupportEnabled_, + "setAutomaticTerminationSupportEnabled:"); + _NS_PRIVATE_DEF_SEL(setProcessName_, + "setProcessName:"); + _NS_PRIVATE_DEF_SEL(sharedFrameworksPath, + "sharedFrameworksPath"); + _NS_PRIVATE_DEF_SEL(sharedFrameworksURL, + "sharedFrameworksURL"); + _NS_PRIVATE_DEF_SEL(sharedSupportPath, + "sharedSupportPath"); + _NS_PRIVATE_DEF_SEL(sharedSupportURL, + "sharedSupportURL"); + _NS_PRIVATE_DEF_SEL(shortValue, + "shortValue"); + _NS_PRIVATE_DEF_SEL(showPools, + "showPools"); + _NS_PRIVATE_DEF_SEL(signal, + "signal"); + _NS_PRIVATE_DEF_SEL(string, + "string"); + _NS_PRIVATE_DEF_SEL(stringValue, + "stringValue"); + _NS_PRIVATE_DEF_SEL(stringWithString_, + "stringWithString:"); + _NS_PRIVATE_DEF_SEL(stringWithCString_encoding_, + "stringWithCString:encoding:"); + _NS_PRIVATE_DEF_SEL(stringByAppendingString_, + "stringByAppendingString:"); + _NS_PRIVATE_DEF_SEL(systemUptime, + "systemUptime"); + _NS_PRIVATE_DEF_SEL(thermalState, + "thermalState"); + _NS_PRIVATE_DEF_SEL(unload, + "unload"); + _NS_PRIVATE_DEF_SEL(unlock, + "unlock"); + _NS_PRIVATE_DEF_SEL(unsignedCharValue, + "unsignedCharValue"); + _NS_PRIVATE_DEF_SEL(unsignedIntegerValue, + "unsignedIntegerValue"); + _NS_PRIVATE_DEF_SEL(unsignedIntValue, + "unsignedIntValue"); + _NS_PRIVATE_DEF_SEL(unsignedLongValue, + "unsignedLongValue"); + _NS_PRIVATE_DEF_SEL(unsignedLongLongValue, + "unsignedLongLongValue"); + _NS_PRIVATE_DEF_SEL(unsignedShortValue, + "unsignedShortValue"); + _NS_PRIVATE_DEF_SEL(URLForAuxiliaryExecutable_, + "URLForAuxiliaryExecutable:"); + _NS_PRIVATE_DEF_SEL(userInfo, + "userInfo"); + _NS_PRIVATE_DEF_SEL(userName, + "userName"); + _NS_PRIVATE_DEF_SEL(UTF8String, + "UTF8String"); + _NS_PRIVATE_DEF_SEL(valueWithBytes_objCType_, + "valueWithBytes:objCType:"); + _NS_PRIVATE_DEF_SEL(valueWithPointer_, + "valueWithPointer:"); + _NS_PRIVATE_DEF_SEL(wait, + "wait"); + _NS_PRIVATE_DEF_SEL(waitUntilDate_, + "waitUntilDate:"); + } // Class +} // Private +} // MTL + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSProcessInfo.hpp b/metal-cpp/Foundation/NSProcessInfo.hpp new file mode 100644 index 00000000..98e3147f --- /dev/null +++ b/metal-cpp/Foundation/NSProcessInfo.hpp @@ -0,0 +1,354 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSProcessInfo.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSNotification.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSTypes.hpp" + +#include + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +_NS_CONST(NotificationName, ProcessInfoThermalStateDidChangeNotification); +_NS_CONST(NotificationName, ProcessInfoPowerStateDidChangeNotification); + +_NS_ENUM(NS::Integer, ProcessInfoThermalState) { + ProcessInfoThermalStateNominal = 0, + ProcessInfoThermalStateFair = 1, + ProcessInfoThermalStateSerious = 2, + ProcessInfoThermalStateCritical = 3 +}; + +_NS_OPTIONS(std::uint64_t, ActivityOptions) { + ActivityIdleDisplaySleepDisabled = (1ULL << 40), + ActivityIdleSystemSleepDisabled = (1ULL << 20), + ActivitySuddenTerminationDisabled = (1ULL << 14), + ActivityAutomaticTerminationDisabled = (1ULL << 15), + ActivityUserInitiated = (0x00FFFFFFULL | ActivityIdleSystemSleepDisabled), + ActivityUserInitiatedAllowingIdleSystemSleep = (ActivityUserInitiated & ~ActivityIdleSystemSleepDisabled), + ActivityBackground = 0x000000FFULL, + ActivityLatencyCritical = 0xFF00000000ULL, +}; + +class ProcessInfo : public Referencing +{ +public: + static ProcessInfo* processInfo(); + + class Array* arguments() const; + class Dictionary* environment() const; + class String* hostName() const; + class String* processName() const; + void setProcessName(const String* pString); + int processIdentifier() const; + class String* globallyUniqueString() const; + + class String* userName() const; + class String* fullUserName() const; + + UInteger operatingSystem() const; + OperatingSystemVersion operatingSystemVersion() const; + class String* operatingSystemVersionString() const; + bool isOperatingSystemAtLeastVersion(OperatingSystemVersion version) const; + + UInteger processorCount() const; + UInteger activeProcessorCount() const; + unsigned long long physicalMemory() const; + TimeInterval systemUptime() const; + + void disableSuddenTermination(); + void enableSuddenTermination(); + + void disableAutomaticTermination(const class String* pReason); + void enableAutomaticTermination(const class String* pReason); + bool automaticTerminationSupportEnabled() const; + void setAutomaticTerminationSupportEnabled(bool enabled); + + class Object* beginActivity(ActivityOptions options, const class String* pReason); + void endActivity(class Object* pActivity); + void performActivity(ActivityOptions options, const class String* pReason, void (^block)(void)); + void performActivity(ActivityOptions options, const class String* pReason, const std::function& func); + void performExpiringActivity(const class String* pReason, void (^block)(bool expired)); + void performExpiringActivity(const class String* pReason, const std::function& func); + + ProcessInfoThermalState thermalState() const; + bool isLowPowerModeEnabled() const; + + bool isiOSAppOnMac() const; + bool isMacCatalystApp() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_PRIVATE_DEF_CONST(NS::NotificationName, ProcessInfoThermalStateDidChangeNotification); +_NS_PRIVATE_DEF_CONST(NS::NotificationName, ProcessInfoPowerStateDidChangeNotification); + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::ProcessInfo* NS::ProcessInfo::processInfo() +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSProcessInfo), _NS_PRIVATE_SEL(processInfo)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Array* NS::ProcessInfo::arguments() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(arguments)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Dictionary* NS::ProcessInfo::environment() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(environment)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::ProcessInfo::hostName() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(hostName)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::ProcessInfo::processName() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(processName)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::setProcessName(const String* pString) +{ + Object::sendMessage(this, _NS_PRIVATE_SEL(setProcessName_), pString); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE int NS::ProcessInfo::processIdentifier() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(processIdentifier)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::ProcessInfo::globallyUniqueString() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(globallyUniqueString)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::ProcessInfo::userName() const +{ + return Object::sendMessageSafe(this, _NS_PRIVATE_SEL(userName)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::ProcessInfo::fullUserName() const +{ + return Object::sendMessageSafe(this, _NS_PRIVATE_SEL(fullUserName)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::ProcessInfo::operatingSystem() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(operatingSystem)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::OperatingSystemVersion NS::ProcessInfo::operatingSystemVersion() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(operatingSystemVersion)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::ProcessInfo::operatingSystemVersionString() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(operatingSystemVersionString)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::ProcessInfo::isOperatingSystemAtLeastVersion(OperatingSystemVersion version) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(isOperatingSystemAtLeastVersion_), version); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::ProcessInfo::processorCount() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(processorCount)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::ProcessInfo::activeProcessorCount() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(activeProcessorCount)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE unsigned long long NS::ProcessInfo::physicalMemory() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(physicalMemory)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::TimeInterval NS::ProcessInfo::systemUptime() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(systemUptime)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::disableSuddenTermination() +{ + Object::sendMessageSafe(this, _NS_PRIVATE_SEL(disableSuddenTermination)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::enableSuddenTermination() +{ + Object::sendMessageSafe(this, _NS_PRIVATE_SEL(enableSuddenTermination)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::disableAutomaticTermination(const String* pReason) +{ + Object::sendMessageSafe(this, _NS_PRIVATE_SEL(disableAutomaticTermination_), pReason); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::enableAutomaticTermination(const String* pReason) +{ + Object::sendMessageSafe(this, _NS_PRIVATE_SEL(enableAutomaticTermination_), pReason); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::ProcessInfo::automaticTerminationSupportEnabled() const +{ + return Object::sendMessageSafe(this, _NS_PRIVATE_SEL(automaticTerminationSupportEnabled)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::setAutomaticTerminationSupportEnabled(bool enabled) +{ + Object::sendMessageSafe(this, _NS_PRIVATE_SEL(setAutomaticTerminationSupportEnabled_), enabled); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Object* NS::ProcessInfo::beginActivity(ActivityOptions options, const String* pReason) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(beginActivityWithOptions_reason_), options, pReason); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::endActivity(Object* pActivity) +{ + Object::sendMessage(this, _NS_PRIVATE_SEL(endActivity_), pActivity); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::performActivity(ActivityOptions options, const String* pReason, void (^block)(void)) +{ + Object::sendMessage(this, _NS_PRIVATE_SEL(performActivityWithOptions_reason_usingBlock_), options, pReason, block); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::performActivity(ActivityOptions options, const String* pReason, const std::function& function) +{ + __block std::function blockFunction = function; + + performActivity(options, pReason, ^() { blockFunction(); }); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::performExpiringActivity(const String* pReason, void (^block)(bool expired)) +{ + Object::sendMessageSafe(this, _NS_PRIVATE_SEL(performExpiringActivityWithReason_usingBlock_), pReason, block); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE void NS::ProcessInfo::performExpiringActivity(const String* pReason, const std::function& function) +{ + __block std::function blockFunction = function; + + performExpiringActivity(pReason, ^(bool expired) { blockFunction(expired); }); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::ProcessInfoThermalState NS::ProcessInfo::thermalState() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(thermalState)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::ProcessInfo::isLowPowerModeEnabled() const +{ + return Object::sendMessageSafe(this, _NS_PRIVATE_SEL(isLowPowerModeEnabled)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::ProcessInfo::isiOSAppOnMac() const +{ + return Object::sendMessageSafe(this, _NS_PRIVATE_SEL(isiOSAppOnMac)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::ProcessInfo::isMacCatalystApp() const +{ + return Object::sendMessageSafe(this, _NS_PRIVATE_SEL(isMacCatalystApp)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSRange.hpp b/metal-cpp/Foundation/NSRange.hpp new file mode 100644 index 00000000..8b467d60 --- /dev/null +++ b/metal-cpp/Foundation/NSRange.hpp @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSRange.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +struct Range +{ + static Range Make(UInteger loc, UInteger len); + + Range(UInteger loc, UInteger len); + + bool Equal(const Range& range) const; + bool LocationInRange(UInteger loc) const; + UInteger Max() const; + + UInteger location; + UInteger length; +} _NS_PACKED; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Range::Range(UInteger loc, UInteger len) + : location(loc) + , length(len) +{ +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Range NS::Range::Make(UInteger loc, UInteger len) +{ + return Range(loc, len); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Range::Equal(const Range& range) const +{ + return (location == range.location) && (length == range.length); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::Range::LocationInRange(UInteger loc) const +{ + return (!(loc < location)) && ((loc - location) < length); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::Range::Max() const +{ + return location + length; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSString.hpp b/metal-cpp/Foundation/NSString.hpp new file mode 100644 index 00000000..829decb9 --- /dev/null +++ b/metal-cpp/Foundation/NSString.hpp @@ -0,0 +1,245 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSString.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSRange.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +_NS_ENUM(NS::UInteger, StringEncoding) { + ASCIIStringEncoding = 1, + NEXTSTEPStringEncoding = 2, + JapaneseEUCStringEncoding = 3, + UTF8StringEncoding = 4, + ISOLatin1StringEncoding = 5, + SymbolStringEncoding = 6, + NonLossyASCIIStringEncoding = 7, + ShiftJISStringEncoding = 8, + ISOLatin2StringEncoding = 9, + UnicodeStringEncoding = 10, + WindowsCP1251StringEncoding = 11, + WindowsCP1252StringEncoding = 12, + WindowsCP1253StringEncoding = 13, + WindowsCP1254StringEncoding = 14, + WindowsCP1250StringEncoding = 15, + ISO2022JPStringEncoding = 21, + MacOSRomanStringEncoding = 30, + + UTF16StringEncoding = UnicodeStringEncoding, + + UTF16BigEndianStringEncoding = 0x90000100, + UTF16LittleEndianStringEncoding = 0x94000100, + + UTF32StringEncoding = 0x8c000100, + UTF32BigEndianStringEncoding = 0x98000100, + UTF32LittleEndianStringEncoding = 0x9c000100 +}; + +_NS_OPTIONS(NS::UInteger, StringCompareOptions) { + CaseInsensitiveSearch = 1, + LiteralSearch = 2, + BackwardsSearch = 4, + AnchoredSearch = 8, + NumericSearch = 64, + DiacriticInsensitiveSearch = 128, + WidthInsensitiveSearch = 256, + ForcedOrderingSearch = 512, + RegularExpressionSearch = 1024 +}; + +using unichar = unsigned short; + +class String : public Copying +{ +public: + static String* string(); + static String* string(const String* pString); + static String* string(const char* pString, StringEncoding encoding); + + static String* alloc(); + String* init(); + String* init(const String* pString); + String* init(const char* pString, StringEncoding encoding); + String* init(void* pBytes, UInteger len, StringEncoding encoding, bool freeBuffer); + + unichar character(UInteger index) const; + UInteger length() const; + + const char* cString(StringEncoding encoding) const; + const char* utf8String() const; + UInteger maximumLengthOfBytes(StringEncoding encoding) const; + UInteger lengthOfBytes(StringEncoding encoding) const; + + bool isEqualToString(const String* pString) const; + Range rangeOfString(const String* pString, StringCompareOptions options) const; + + const char* fileSystemRepresentation() const; + + String* stringByAppendingString(const String* pString) const; + +}; + +template< std::size_t _StringLen > +constexpr const String* MakeConstantString( const char ( &str )[_StringLen] ) +{ + return reinterpret_cast< const String* >( __CFStringMakeConstantString( str ) ); +} + +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::string() +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSString), _NS_PRIVATE_SEL(string)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::string(const String* pString) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSString), _NS_PRIVATE_SEL(stringWithString_), pString); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::string(const char* pString, StringEncoding encoding) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSString), _NS_PRIVATE_SEL(stringWithCString_encoding_), pString, encoding); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::alloc() +{ + return Object::alloc(_NS_PRIVATE_CLS(NSString)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::init() +{ + return Object::init(); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::init(const String* pString) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithString_), pString); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::init(const char* pString, StringEncoding encoding) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithCString_encoding_), pString, encoding); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::init(void* pBytes, UInteger len, StringEncoding encoding, bool freeBuffer) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithBytesNoCopy_length_encoding_freeWhenDone_), pBytes, len, encoding, freeBuffer); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::unichar NS::String::character(UInteger index) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(characterAtIndex_), index); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::String::length() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(length)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE const char* NS::String::cString(StringEncoding encoding) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(cStringUsingEncoding_), encoding); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE const char* NS::String::utf8String() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(UTF8String)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::String::maximumLengthOfBytes(StringEncoding encoding) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(maximumLengthOfBytesUsingEncoding_), encoding); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::UInteger NS::String::lengthOfBytes(StringEncoding encoding) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(lengthOfBytesUsingEncoding_), encoding); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE bool NS::String::isEqualToString(const NS::String* pString) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(isEqualToString_), pString); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::Range NS::String::rangeOfString(const NS::String* pString, NS::StringCompareOptions options) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(rangeOfString_options_), pString, options); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE const char* NS::String::fileSystemRepresentation() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(fileSystemRepresentation)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::String* NS::String::stringByAppendingString(const String* pString) const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(stringByAppendingString_), pString); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSTypes.hpp b/metal-cpp/Foundation/NSTypes.hpp new file mode 100644 index 00000000..5f8ada12 --- /dev/null +++ b/metal-cpp/Foundation/NSTypes.hpp @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSTypes.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" + +#include +#include + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +using TimeInterval = double; + +using Integer = std::intptr_t; +using UInteger = std::uintptr_t; + +const Integer IntegerMax = INTPTR_MAX; +const Integer IntegerMin = INTPTR_MIN; +const UInteger UIntegerMax = UINTPTR_MAX; + +struct OperatingSystemVersion +{ + Integer majorVersion; + Integer minorVersion; + Integer patchVersion; +} _NS_PACKED; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Foundation/NSURL.hpp b/metal-cpp/Foundation/NSURL.hpp new file mode 100644 index 00000000..110e7a20 --- /dev/null +++ b/metal-cpp/Foundation/NSURL.hpp @@ -0,0 +1,90 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Foundation/NSURL.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "NSDefines.hpp" +#include "NSObject.hpp" +#include "NSPrivate.hpp" +#include "NSTypes.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace NS +{ +class URL : public Copying +{ +public: + static URL* fileURLWithPath(const class String* pPath); + + static URL* alloc(); + URL* init(); + URL* init(const class String* pString); + URL* initFileURLWithPath(const class String* pPath); + + const char* fileSystemRepresentation() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::URL::fileURLWithPath(const String* pPath) +{ + return Object::sendMessage(_NS_PRIVATE_CLS(NSURL), _NS_PRIVATE_SEL(fileURLWithPath_), pPath); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::URL::alloc() +{ + return Object::alloc(_NS_PRIVATE_CLS(NSURL)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::URL::init() +{ + return Object::init(); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::URL::init(const String* pString) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initWithString_), pString); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE NS::URL* NS::URL::initFileURLWithPath(const String* pPath) +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(initFileURLWithPath_), pPath); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_NS_INLINE const char* NS::URL::fileSystemRepresentation() const +{ + return Object::sendMessage(this, _NS_PRIVATE_SEL(fileSystemRepresentation)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/LICENSE.txt b/metal-cpp/LICENSE.txt new file mode 100644 index 00000000..5e743c67 --- /dev/null +++ b/metal-cpp/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright © 2021 Apple Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/metal-cpp/Metal/MTLAccelerationStructure.hpp b/metal-cpp/Metal/MTLAccelerationStructure.hpp new file mode 100644 index 00000000..3d456c87 --- /dev/null +++ b/metal-cpp/Metal/MTLAccelerationStructure.hpp @@ -0,0 +1,932 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLAccelerationStructure.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLAccelerationStructure.hpp" +#include "MTLAccelerationStructureTypes.hpp" +#include "MTLResource.hpp" +#include "MTLStageInputOutputDescriptor.hpp" + +namespace MTL +{ +_MTL_OPTIONS(NS::UInteger, AccelerationStructureUsage) { + AccelerationStructureUsageNone = 0, + AccelerationStructureUsageRefit = 1, + AccelerationStructureUsagePreferFastBuild = 2, + AccelerationStructureUsageExtendedLimits = 4, +}; + +_MTL_OPTIONS(uint32_t, AccelerationStructureInstanceOptions) { + AccelerationStructureInstanceOptionNone = 0, + AccelerationStructureInstanceOptionDisableTriangleCulling = 1, + AccelerationStructureInstanceOptionTriangleFrontFacingWindingCounterClockwise = 2, + AccelerationStructureInstanceOptionOpaque = 4, + AccelerationStructureInstanceOptionNonOpaque = 8, +}; + +class AccelerationStructureDescriptor : public NS::Copying +{ +public: + static class AccelerationStructureDescriptor* alloc(); + + class AccelerationStructureDescriptor* init(); + + MTL::AccelerationStructureUsage usage() const; + void setUsage(MTL::AccelerationStructureUsage usage); +}; + +class AccelerationStructureGeometryDescriptor : public NS::Copying +{ +public: + static class AccelerationStructureGeometryDescriptor* alloc(); + + class AccelerationStructureGeometryDescriptor* init(); + + NS::UInteger intersectionFunctionTableOffset() const; + void setIntersectionFunctionTableOffset(NS::UInteger intersectionFunctionTableOffset); + + bool opaque() const; + void setOpaque(bool opaque); + + bool allowDuplicateIntersectionFunctionInvocation() const; + void setAllowDuplicateIntersectionFunctionInvocation(bool allowDuplicateIntersectionFunctionInvocation); + + NS::String* label() const; + void setLabel(const NS::String* label); +}; + +_MTL_ENUM(uint32_t, MotionBorderMode) { + MotionBorderModeClamp = 0, + MotionBorderModeVanish = 1, +}; + +class PrimitiveAccelerationStructureDescriptor : public NS::Copying +{ +public: + static class PrimitiveAccelerationStructureDescriptor* alloc(); + + class PrimitiveAccelerationStructureDescriptor* init(); + + NS::Array* geometryDescriptors() const; + void setGeometryDescriptors(const NS::Array* geometryDescriptors); + + MTL::MotionBorderMode motionStartBorderMode() const; + void setMotionStartBorderMode(MTL::MotionBorderMode motionStartBorderMode); + + MTL::MotionBorderMode motionEndBorderMode() const; + void setMotionEndBorderMode(MTL::MotionBorderMode motionEndBorderMode); + + float motionStartTime() const; + void setMotionStartTime(float motionStartTime); + + float motionEndTime() const; + void setMotionEndTime(float motionEndTime); + + NS::UInteger motionKeyframeCount() const; + void setMotionKeyframeCount(NS::UInteger motionKeyframeCount); + + static MTL::PrimitiveAccelerationStructureDescriptor* descriptor(); +}; + +class AccelerationStructureTriangleGeometryDescriptor : public NS::Copying +{ +public: + static class AccelerationStructureTriangleGeometryDescriptor* alloc(); + + class AccelerationStructureTriangleGeometryDescriptor* init(); + + class Buffer* vertexBuffer() const; + void setVertexBuffer(const class Buffer* vertexBuffer); + + NS::UInteger vertexBufferOffset() const; + void setVertexBufferOffset(NS::UInteger vertexBufferOffset); + + NS::UInteger vertexStride() const; + void setVertexStride(NS::UInteger vertexStride); + + class Buffer* indexBuffer() const; + void setIndexBuffer(const class Buffer* indexBuffer); + + NS::UInteger indexBufferOffset() const; + void setIndexBufferOffset(NS::UInteger indexBufferOffset); + + MTL::IndexType indexType() const; + void setIndexType(MTL::IndexType indexType); + + NS::UInteger triangleCount() const; + void setTriangleCount(NS::UInteger triangleCount); + + static MTL::AccelerationStructureTriangleGeometryDescriptor* descriptor(); +}; + +class AccelerationStructureBoundingBoxGeometryDescriptor : public NS::Copying +{ +public: + static class AccelerationStructureBoundingBoxGeometryDescriptor* alloc(); + + class AccelerationStructureBoundingBoxGeometryDescriptor* init(); + + class Buffer* boundingBoxBuffer() const; + void setBoundingBoxBuffer(const class Buffer* boundingBoxBuffer); + + NS::UInteger boundingBoxBufferOffset() const; + void setBoundingBoxBufferOffset(NS::UInteger boundingBoxBufferOffset); + + NS::UInteger boundingBoxStride() const; + void setBoundingBoxStride(NS::UInteger boundingBoxStride); + + NS::UInteger boundingBoxCount() const; + void setBoundingBoxCount(NS::UInteger boundingBoxCount); + + static MTL::AccelerationStructureBoundingBoxGeometryDescriptor* descriptor(); +}; + +class MotionKeyframeData : public NS::Referencing +{ +public: + static class MotionKeyframeData* alloc(); + + class MotionKeyframeData* init(); + + class Buffer* buffer() const; + void setBuffer(const class Buffer* buffer); + + NS::UInteger offset() const; + void setOffset(NS::UInteger offset); + + static MTL::MotionKeyframeData* data(); +}; + +class AccelerationStructureMotionTriangleGeometryDescriptor : public NS::Copying +{ +public: + static class AccelerationStructureMotionTriangleGeometryDescriptor* alloc(); + + class AccelerationStructureMotionTriangleGeometryDescriptor* init(); + + NS::Array* vertexBuffers() const; + void setVertexBuffers(const NS::Array* vertexBuffers); + + NS::UInteger vertexStride() const; + void setVertexStride(NS::UInteger vertexStride); + + class Buffer* indexBuffer() const; + void setIndexBuffer(const class Buffer* indexBuffer); + + NS::UInteger indexBufferOffset() const; + void setIndexBufferOffset(NS::UInteger indexBufferOffset); + + MTL::IndexType indexType() const; + void setIndexType(MTL::IndexType indexType); + + NS::UInteger triangleCount() const; + void setTriangleCount(NS::UInteger triangleCount); + + static MTL::AccelerationStructureMotionTriangleGeometryDescriptor* descriptor(); +}; + +class AccelerationStructureMotionBoundingBoxGeometryDescriptor : public NS::Copying +{ +public: + static class AccelerationStructureMotionBoundingBoxGeometryDescriptor* alloc(); + + class AccelerationStructureMotionBoundingBoxGeometryDescriptor* init(); + + NS::Array* boundingBoxBuffers() const; + void setBoundingBoxBuffers(const NS::Array* boundingBoxBuffers); + + NS::UInteger boundingBoxStride() const; + void setBoundingBoxStride(NS::UInteger boundingBoxStride); + + NS::UInteger boundingBoxCount() const; + void setBoundingBoxCount(NS::UInteger boundingBoxCount); + + static MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* descriptor(); +}; + +struct AccelerationStructureInstanceDescriptor +{ + MTL::PackedFloat4x3 transformationMatrix; + MTL::AccelerationStructureInstanceOptions options; + uint32_t mask; + uint32_t intersectionFunctionTableOffset; + uint32_t accelerationStructureIndex; +} _MTL_PACKED; + +struct AccelerationStructureUserIDInstanceDescriptor +{ + MTL::PackedFloat4x3 transformationMatrix; + MTL::AccelerationStructureInstanceOptions options; + uint32_t mask; + uint32_t intersectionFunctionTableOffset; + uint32_t accelerationStructureIndex; + uint32_t userID; +} _MTL_PACKED; + +_MTL_ENUM(NS::UInteger, AccelerationStructureInstanceDescriptorType) { + AccelerationStructureInstanceDescriptorTypeDefault = 0, + AccelerationStructureInstanceDescriptorTypeUserID = 1, + AccelerationStructureInstanceDescriptorTypeMotion = 2, +}; + +struct AccelerationStructureMotionInstanceDescriptor +{ + MTL::AccelerationStructureInstanceOptions options; + uint32_t mask; + uint32_t intersectionFunctionTableOffset; + uint32_t accelerationStructureIndex; + uint32_t userID; + uint32_t motionTransformsStartIndex; + uint32_t motionTransformsCount; + MTL::MotionBorderMode motionStartBorderMode; + MTL::MotionBorderMode motionEndBorderMode; + float motionStartTime; + float motionEndTime; +} _MTL_PACKED; + +class InstanceAccelerationStructureDescriptor : public NS::Copying +{ +public: + static class InstanceAccelerationStructureDescriptor* alloc(); + + class InstanceAccelerationStructureDescriptor* init(); + + class Buffer* instanceDescriptorBuffer() const; + void setInstanceDescriptorBuffer(const class Buffer* instanceDescriptorBuffer); + + NS::UInteger instanceDescriptorBufferOffset() const; + void setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset); + + NS::UInteger instanceDescriptorStride() const; + void setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride); + + NS::UInteger instanceCount() const; + void setInstanceCount(NS::UInteger instanceCount); + + NS::Array* instancedAccelerationStructures() const; + void setInstancedAccelerationStructures(const NS::Array* instancedAccelerationStructures); + + MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType() const; + void setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType); + + class Buffer* motionTransformBuffer() const; + void setMotionTransformBuffer(const class Buffer* motionTransformBuffer); + + NS::UInteger motionTransformBufferOffset() const; + void setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset); + + NS::UInteger motionTransformCount() const; + void setMotionTransformCount(NS::UInteger motionTransformCount); + + static MTL::InstanceAccelerationStructureDescriptor* descriptor(); +}; + +class AccelerationStructure : public NS::Referencing +{ +public: + NS::UInteger size() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::AccelerationStructureDescriptor* MTL::AccelerationStructureDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAccelerationStructureDescriptor)); +} + +// method: init +_MTL_INLINE MTL::AccelerationStructureDescriptor* MTL::AccelerationStructureDescriptor::init() +{ + return NS::Object::init(); +} + +// property: usage +_MTL_INLINE MTL::AccelerationStructureUsage MTL::AccelerationStructureDescriptor::usage() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(usage)); +} + +_MTL_INLINE void MTL::AccelerationStructureDescriptor::setUsage(MTL::AccelerationStructureUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setUsage_), usage); +} + +// static method: alloc +_MTL_INLINE MTL::AccelerationStructureGeometryDescriptor* MTL::AccelerationStructureGeometryDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAccelerationStructureGeometryDescriptor)); +} + +// method: init +_MTL_INLINE MTL::AccelerationStructureGeometryDescriptor* MTL::AccelerationStructureGeometryDescriptor::init() +{ + return NS::Object::init(); +} + +// property: intersectionFunctionTableOffset +_MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::intersectionFunctionTableOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(intersectionFunctionTableOffset)); +} + +_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setIntersectionFunctionTableOffset(NS::UInteger intersectionFunctionTableOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIntersectionFunctionTableOffset_), intersectionFunctionTableOffset); +} + +// property: opaque +_MTL_INLINE bool MTL::AccelerationStructureGeometryDescriptor::opaque() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(opaque)); +} + +_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setOpaque(bool opaque) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOpaque_), opaque); +} + +// property: allowDuplicateIntersectionFunctionInvocation +_MTL_INLINE bool MTL::AccelerationStructureGeometryDescriptor::allowDuplicateIntersectionFunctionInvocation() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(allowDuplicateIntersectionFunctionInvocation)); +} + +_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setAllowDuplicateIntersectionFunctionInvocation(bool allowDuplicateIntersectionFunctionInvocation) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAllowDuplicateIntersectionFunctionInvocation_), allowDuplicateIntersectionFunctionInvocation); +} + +// property: label +_MTL_INLINE NS::String* MTL::AccelerationStructureGeometryDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// static method: alloc +_MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLPrimitiveAccelerationStructureDescriptor)); +} + +// method: init +_MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::init() +{ + return NS::Object::init(); +} + +// property: geometryDescriptors +_MTL_INLINE NS::Array* MTL::PrimitiveAccelerationStructureDescriptor::geometryDescriptors() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(geometryDescriptors)); +} + +_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setGeometryDescriptors(const NS::Array* geometryDescriptors) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setGeometryDescriptors_), geometryDescriptors); +} + +// property: motionStartBorderMode +_MTL_INLINE MTL::MotionBorderMode MTL::PrimitiveAccelerationStructureDescriptor::motionStartBorderMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionStartBorderMode)); +} + +_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionStartBorderMode(MTL::MotionBorderMode motionStartBorderMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionStartBorderMode_), motionStartBorderMode); +} + +// property: motionEndBorderMode +_MTL_INLINE MTL::MotionBorderMode MTL::PrimitiveAccelerationStructureDescriptor::motionEndBorderMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionEndBorderMode)); +} + +_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionEndBorderMode(MTL::MotionBorderMode motionEndBorderMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionEndBorderMode_), motionEndBorderMode); +} + +// property: motionStartTime +_MTL_INLINE float MTL::PrimitiveAccelerationStructureDescriptor::motionStartTime() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionStartTime)); +} + +_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionStartTime(float motionStartTime) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionStartTime_), motionStartTime); +} + +// property: motionEndTime +_MTL_INLINE float MTL::PrimitiveAccelerationStructureDescriptor::motionEndTime() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionEndTime)); +} + +_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionEndTime(float motionEndTime) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionEndTime_), motionEndTime); +} + +// property: motionKeyframeCount +_MTL_INLINE NS::UInteger MTL::PrimitiveAccelerationStructureDescriptor::motionKeyframeCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionKeyframeCount)); +} + +_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionKeyframeCount(NS::UInteger motionKeyframeCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionKeyframeCount_), motionKeyframeCount); +} + +// static method: descriptor +_MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::descriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLPrimitiveAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor)); +} + +// static method: alloc +_MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAccelerationStructureTriangleGeometryDescriptor)); +} + +// method: init +_MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::init() +{ + return NS::Object::init(); +} + +// property: vertexBuffer +_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::vertexBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexBuffer)); +} + +_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexBuffer(const MTL::Buffer* vertexBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBuffer_), vertexBuffer); +} + +// property: vertexBufferOffset +_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::vertexBufferOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexBufferOffset)); +} + +_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexBufferOffset(NS::UInteger vertexBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBufferOffset_), vertexBufferOffset); +} + +// property: vertexStride +_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::vertexStride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexStride)); +} + +_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexStride(NS::UInteger vertexStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexStride_), vertexStride); +} + +// property: indexBuffer +_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::indexBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexBuffer)); +} + +_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer); +} + +// property: indexBufferOffset +_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::indexBufferOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexBufferOffset)); +} + +_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset); +} + +// property: indexType +_MTL_INLINE MTL::IndexType MTL::AccelerationStructureTriangleGeometryDescriptor::indexType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexType)); +} + +_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexType(MTL::IndexType indexType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexType_), indexType); +} + +// property: triangleCount +_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::triangleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(triangleCount)); +} + +_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTriangleCount(NS::UInteger triangleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTriangleCount_), triangleCount); +} + +// static method: descriptor +_MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::descriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLAccelerationStructureTriangleGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); +} + +// static method: alloc +_MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAccelerationStructureBoundingBoxGeometryDescriptor)); +} + +// method: init +_MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::init() +{ + return NS::Object::init(); +} + +// property: boundingBoxBuffer +_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(boundingBoxBuffer)); +} + +_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxBuffer(const MTL::Buffer* boundingBoxBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBoundingBoxBuffer_), boundingBoxBuffer); +} + +// property: boundingBoxBufferOffset +_MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxBufferOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(boundingBoxBufferOffset)); +} + +_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxBufferOffset(NS::UInteger boundingBoxBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBoundingBoxBufferOffset_), boundingBoxBufferOffset); +} + +// property: boundingBoxStride +_MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxStride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(boundingBoxStride)); +} + +_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxStride(NS::UInteger boundingBoxStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBoundingBoxStride_), boundingBoxStride); +} + +// property: boundingBoxCount +_MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(boundingBoxCount)); +} + +_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxCount(NS::UInteger boundingBoxCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBoundingBoxCount_), boundingBoxCount); +} + +// static method: descriptor +_MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::descriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLAccelerationStructureBoundingBoxGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); +} + +// static method: alloc +_MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLMotionKeyframeData)); +} + +// method: init +_MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::init() +{ + return NS::Object::init(); +} + +// property: buffer +_MTL_INLINE MTL::Buffer* MTL::MotionKeyframeData::buffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(buffer)); +} + +_MTL_INLINE void MTL::MotionKeyframeData::setBuffer(const MTL::Buffer* buffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBuffer_), buffer); +} + +// property: offset +_MTL_INLINE NS::UInteger MTL::MotionKeyframeData::offset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(offset)); +} + +_MTL_INLINE void MTL::MotionKeyframeData::setOffset(NS::UInteger offset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOffset_), offset); +} + +// static method: data +_MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::data() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLMotionKeyframeData), _MTL_PRIVATE_SEL(data)); +} + +// static method: alloc +_MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionTriangleGeometryDescriptor)); +} + +// method: init +_MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::init() +{ + return NS::Object::init(); +} + +// property: vertexBuffers +_MTL_INLINE NS::Array* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexBuffers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexBuffers)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexBuffers(const NS::Array* vertexBuffers) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBuffers_), vertexBuffers); +} + +// property: vertexStride +_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexStride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexStride)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexStride(NS::UInteger vertexStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexStride_), vertexStride); +} + +// property: indexBuffer +_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexBuffer)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer); +} + +// property: indexBufferOffset +_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexBufferOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexBufferOffset)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset); +} + +// property: indexType +_MTL_INLINE MTL::IndexType MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexType)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexType(MTL::IndexType indexType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexType_), indexType); +} + +// property: triangleCount +_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::triangleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(triangleCount)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTriangleCount(NS::UInteger triangleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTriangleCount_), triangleCount); +} + +// static method: descriptor +_MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::descriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionTriangleGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); +} + +// static method: alloc +_MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor)); +} + +// method: init +_MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::init() +{ + return NS::Object::init(); +} + +// property: boundingBoxBuffers +_MTL_INLINE NS::Array* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxBuffers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(boundingBoxBuffers)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxBuffers(const NS::Array* boundingBoxBuffers) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBoundingBoxBuffers_), boundingBoxBuffers); +} + +// property: boundingBoxStride +_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxStride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(boundingBoxStride)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxStride(NS::UInteger boundingBoxStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBoundingBoxStride_), boundingBoxStride); +} + +// property: boundingBoxCount +_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(boundingBoxCount)); +} + +_MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxCount(NS::UInteger boundingBoxCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBoundingBoxCount_), boundingBoxCount); +} + +// static method: descriptor +_MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::descriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); +} + +// static method: alloc +_MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLInstanceAccelerationStructureDescriptor)); +} + +// method: init +_MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::init() +{ + return NS::Object::init(); +} + +// property: instanceDescriptorBuffer +_MTL_INLINE MTL::Buffer* MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(instanceDescriptorBuffer)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorBuffer(const MTL::Buffer* instanceDescriptorBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBuffer_), instanceDescriptorBuffer); +} + +// property: instanceDescriptorBufferOffset +_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorBufferOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(instanceDescriptorBufferOffset)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBufferOffset_), instanceDescriptorBufferOffset); +} + +// property: instanceDescriptorStride +_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorStride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(instanceDescriptorStride)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInstanceDescriptorStride_), instanceDescriptorStride); +} + +// property: instanceCount +_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(instanceCount)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceCount(NS::UInteger instanceCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInstanceCount_), instanceCount); +} + +// property: instancedAccelerationStructures +_MTL_INLINE NS::Array* MTL::InstanceAccelerationStructureDescriptor::instancedAccelerationStructures() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(instancedAccelerationStructures)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstancedAccelerationStructures(const NS::Array* instancedAccelerationStructures) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInstancedAccelerationStructures_), instancedAccelerationStructures); +} + +// property: instanceDescriptorType +_MTL_INLINE MTL::AccelerationStructureInstanceDescriptorType MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(instanceDescriptorType)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInstanceDescriptorType_), instanceDescriptorType); +} + +// property: motionTransformBuffer +_MTL_INLINE MTL::Buffer* MTL::InstanceAccelerationStructureDescriptor::motionTransformBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionTransformBuffer)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformBuffer(const MTL::Buffer* motionTransformBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionTransformBuffer_), motionTransformBuffer); +} + +// property: motionTransformBufferOffset +_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformBufferOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionTransformBufferOffset)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionTransformBufferOffset_), motionTransformBufferOffset); +} + +// property: motionTransformCount +_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(motionTransformCount)); +} + +_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformCount(NS::UInteger motionTransformCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMotionTransformCount_), motionTransformCount); +} + +// static method: descriptor +_MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::descriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLInstanceAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor)); +} + +// property: size +_MTL_INLINE NS::UInteger MTL::AccelerationStructure::size() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(size)); +} diff --git a/metal-cpp/Metal/MTLAccelerationStructureCommandEncoder.hpp b/metal-cpp/Metal/MTLAccelerationStructureCommandEncoder.hpp new file mode 100644 index 00000000..0ff4c9c8 --- /dev/null +++ b/metal-cpp/Metal/MTLAccelerationStructureCommandEncoder.hpp @@ -0,0 +1,144 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLAccelerationStructureCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLArgument.hpp" +#include "MTLCommandEncoder.hpp" +#include "MTLHeap.hpp" +#include "MTLResource.hpp" + +namespace MTL +{ +class AccelerationStructureCommandEncoder : public NS::Referencing +{ +public: + void buildAccelerationStructure(const class AccelerationStructure* accelerationStructure, const class AccelerationStructureDescriptor* descriptor, const class Buffer* scratchBuffer, NS::UInteger scratchBufferOffset); + + void refitAccelerationStructure(const class AccelerationStructure* sourceAccelerationStructure, const class AccelerationStructureDescriptor* descriptor, const class AccelerationStructure* destinationAccelerationStructure, const class Buffer* scratchBuffer, NS::UInteger scratchBufferOffset); + + void copyAccelerationStructure(const class AccelerationStructure* sourceAccelerationStructure, const class AccelerationStructure* destinationAccelerationStructure); + + void writeCompactedAccelerationStructureSize(const class AccelerationStructure* accelerationStructure, const class Buffer* buffer, NS::UInteger offset); + + void writeCompactedAccelerationStructureSize(const class AccelerationStructure* accelerationStructure, const class Buffer* buffer, NS::UInteger offset, MTL::DataType sizeDataType); + + void copyAndCompactAccelerationStructure(const class AccelerationStructure* sourceAccelerationStructure, const class AccelerationStructure* destinationAccelerationStructure); + + void updateFence(const class Fence* fence); + + void waitForFence(const class Fence* fence); + + void useResource(const class Resource* resource, MTL::ResourceUsage usage); + + void useResources(MTL::Resource* resources[], NS::UInteger count, MTL::ResourceUsage usage); + + void useHeap(const class Heap* heap); + + void useHeaps(MTL::Heap* heaps[], NS::UInteger count); + + void sampleCountersInBuffer(const class CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier); +}; + +} + +// method: buildAccelerationStructure:descriptor:scratchBuffer:scratchBufferOffset: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::buildAccelerationStructure(const MTL::AccelerationStructure* accelerationStructure, const MTL::AccelerationStructureDescriptor* descriptor, const MTL::Buffer* scratchBuffer, NS::UInteger scratchBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(buildAccelerationStructure_descriptor_scratchBuffer_scratchBufferOffset_), accelerationStructure, descriptor, scratchBuffer, scratchBufferOffset); +} + +// method: refitAccelerationStructure:descriptor:destination:scratchBuffer:scratchBufferOffset: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::refitAccelerationStructure(const MTL::AccelerationStructure* sourceAccelerationStructure, const MTL::AccelerationStructureDescriptor* descriptor, const MTL::AccelerationStructure* destinationAccelerationStructure, const MTL::Buffer* scratchBuffer, NS::UInteger scratchBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(refitAccelerationStructure_descriptor_destination_scratchBuffer_scratchBufferOffset_), sourceAccelerationStructure, descriptor, destinationAccelerationStructure, scratchBuffer, scratchBufferOffset); +} + +// method: copyAccelerationStructure:toAccelerationStructure: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::copyAccelerationStructure(const MTL::AccelerationStructure* sourceAccelerationStructure, const MTL::AccelerationStructure* destinationAccelerationStructure) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyAccelerationStructure_toAccelerationStructure_), sourceAccelerationStructure, destinationAccelerationStructure); +} + +// method: writeCompactedAccelerationStructureSize:toBuffer:offset: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::writeCompactedAccelerationStructureSize(const MTL::AccelerationStructure* accelerationStructure, const MTL::Buffer* buffer, NS::UInteger offset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(writeCompactedAccelerationStructureSize_toBuffer_offset_), accelerationStructure, buffer, offset); +} + +// method: writeCompactedAccelerationStructureSize:toBuffer:offset:sizeDataType: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::writeCompactedAccelerationStructureSize(const MTL::AccelerationStructure* accelerationStructure, const MTL::Buffer* buffer, NS::UInteger offset, MTL::DataType sizeDataType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(writeCompactedAccelerationStructureSize_toBuffer_offset_sizeDataType_), accelerationStructure, buffer, offset, sizeDataType); +} + +// method: copyAndCompactAccelerationStructure:toAccelerationStructure: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::copyAndCompactAccelerationStructure(const MTL::AccelerationStructure* sourceAccelerationStructure, const MTL::AccelerationStructure* destinationAccelerationStructure) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyAndCompactAccelerationStructure_toAccelerationStructure_), sourceAccelerationStructure, destinationAccelerationStructure); +} + +// method: updateFence: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::updateFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateFence_), fence); +} + +// method: waitForFence: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::waitForFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(waitForFence_), fence); +} + +// method: useResource:usage: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::useResource(const MTL::Resource* resource, MTL::ResourceUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResource_usage_), resource, usage); +} + +// method: useResources:count:usage: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::useResources(MTL::Resource* resources[], NS::UInteger count, MTL::ResourceUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResources_count_usage_), resources, count, usage); +} + +// method: useHeap: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::useHeap(const MTL::Heap* heap) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeap_), heap); +} + +// method: useHeaps:count: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::useHeaps(MTL::Heap* heaps[], NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeaps_count_), heaps, count); +} + +// method: sampleCountersInBuffer:atSampleIndex:withBarrier: +_MTL_INLINE void MTL::AccelerationStructureCommandEncoder::sampleCountersInBuffer(const MTL::CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCountersInBuffer_atSampleIndex_withBarrier_), sampleBuffer, sampleIndex, barrier); +} diff --git a/metal-cpp/Metal/MTLAccelerationStructureTypes.hpp b/metal-cpp/Metal/MTLAccelerationStructureTypes.hpp new file mode 100644 index 00000000..be767dc9 --- /dev/null +++ b/metal-cpp/Metal/MTLAccelerationStructureTypes.hpp @@ -0,0 +1,169 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLAccelerationStructureTypes.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "MTLDefines.hpp" +#include "MTLPrivate.hpp" +#include "MTLResource.hpp" +#include "MTLStageInputOutputDescriptor.hpp" + +#include "../Foundation/NSRange.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace MTL +{ +struct PackedFloat3 +{ + PackedFloat3(); + PackedFloat3(float x, float y, float z); + + float& operator[](int idx); + float operator[](int idx) const; + + union + { + struct + { + float x; + float y; + float z; + }; + + float elements[3]; + }; +} _MTL_PACKED; + +struct PackedFloat4x3 +{ + PackedFloat4x3(); + PackedFloat4x3(const PackedFloat3& col0, const PackedFloat3& col1, const PackedFloat3& col2, const PackedFloat3& col3); + + PackedFloat3& operator[](int idx); + const PackedFloat3& operator[](int idx) const; + + PackedFloat3 columns[4]; +} _MTL_PACKED; + +struct AxisAlignedBoundingBox +{ + AxisAlignedBoundingBox(); + AxisAlignedBoundingBox(PackedFloat3 p); + AxisAlignedBoundingBox(PackedFloat3 min, PackedFloat3 max); + + PackedFloat3 min; + PackedFloat3 max; +} _MTL_PACKED; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::PackedFloat3::PackedFloat3() + : x(0.0f) + , y(0.0f) + , z(0.0f) +{ +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::PackedFloat3::PackedFloat3(float _x, float _y, float _z) + : x(_x) + , y(_y) + , z(_z) +{ +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE float& MTL::PackedFloat3::operator[](int idx) +{ + return elements[idx]; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE float MTL::PackedFloat3::operator[](int idx) const +{ + return elements[idx]; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::PackedFloat4x3::PackedFloat4x3() +{ + columns[0] = PackedFloat3(0.0f, 0.0f, 0.0f); + columns[1] = PackedFloat3(0.0f, 0.0f, 0.0f); + columns[2] = PackedFloat3(0.0f, 0.0f, 0.0f); + columns[3] = PackedFloat3(0.0f, 0.0f, 0.0f); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::PackedFloat4x3::PackedFloat4x3(const PackedFloat3& col0, const PackedFloat3& col1, const PackedFloat3& col2, const PackedFloat3& col3) +{ + columns[0] = col0; + columns[1] = col1; + columns[2] = col2; + columns[3] = col3; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::PackedFloat3& MTL::PackedFloat4x3::operator[](int idx) +{ + return columns[idx]; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE const MTL::PackedFloat3& MTL::PackedFloat4x3::operator[](int idx) const +{ + return columns[idx]; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::AxisAlignedBoundingBox::AxisAlignedBoundingBox() + : min(INFINITY, INFINITY, INFINITY) + , max(-INFINITY, -INFINITY, -INFINITY) +{ +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::AxisAlignedBoundingBox::AxisAlignedBoundingBox(PackedFloat3 p) + : min(p) + , max(p) +{ +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::AxisAlignedBoundingBox::AxisAlignedBoundingBox(PackedFloat3 _min, PackedFloat3 _max) + : min(_min) + , max(_max) +{ +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Metal/MTLArgument.hpp b/metal-cpp/Metal/MTLArgument.hpp new file mode 100644 index 00000000..8057fe08 --- /dev/null +++ b/metal-cpp/Metal/MTLArgument.hpp @@ -0,0 +1,655 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLArgument.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLArgument.hpp" +#include "MTLTexture.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, DataType) { + DataTypeNone = 0, + DataTypeStruct = 1, + DataTypeArray = 2, + DataTypeFloat = 3, + DataTypeFloat2 = 4, + DataTypeFloat3 = 5, + DataTypeFloat4 = 6, + DataTypeFloat2x2 = 7, + DataTypeFloat2x3 = 8, + DataTypeFloat2x4 = 9, + DataTypeFloat3x2 = 10, + DataTypeFloat3x3 = 11, + DataTypeFloat3x4 = 12, + DataTypeFloat4x2 = 13, + DataTypeFloat4x3 = 14, + DataTypeFloat4x4 = 15, + DataTypeHalf = 16, + DataTypeHalf2 = 17, + DataTypeHalf3 = 18, + DataTypeHalf4 = 19, + DataTypeHalf2x2 = 20, + DataTypeHalf2x3 = 21, + DataTypeHalf2x4 = 22, + DataTypeHalf3x2 = 23, + DataTypeHalf3x3 = 24, + DataTypeHalf3x4 = 25, + DataTypeHalf4x2 = 26, + DataTypeHalf4x3 = 27, + DataTypeHalf4x4 = 28, + DataTypeInt = 29, + DataTypeInt2 = 30, + DataTypeInt3 = 31, + DataTypeInt4 = 32, + DataTypeUInt = 33, + DataTypeUInt2 = 34, + DataTypeUInt3 = 35, + DataTypeUInt4 = 36, + DataTypeShort = 37, + DataTypeShort2 = 38, + DataTypeShort3 = 39, + DataTypeShort4 = 40, + DataTypeUShort = 41, + DataTypeUShort2 = 42, + DataTypeUShort3 = 43, + DataTypeUShort4 = 44, + DataTypeChar = 45, + DataTypeChar2 = 46, + DataTypeChar3 = 47, + DataTypeChar4 = 48, + DataTypeUChar = 49, + DataTypeUChar2 = 50, + DataTypeUChar3 = 51, + DataTypeUChar4 = 52, + DataTypeBool = 53, + DataTypeBool2 = 54, + DataTypeBool3 = 55, + DataTypeBool4 = 56, + DataTypeTexture = 58, + DataTypeSampler = 59, + DataTypePointer = 60, + DataTypeR8Unorm = 62, + DataTypeR8Snorm = 63, + DataTypeR16Unorm = 64, + DataTypeR16Snorm = 65, + DataTypeRG8Unorm = 66, + DataTypeRG8Snorm = 67, + DataTypeRG16Unorm = 68, + DataTypeRG16Snorm = 69, + DataTypeRGBA8Unorm = 70, + DataTypeRGBA8Unorm_sRGB = 71, + DataTypeRGBA8Snorm = 72, + DataTypeRGBA16Unorm = 73, + DataTypeRGBA16Snorm = 74, + DataTypeRGB10A2Unorm = 75, + DataTypeRG11B10Float = 76, + DataTypeRGB9E5Float = 77, + DataTypeRenderPipeline = 78, + DataTypeComputePipeline = 79, + DataTypeIndirectCommandBuffer = 80, + DataTypeLong = 81, + DataTypeLong2 = 82, + DataTypeLong3 = 83, + DataTypeLong4 = 84, + DataTypeULong = 85, + DataTypeULong2 = 86, + DataTypeULong3 = 87, + DataTypeULong4 = 88, + DataTypeVisibleFunctionTable = 115, + DataTypeIntersectionFunctionTable = 116, + DataTypePrimitiveAccelerationStructure = 117, + DataTypeInstanceAccelerationStructure = 118, +}; + +_MTL_ENUM(NS::UInteger, ArgumentType) { + ArgumentTypeBuffer = 0, + ArgumentTypeThreadgroupMemory = 1, + ArgumentTypeTexture = 2, + ArgumentTypeSampler = 3, + ArgumentTypeImageblockData = 16, + ArgumentTypeImageblock = 17, + ArgumentTypeVisibleFunctionTable = 24, + ArgumentTypePrimitiveAccelerationStructure = 25, + ArgumentTypeInstanceAccelerationStructure = 26, + ArgumentTypeIntersectionFunctionTable = 27, +}; + +_MTL_ENUM(NS::UInteger, ArgumentAccess) { + ArgumentAccessReadOnly = 0, + ArgumentAccessReadWrite = 1, + ArgumentAccessWriteOnly = 2, +}; + +class Type : public NS::Referencing +{ +public: + static class Type* alloc(); + + class Type* init(); + + MTL::DataType dataType() const; +}; + +class StructMember : public NS::Referencing +{ +public: + static class StructMember* alloc(); + + class StructMember* init(); + + NS::String* name() const; + + NS::UInteger offset() const; + + MTL::DataType dataType() const; + + class StructType* structType(); + + class ArrayType* arrayType(); + + class TextureReferenceType* textureReferenceType(); + + class PointerType* pointerType(); + + NS::UInteger argumentIndex() const; +}; + +class StructType : public NS::Referencing +{ +public: + static class StructType* alloc(); + + class StructType* init(); + + NS::Array* members() const; + + class StructMember* memberByName(const NS::String* name); +}; + +class ArrayType : public NS::Referencing +{ +public: + static class ArrayType* alloc(); + + class ArrayType* init(); + + MTL::DataType elementType() const; + + NS::UInteger arrayLength() const; + + NS::UInteger stride() const; + + NS::UInteger argumentIndexStride() const; + + class StructType* elementStructType(); + + class ArrayType* elementArrayType(); + + class TextureReferenceType* elementTextureReferenceType(); + + class PointerType* elementPointerType(); +}; + +class PointerType : public NS::Referencing +{ +public: + static class PointerType* alloc(); + + class PointerType* init(); + + MTL::DataType elementType() const; + + MTL::ArgumentAccess access() const; + + NS::UInteger alignment() const; + + NS::UInteger dataSize() const; + + bool elementIsArgumentBuffer() const; + + class StructType* elementStructType(); + + class ArrayType* elementArrayType(); +}; + +class TextureReferenceType : public NS::Referencing +{ +public: + static class TextureReferenceType* alloc(); + + class TextureReferenceType* init(); + + MTL::DataType textureDataType() const; + + MTL::TextureType textureType() const; + + MTL::ArgumentAccess access() const; + + bool isDepthTexture() const; +}; + +class Argument : public NS::Referencing +{ +public: + static class Argument* alloc(); + + class Argument* init(); + + NS::String* name() const; + + MTL::ArgumentType type() const; + + MTL::ArgumentAccess access() const; + + NS::UInteger index() const; + + bool active() const; + + NS::UInteger bufferAlignment() const; + + NS::UInteger bufferDataSize() const; + + MTL::DataType bufferDataType() const; + + class StructType* bufferStructType() const; + + class PointerType* bufferPointerType() const; + + NS::UInteger threadgroupMemoryAlignment() const; + + NS::UInteger threadgroupMemoryDataSize() const; + + MTL::TextureType textureType() const; + + MTL::DataType textureDataType() const; + + bool isDepthTexture() const; + + NS::UInteger arrayLength() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::Type* MTL::Type::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLType)); +} + +// method: init +_MTL_INLINE MTL::Type* MTL::Type::init() +{ + return NS::Object::init(); +} + +// property: dataType +_MTL_INLINE MTL::DataType MTL::Type::dataType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(dataType)); +} + +// static method: alloc +_MTL_INLINE MTL::StructMember* MTL::StructMember::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLStructMember)); +} + +// method: init +_MTL_INLINE MTL::StructMember* MTL::StructMember::init() +{ + return NS::Object::init(); +} + +// property: name +_MTL_INLINE NS::String* MTL::StructMember::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: offset +_MTL_INLINE NS::UInteger MTL::StructMember::offset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(offset)); +} + +// property: dataType +_MTL_INLINE MTL::DataType MTL::StructMember::dataType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(dataType)); +} + +// method: structType +_MTL_INLINE MTL::StructType* MTL::StructMember::structType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(structType)); +} + +// method: arrayType +_MTL_INLINE MTL::ArrayType* MTL::StructMember::arrayType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arrayType)); +} + +// method: textureReferenceType +_MTL_INLINE MTL::TextureReferenceType* MTL::StructMember::textureReferenceType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureReferenceType)); +} + +// method: pointerType +_MTL_INLINE MTL::PointerType* MTL::StructMember::pointerType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(pointerType)); +} + +// property: argumentIndex +_MTL_INLINE NS::UInteger MTL::StructMember::argumentIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(argumentIndex)); +} + +// static method: alloc +_MTL_INLINE MTL::StructType* MTL::StructType::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLStructType)); +} + +// method: init +_MTL_INLINE MTL::StructType* MTL::StructType::init() +{ + return NS::Object::init(); +} + +// property: members +_MTL_INLINE NS::Array* MTL::StructType::members() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(members)); +} + +// method: memberByName: +_MTL_INLINE MTL::StructMember* MTL::StructType::memberByName(const NS::String* name) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(memberByName_), name); +} + +// static method: alloc +_MTL_INLINE MTL::ArrayType* MTL::ArrayType::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLArrayType)); +} + +// method: init +_MTL_INLINE MTL::ArrayType* MTL::ArrayType::init() +{ + return NS::Object::init(); +} + +// property: elementType +_MTL_INLINE MTL::DataType MTL::ArrayType::elementType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementType)); +} + +// property: arrayLength +_MTL_INLINE NS::UInteger MTL::ArrayType::arrayLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arrayLength)); +} + +// property: stride +_MTL_INLINE NS::UInteger MTL::ArrayType::stride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stride)); +} + +// property: argumentIndexStride +_MTL_INLINE NS::UInteger MTL::ArrayType::argumentIndexStride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(argumentIndexStride)); +} + +// method: elementStructType +_MTL_INLINE MTL::StructType* MTL::ArrayType::elementStructType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementStructType)); +} + +// method: elementArrayType +_MTL_INLINE MTL::ArrayType* MTL::ArrayType::elementArrayType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementArrayType)); +} + +// method: elementTextureReferenceType +_MTL_INLINE MTL::TextureReferenceType* MTL::ArrayType::elementTextureReferenceType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementTextureReferenceType)); +} + +// method: elementPointerType +_MTL_INLINE MTL::PointerType* MTL::ArrayType::elementPointerType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementPointerType)); +} + +// static method: alloc +_MTL_INLINE MTL::PointerType* MTL::PointerType::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLPointerType)); +} + +// method: init +_MTL_INLINE MTL::PointerType* MTL::PointerType::init() +{ + return NS::Object::init(); +} + +// property: elementType +_MTL_INLINE MTL::DataType MTL::PointerType::elementType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementType)); +} + +// property: access +_MTL_INLINE MTL::ArgumentAccess MTL::PointerType::access() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(access)); +} + +// property: alignment +_MTL_INLINE NS::UInteger MTL::PointerType::alignment() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(alignment)); +} + +// property: dataSize +_MTL_INLINE NS::UInteger MTL::PointerType::dataSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(dataSize)); +} + +// property: elementIsArgumentBuffer +_MTL_INLINE bool MTL::PointerType::elementIsArgumentBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementIsArgumentBuffer)); +} + +// method: elementStructType +_MTL_INLINE MTL::StructType* MTL::PointerType::elementStructType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementStructType)); +} + +// method: elementArrayType +_MTL_INLINE MTL::ArrayType* MTL::PointerType::elementArrayType() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(elementArrayType)); +} + +// static method: alloc +_MTL_INLINE MTL::TextureReferenceType* MTL::TextureReferenceType::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLTextureReferenceType)); +} + +// method: init +_MTL_INLINE MTL::TextureReferenceType* MTL::TextureReferenceType::init() +{ + return NS::Object::init(); +} + +// property: textureDataType +_MTL_INLINE MTL::DataType MTL::TextureReferenceType::textureDataType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureDataType)); +} + +// property: textureType +_MTL_INLINE MTL::TextureType MTL::TextureReferenceType::textureType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureType)); +} + +// property: access +_MTL_INLINE MTL::ArgumentAccess MTL::TextureReferenceType::access() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(access)); +} + +// property: isDepthTexture +_MTL_INLINE bool MTL::TextureReferenceType::isDepthTexture() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isDepthTexture)); +} + +// static method: alloc +_MTL_INLINE MTL::Argument* MTL::Argument::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLArgument)); +} + +// method: init +_MTL_INLINE MTL::Argument* MTL::Argument::init() +{ + return NS::Object::init(); +} + +// property: name +_MTL_INLINE NS::String* MTL::Argument::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: type +_MTL_INLINE MTL::ArgumentType MTL::Argument::type() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(type)); +} + +// property: access +_MTL_INLINE MTL::ArgumentAccess MTL::Argument::access() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(access)); +} + +// property: index +_MTL_INLINE NS::UInteger MTL::Argument::index() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(index)); +} + +// property: active +_MTL_INLINE bool MTL::Argument::active() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isActive)); +} + +// property: bufferAlignment +_MTL_INLINE NS::UInteger MTL::Argument::bufferAlignment() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferAlignment)); +} + +// property: bufferDataSize +_MTL_INLINE NS::UInteger MTL::Argument::bufferDataSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferDataSize)); +} + +// property: bufferDataType +_MTL_INLINE MTL::DataType MTL::Argument::bufferDataType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferDataType)); +} + +// property: bufferStructType +_MTL_INLINE MTL::StructType* MTL::Argument::bufferStructType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferStructType)); +} + +// property: bufferPointerType +_MTL_INLINE MTL::PointerType* MTL::Argument::bufferPointerType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferPointerType)); +} + +// property: threadgroupMemoryAlignment +_MTL_INLINE NS::UInteger MTL::Argument::threadgroupMemoryAlignment() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(threadgroupMemoryAlignment)); +} + +// property: threadgroupMemoryDataSize +_MTL_INLINE NS::UInteger MTL::Argument::threadgroupMemoryDataSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(threadgroupMemoryDataSize)); +} + +// property: textureType +_MTL_INLINE MTL::TextureType MTL::Argument::textureType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureType)); +} + +// property: textureDataType +_MTL_INLINE MTL::DataType MTL::Argument::textureDataType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureDataType)); +} + +// property: isDepthTexture +_MTL_INLINE bool MTL::Argument::isDepthTexture() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isDepthTexture)); +} + +// property: arrayLength +_MTL_INLINE NS::UInteger MTL::Argument::arrayLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arrayLength)); +} diff --git a/metal-cpp/Metal/MTLArgumentEncoder.hpp b/metal-cpp/Metal/MTLArgumentEncoder.hpp new file mode 100644 index 00000000..0cecc7d9 --- /dev/null +++ b/metal-cpp/Metal/MTLArgumentEncoder.hpp @@ -0,0 +1,250 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLArgumentEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLBuffer.hpp" +#include "MTLComputePipeline.hpp" +#include "MTLIndirectCommandBuffer.hpp" +#include "MTLIntersectionFunctionTable.hpp" +#include "MTLRenderPipeline.hpp" +#include "MTLSampler.hpp" +#include "MTLTexture.hpp" +#include "MTLVisibleFunctionTable.hpp" + +namespace MTL +{ +class ArgumentEncoder : public NS::Referencing +{ +public: + class Device* device() const; + + NS::String* label() const; + void setLabel(const NS::String* label); + + NS::UInteger encodedLength() const; + + NS::UInteger alignment() const; + + void setArgumentBuffer(const class Buffer* argumentBuffer, NS::UInteger offset); + + void setArgumentBuffer(const class Buffer* argumentBuffer, NS::UInteger startOffset, NS::UInteger arrayElement); + + void setBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void setBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range); + + void setTexture(const class Texture* texture, NS::UInteger index); + + void setTextures(MTL::Texture* textures[], NS::Range range); + + void setSamplerState(const class SamplerState* sampler, NS::UInteger index); + + void setSamplerStates(MTL::SamplerState* samplers[], NS::Range range); + + void* constantData(NS::UInteger index); + + void setRenderPipelineState(const class RenderPipelineState* pipeline, NS::UInteger index); + + void setRenderPipelineStates(MTL::RenderPipelineState* pipelines, NS::Range range); + + void setComputePipelineState(const class ComputePipelineState* pipeline, NS::UInteger index); + + void setComputePipelineStates(MTL::ComputePipelineState* pipelines, NS::Range range); + + void setIndirectCommandBuffer(const class IndirectCommandBuffer* indirectCommandBuffer, NS::UInteger index); + + void setIndirectCommandBuffers(MTL::IndirectCommandBuffer* buffers, NS::Range range); + + void setAccelerationStructure(const class AccelerationStructure* accelerationStructure, NS::UInteger index); + + class ArgumentEncoder* newArgumentEncoder(NS::UInteger index); + + void setVisibleFunctionTable(const class VisibleFunctionTable* visibleFunctionTable, NS::UInteger index); + + void setVisibleFunctionTables(const VisibleFunctionTable* visibleFunctionTables[], NS::Range range); + + void setIntersectionFunctionTable(const class IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger index); + + void setIntersectionFunctionTables(const IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range); +}; + +} + +// property: device +_MTL_INLINE MTL::Device* MTL::ArgumentEncoder::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: label +_MTL_INLINE NS::String* MTL::ArgumentEncoder::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::ArgumentEncoder::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: encodedLength +_MTL_INLINE NS::UInteger MTL::ArgumentEncoder::encodedLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(encodedLength)); +} + +// property: alignment +_MTL_INLINE NS::UInteger MTL::ArgumentEncoder::alignment() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(alignment)); +} + +// method: setArgumentBuffer:offset: +_MTL_INLINE void MTL::ArgumentEncoder::setArgumentBuffer(const MTL::Buffer* argumentBuffer, NS::UInteger offset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setArgumentBuffer_offset_), argumentBuffer, offset); +} + +// method: setArgumentBuffer:startOffset:arrayElement: +_MTL_INLINE void MTL::ArgumentEncoder::setArgumentBuffer(const MTL::Buffer* argumentBuffer, NS::UInteger startOffset, NS::UInteger arrayElement) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setArgumentBuffer_startOffset_arrayElement_), argumentBuffer, startOffset, arrayElement); +} + +// method: setBuffer:offset:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: setBuffers:offsets:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBuffers_offsets_withRange_), buffers, offsets, range); +} + +// method: setTexture:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setTexture(const MTL::Texture* texture, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTexture_atIndex_), texture, index); +} + +// method: setTextures:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setTextures(MTL::Texture* textures[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTextures_withRange_), textures, range); +} + +// method: setSamplerState:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setSamplerState(const MTL::SamplerState* sampler, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSamplerState_atIndex_), sampler, index); +} + +// method: setSamplerStates:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setSamplerStates(MTL::SamplerState* samplers[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSamplerStates_withRange_), samplers, range); +} + +// method: constantDataAtIndex: +_MTL_INLINE void* MTL::ArgumentEncoder::constantData(NS::UInteger index) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(constantDataAtIndex_), index); +} + +// method: setRenderPipelineState:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setRenderPipelineState(const MTL::RenderPipelineState* pipeline, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRenderPipelineState_atIndex_), pipeline, index); +} + +// method: setRenderPipelineStates:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setRenderPipelineStates(MTL::RenderPipelineState* pipelines, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRenderPipelineStates_withRange_), pipelines, range); +} + +// method: setComputePipelineState:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setComputePipelineState(const MTL::ComputePipelineState* pipeline, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setComputePipelineState_atIndex_), pipeline, index); +} + +// method: setComputePipelineStates:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setComputePipelineStates(MTL::ComputePipelineState* pipelines, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setComputePipelineStates_withRange_), pipelines, range); +} + +// method: setIndirectCommandBuffer:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setIndirectCommandBuffer(const MTL::IndirectCommandBuffer* indirectCommandBuffer, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndirectCommandBuffer_atIndex_), indirectCommandBuffer, index); +} + +// method: setIndirectCommandBuffers:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setIndirectCommandBuffers(MTL::IndirectCommandBuffer* buffers, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndirectCommandBuffers_withRange_), buffers, range); +} + +// method: setAccelerationStructure:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setAccelerationStructure(const MTL::AccelerationStructure* accelerationStructure, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAccelerationStructure_atIndex_), accelerationStructure, index); +} + +// method: newArgumentEncoderForBufferAtIndex: +_MTL_INLINE MTL::ArgumentEncoder* MTL::ArgumentEncoder::newArgumentEncoder(NS::UInteger index) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newArgumentEncoderForBufferAtIndex_), index); +} + +// method: setVisibleFunctionTable:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setVisibleFunctionTable(const MTL::VisibleFunctionTable* visibleFunctionTable, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibleFunctionTable_atIndex_), visibleFunctionTable, index); +} + +// method: setVisibleFunctionTables:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setVisibleFunctionTables(const MTL::VisibleFunctionTable* visibleFunctionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibleFunctionTables_withRange_), visibleFunctionTables, range); +} + +// method: setIntersectionFunctionTable:atIndex: +_MTL_INLINE void MTL::ArgumentEncoder::setIntersectionFunctionTable(const MTL::IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIntersectionFunctionTable_atIndex_), intersectionFunctionTable, index); +} + +// method: setIntersectionFunctionTables:withRange: +_MTL_INLINE void MTL::ArgumentEncoder::setIntersectionFunctionTables(const MTL::IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIntersectionFunctionTables_withRange_), intersectionFunctionTables, range); +} diff --git a/metal-cpp/Metal/MTLBinaryArchive.hpp b/metal-cpp/Metal/MTLBinaryArchive.hpp new file mode 100644 index 00000000..8142d374 --- /dev/null +++ b/metal-cpp/Metal/MTLBinaryArchive.hpp @@ -0,0 +1,138 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLBinaryArchive.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, BinaryArchiveError) { + BinaryArchiveErrorNone = 0, + BinaryArchiveErrorInvalidFile = 1, + BinaryArchiveErrorUnexpectedElement = 2, + BinaryArchiveErrorCompilationFailure = 3, +}; + +class BinaryArchiveDescriptor : public NS::Copying +{ +public: + static class BinaryArchiveDescriptor* alloc(); + + class BinaryArchiveDescriptor* init(); + + NS::URL* url() const; + void setUrl(const NS::URL* url); +}; + +class BinaryArchive : public NS::Referencing +{ +public: + NS::String* label() const; + void setLabel(const NS::String* label); + + class Device* device() const; + + bool addComputePipelineFunctions(const class ComputePipelineDescriptor* descriptor, NS::Error** error); + + bool addRenderPipelineFunctions(const class RenderPipelineDescriptor* descriptor, NS::Error** error); + + bool addTileRenderPipelineFunctions(const class TileRenderPipelineDescriptor* descriptor, NS::Error** error); + + bool serializeToURL(const NS::URL* url, NS::Error** error); + + bool addFunction(const class FunctionDescriptor* descriptor, const class Library* library, NS::Error** error); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::BinaryArchiveDescriptor* MTL::BinaryArchiveDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLBinaryArchiveDescriptor)); +} + +// method: init +_MTL_INLINE MTL::BinaryArchiveDescriptor* MTL::BinaryArchiveDescriptor::init() +{ + return NS::Object::init(); +} + +// property: url +_MTL_INLINE NS::URL* MTL::BinaryArchiveDescriptor::url() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(url)); +} + +_MTL_INLINE void MTL::BinaryArchiveDescriptor::setUrl(const NS::URL* url) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setUrl_), url); +} + +// property: label +_MTL_INLINE NS::String* MTL::BinaryArchive::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::BinaryArchive::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::BinaryArchive::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// method: addComputePipelineFunctionsWithDescriptor:error: +_MTL_INLINE bool MTL::BinaryArchive::addComputePipelineFunctions(const MTL::ComputePipelineDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(addComputePipelineFunctionsWithDescriptor_error_), descriptor, error); +} + +// method: addRenderPipelineFunctionsWithDescriptor:error: +_MTL_INLINE bool MTL::BinaryArchive::addRenderPipelineFunctions(const MTL::RenderPipelineDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(addRenderPipelineFunctionsWithDescriptor_error_), descriptor, error); +} + +// method: addTileRenderPipelineFunctionsWithDescriptor:error: +_MTL_INLINE bool MTL::BinaryArchive::addTileRenderPipelineFunctions(const MTL::TileRenderPipelineDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(addTileRenderPipelineFunctionsWithDescriptor_error_), descriptor, error); +} + +// method: serializeToURL:error: +_MTL_INLINE bool MTL::BinaryArchive::serializeToURL(const NS::URL* url, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(serializeToURL_error_), url, error); +} + +// method: addFunctionWithDescriptor:library:error: +_MTL_INLINE bool MTL::BinaryArchive::addFunction(const MTL::FunctionDescriptor* descriptor, const MTL::Library* library, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(addFunctionWithDescriptor_library_error_), descriptor, library, error); +} diff --git a/metal-cpp/Metal/MTLBlitCommandEncoder.hpp b/metal-cpp/Metal/MTLBlitCommandEncoder.hpp new file mode 100644 index 00000000..0a86b6a9 --- /dev/null +++ b/metal-cpp/Metal/MTLBlitCommandEncoder.hpp @@ -0,0 +1,246 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLBlitCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLBlitCommandEncoder.hpp" +#include "MTLCommandEncoder.hpp" +#include "MTLTypes.hpp" + +namespace MTL +{ +_MTL_OPTIONS(NS::UInteger, BlitOption) { + BlitOptionNone = 0, + BlitOptionDepthFromDepthStencil = 1, + BlitOptionStencilFromDepthStencil = 2, + BlitOptionRowLinearPVRTC = 4, +}; + +class BlitCommandEncoder : public NS::Referencing +{ +public: + void synchronizeResource(const class Resource* resource); + + void synchronizeTexture(const class Texture* texture, NS::UInteger slice, NS::UInteger level); + + void copyFromTexture(const class Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, const class Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, MTL::Origin destinationOrigin); + + void copyFromBuffer(const class Buffer* sourceBuffer, NS::UInteger sourceOffset, NS::UInteger sourceBytesPerRow, NS::UInteger sourceBytesPerImage, MTL::Size sourceSize, const class Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, MTL::Origin destinationOrigin); + + void copyFromBuffer(const class Buffer* sourceBuffer, NS::UInteger sourceOffset, NS::UInteger sourceBytesPerRow, NS::UInteger sourceBytesPerImage, MTL::Size sourceSize, const class Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, MTL::Origin destinationOrigin, MTL::BlitOption options); + + void copyFromTexture(const class Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, const class Buffer* destinationBuffer, NS::UInteger destinationOffset, NS::UInteger destinationBytesPerRow, NS::UInteger destinationBytesPerImage); + + void copyFromTexture(const class Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, const class Buffer* destinationBuffer, NS::UInteger destinationOffset, NS::UInteger destinationBytesPerRow, NS::UInteger destinationBytesPerImage, MTL::BlitOption options); + + void generateMipmaps(const class Texture* texture); + + void fillBuffer(const class Buffer* buffer, NS::Range range, uint8_t value); + + void copyFromTexture(const class Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, const class Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, NS::UInteger sliceCount, NS::UInteger levelCount); + + void copyFromTexture(const class Texture* sourceTexture, const class Texture* destinationTexture); + + void copyFromBuffer(const class Buffer* sourceBuffer, NS::UInteger sourceOffset, const class Buffer* destinationBuffer, NS::UInteger destinationOffset, NS::UInteger size); + + void updateFence(const class Fence* fence); + + void waitForFence(const class Fence* fence); + + void getTextureAccessCounters(const class Texture* texture, MTL::Region region, NS::UInteger mipLevel, NS::UInteger slice, bool resetCounters, const class Buffer* countersBuffer, NS::UInteger countersBufferOffset); + + void resetTextureAccessCounters(const class Texture* texture, MTL::Region region, NS::UInteger mipLevel, NS::UInteger slice); + + void optimizeContentsForGPUAccess(const class Texture* texture); + + void optimizeContentsForGPUAccess(const class Texture* texture, NS::UInteger slice, NS::UInteger level); + + void optimizeContentsForCPUAccess(const class Texture* texture); + + void optimizeContentsForCPUAccess(const class Texture* texture, NS::UInteger slice, NS::UInteger level); + + void resetCommandsInBuffer(const class IndirectCommandBuffer* buffer, NS::Range range); + + void copyIndirectCommandBuffer(const class IndirectCommandBuffer* source, NS::Range sourceRange, const class IndirectCommandBuffer* destination, NS::UInteger destinationIndex); + + void optimizeIndirectCommandBuffer(const class IndirectCommandBuffer* indirectCommandBuffer, NS::Range range); + + void sampleCountersInBuffer(const class CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier); + + void resolveCounters(const class CounterSampleBuffer* sampleBuffer, NS::Range range, const class Buffer* destinationBuffer, NS::UInteger destinationOffset); +}; + +} + +// method: synchronizeResource: +_MTL_INLINE void MTL::BlitCommandEncoder::synchronizeResource(const MTL::Resource* resource) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(synchronizeResource_), resource); +} + +// method: synchronizeTexture:slice:level: +_MTL_INLINE void MTL::BlitCommandEncoder::synchronizeTexture(const MTL::Texture* texture, NS::UInteger slice, NS::UInteger level) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(synchronizeTexture_slice_level_), texture, slice, level); +} + +// method: copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromTexture(const MTL::Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, const MTL::Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, MTL::Origin destinationOrigin) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_), sourceTexture, sourceSlice, sourceLevel, sourceOrigin, sourceSize, destinationTexture, destinationSlice, destinationLevel, destinationOrigin); +} + +// method: copyFromBuffer:sourceOffset:sourceBytesPerRow:sourceBytesPerImage:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromBuffer(const MTL::Buffer* sourceBuffer, NS::UInteger sourceOffset, NS::UInteger sourceBytesPerRow, NS::UInteger sourceBytesPerImage, MTL::Size sourceSize, const MTL::Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, MTL::Origin destinationOrigin) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromBuffer_sourceOffset_sourceBytesPerRow_sourceBytesPerImage_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_), sourceBuffer, sourceOffset, sourceBytesPerRow, sourceBytesPerImage, sourceSize, destinationTexture, destinationSlice, destinationLevel, destinationOrigin); +} + +// method: copyFromBuffer:sourceOffset:sourceBytesPerRow:sourceBytesPerImage:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromBuffer(const MTL::Buffer* sourceBuffer, NS::UInteger sourceOffset, NS::UInteger sourceBytesPerRow, NS::UInteger sourceBytesPerImage, MTL::Size sourceSize, const MTL::Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, MTL::Origin destinationOrigin, MTL::BlitOption options) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromBuffer_sourceOffset_sourceBytesPerRow_sourceBytesPerImage_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_options_), sourceBuffer, sourceOffset, sourceBytesPerRow, sourceBytesPerImage, sourceSize, destinationTexture, destinationSlice, destinationLevel, destinationOrigin, options); +} + +// method: copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toBuffer:destinationOffset:destinationBytesPerRow:destinationBytesPerImage: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromTexture(const MTL::Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, const MTL::Buffer* destinationBuffer, NS::UInteger destinationOffset, NS::UInteger destinationBytesPerRow, NS::UInteger destinationBytesPerImage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toBuffer_destinationOffset_destinationBytesPerRow_destinationBytesPerImage_), sourceTexture, sourceSlice, sourceLevel, sourceOrigin, sourceSize, destinationBuffer, destinationOffset, destinationBytesPerRow, destinationBytesPerImage); +} + +// method: copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toBuffer:destinationOffset:destinationBytesPerRow:destinationBytesPerImage:options: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromTexture(const MTL::Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, const MTL::Buffer* destinationBuffer, NS::UInteger destinationOffset, NS::UInteger destinationBytesPerRow, NS::UInteger destinationBytesPerImage, MTL::BlitOption options) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toBuffer_destinationOffset_destinationBytesPerRow_destinationBytesPerImage_options_), sourceTexture, sourceSlice, sourceLevel, sourceOrigin, sourceSize, destinationBuffer, destinationOffset, destinationBytesPerRow, destinationBytesPerImage, options); +} + +// method: generateMipmapsForTexture: +_MTL_INLINE void MTL::BlitCommandEncoder::generateMipmaps(const MTL::Texture* texture) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(generateMipmapsForTexture_), texture); +} + +// method: fillBuffer:range:value: +_MTL_INLINE void MTL::BlitCommandEncoder::fillBuffer(const MTL::Buffer* buffer, NS::Range range, uint8_t value) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(fillBuffer_range_value_), buffer, range, value); +} + +// method: copyFromTexture:sourceSlice:sourceLevel:toTexture:destinationSlice:destinationLevel:sliceCount:levelCount: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromTexture(const MTL::Texture* sourceTexture, NS::UInteger sourceSlice, NS::UInteger sourceLevel, const MTL::Texture* destinationTexture, NS::UInteger destinationSlice, NS::UInteger destinationLevel, NS::UInteger sliceCount, NS::UInteger levelCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromTexture_sourceSlice_sourceLevel_toTexture_destinationSlice_destinationLevel_sliceCount_levelCount_), sourceTexture, sourceSlice, sourceLevel, destinationTexture, destinationSlice, destinationLevel, sliceCount, levelCount); +} + +// method: copyFromTexture:toTexture: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromTexture(const MTL::Texture* sourceTexture, const MTL::Texture* destinationTexture) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromTexture_toTexture_), sourceTexture, destinationTexture); +} + +// method: copyFromBuffer:sourceOffset:toBuffer:destinationOffset:size: +_MTL_INLINE void MTL::BlitCommandEncoder::copyFromBuffer(const MTL::Buffer* sourceBuffer, NS::UInteger sourceOffset, const MTL::Buffer* destinationBuffer, NS::UInteger destinationOffset, NS::UInteger size) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyFromBuffer_sourceOffset_toBuffer_destinationOffset_size_), sourceBuffer, sourceOffset, destinationBuffer, destinationOffset, size); +} + +// method: updateFence: +_MTL_INLINE void MTL::BlitCommandEncoder::updateFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateFence_), fence); +} + +// method: waitForFence: +_MTL_INLINE void MTL::BlitCommandEncoder::waitForFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(waitForFence_), fence); +} + +// method: getTextureAccessCounters:region:mipLevel:slice:resetCounters:countersBuffer:countersBufferOffset: +_MTL_INLINE void MTL::BlitCommandEncoder::getTextureAccessCounters(const MTL::Texture* texture, MTL::Region region, NS::UInteger mipLevel, NS::UInteger slice, bool resetCounters, const MTL::Buffer* countersBuffer, NS::UInteger countersBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(getTextureAccessCounters_region_mipLevel_slice_resetCounters_countersBuffer_countersBufferOffset_), texture, region, mipLevel, slice, resetCounters, countersBuffer, countersBufferOffset); +} + +// method: resetTextureAccessCounters:region:mipLevel:slice: +_MTL_INLINE void MTL::BlitCommandEncoder::resetTextureAccessCounters(const MTL::Texture* texture, MTL::Region region, NS::UInteger mipLevel, NS::UInteger slice) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(resetTextureAccessCounters_region_mipLevel_slice_), texture, region, mipLevel, slice); +} + +// method: optimizeContentsForGPUAccess: +_MTL_INLINE void MTL::BlitCommandEncoder::optimizeContentsForGPUAccess(const MTL::Texture* texture) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(optimizeContentsForGPUAccess_), texture); +} + +// method: optimizeContentsForGPUAccess:slice:level: +_MTL_INLINE void MTL::BlitCommandEncoder::optimizeContentsForGPUAccess(const MTL::Texture* texture, NS::UInteger slice, NS::UInteger level) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(optimizeContentsForGPUAccess_slice_level_), texture, slice, level); +} + +// method: optimizeContentsForCPUAccess: +_MTL_INLINE void MTL::BlitCommandEncoder::optimizeContentsForCPUAccess(const MTL::Texture* texture) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(optimizeContentsForCPUAccess_), texture); +} + +// method: optimizeContentsForCPUAccess:slice:level: +_MTL_INLINE void MTL::BlitCommandEncoder::optimizeContentsForCPUAccess(const MTL::Texture* texture, NS::UInteger slice, NS::UInteger level) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(optimizeContentsForCPUAccess_slice_level_), texture, slice, level); +} + +// method: resetCommandsInBuffer:withRange: +_MTL_INLINE void MTL::BlitCommandEncoder::resetCommandsInBuffer(const MTL::IndirectCommandBuffer* buffer, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(resetCommandsInBuffer_withRange_), buffer, range); +} + +// method: copyIndirectCommandBuffer:sourceRange:destination:destinationIndex: +_MTL_INLINE void MTL::BlitCommandEncoder::copyIndirectCommandBuffer(const MTL::IndirectCommandBuffer* source, NS::Range sourceRange, const MTL::IndirectCommandBuffer* destination, NS::UInteger destinationIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyIndirectCommandBuffer_sourceRange_destination_destinationIndex_), source, sourceRange, destination, destinationIndex); +} + +// method: optimizeIndirectCommandBuffer:withRange: +_MTL_INLINE void MTL::BlitCommandEncoder::optimizeIndirectCommandBuffer(const MTL::IndirectCommandBuffer* indirectCommandBuffer, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(optimizeIndirectCommandBuffer_withRange_), indirectCommandBuffer, range); +} + +// method: sampleCountersInBuffer:atSampleIndex:withBarrier: +_MTL_INLINE void MTL::BlitCommandEncoder::sampleCountersInBuffer(const MTL::CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCountersInBuffer_atSampleIndex_withBarrier_), sampleBuffer, sampleIndex, barrier); +} + +// method: resolveCounters:inRange:destinationBuffer:destinationOffset: +_MTL_INLINE void MTL::BlitCommandEncoder::resolveCounters(const MTL::CounterSampleBuffer* sampleBuffer, NS::Range range, const MTL::Buffer* destinationBuffer, NS::UInteger destinationOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(resolveCounters_inRange_destinationBuffer_destinationOffset_), sampleBuffer, range, destinationBuffer, destinationOffset); +} diff --git a/metal-cpp/Metal/MTLBlitPass.hpp b/metal-cpp/Metal/MTLBlitPass.hpp new file mode 100644 index 00000000..78eae31d --- /dev/null +++ b/metal-cpp/Metal/MTLBlitPass.hpp @@ -0,0 +1,165 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLBlitPass.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +class BlitPassSampleBufferAttachmentDescriptor : public NS::Copying +{ +public: + static class BlitPassSampleBufferAttachmentDescriptor* alloc(); + + class BlitPassSampleBufferAttachmentDescriptor* init(); + + class CounterSampleBuffer* sampleBuffer() const; + void setSampleBuffer(const class CounterSampleBuffer* sampleBuffer); + + NS::UInteger startOfEncoderSampleIndex() const; + void setStartOfEncoderSampleIndex(NS::UInteger startOfEncoderSampleIndex); + + NS::UInteger endOfEncoderSampleIndex() const; + void setEndOfEncoderSampleIndex(NS::UInteger endOfEncoderSampleIndex); +}; + +class BlitPassSampleBufferAttachmentDescriptorArray : public NS::Referencing +{ +public: + static class BlitPassSampleBufferAttachmentDescriptorArray* alloc(); + + class BlitPassSampleBufferAttachmentDescriptorArray* init(); + + class BlitPassSampleBufferAttachmentDescriptor* object(NS::UInteger attachmentIndex); + + void setObject(const class BlitPassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex); +}; + +class BlitPassDescriptor : public NS::Copying +{ +public: + static class BlitPassDescriptor* alloc(); + + class BlitPassDescriptor* init(); + + static class BlitPassDescriptor* blitPassDescriptor(); + + class BlitPassSampleBufferAttachmentDescriptorArray* sampleBufferAttachments() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::BlitPassSampleBufferAttachmentDescriptor* MTL::BlitPassSampleBufferAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLBlitPassSampleBufferAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::BlitPassSampleBufferAttachmentDescriptor* MTL::BlitPassSampleBufferAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: sampleBuffer +_MTL_INLINE MTL::CounterSampleBuffer* MTL::BlitPassSampleBufferAttachmentDescriptor::sampleBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBuffer)); +} + +_MTL_INLINE void MTL::BlitPassSampleBufferAttachmentDescriptor::setSampleBuffer(const MTL::CounterSampleBuffer* sampleBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleBuffer_), sampleBuffer); +} + +// property: startOfEncoderSampleIndex +_MTL_INLINE NS::UInteger MTL::BlitPassSampleBufferAttachmentDescriptor::startOfEncoderSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(startOfEncoderSampleIndex)); +} + +_MTL_INLINE void MTL::BlitPassSampleBufferAttachmentDescriptor::setStartOfEncoderSampleIndex(NS::UInteger startOfEncoderSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStartOfEncoderSampleIndex_), startOfEncoderSampleIndex); +} + +// property: endOfEncoderSampleIndex +_MTL_INLINE NS::UInteger MTL::BlitPassSampleBufferAttachmentDescriptor::endOfEncoderSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(endOfEncoderSampleIndex)); +} + +_MTL_INLINE void MTL::BlitPassSampleBufferAttachmentDescriptor::setEndOfEncoderSampleIndex(NS::UInteger endOfEncoderSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setEndOfEncoderSampleIndex_), endOfEncoderSampleIndex); +} + +// static method: alloc +_MTL_INLINE MTL::BlitPassSampleBufferAttachmentDescriptorArray* MTL::BlitPassSampleBufferAttachmentDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLBlitPassSampleBufferAttachmentDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::BlitPassSampleBufferAttachmentDescriptorArray* MTL::BlitPassSampleBufferAttachmentDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::BlitPassSampleBufferAttachmentDescriptor* MTL::BlitPassSampleBufferAttachmentDescriptorArray::object(NS::UInteger attachmentIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), attachmentIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::BlitPassSampleBufferAttachmentDescriptorArray::setObject(const MTL::BlitPassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attachment, attachmentIndex); +} + +// static method: alloc +_MTL_INLINE MTL::BlitPassDescriptor* MTL::BlitPassDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLBlitPassDescriptor)); +} + +// method: init +_MTL_INLINE MTL::BlitPassDescriptor* MTL::BlitPassDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: blitPassDescriptor +_MTL_INLINE MTL::BlitPassDescriptor* MTL::BlitPassDescriptor::blitPassDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLBlitPassDescriptor), _MTL_PRIVATE_SEL(blitPassDescriptor)); +} + +// property: sampleBufferAttachments +_MTL_INLINE MTL::BlitPassSampleBufferAttachmentDescriptorArray* MTL::BlitPassDescriptor::sampleBufferAttachments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBufferAttachments)); +} diff --git a/metal-cpp/Metal/MTLBuffer.hpp b/metal-cpp/Metal/MTLBuffer.hpp new file mode 100644 index 00000000..61bddefe --- /dev/null +++ b/metal-cpp/Metal/MTLBuffer.hpp @@ -0,0 +1,101 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLBuffer.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLResource.hpp" + +namespace MTL +{ +class Buffer : public NS::Referencing +{ +public: + NS::UInteger length() const; + + void* contents(); + + void didModifyRange(NS::Range range); + + class Texture* newTexture(const class TextureDescriptor* descriptor, NS::UInteger offset, NS::UInteger bytesPerRow); + + void addDebugMarker(const NS::String* marker, NS::Range range); + + void removeAllDebugMarkers(); + + class Buffer* remoteStorageBuffer() const; + + class Buffer* newRemoteBufferViewForDevice(const class Device* device); +}; + +} + +// property: length +_MTL_INLINE NS::UInteger MTL::Buffer::length() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(length)); +} + +// method: contents +_MTL_INLINE void* MTL::Buffer::contents() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(contents)); +} + +// method: didModifyRange: +_MTL_INLINE void MTL::Buffer::didModifyRange(NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(didModifyRange_), range); +} + +// method: newTextureWithDescriptor:offset:bytesPerRow: +_MTL_INLINE MTL::Texture* MTL::Buffer::newTexture(const MTL::TextureDescriptor* descriptor, NS::UInteger offset, NS::UInteger bytesPerRow) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureWithDescriptor_offset_bytesPerRow_), descriptor, offset, bytesPerRow); +} + +// method: addDebugMarker:range: +_MTL_INLINE void MTL::Buffer::addDebugMarker(const NS::String* marker, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(addDebugMarker_range_), marker, range); +} + +// method: removeAllDebugMarkers +_MTL_INLINE void MTL::Buffer::removeAllDebugMarkers() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(removeAllDebugMarkers)); +} + +// property: remoteStorageBuffer +_MTL_INLINE MTL::Buffer* MTL::Buffer::remoteStorageBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(remoteStorageBuffer)); +} + +// method: newRemoteBufferViewForDevice: +_MTL_INLINE MTL::Buffer* MTL::Buffer::newRemoteBufferViewForDevice(const MTL::Device* device) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newRemoteBufferViewForDevice_), device); +} diff --git a/metal-cpp/Metal/MTLCaptureManager.hpp b/metal-cpp/Metal/MTLCaptureManager.hpp new file mode 100644 index 00000000..18e10f5c --- /dev/null +++ b/metal-cpp/Metal/MTLCaptureManager.hpp @@ -0,0 +1,220 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLCaptureManager.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLCaptureManager.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::Integer, CaptureError) { + CaptureErrorNotSupported = 1, + CaptureErrorAlreadyCapturing = 2, + CaptureErrorInvalidDescriptor = 3, +}; + +_MTL_ENUM(NS::Integer, CaptureDestination) { + CaptureDestinationDeveloperTools = 1, + CaptureDestinationGPUTraceDocument = 2, +}; + +class CaptureDescriptor : public NS::Copying +{ +public: + static class CaptureDescriptor* alloc(); + + class CaptureDescriptor* init(); + + id captureObject() const; + void setCaptureObject(id captureObject); + + MTL::CaptureDestination destination() const; + void setDestination(MTL::CaptureDestination destination); + + NS::URL* outputURL() const; + void setOutputURL(const NS::URL* outputURL); +}; + +class CaptureManager : public NS::Referencing +{ +public: + static class CaptureManager* alloc(); + + static class CaptureManager* sharedCaptureManager(); + + MTL::CaptureManager* init(); + + class CaptureScope* newCaptureScope(const class Device* device); + + class CaptureScope* newCaptureScope(const class CommandQueue* commandQueue); + + bool supportsDestination(MTL::CaptureDestination destination); + + bool startCapture(const class CaptureDescriptor* descriptor, NS::Error** error); + + void startCapture(const class Device* device); + + void startCapture(const class CommandQueue* commandQueue); + + void startCapture(const class CaptureScope* captureScope); + + void stopCapture(); + + class CaptureScope* defaultCaptureScope() const; + void setDefaultCaptureScope(const class CaptureScope* defaultCaptureScope); + + bool isCapturing() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::CaptureDescriptor* MTL::CaptureDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLCaptureDescriptor)); +} + +// method: init +_MTL_INLINE MTL::CaptureDescriptor* MTL::CaptureDescriptor::init() +{ + return NS::Object::init(); +} + +// property: captureObject +_MTL_INLINE id MTL::CaptureDescriptor::captureObject() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(captureObject)); +} + +_MTL_INLINE void MTL::CaptureDescriptor::setCaptureObject(id captureObject) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setCaptureObject_), captureObject); +} + +// property: destination +_MTL_INLINE MTL::CaptureDestination MTL::CaptureDescriptor::destination() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(destination)); +} + +_MTL_INLINE void MTL::CaptureDescriptor::setDestination(MTL::CaptureDestination destination) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDestination_), destination); +} + +// property: outputURL +_MTL_INLINE NS::URL* MTL::CaptureDescriptor::outputURL() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(outputURL)); +} + +_MTL_INLINE void MTL::CaptureDescriptor::setOutputURL(const NS::URL* outputURL) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOutputURL_), outputURL); +} + +// static method: alloc +_MTL_INLINE MTL::CaptureManager* MTL::CaptureManager::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLCaptureManager)); +} + +// static method: sharedCaptureManager +_MTL_INLINE MTL::CaptureManager* MTL::CaptureManager::sharedCaptureManager() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLCaptureManager), _MTL_PRIVATE_SEL(sharedCaptureManager)); +} + +// method: init +_MTL_INLINE MTL::CaptureManager* MTL::CaptureManager::init() +{ + return NS::Object::init(); +} + +// method: newCaptureScopeWithDevice: +_MTL_INLINE MTL::CaptureScope* MTL::CaptureManager::newCaptureScope(const MTL::Device* device) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newCaptureScopeWithDevice_), device); +} + +// method: newCaptureScopeWithCommandQueue: +_MTL_INLINE MTL::CaptureScope* MTL::CaptureManager::newCaptureScope(const MTL::CommandQueue* commandQueue) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newCaptureScopeWithCommandQueue_), commandQueue); +} + +// method: supportsDestination: +_MTL_INLINE bool MTL::CaptureManager::supportsDestination(MTL::CaptureDestination destination) +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsDestination_), destination); +} + +// method: startCaptureWithDescriptor:error: +_MTL_INLINE bool MTL::CaptureManager::startCapture(const MTL::CaptureDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(startCaptureWithDescriptor_error_), descriptor, error); +} + +// method: startCaptureWithDevice: +_MTL_INLINE void MTL::CaptureManager::startCapture(const MTL::Device* device) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(startCaptureWithDevice_), device); +} + +// method: startCaptureWithCommandQueue: +_MTL_INLINE void MTL::CaptureManager::startCapture(const MTL::CommandQueue* commandQueue) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(startCaptureWithCommandQueue_), commandQueue); +} + +// method: startCaptureWithScope: +_MTL_INLINE void MTL::CaptureManager::startCapture(const MTL::CaptureScope* captureScope) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(startCaptureWithScope_), captureScope); +} + +// method: stopCapture +_MTL_INLINE void MTL::CaptureManager::stopCapture() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(stopCapture)); +} + +// property: defaultCaptureScope +_MTL_INLINE MTL::CaptureScope* MTL::CaptureManager::defaultCaptureScope() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(defaultCaptureScope)); +} + +_MTL_INLINE void MTL::CaptureManager::setDefaultCaptureScope(const MTL::CaptureScope* defaultCaptureScope) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDefaultCaptureScope_), defaultCaptureScope); +} + +// property: isCapturing +_MTL_INLINE bool MTL::CaptureManager::isCapturing() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isCapturing)); +} diff --git a/metal-cpp/Metal/MTLCaptureScope.hpp b/metal-cpp/Metal/MTLCaptureScope.hpp new file mode 100644 index 00000000..2360235a --- /dev/null +++ b/metal-cpp/Metal/MTLCaptureScope.hpp @@ -0,0 +1,92 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLCaptureScope.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "MTLDefines.hpp" +#include "MTLPrivate.hpp" + +#include "../Foundation/NSObject.hpp" +#include "../Foundation/NSString.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace MTL +{ +class CaptureScope : public NS::Referencing +{ +public: + class Device* device() const; + + NS::String* label() const; + void setLabel(const NS::String* pLabel); + + class CommandQueue* commandQueue() const; + + void beginScope(); + void endScope(); +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::Device* MTL::CaptureScope::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE NS::String* MTL::CaptureScope::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE void MTL::CaptureScope::setLabel(const NS::String* pLabel) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), pLabel); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE MTL::CommandQueue* MTL::CaptureScope::commandQueue() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(commandQueue)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE void MTL::CaptureScope::beginScope() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(beginScope)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_MTL_INLINE void MTL::CaptureScope::endScope() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(endScope)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Metal/MTLCommandBuffer.hpp b/metal-cpp/Metal/MTLCommandBuffer.hpp new file mode 100644 index 00000000..d0fc98e5 --- /dev/null +++ b/metal-cpp/Metal/MTLCommandBuffer.hpp @@ -0,0 +1,465 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLCommandBuffer.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLCommandBuffer.hpp" +#include + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, CommandBufferStatus) { + CommandBufferStatusNotEnqueued = 0, + CommandBufferStatusEnqueued = 1, + CommandBufferStatusCommitted = 2, + CommandBufferStatusScheduled = 3, + CommandBufferStatusCompleted = 4, + CommandBufferStatusError = 5, +}; + +_MTL_ENUM(NS::UInteger, CommandBufferError) { + CommandBufferErrorNone = 0, + CommandBufferErrorTimeout = 2, + CommandBufferErrorPageFault = 3, + CommandBufferErrorAccessRevoked = 4, + CommandBufferErrorBlacklisted = 4, + CommandBufferErrorNotPermitted = 7, + CommandBufferErrorOutOfMemory = 8, + CommandBufferErrorInvalidResource = 9, + CommandBufferErrorMemoryless = 10, + CommandBufferErrorDeviceRemoved = 11, + CommandBufferErrorStackOverflow = 12, +}; + +_MTL_OPTIONS(NS::UInteger, CommandBufferErrorOption) { + CommandBufferErrorOptionNone = 0, + CommandBufferErrorOptionEncoderExecutionStatus = 1, +}; + +_MTL_ENUM(NS::Integer, CommandEncoderErrorState) { + CommandEncoderErrorStateUnknown = 0, + CommandEncoderErrorStateCompleted = 1, + CommandEncoderErrorStateAffected = 2, + CommandEncoderErrorStatePending = 3, + CommandEncoderErrorStateFaulted = 4, +}; + +class CommandBufferDescriptor : public NS::Copying +{ +public: + static class CommandBufferDescriptor* alloc(); + + class CommandBufferDescriptor* init(); + + bool retainedReferences() const; + void setRetainedReferences(bool retainedReferences); + + MTL::CommandBufferErrorOption errorOptions() const; + void setErrorOptions(MTL::CommandBufferErrorOption errorOptions); +}; + +class CommandBufferEncoderInfo : public NS::Referencing +{ +public: + NS::String* label() const; + + NS::Array* debugSignposts() const; + + MTL::CommandEncoderErrorState errorState() const; +}; + +_MTL_ENUM(NS::UInteger, DispatchType) { + DispatchTypeSerial = 0, + DispatchTypeConcurrent = 1, +}; + +class CommandBuffer; + +using CommandBufferHandler = void (^)(CommandBuffer*); + +using HandlerFunction = std::function; + +class CommandBuffer : public NS::Referencing +{ +public: + void addScheduledHandler(const HandlerFunction& function); + + void addCompletedHandler(const HandlerFunction& function); + + class Device* device() const; + + class CommandQueue* commandQueue() const; + + bool retainedReferences() const; + + MTL::CommandBufferErrorOption errorOptions() const; + + NS::String* label() const; + void setLabel(const NS::String* label); + + CFTimeInterval kernelStartTime() const; + + CFTimeInterval kernelEndTime() const; + + class LogContainer* logs() const; + + CFTimeInterval GPUStartTime() const; + + CFTimeInterval GPUEndTime() const; + + void enqueue(); + + void commit(); + + void addScheduledHandler(const MTL::CommandBufferHandler block); + + void presentDrawable(const class Drawable* drawable); + + void presentDrawableAtTime(const class Drawable* drawable, CFTimeInterval presentationTime); + + void presentDrawableAfterMinimumDuration(const class Drawable* drawable, CFTimeInterval duration); + + void waitUntilScheduled(); + + void addCompletedHandler(const MTL::CommandBufferHandler block); + + void waitUntilCompleted(); + + MTL::CommandBufferStatus status() const; + + NS::Error* error() const; + + class BlitCommandEncoder* blitCommandEncoder(); + + class RenderCommandEncoder* renderCommandEncoder(const class RenderPassDescriptor* renderPassDescriptor); + + class ComputeCommandEncoder* computeCommandEncoder(const class ComputePassDescriptor* computePassDescriptor); + + class BlitCommandEncoder* blitCommandEncoder(const class BlitPassDescriptor* blitPassDescriptor); + + class ComputeCommandEncoder* computeCommandEncoder(); + + class ComputeCommandEncoder* computeCommandEncoder(MTL::DispatchType dispatchType); + + void encodeWait(const class Event* event, uint64_t value); + + void encodeSignalEvent(const class Event* event, uint64_t value); + + class ParallelRenderCommandEncoder* parallelRenderCommandEncoder(const class RenderPassDescriptor* renderPassDescriptor); + + class ResourceStateCommandEncoder* resourceStateCommandEncoder(); + + class ResourceStateCommandEncoder* resourceStateCommandEncoder(const class ResourceStatePassDescriptor* resourceStatePassDescriptor); + + class AccelerationStructureCommandEncoder* accelerationStructureCommandEncoder(); + + void pushDebugGroup(const NS::String* string); + + void popDebugGroup(); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::CommandBufferDescriptor* MTL::CommandBufferDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLCommandBufferDescriptor)); +} + +// method: init +_MTL_INLINE MTL::CommandBufferDescriptor* MTL::CommandBufferDescriptor::init() +{ + return NS::Object::init(); +} + +// property: retainedReferences +_MTL_INLINE bool MTL::CommandBufferDescriptor::retainedReferences() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(retainedReferences)); +} + +_MTL_INLINE void MTL::CommandBufferDescriptor::setRetainedReferences(bool retainedReferences) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRetainedReferences_), retainedReferences); +} + +// property: errorOptions +_MTL_INLINE MTL::CommandBufferErrorOption MTL::CommandBufferDescriptor::errorOptions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(errorOptions)); +} + +_MTL_INLINE void MTL::CommandBufferDescriptor::setErrorOptions(MTL::CommandBufferErrorOption errorOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setErrorOptions_), errorOptions); +} + +// property: label +_MTL_INLINE NS::String* MTL::CommandBufferEncoderInfo::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// property: debugSignposts +_MTL_INLINE NS::Array* MTL::CommandBufferEncoderInfo::debugSignposts() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(debugSignposts)); +} + +// property: errorState +_MTL_INLINE MTL::CommandEncoderErrorState MTL::CommandBufferEncoderInfo::errorState() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(errorState)); +} + +_MTL_INLINE void MTL::CommandBuffer::addScheduledHandler(const HandlerFunction& function) +{ + __block HandlerFunction blockFunction = function; + + addScheduledHandler(^(MTL::CommandBuffer* pCommandBuffer) { blockFunction(pCommandBuffer); }); +} + +_MTL_INLINE void MTL::CommandBuffer::addCompletedHandler(const HandlerFunction& function) +{ + __block HandlerFunction blockFunction = function; + + addCompletedHandler(^(MTL::CommandBuffer* pCommandBuffer) { blockFunction(pCommandBuffer); }); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::CommandBuffer::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: commandQueue +_MTL_INLINE MTL::CommandQueue* MTL::CommandBuffer::commandQueue() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(commandQueue)); +} + +// property: retainedReferences +_MTL_INLINE bool MTL::CommandBuffer::retainedReferences() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(retainedReferences)); +} + +// property: errorOptions +_MTL_INLINE MTL::CommandBufferErrorOption MTL::CommandBuffer::errorOptions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(errorOptions)); +} + +// property: label +_MTL_INLINE NS::String* MTL::CommandBuffer::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::CommandBuffer::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: kernelStartTime +_MTL_INLINE CFTimeInterval MTL::CommandBuffer::kernelStartTime() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(kernelStartTime)); +} + +// property: kernelEndTime +_MTL_INLINE CFTimeInterval MTL::CommandBuffer::kernelEndTime() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(kernelEndTime)); +} + +// property: logs +_MTL_INLINE MTL::LogContainer* MTL::CommandBuffer::logs() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(logs)); +} + +// property: GPUStartTime +_MTL_INLINE CFTimeInterval MTL::CommandBuffer::GPUStartTime() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(GPUStartTime)); +} + +// property: GPUEndTime +_MTL_INLINE CFTimeInterval MTL::CommandBuffer::GPUEndTime() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(GPUEndTime)); +} + +// method: enqueue +_MTL_INLINE void MTL::CommandBuffer::enqueue() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(enqueue)); +} + +// method: commit +_MTL_INLINE void MTL::CommandBuffer::commit() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(commit)); +} + +// method: addScheduledHandler: +_MTL_INLINE void MTL::CommandBuffer::addScheduledHandler(const MTL::CommandBufferHandler block) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(addScheduledHandler_), block); +} + +// method: presentDrawable: +_MTL_INLINE void MTL::CommandBuffer::presentDrawable(const MTL::Drawable* drawable) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(presentDrawable_), drawable); +} + +// method: presentDrawable:atTime: +_MTL_INLINE void MTL::CommandBuffer::presentDrawableAtTime(const MTL::Drawable* drawable, CFTimeInterval presentationTime) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(presentDrawable_atTime_), drawable, presentationTime); +} + +// method: presentDrawable:afterMinimumDuration: +_MTL_INLINE void MTL::CommandBuffer::presentDrawableAfterMinimumDuration(const MTL::Drawable* drawable, CFTimeInterval duration) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(presentDrawable_afterMinimumDuration_), drawable, duration); +} + +// method: waitUntilScheduled +_MTL_INLINE void MTL::CommandBuffer::waitUntilScheduled() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(waitUntilScheduled)); +} + +// method: addCompletedHandler: +_MTL_INLINE void MTL::CommandBuffer::addCompletedHandler(const MTL::CommandBufferHandler block) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(addCompletedHandler_), block); +} + +// method: waitUntilCompleted +_MTL_INLINE void MTL::CommandBuffer::waitUntilCompleted() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(waitUntilCompleted)); +} + +// property: status +_MTL_INLINE MTL::CommandBufferStatus MTL::CommandBuffer::status() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(status)); +} + +// property: error +_MTL_INLINE NS::Error* MTL::CommandBuffer::error() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(error)); +} + +// method: blitCommandEncoder +_MTL_INLINE MTL::BlitCommandEncoder* MTL::CommandBuffer::blitCommandEncoder() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(blitCommandEncoder)); +} + +// method: renderCommandEncoderWithDescriptor: +_MTL_INLINE MTL::RenderCommandEncoder* MTL::CommandBuffer::renderCommandEncoder(const MTL::RenderPassDescriptor* renderPassDescriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(renderCommandEncoderWithDescriptor_), renderPassDescriptor); +} + +// method: computeCommandEncoderWithDescriptor: +_MTL_INLINE MTL::ComputeCommandEncoder* MTL::CommandBuffer::computeCommandEncoder(const MTL::ComputePassDescriptor* computePassDescriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(computeCommandEncoderWithDescriptor_), computePassDescriptor); +} + +// method: blitCommandEncoderWithDescriptor: +_MTL_INLINE MTL::BlitCommandEncoder* MTL::CommandBuffer::blitCommandEncoder(const MTL::BlitPassDescriptor* blitPassDescriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(blitCommandEncoderWithDescriptor_), blitPassDescriptor); +} + +// method: computeCommandEncoder +_MTL_INLINE MTL::ComputeCommandEncoder* MTL::CommandBuffer::computeCommandEncoder() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(computeCommandEncoder)); +} + +// method: computeCommandEncoderWithDispatchType: +_MTL_INLINE MTL::ComputeCommandEncoder* MTL::CommandBuffer::computeCommandEncoder(MTL::DispatchType dispatchType) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(computeCommandEncoderWithDispatchType_), dispatchType); +} + +// method: encodeWaitForEvent:value: +_MTL_INLINE void MTL::CommandBuffer::encodeWait(const MTL::Event* event, uint64_t value) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(encodeWaitForEvent_value_), event, value); +} + +// method: encodeSignalEvent:value: +_MTL_INLINE void MTL::CommandBuffer::encodeSignalEvent(const MTL::Event* event, uint64_t value) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(encodeSignalEvent_value_), event, value); +} + +// method: parallelRenderCommandEncoderWithDescriptor: +_MTL_INLINE MTL::ParallelRenderCommandEncoder* MTL::CommandBuffer::parallelRenderCommandEncoder(const MTL::RenderPassDescriptor* renderPassDescriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(parallelRenderCommandEncoderWithDescriptor_), renderPassDescriptor); +} + +// method: resourceStateCommandEncoder +_MTL_INLINE MTL::ResourceStateCommandEncoder* MTL::CommandBuffer::resourceStateCommandEncoder() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resourceStateCommandEncoder)); +} + +// method: resourceStateCommandEncoderWithDescriptor: +_MTL_INLINE MTL::ResourceStateCommandEncoder* MTL::CommandBuffer::resourceStateCommandEncoder(const MTL::ResourceStatePassDescriptor* resourceStatePassDescriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resourceStateCommandEncoderWithDescriptor_), resourceStatePassDescriptor); +} + +// method: accelerationStructureCommandEncoder +_MTL_INLINE MTL::AccelerationStructureCommandEncoder* MTL::CommandBuffer::accelerationStructureCommandEncoder() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(accelerationStructureCommandEncoder)); +} + +// method: pushDebugGroup: +_MTL_INLINE void MTL::CommandBuffer::pushDebugGroup(const NS::String* string) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(pushDebugGroup_), string); +} + +// method: popDebugGroup +_MTL_INLINE void MTL::CommandBuffer::popDebugGroup() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(popDebugGroup)); +} diff --git a/metal-cpp/Metal/MTLCommandEncoder.hpp b/metal-cpp/Metal/MTLCommandEncoder.hpp new file mode 100644 index 00000000..7f1f392b --- /dev/null +++ b/metal-cpp/Metal/MTLCommandEncoder.hpp @@ -0,0 +1,101 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +_MTL_OPTIONS(NS::UInteger, ResourceUsage) { + ResourceUsageRead = 1, + ResourceUsageWrite = 2, + ResourceUsageSample = 4, +}; + +_MTL_OPTIONS(NS::UInteger, BarrierScope) { + BarrierScopeBuffers = 1, + BarrierScopeTextures = 2, + BarrierScopeRenderTargets = 4, +}; + +class CommandEncoder : public NS::Referencing +{ +public: + class Device* device() const; + + NS::String* label() const; + void setLabel(const NS::String* label); + + void endEncoding(); + + void insertDebugSignpost(const NS::String* string); + + void pushDebugGroup(const NS::String* string); + + void popDebugGroup(); +}; + +} + +// property: device +_MTL_INLINE MTL::Device* MTL::CommandEncoder::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: label +_MTL_INLINE NS::String* MTL::CommandEncoder::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::CommandEncoder::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// method: endEncoding +_MTL_INLINE void MTL::CommandEncoder::endEncoding() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(endEncoding)); +} + +// method: insertDebugSignpost: +_MTL_INLINE void MTL::CommandEncoder::insertDebugSignpost(const NS::String* string) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(insertDebugSignpost_), string); +} + +// method: pushDebugGroup: +_MTL_INLINE void MTL::CommandEncoder::pushDebugGroup(const NS::String* string) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(pushDebugGroup_), string); +} + +// method: popDebugGroup +_MTL_INLINE void MTL::CommandEncoder::popDebugGroup() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(popDebugGroup)); +} diff --git a/metal-cpp/Metal/MTLCommandQueue.hpp b/metal-cpp/Metal/MTLCommandQueue.hpp new file mode 100644 index 00000000..f54a16e1 --- /dev/null +++ b/metal-cpp/Metal/MTLCommandQueue.hpp @@ -0,0 +1,89 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLCommandQueue.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +class CommandQueue : public NS::Referencing +{ +public: + NS::String* label() const; + void setLabel(const NS::String* label); + + class Device* device() const; + + class CommandBuffer* commandBuffer(); + + class CommandBuffer* commandBuffer(const class CommandBufferDescriptor* descriptor); + + class CommandBuffer* commandBufferWithUnretainedReferences(); + + void insertDebugCaptureBoundary(); +}; + +} + +// property: label +_MTL_INLINE NS::String* MTL::CommandQueue::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::CommandQueue::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::CommandQueue::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// method: commandBuffer +_MTL_INLINE MTL::CommandBuffer* MTL::CommandQueue::commandBuffer() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(commandBuffer)); +} + +// method: commandBufferWithDescriptor: +_MTL_INLINE MTL::CommandBuffer* MTL::CommandQueue::commandBuffer(const MTL::CommandBufferDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(commandBufferWithDescriptor_), descriptor); +} + +// method: commandBufferWithUnretainedReferences +_MTL_INLINE MTL::CommandBuffer* MTL::CommandQueue::commandBufferWithUnretainedReferences() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(commandBufferWithUnretainedReferences)); +} + +// method: insertDebugCaptureBoundary +_MTL_INLINE void MTL::CommandQueue::insertDebugCaptureBoundary() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(insertDebugCaptureBoundary)); +} diff --git a/metal-cpp/Metal/MTLComputeCommandEncoder.hpp b/metal-cpp/Metal/MTLComputeCommandEncoder.hpp new file mode 100644 index 00000000..5fa9ef78 --- /dev/null +++ b/metal-cpp/Metal/MTLComputeCommandEncoder.hpp @@ -0,0 +1,337 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLComputeCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLBuffer.hpp" +#include "MTLCommandBuffer.hpp" +#include "MTLCommandEncoder.hpp" +#include "MTLHeap.hpp" +#include "MTLIntersectionFunctionTable.hpp" +#include "MTLResource.hpp" +#include "MTLSampler.hpp" +#include "MTLTexture.hpp" +#include "MTLTypes.hpp" +#include "MTLVisibleFunctionTable.hpp" + +namespace MTL +{ +struct DispatchThreadgroupsIndirectArguments +{ + uint32_t threadgroupsPerGrid[3]; +} _MTL_PACKED; + +struct StageInRegionIndirectArguments +{ + uint32_t stageInOrigin[3]; + uint32_t stageInSize[3]; +} _MTL_PACKED; + +class ComputeCommandEncoder : public NS::Referencing +{ +public: + MTL::DispatchType dispatchType() const; + + void setComputePipelineState(const class ComputePipelineState* state); + + void setBytes(const void* bytes, NS::UInteger length, NS::UInteger index); + + void setBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void setBufferOffset(NS::UInteger offset, NS::UInteger index); + + void setBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range); + + void setVisibleFunctionTable(const class VisibleFunctionTable* visibleFunctionTable, NS::UInteger bufferIndex); + + void setVisibleFunctionTables(const class VisibleFunctionTable* visibleFunctionTables[], NS::Range range); + + void setIntersectionFunctionTable(const class IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex); + + void setIntersectionFunctionTables(const class IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range); + + void setAccelerationStructure(const class AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex); + + void setTexture(const class Texture* texture, NS::UInteger index); + + void setTextures(MTL::Texture* textures[], NS::Range range); + + void setSamplerState(const class SamplerState* sampler, NS::UInteger index); + + void setSamplerStates(MTL::SamplerState* samplers[], NS::Range range); + + void setSamplerState(const class SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index); + + void setSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range); + + void setThreadgroupMemoryLength(NS::UInteger length, NS::UInteger index); + + void setImageblockWidth(NS::UInteger width, NS::UInteger height); + + void setStageInRegion(MTL::Region region); + + void setStageInRegion(const class Buffer* indirectBuffer, NS::UInteger indirectBufferOffset); + + void dispatchThreadgroups(MTL::Size threadgroupsPerGrid, MTL::Size threadsPerThreadgroup); + + void dispatchThreadgroups(const class Buffer* indirectBuffer, NS::UInteger indirectBufferOffset, MTL::Size threadsPerThreadgroup); + + void dispatchThreads(MTL::Size threadsPerGrid, MTL::Size threadsPerThreadgroup); + + void updateFence(const class Fence* fence); + + void waitForFence(const class Fence* fence); + + void useResource(const class Resource* resource, MTL::ResourceUsage usage); + + void useResources(MTL::Resource* resources[], NS::UInteger count, MTL::ResourceUsage usage); + + void useHeap(const class Heap* heap); + + void useHeaps(MTL::Heap* heaps[], NS::UInteger count); + + void executeCommandsInBuffer(const class IndirectCommandBuffer* indirectCommandBuffer, NS::Range executionRange); + + void executeCommandsInBuffer(const class IndirectCommandBuffer* indirectCommandbuffer, const class Buffer* indirectRangeBuffer, NS::UInteger indirectBufferOffset); + + void memoryBarrier(MTL::BarrierScope scope); + + void memoryBarrier(MTL::Resource* resources[], NS::UInteger count); + + void sampleCountersInBuffer(const class CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier); +}; + +} + +// property: dispatchType +_MTL_INLINE MTL::DispatchType MTL::ComputeCommandEncoder::dispatchType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(dispatchType)); +} + +// method: setComputePipelineState: +_MTL_INLINE void MTL::ComputeCommandEncoder::setComputePipelineState(const MTL::ComputePipelineState* state) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setComputePipelineState_), state); +} + +// method: setBytes:length:atIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setBytes(const void* bytes, NS::UInteger length, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBytes_length_atIndex_), bytes, length, index); +} + +// method: setBuffer:offset:atIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: setBufferOffset:atIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setBufferOffset(NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBufferOffset_atIndex_), offset, index); +} + +// method: setBuffers:offsets:withRange: +_MTL_INLINE void MTL::ComputeCommandEncoder::setBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBuffers_offsets_withRange_), buffers, offsets, range); +} + +// method: setVisibleFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setVisibleFunctionTable(const MTL::VisibleFunctionTable* visibleFunctionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibleFunctionTable_atBufferIndex_), visibleFunctionTable, bufferIndex); +} + +// method: setVisibleFunctionTables:withBufferRange: +_MTL_INLINE void MTL::ComputeCommandEncoder::setVisibleFunctionTables(const MTL::VisibleFunctionTable* visibleFunctionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibleFunctionTables_withBufferRange_), visibleFunctionTables, range); +} + +// method: setIntersectionFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setIntersectionFunctionTable(const MTL::IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIntersectionFunctionTable_atBufferIndex_), intersectionFunctionTable, bufferIndex); +} + +// method: setIntersectionFunctionTables:withBufferRange: +_MTL_INLINE void MTL::ComputeCommandEncoder::setIntersectionFunctionTables(const MTL::IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIntersectionFunctionTables_withBufferRange_), intersectionFunctionTables, range); +} + +// method: setAccelerationStructure:atBufferIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setAccelerationStructure(const MTL::AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAccelerationStructure_atBufferIndex_), accelerationStructure, bufferIndex); +} + +// method: setTexture:atIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setTexture(const MTL::Texture* texture, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTexture_atIndex_), texture, index); +} + +// method: setTextures:withRange: +_MTL_INLINE void MTL::ComputeCommandEncoder::setTextures(MTL::Texture* textures[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTextures_withRange_), textures, range); +} + +// method: setSamplerState:atIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setSamplerState(const MTL::SamplerState* sampler, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSamplerState_atIndex_), sampler, index); +} + +// method: setSamplerStates:withRange: +_MTL_INLINE void MTL::ComputeCommandEncoder::setSamplerStates(MTL::SamplerState* samplers[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSamplerStates_withRange_), samplers, range); +} + +// method: setSamplerState:lodMinClamp:lodMaxClamp:atIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setSamplerState(const MTL::SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSamplerState_lodMinClamp_lodMaxClamp_atIndex_), sampler, lodMinClamp, lodMaxClamp, index); +} + +// method: setSamplerStates:lodMinClamps:lodMaxClamps:withRange: +_MTL_INLINE void MTL::ComputeCommandEncoder::setSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSamplerStates_lodMinClamps_lodMaxClamps_withRange_), samplers, lodMinClamps, lodMaxClamps, range); +} + +// method: setThreadgroupMemoryLength:atIndex: +_MTL_INLINE void MTL::ComputeCommandEncoder::setThreadgroupMemoryLength(NS::UInteger length, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setThreadgroupMemoryLength_atIndex_), length, index); +} + +// method: setImageblockWidth:height: +_MTL_INLINE void MTL::ComputeCommandEncoder::setImageblockWidth(NS::UInteger width, NS::UInteger height) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setImageblockWidth_height_), width, height); +} + +// method: setStageInRegion: +_MTL_INLINE void MTL::ComputeCommandEncoder::setStageInRegion(MTL::Region region) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStageInRegion_), region); +} + +// method: setStageInRegionWithIndirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::ComputeCommandEncoder::setStageInRegion(const MTL::Buffer* indirectBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStageInRegionWithIndirectBuffer_indirectBufferOffset_), indirectBuffer, indirectBufferOffset); +} + +// method: dispatchThreadgroups:threadsPerThreadgroup: +_MTL_INLINE void MTL::ComputeCommandEncoder::dispatchThreadgroups(MTL::Size threadgroupsPerGrid, MTL::Size threadsPerThreadgroup) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(dispatchThreadgroups_threadsPerThreadgroup_), threadgroupsPerGrid, threadsPerThreadgroup); +} + +// method: dispatchThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerThreadgroup: +_MTL_INLINE void MTL::ComputeCommandEncoder::dispatchThreadgroups(const MTL::Buffer* indirectBuffer, NS::UInteger indirectBufferOffset, MTL::Size threadsPerThreadgroup) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(dispatchThreadgroupsWithIndirectBuffer_indirectBufferOffset_threadsPerThreadgroup_), indirectBuffer, indirectBufferOffset, threadsPerThreadgroup); +} + +// method: dispatchThreads:threadsPerThreadgroup: +_MTL_INLINE void MTL::ComputeCommandEncoder::dispatchThreads(MTL::Size threadsPerGrid, MTL::Size threadsPerThreadgroup) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(dispatchThreads_threadsPerThreadgroup_), threadsPerGrid, threadsPerThreadgroup); +} + +// method: updateFence: +_MTL_INLINE void MTL::ComputeCommandEncoder::updateFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateFence_), fence); +} + +// method: waitForFence: +_MTL_INLINE void MTL::ComputeCommandEncoder::waitForFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(waitForFence_), fence); +} + +// method: useResource:usage: +_MTL_INLINE void MTL::ComputeCommandEncoder::useResource(const MTL::Resource* resource, MTL::ResourceUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResource_usage_), resource, usage); +} + +// method: useResources:count:usage: +_MTL_INLINE void MTL::ComputeCommandEncoder::useResources(MTL::Resource* resources[], NS::UInteger count, MTL::ResourceUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResources_count_usage_), resources, count, usage); +} + +// method: useHeap: +_MTL_INLINE void MTL::ComputeCommandEncoder::useHeap(const MTL::Heap* heap) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeap_), heap); +} + +// method: useHeaps:count: +_MTL_INLINE void MTL::ComputeCommandEncoder::useHeaps(MTL::Heap* heaps[], NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeaps_count_), heaps, count); +} + +// method: executeCommandsInBuffer:withRange: +_MTL_INLINE void MTL::ComputeCommandEncoder::executeCommandsInBuffer(const MTL::IndirectCommandBuffer* indirectCommandBuffer, NS::Range executionRange) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(executeCommandsInBuffer_withRange_), indirectCommandBuffer, executionRange); +} + +// method: executeCommandsInBuffer:indirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::ComputeCommandEncoder::executeCommandsInBuffer(const MTL::IndirectCommandBuffer* indirectCommandbuffer, const MTL::Buffer* indirectRangeBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(executeCommandsInBuffer_indirectBuffer_indirectBufferOffset_), indirectCommandbuffer, indirectRangeBuffer, indirectBufferOffset); +} + +// method: memoryBarrierWithScope: +_MTL_INLINE void MTL::ComputeCommandEncoder::memoryBarrier(MTL::BarrierScope scope) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(memoryBarrierWithScope_), scope); +} + +// method: memoryBarrierWithResources:count: +_MTL_INLINE void MTL::ComputeCommandEncoder::memoryBarrier(MTL::Resource* resources[], NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(memoryBarrierWithResources_count_), resources, count); +} + +// method: sampleCountersInBuffer:atSampleIndex:withBarrier: +_MTL_INLINE void MTL::ComputeCommandEncoder::sampleCountersInBuffer(const MTL::CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCountersInBuffer_atSampleIndex_withBarrier_), sampleBuffer, sampleIndex, barrier); +} diff --git a/metal-cpp/Metal/MTLComputePass.hpp b/metal-cpp/Metal/MTLComputePass.hpp new file mode 100644 index 00000000..f3d4b526 --- /dev/null +++ b/metal-cpp/Metal/MTLComputePass.hpp @@ -0,0 +1,181 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLComputePass.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLCommandBuffer.hpp" + +namespace MTL +{ +class ComputePassSampleBufferAttachmentDescriptor : public NS::Copying +{ +public: + static class ComputePassSampleBufferAttachmentDescriptor* alloc(); + + class ComputePassSampleBufferAttachmentDescriptor* init(); + + class CounterSampleBuffer* sampleBuffer() const; + void setSampleBuffer(const class CounterSampleBuffer* sampleBuffer); + + NS::UInteger startOfEncoderSampleIndex() const; + void setStartOfEncoderSampleIndex(NS::UInteger startOfEncoderSampleIndex); + + NS::UInteger endOfEncoderSampleIndex() const; + void setEndOfEncoderSampleIndex(NS::UInteger endOfEncoderSampleIndex); +}; + +class ComputePassSampleBufferAttachmentDescriptorArray : public NS::Referencing +{ +public: + static class ComputePassSampleBufferAttachmentDescriptorArray* alloc(); + + class ComputePassSampleBufferAttachmentDescriptorArray* init(); + + class ComputePassSampleBufferAttachmentDescriptor* object(NS::UInteger attachmentIndex); + + void setObject(const class ComputePassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex); +}; + +class ComputePassDescriptor : public NS::Copying +{ +public: + static class ComputePassDescriptor* alloc(); + + class ComputePassDescriptor* init(); + + static class ComputePassDescriptor* computePassDescriptor(); + + MTL::DispatchType dispatchType() const; + void setDispatchType(MTL::DispatchType dispatchType); + + class ComputePassSampleBufferAttachmentDescriptorArray* sampleBufferAttachments() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::ComputePassSampleBufferAttachmentDescriptor* MTL::ComputePassSampleBufferAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLComputePassSampleBufferAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::ComputePassSampleBufferAttachmentDescriptor* MTL::ComputePassSampleBufferAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: sampleBuffer +_MTL_INLINE MTL::CounterSampleBuffer* MTL::ComputePassSampleBufferAttachmentDescriptor::sampleBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBuffer)); +} + +_MTL_INLINE void MTL::ComputePassSampleBufferAttachmentDescriptor::setSampleBuffer(const MTL::CounterSampleBuffer* sampleBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleBuffer_), sampleBuffer); +} + +// property: startOfEncoderSampleIndex +_MTL_INLINE NS::UInteger MTL::ComputePassSampleBufferAttachmentDescriptor::startOfEncoderSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(startOfEncoderSampleIndex)); +} + +_MTL_INLINE void MTL::ComputePassSampleBufferAttachmentDescriptor::setStartOfEncoderSampleIndex(NS::UInteger startOfEncoderSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStartOfEncoderSampleIndex_), startOfEncoderSampleIndex); +} + +// property: endOfEncoderSampleIndex +_MTL_INLINE NS::UInteger MTL::ComputePassSampleBufferAttachmentDescriptor::endOfEncoderSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(endOfEncoderSampleIndex)); +} + +_MTL_INLINE void MTL::ComputePassSampleBufferAttachmentDescriptor::setEndOfEncoderSampleIndex(NS::UInteger endOfEncoderSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setEndOfEncoderSampleIndex_), endOfEncoderSampleIndex); +} + +// static method: alloc +_MTL_INLINE MTL::ComputePassSampleBufferAttachmentDescriptorArray* MTL::ComputePassSampleBufferAttachmentDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLComputePassSampleBufferAttachmentDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::ComputePassSampleBufferAttachmentDescriptorArray* MTL::ComputePassSampleBufferAttachmentDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::ComputePassSampleBufferAttachmentDescriptor* MTL::ComputePassSampleBufferAttachmentDescriptorArray::object(NS::UInteger attachmentIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), attachmentIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::ComputePassSampleBufferAttachmentDescriptorArray::setObject(const MTL::ComputePassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attachment, attachmentIndex); +} + +// static method: alloc +_MTL_INLINE MTL::ComputePassDescriptor* MTL::ComputePassDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLComputePassDescriptor)); +} + +// method: init +_MTL_INLINE MTL::ComputePassDescriptor* MTL::ComputePassDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: computePassDescriptor +_MTL_INLINE MTL::ComputePassDescriptor* MTL::ComputePassDescriptor::computePassDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLComputePassDescriptor), _MTL_PRIVATE_SEL(computePassDescriptor)); +} + +// property: dispatchType +_MTL_INLINE MTL::DispatchType MTL::ComputePassDescriptor::dispatchType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(dispatchType)); +} + +_MTL_INLINE void MTL::ComputePassDescriptor::setDispatchType(MTL::DispatchType dispatchType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDispatchType_), dispatchType); +} + +// property: sampleBufferAttachments +_MTL_INLINE MTL::ComputePassSampleBufferAttachmentDescriptorArray* MTL::ComputePassDescriptor::sampleBufferAttachments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBufferAttachments)); +} diff --git a/metal-cpp/Metal/MTLComputePipeline.hpp b/metal-cpp/Metal/MTLComputePipeline.hpp new file mode 100644 index 00000000..de56d7ff --- /dev/null +++ b/metal-cpp/Metal/MTLComputePipeline.hpp @@ -0,0 +1,357 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLComputePipeline.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLTypes.hpp" + +namespace MTL +{ +class ComputePipelineReflection : public NS::Referencing +{ +public: + static class ComputePipelineReflection* alloc(); + + class ComputePipelineReflection* init(); + + NS::Array* arguments() const; +}; + +class ComputePipelineDescriptor : public NS::Copying +{ +public: + static class ComputePipelineDescriptor* alloc(); + + class ComputePipelineDescriptor* init(); + + NS::String* label() const; + void setLabel(const NS::String* label); + + class Function* computeFunction() const; + void setComputeFunction(const class Function* computeFunction); + + bool threadGroupSizeIsMultipleOfThreadExecutionWidth() const; + void setThreadGroupSizeIsMultipleOfThreadExecutionWidth(bool threadGroupSizeIsMultipleOfThreadExecutionWidth); + + NS::UInteger maxTotalThreadsPerThreadgroup() const; + void setMaxTotalThreadsPerThreadgroup(NS::UInteger maxTotalThreadsPerThreadgroup); + + class StageInputOutputDescriptor* stageInputDescriptor() const; + void setStageInputDescriptor(const class StageInputOutputDescriptor* stageInputDescriptor); + + class PipelineBufferDescriptorArray* buffers() const; + + bool supportIndirectCommandBuffers() const; + void setSupportIndirectCommandBuffers(bool supportIndirectCommandBuffers); + + NS::Array* insertLibraries() const; + void setInsertLibraries(const NS::Array* insertLibraries); + + NS::Array* preloadedLibraries() const; + void setPreloadedLibraries(const NS::Array* preloadedLibraries); + + NS::Array* binaryArchives() const; + void setBinaryArchives(const NS::Array* binaryArchives); + + void reset(); + + class LinkedFunctions* linkedFunctions() const; + void setLinkedFunctions(const class LinkedFunctions* linkedFunctions); + + bool supportAddingBinaryFunctions() const; + void setSupportAddingBinaryFunctions(bool supportAddingBinaryFunctions); + + NS::UInteger maxCallStackDepth() const; + void setMaxCallStackDepth(NS::UInteger maxCallStackDepth); +}; + +class ComputePipelineState : public NS::Referencing +{ +public: + NS::String* label() const; + + class Device* device() const; + + NS::UInteger maxTotalThreadsPerThreadgroup() const; + + NS::UInteger threadExecutionWidth() const; + + NS::UInteger staticThreadgroupMemoryLength() const; + + NS::UInteger imageblockMemoryLength(MTL::Size imageblockDimensions); + + bool supportIndirectCommandBuffers() const; + + class FunctionHandle* functionHandle(const class Function* function); + + class ComputePipelineState* newComputePipelineState(const NS::Array* functions, NS::Error** error); + + class VisibleFunctionTable* newVisibleFunctionTable(const class VisibleFunctionTableDescriptor* descriptor); + + class IntersectionFunctionTable* newIntersectionFunctionTable(const class IntersectionFunctionTableDescriptor* descriptor); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::ComputePipelineReflection* MTL::ComputePipelineReflection::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLComputePipelineReflection)); +} + +// method: init +_MTL_INLINE MTL::ComputePipelineReflection* MTL::ComputePipelineReflection::init() +{ + return NS::Object::init(); +} + +// property: arguments +_MTL_INLINE NS::Array* MTL::ComputePipelineReflection::arguments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arguments)); +} + +// static method: alloc +_MTL_INLINE MTL::ComputePipelineDescriptor* MTL::ComputePipelineDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLComputePipelineDescriptor)); +} + +// method: init +_MTL_INLINE MTL::ComputePipelineDescriptor* MTL::ComputePipelineDescriptor::init() +{ + return NS::Object::init(); +} + +// property: label +_MTL_INLINE NS::String* MTL::ComputePipelineDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: computeFunction +_MTL_INLINE MTL::Function* MTL::ComputePipelineDescriptor::computeFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(computeFunction)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setComputeFunction(const MTL::Function* computeFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setComputeFunction_), computeFunction); +} + +// property: threadGroupSizeIsMultipleOfThreadExecutionWidth +_MTL_INLINE bool MTL::ComputePipelineDescriptor::threadGroupSizeIsMultipleOfThreadExecutionWidth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(threadGroupSizeIsMultipleOfThreadExecutionWidth)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setThreadGroupSizeIsMultipleOfThreadExecutionWidth(bool threadGroupSizeIsMultipleOfThreadExecutionWidth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setThreadGroupSizeIsMultipleOfThreadExecutionWidth_), threadGroupSizeIsMultipleOfThreadExecutionWidth); +} + +// property: maxTotalThreadsPerThreadgroup +_MTL_INLINE NS::UInteger MTL::ComputePipelineDescriptor::maxTotalThreadsPerThreadgroup() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxTotalThreadsPerThreadgroup)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setMaxTotalThreadsPerThreadgroup(NS::UInteger maxTotalThreadsPerThreadgroup) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxTotalThreadsPerThreadgroup_), maxTotalThreadsPerThreadgroup); +} + +// property: stageInputDescriptor +_MTL_INLINE MTL::StageInputOutputDescriptor* MTL::ComputePipelineDescriptor::stageInputDescriptor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stageInputDescriptor)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setStageInputDescriptor(const MTL::StageInputOutputDescriptor* stageInputDescriptor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStageInputDescriptor_), stageInputDescriptor); +} + +// property: buffers +_MTL_INLINE MTL::PipelineBufferDescriptorArray* MTL::ComputePipelineDescriptor::buffers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(buffers)); +} + +// property: supportIndirectCommandBuffers +_MTL_INLINE bool MTL::ComputePipelineDescriptor::supportIndirectCommandBuffers() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportIndirectCommandBuffers)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setSupportIndirectCommandBuffers(bool supportIndirectCommandBuffers) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSupportIndirectCommandBuffers_), supportIndirectCommandBuffers); +} + +// property: insertLibraries +_MTL_INLINE NS::Array* MTL::ComputePipelineDescriptor::insertLibraries() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(insertLibraries)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setInsertLibraries(const NS::Array* insertLibraries) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInsertLibraries_), insertLibraries); +} + +// property: preloadedLibraries +_MTL_INLINE NS::Array* MTL::ComputePipelineDescriptor::preloadedLibraries() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(preloadedLibraries)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setPreloadedLibraries(const NS::Array* preloadedLibraries) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPreloadedLibraries_), preloadedLibraries); +} + +// property: binaryArchives +_MTL_INLINE NS::Array* MTL::ComputePipelineDescriptor::binaryArchives() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(binaryArchives)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setBinaryArchives(const NS::Array* binaryArchives) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBinaryArchives_), binaryArchives); +} + +// method: reset +_MTL_INLINE void MTL::ComputePipelineDescriptor::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} + +// property: linkedFunctions +_MTL_INLINE MTL::LinkedFunctions* MTL::ComputePipelineDescriptor::linkedFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(linkedFunctions)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setLinkedFunctions(const MTL::LinkedFunctions* linkedFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLinkedFunctions_), linkedFunctions); +} + +// property: supportAddingBinaryFunctions +_MTL_INLINE bool MTL::ComputePipelineDescriptor::supportAddingBinaryFunctions() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportAddingBinaryFunctions)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setSupportAddingBinaryFunctions(bool supportAddingBinaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSupportAddingBinaryFunctions_), supportAddingBinaryFunctions); +} + +// property: maxCallStackDepth +_MTL_INLINE NS::UInteger MTL::ComputePipelineDescriptor::maxCallStackDepth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxCallStackDepth)); +} + +_MTL_INLINE void MTL::ComputePipelineDescriptor::setMaxCallStackDepth(NS::UInteger maxCallStackDepth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxCallStackDepth_), maxCallStackDepth); +} + +// property: label +_MTL_INLINE NS::String* MTL::ComputePipelineState::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::ComputePipelineState::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: maxTotalThreadsPerThreadgroup +_MTL_INLINE NS::UInteger MTL::ComputePipelineState::maxTotalThreadsPerThreadgroup() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxTotalThreadsPerThreadgroup)); +} + +// property: threadExecutionWidth +_MTL_INLINE NS::UInteger MTL::ComputePipelineState::threadExecutionWidth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(threadExecutionWidth)); +} + +// property: staticThreadgroupMemoryLength +_MTL_INLINE NS::UInteger MTL::ComputePipelineState::staticThreadgroupMemoryLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(staticThreadgroupMemoryLength)); +} + +// method: imageblockMemoryLengthForDimensions: +_MTL_INLINE NS::UInteger MTL::ComputePipelineState::imageblockMemoryLength(MTL::Size imageblockDimensions) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(imageblockMemoryLengthForDimensions_), imageblockDimensions); +} + +// property: supportIndirectCommandBuffers +_MTL_INLINE bool MTL::ComputePipelineState::supportIndirectCommandBuffers() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportIndirectCommandBuffers)); +} + +// method: functionHandleWithFunction: +_MTL_INLINE MTL::FunctionHandle* MTL::ComputePipelineState::functionHandle(const MTL::Function* function) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionHandleWithFunction_), function); +} + +// method: newComputePipelineStateWithAdditionalBinaryFunctions:error: +_MTL_INLINE MTL::ComputePipelineState* MTL::ComputePipelineState::newComputePipelineState(const NS::Array* functions, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newComputePipelineStateWithAdditionalBinaryFunctions_error_), functions, error); +} + +// method: newVisibleFunctionTableWithDescriptor: +_MTL_INLINE MTL::VisibleFunctionTable* MTL::ComputePipelineState::newVisibleFunctionTable(const MTL::VisibleFunctionTableDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newVisibleFunctionTableWithDescriptor_), descriptor); +} + +// method: newIntersectionFunctionTableWithDescriptor: +_MTL_INLINE MTL::IntersectionFunctionTable* MTL::ComputePipelineState::newIntersectionFunctionTable(const MTL::IntersectionFunctionTableDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newIntersectionFunctionTableWithDescriptor_), descriptor); +} diff --git a/metal-cpp/Metal/MTLCounters.hpp b/metal-cpp/Metal/MTLCounters.hpp new file mode 100644 index 00000000..6e65c1d8 --- /dev/null +++ b/metal-cpp/Metal/MTLCounters.hpp @@ -0,0 +1,258 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLCounters.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLResource.hpp" + +namespace MTL +{ + +_MTL_CONST( NS::ErrorDomain, CounterErrorDomain ); + +using CommonCounter = NS::String*; + +_MTL_CONST( CommonCounter, CommonCounterTimestamp ); +_MTL_CONST( CommonCounter, CommonCounterTessellationInputPatches ); +_MTL_CONST( CommonCounter, CommonCounterVertexInvocations ); +_MTL_CONST( CommonCounter, CommonCounterPostTessellationVertexInvocations ); +_MTL_CONST( CommonCounter, CommonCounterClipperInvocations ); +_MTL_CONST( CommonCounter, CommonCounterClipperPrimitivesOut ); +_MTL_CONST( CommonCounter, CommonCounterFragmentInvocations ); +_MTL_CONST( CommonCounter, CommonCounterFragmentsPassed ); +_MTL_CONST( CommonCounter, CommonCounterComputeKernelInvocations ); +_MTL_CONST( CommonCounter, CommonCounterTotalCycles ); +_MTL_CONST( CommonCounter, CommonCounterVertexCycles ); +_MTL_CONST( CommonCounter, CommonCounterTessellationCycles ); +_MTL_CONST( CommonCounter, CommonCounterPostTessellationVertexCycles ); +_MTL_CONST( CommonCounter, CommonCounterFragmentCycles ); +_MTL_CONST( CommonCounter, CommonCounterRenderTargetWriteCycles ); + +using CommonCounterSet = NS::String*; + +_MTL_CONST( CommonCounterSet, CommonCounterSetTimestamp ); +_MTL_CONST( CommonCounterSet, CommonCounterSetStageUtilization ); +_MTL_CONST( CommonCounterSet, CommonCounterSetStatistic ); + +struct CounterResultTimestamp +{ + uint64_t timestamp; +} _MTL_PACKED; + +struct CounterResultStageUtilization +{ + uint64_t totalCycles; + uint64_t vertexCycles; + uint64_t tessellationCycles; + uint64_t postTessellationVertexCycles; + uint64_t fragmentCycles; + uint64_t renderTargetCycles; +} _MTL_PACKED; + +struct CounterResultStatistic +{ + uint64_t tessellationInputPatches; + uint64_t vertexInvocations; + uint64_t postTessellationVertexInvocations; + uint64_t clipperInvocations; + uint64_t clipperPrimitivesOut; + uint64_t fragmentInvocations; + uint64_t fragmentsPassed; + uint64_t computeKernelInvocations; +} _MTL_PACKED; + +class Counter : public NS::Referencing +{ +public: + NS::String* name() const; +}; + +class CounterSet : public NS::Referencing +{ +public: + NS::String* name() const; + + NS::Array* counters() const; +}; + +class CounterSampleBufferDescriptor : public NS::Copying +{ +public: + static class CounterSampleBufferDescriptor* alloc(); + + class CounterSampleBufferDescriptor* init(); + + class CounterSet* counterSet() const; + void setCounterSet(const class CounterSet* counterSet); + + NS::String* label() const; + void setLabel(const NS::String* label); + + MTL::StorageMode storageMode() const; + void setStorageMode(MTL::StorageMode storageMode); + + NS::UInteger sampleCount() const; + void setSampleCount(NS::UInteger sampleCount); +}; + +class CounterSampleBuffer : public NS::Referencing +{ +public: + class Device* device() const; + + NS::String* label() const; + + NS::UInteger sampleCount() const; + + NS::Data* resolveCounterRange(NS::Range range); +}; + +_MTL_ENUM(NS::Integer, CounterSampleBufferError) { + CounterSampleBufferErrorOutOfMemory = 0, + CounterSampleBufferErrorInvalid = 1, +}; + +} + +_MTL_PRIVATE_DEF_STR( NS::ErrorDomain, CounterErrorDomain ); + +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterTimestamp ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterTessellationInputPatches ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterVertexInvocations ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterPostTessellationVertexInvocations ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterClipperInvocations ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterClipperPrimitivesOut ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterFragmentInvocations ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterFragmentsPassed ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterComputeKernelInvocations ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterTotalCycles ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterVertexCycles ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterTessellationCycles ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterPostTessellationVertexCycles ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterFragmentCycles ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounter, CommonCounterRenderTargetWriteCycles ); + +_MTL_PRIVATE_DEF_STR( MTL::CommonCounterSet, CommonCounterSetTimestamp ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounterSet, CommonCounterSetStageUtilization ); +_MTL_PRIVATE_DEF_STR( MTL::CommonCounterSet, CommonCounterSetStatistic ); + +// property: name +_MTL_INLINE NS::String* MTL::Counter::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: name +_MTL_INLINE NS::String* MTL::CounterSet::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: counters +_MTL_INLINE NS::Array* MTL::CounterSet::counters() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(counters)); +} + +// static method: alloc +_MTL_INLINE MTL::CounterSampleBufferDescriptor* MTL::CounterSampleBufferDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLCounterSampleBufferDescriptor)); +} + +// method: init +_MTL_INLINE MTL::CounterSampleBufferDescriptor* MTL::CounterSampleBufferDescriptor::init() +{ + return NS::Object::init(); +} + +// property: counterSet +_MTL_INLINE MTL::CounterSet* MTL::CounterSampleBufferDescriptor::counterSet() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(counterSet)); +} + +_MTL_INLINE void MTL::CounterSampleBufferDescriptor::setCounterSet(const MTL::CounterSet* counterSet) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setCounterSet_), counterSet); +} + +// property: label +_MTL_INLINE NS::String* MTL::CounterSampleBufferDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::CounterSampleBufferDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: storageMode +_MTL_INLINE MTL::StorageMode MTL::CounterSampleBufferDescriptor::storageMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(storageMode)); +} + +_MTL_INLINE void MTL::CounterSampleBufferDescriptor::setStorageMode(MTL::StorageMode storageMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStorageMode_), storageMode); +} + +// property: sampleCount +_MTL_INLINE NS::UInteger MTL::CounterSampleBufferDescriptor::sampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCount)); +} + +_MTL_INLINE void MTL::CounterSampleBufferDescriptor::setSampleCount(NS::UInteger sampleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleCount_), sampleCount); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::CounterSampleBuffer::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: label +_MTL_INLINE NS::String* MTL::CounterSampleBuffer::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// property: sampleCount +_MTL_INLINE NS::UInteger MTL::CounterSampleBuffer::sampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCount)); +} + +// method: resolveCounterRange: +_MTL_INLINE NS::Data* MTL::CounterSampleBuffer::resolveCounterRange(NS::Range range) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resolveCounterRange_), range); +} diff --git a/metal-cpp/Metal/MTLDefines.hpp b/metal-cpp/Metal/MTLDefines.hpp new file mode 100644 index 00000000..762e7a2c --- /dev/null +++ b/metal-cpp/Metal/MTLDefines.hpp @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLDefines.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "../Foundation/NSDefines.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#define _MTL_EXPORT _NS_EXPORT +#define _MTL_EXTERN _NS_EXTERN +#define _MTL_INLINE _NS_INLINE +#define _MTL_PACKED _NS_PACKED + +#define _MTL_CONST(type, name) _NS_CONST(type, name) +#define _MTL_ENUM(type, name) _NS_ENUM(type, name) +#define _MTL_OPTIONS(type, name) _NS_OPTIONS(type, name) + +#define _MTL_VALIDATE_SIZE(ns, name) _NS_VALIDATE_SIZE(ns, name) +#define _MTL_VALIDATE_ENUM(ns, name) _NS_VALIDATE_ENUM(ns, name) + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Metal/MTLDepthStencil.hpp b/metal-cpp/Metal/MTLDepthStencil.hpp new file mode 100644 index 00000000..0d774dce --- /dev/null +++ b/metal-cpp/Metal/MTLDepthStencil.hpp @@ -0,0 +1,269 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLDepthStencil.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLDepthStencil.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, CompareFunction) { + CompareFunctionNever = 0, + CompareFunctionLess = 1, + CompareFunctionEqual = 2, + CompareFunctionLessEqual = 3, + CompareFunctionGreater = 4, + CompareFunctionNotEqual = 5, + CompareFunctionGreaterEqual = 6, + CompareFunctionAlways = 7, +}; + +_MTL_ENUM(NS::UInteger, StencilOperation) { + StencilOperationKeep = 0, + StencilOperationZero = 1, + StencilOperationReplace = 2, + StencilOperationIncrementClamp = 3, + StencilOperationDecrementClamp = 4, + StencilOperationInvert = 5, + StencilOperationIncrementWrap = 6, + StencilOperationDecrementWrap = 7, +}; + +class StencilDescriptor : public NS::Copying +{ +public: + static class StencilDescriptor* alloc(); + + class StencilDescriptor* init(); + + MTL::CompareFunction stencilCompareFunction() const; + void setStencilCompareFunction(MTL::CompareFunction stencilCompareFunction); + + MTL::StencilOperation stencilFailureOperation() const; + void setStencilFailureOperation(MTL::StencilOperation stencilFailureOperation); + + MTL::StencilOperation depthFailureOperation() const; + void setDepthFailureOperation(MTL::StencilOperation depthFailureOperation); + + MTL::StencilOperation depthStencilPassOperation() const; + void setDepthStencilPassOperation(MTL::StencilOperation depthStencilPassOperation); + + uint32_t readMask() const; + void setReadMask(uint32_t readMask); + + uint32_t writeMask() const; + void setWriteMask(uint32_t writeMask); +}; + +class DepthStencilDescriptor : public NS::Copying +{ +public: + static class DepthStencilDescriptor* alloc(); + + class DepthStencilDescriptor* init(); + + MTL::CompareFunction depthCompareFunction() const; + void setDepthCompareFunction(MTL::CompareFunction depthCompareFunction); + + bool depthWriteEnabled() const; + void setDepthWriteEnabled(bool depthWriteEnabled); + + class StencilDescriptor* frontFaceStencil() const; + void setFrontFaceStencil(const class StencilDescriptor* frontFaceStencil); + + class StencilDescriptor* backFaceStencil() const; + void setBackFaceStencil(const class StencilDescriptor* backFaceStencil); + + NS::String* label() const; + void setLabel(const NS::String* label); +}; + +class DepthStencilState : public NS::Referencing +{ +public: + NS::String* label() const; + + class Device* device() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::StencilDescriptor* MTL::StencilDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLStencilDescriptor)); +} + +// method: init +_MTL_INLINE MTL::StencilDescriptor* MTL::StencilDescriptor::init() +{ + return NS::Object::init(); +} + +// property: stencilCompareFunction +_MTL_INLINE MTL::CompareFunction MTL::StencilDescriptor::stencilCompareFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stencilCompareFunction)); +} + +_MTL_INLINE void MTL::StencilDescriptor::setStencilCompareFunction(MTL::CompareFunction stencilCompareFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilCompareFunction_), stencilCompareFunction); +} + +// property: stencilFailureOperation +_MTL_INLINE MTL::StencilOperation MTL::StencilDescriptor::stencilFailureOperation() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stencilFailureOperation)); +} + +_MTL_INLINE void MTL::StencilDescriptor::setStencilFailureOperation(MTL::StencilOperation stencilFailureOperation) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilFailureOperation_), stencilFailureOperation); +} + +// property: depthFailureOperation +_MTL_INLINE MTL::StencilOperation MTL::StencilDescriptor::depthFailureOperation() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depthFailureOperation)); +} + +_MTL_INLINE void MTL::StencilDescriptor::setDepthFailureOperation(MTL::StencilOperation depthFailureOperation) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthFailureOperation_), depthFailureOperation); +} + +// property: depthStencilPassOperation +_MTL_INLINE MTL::StencilOperation MTL::StencilDescriptor::depthStencilPassOperation() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depthStencilPassOperation)); +} + +_MTL_INLINE void MTL::StencilDescriptor::setDepthStencilPassOperation(MTL::StencilOperation depthStencilPassOperation) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthStencilPassOperation_), depthStencilPassOperation); +} + +// property: readMask +_MTL_INLINE uint32_t MTL::StencilDescriptor::readMask() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(readMask)); +} + +_MTL_INLINE void MTL::StencilDescriptor::setReadMask(uint32_t readMask) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setReadMask_), readMask); +} + +// property: writeMask +_MTL_INLINE uint32_t MTL::StencilDescriptor::writeMask() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(writeMask)); +} + +_MTL_INLINE void MTL::StencilDescriptor::setWriteMask(uint32_t writeMask) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setWriteMask_), writeMask); +} + +// static method: alloc +_MTL_INLINE MTL::DepthStencilDescriptor* MTL::DepthStencilDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLDepthStencilDescriptor)); +} + +// method: init +_MTL_INLINE MTL::DepthStencilDescriptor* MTL::DepthStencilDescriptor::init() +{ + return NS::Object::init(); +} + +// property: depthCompareFunction +_MTL_INLINE MTL::CompareFunction MTL::DepthStencilDescriptor::depthCompareFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depthCompareFunction)); +} + +_MTL_INLINE void MTL::DepthStencilDescriptor::setDepthCompareFunction(MTL::CompareFunction depthCompareFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthCompareFunction_), depthCompareFunction); +} + +// property: depthWriteEnabled +_MTL_INLINE bool MTL::DepthStencilDescriptor::depthWriteEnabled() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isDepthWriteEnabled)); +} + +_MTL_INLINE void MTL::DepthStencilDescriptor::setDepthWriteEnabled(bool depthWriteEnabled) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthWriteEnabled_), depthWriteEnabled); +} + +// property: frontFaceStencil +_MTL_INLINE MTL::StencilDescriptor* MTL::DepthStencilDescriptor::frontFaceStencil() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(frontFaceStencil)); +} + +_MTL_INLINE void MTL::DepthStencilDescriptor::setFrontFaceStencil(const MTL::StencilDescriptor* frontFaceStencil) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFrontFaceStencil_), frontFaceStencil); +} + +// property: backFaceStencil +_MTL_INLINE MTL::StencilDescriptor* MTL::DepthStencilDescriptor::backFaceStencil() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(backFaceStencil)); +} + +_MTL_INLINE void MTL::DepthStencilDescriptor::setBackFaceStencil(const MTL::StencilDescriptor* backFaceStencil) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBackFaceStencil_), backFaceStencil); +} + +// property: label +_MTL_INLINE NS::String* MTL::DepthStencilDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::DepthStencilDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: label +_MTL_INLINE NS::String* MTL::DepthStencilState::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::DepthStencilState::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} diff --git a/metal-cpp/Metal/MTLDevice.hpp b/metal-cpp/Metal/MTLDevice.hpp new file mode 100644 index 00000000..fcd0d776 --- /dev/null +++ b/metal-cpp/Metal/MTLDevice.hpp @@ -0,0 +1,1254 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLDevice.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLArgument.hpp" +#include "MTLDevice.hpp" +#include "MTLPixelFormat.hpp" +#include "MTLResource.hpp" +#include "MTLTexture.hpp" +#include "MTLTypes.hpp" +#include +#include + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, FeatureSet) { + FeatureSet_iOS_GPUFamily1_v1 = 0, + FeatureSet_iOS_GPUFamily2_v1 = 1, + FeatureSet_iOS_GPUFamily1_v2 = 2, + FeatureSet_iOS_GPUFamily2_v2 = 3, + FeatureSet_iOS_GPUFamily3_v1 = 4, + FeatureSet_iOS_GPUFamily1_v3 = 5, + FeatureSet_iOS_GPUFamily2_v3 = 6, + FeatureSet_iOS_GPUFamily3_v2 = 7, + FeatureSet_iOS_GPUFamily1_v4 = 8, + FeatureSet_iOS_GPUFamily2_v4 = 9, + FeatureSet_iOS_GPUFamily3_v3 = 10, + FeatureSet_iOS_GPUFamily4_v1 = 11, + FeatureSet_iOS_GPUFamily1_v5 = 12, + FeatureSet_iOS_GPUFamily2_v5 = 13, + FeatureSet_iOS_GPUFamily3_v4 = 14, + FeatureSet_iOS_GPUFamily4_v2 = 15, + FeatureSet_iOS_GPUFamily5_v1 = 16, + FeatureSet_macOS_GPUFamily1_v1 = 10000, + FeatureSet_OSX_GPUFamily1_v1 = 10000, + FeatureSet_macOS_GPUFamily1_v2 = 10001, + FeatureSet_OSX_GPUFamily1_v2 = 10001, + FeatureSet_OSX_ReadWriteTextureTier2 = 10002, + FeatureSet_macOS_ReadWriteTextureTier2 = 10002, + FeatureSet_macOS_GPUFamily1_v3 = 10003, + FeatureSet_macOS_GPUFamily1_v4 = 10004, + FeatureSet_macOS_GPUFamily2_v1 = 10005, + FeatureSet_watchOS_GPUFamily1_v1 = 20000, + FeatureSet_WatchOS_GPUFamily1_v1 = 20000, + FeatureSet_watchOS_GPUFamily2_v1 = 20001, + FeatureSet_WatchOS_GPUFamily2_v1 = 20001, + FeatureSet_tvOS_GPUFamily1_v1 = 30000, + FeatureSet_TVOS_GPUFamily1_v1 = 30000, + FeatureSet_tvOS_GPUFamily1_v2 = 30001, + FeatureSet_tvOS_GPUFamily1_v3 = 30002, + FeatureSet_tvOS_GPUFamily2_v1 = 30003, + FeatureSet_tvOS_GPUFamily1_v4 = 30004, + FeatureSet_tvOS_GPUFamily2_v2 = 30005, +}; + +_MTL_ENUM(NS::Integer, GPUFamily) { + GPUFamilyApple1 = 1001, + GPUFamilyApple2 = 1002, + GPUFamilyApple3 = 1003, + GPUFamilyApple4 = 1004, + GPUFamilyApple5 = 1005, + GPUFamilyApple6 = 1006, + GPUFamilyApple7 = 1007, + GPUFamilyApple8 = 1008, + GPUFamilyMac1 = 2001, + GPUFamilyMac2 = 2002, + GPUFamilyCommon1 = 3001, + GPUFamilyCommon2 = 3002, + GPUFamilyCommon3 = 3003, + GPUFamilyMacCatalyst1 = 4001, + GPUFamilyMacCatalyst2 = 4002, +}; + +_MTL_ENUM(NS::UInteger, DeviceLocation) { + DeviceLocationBuiltIn = 0, + DeviceLocationSlot = 1, + DeviceLocationExternal = 2, + DeviceLocationUnspecified = NS::UIntegerMax, +}; + +_MTL_OPTIONS(NS::UInteger, PipelineOption) { + PipelineOptionNone = 0, + PipelineOptionArgumentInfo = 1, + PipelineOptionBufferTypeInfo = 2, + PipelineOptionFailOnBinaryArchiveMiss = 4, +}; + +_MTL_ENUM(NS::UInteger, ReadWriteTextureTier) { + ReadWriteTextureTierNone = 0, + ReadWriteTextureTier1 = 1, + ReadWriteTextureTier2 = 2, +}; + +_MTL_ENUM(NS::UInteger, ArgumentBuffersTier) { + ArgumentBuffersTier1 = 0, + ArgumentBuffersTier2 = 1, +}; + +_MTL_ENUM(NS::UInteger, SparseTextureRegionAlignmentMode) { + SparseTextureRegionAlignmentModeOutward = 0, + SparseTextureRegionAlignmentModeInward = 1, +}; + +struct AccelerationStructureSizes +{ + NS::UInteger accelerationStructureSize; + NS::UInteger buildScratchBufferSize; + NS::UInteger refitScratchBufferSize; +} _MTL_PACKED; + +_MTL_ENUM(NS::UInteger, CounterSamplingPoint) { + CounterSamplingPointAtStageBoundary = 0, + CounterSamplingPointAtDrawBoundary = 1, + CounterSamplingPointAtDispatchBoundary = 2, + CounterSamplingPointAtTileDispatchBoundary = 3, + CounterSamplingPointAtBlitBoundary = 4, +}; + +struct SizeAndAlign +{ + NS::UInteger size; + NS::UInteger align; +} _MTL_PACKED; + +class ArgumentDescriptor : public NS::Copying +{ +public: + static class ArgumentDescriptor* alloc(); + + class ArgumentDescriptor* init(); + + static class ArgumentDescriptor* argumentDescriptor(); + + MTL::DataType dataType() const; + void setDataType(MTL::DataType dataType); + + NS::UInteger index() const; + void setIndex(NS::UInteger index); + + NS::UInteger arrayLength() const; + void setArrayLength(NS::UInteger arrayLength); + + MTL::ArgumentAccess access() const; + void setAccess(MTL::ArgumentAccess access); + + MTL::TextureType textureType() const; + void setTextureType(MTL::TextureType textureType); + + NS::UInteger constantBlockAlignment() const; + void setConstantBlockAlignment(NS::UInteger constantBlockAlignment); +}; + +using DeviceNotificationName = NS::String*; + +_MTL_CONST(DeviceNotificationName, DeviceWasAddedNotification); + +_MTL_CONST(DeviceNotificationName, DeviceRemovalRequestedNotification); + +_MTL_CONST(DeviceNotificationName, DeviceWasRemovedNotification); + +using DeviceNotificationHandlerBlock = void (^)(class Device* pDevice, DeviceNotificationName notifyName); + +using DeviceNotificationHandlerFunction = std::function; + +using AutoreleasedComputePipelineReflection = class ComputePipelineReflection*; + +using AutoreleasedRenderPipelineReflection = class RenderPipelineReflection*; + +using NewLibraryCompletionHandler = void (^)(class Library*, NS::Error*); + +using NewLibraryCompletionHandlerFunction = std::function; + +using NewRenderPipelineStateCompletionHandler = void (^)(class RenderPipelineState*, NS::Error*); + +using NewRenderPipelineStateCompletionHandlerFunction = std::function; + +using NewRenderPipelineStateWithReflectionCompletionHandler = void (^)(class RenderPipelineState*, class RenderPipelineReflection*, NS::Error*); + +using NewRenderPipelineStateWithReflectionCompletionHandlerFunction = std::function; + +using NewComputePipelineStateCompletionHandler = void (^)(class ComputePipelineState*, NS::Error*); + +using NewComputePipelineStateCompletionHandlerFunction = std::function; + +using NewComputePipelineStateWithReflectionCompletionHandler = void (^)(class ComputePipelineState*, class ComputePipelineReflection*, NS::Error*); + +using NewComputePipelineStateWithReflectionCompletionHandlerFunction = std::function; + +using Timestamp = std::uint64_t; + +MTL::Device* CreateSystemDefaultDevice(); + +NS::Array* CopyAllDevices(); + +NS::Array* CopyAllDevicesWithObserver(NS::Object** pOutObserver, DeviceNotificationHandlerBlock handler); + +NS::Array* CopyAllDevicesWithObserver(NS::Object** pOutObserver, const DeviceNotificationHandlerFunction& handler); + +void RemoveDeviceObserver(const NS::Object* pObserver); + +class Device : public NS::Referencing +{ +public: + void newLibrary(const NS::String* pSource, const class CompileOptions* pOptions, const NewLibraryCompletionHandlerFunction& completionHandler); + + void newLibrary(const class StitchedLibraryDescriptor* pDescriptor, const MTL::NewLibraryCompletionHandlerFunction& completionHandler); + + void newRenderPipelineState(const class RenderPipelineDescriptor* pDescriptor, const NewRenderPipelineStateCompletionHandlerFunction& completionHandler); + + void newRenderPipelineState(const class RenderPipelineDescriptor* pDescriptor, PipelineOption options, const NewRenderPipelineStateWithReflectionCompletionHandlerFunction& completionHandler); + + void newRenderPipelineState(const class TileRenderPipelineDescriptor* pDescriptor, PipelineOption options, const NewRenderPipelineStateWithReflectionCompletionHandlerFunction& completionHandler); + + void newComputePipelineState(const class Function* pFunction, const NewComputePipelineStateCompletionHandlerFunction& completionHandler); + + void newComputePipelineState(const class Function* pFunction, PipelineOption options, const NewComputePipelineStateWithReflectionCompletionHandlerFunction& completionHandler); + + void newComputePipelineState(const class ComputePipelineDescriptor* pDescriptor, PipelineOption options, const NewComputePipelineStateWithReflectionCompletionHandlerFunction& completionHandler); + + bool isHeadless() const; + + NS::String* name() const; + + uint64_t registryID() const; + + MTL::Size maxThreadsPerThreadgroup() const; + + bool lowPower() const; + + bool headless() const; + + bool removable() const; + + bool hasUnifiedMemory() const; + + uint64_t recommendedMaxWorkingSetSize() const; + + MTL::DeviceLocation location() const; + + NS::UInteger locationNumber() const; + + uint64_t maxTransferRate() const; + + bool depth24Stencil8PixelFormatSupported() const; + + MTL::ReadWriteTextureTier readWriteTextureSupport() const; + + MTL::ArgumentBuffersTier argumentBuffersSupport() const; + + bool rasterOrderGroupsSupported() const; + + bool supports32BitFloatFiltering() const; + + bool supports32BitMSAA() const; + + bool supportsQueryTextureLOD() const; + + bool supportsBCTextureCompression() const; + + bool supportsPullModelInterpolation() const; + + bool barycentricCoordsSupported() const; + + bool supportsShaderBarycentricCoordinates() const; + + NS::UInteger currentAllocatedSize() const; + + class CommandQueue* newCommandQueue(); + + class CommandQueue* newCommandQueue(NS::UInteger maxCommandBufferCount); + + MTL::SizeAndAlign heapTextureSizeAndAlign(const class TextureDescriptor* desc); + + MTL::SizeAndAlign heapBufferSizeAndAlign(NS::UInteger length, MTL::ResourceOptions options); + + class Heap* newHeap(const class HeapDescriptor* descriptor); + + class Buffer* newBuffer(NS::UInteger length, MTL::ResourceOptions options); + + class Buffer* newBuffer(const void* pointer, NS::UInteger length, MTL::ResourceOptions options); + + class Buffer* newBuffer(const void* pointer, NS::UInteger length, MTL::ResourceOptions options, const void (^deallocator)(void*, NS::UInteger)); + + class DepthStencilState* newDepthStencilState(const class DepthStencilDescriptor* descriptor); + + class Texture* newTexture(const class TextureDescriptor* descriptor); + + class Texture* newTexture(const class TextureDescriptor* descriptor, const IOSurfaceRef iosurface, NS::UInteger plane); + + class Texture* newSharedTexture(const class TextureDescriptor* descriptor); + + class Texture* newSharedTexture(const class SharedTextureHandle* sharedHandle); + + class SamplerState* newSamplerState(const class SamplerDescriptor* descriptor); + + class Library* newDefaultLibrary(); + + class Library* newDefaultLibrary(const NS::Bundle* bundle, NS::Error** error); + + class Library* newLibrary(const NS::String* filepath, NS::Error** error); + + class Library* newLibrary(const NS::URL* url, NS::Error** error); + + class Library* newLibrary(const dispatch_data_t data, NS::Error** error); + + class Library* newLibrary(const NS::String* source, const class CompileOptions* options, NS::Error** error); + + void newLibrary(const NS::String* source, const class CompileOptions* options, const MTL::NewLibraryCompletionHandler completionHandler); + + class Library* newLibrary(const class StitchedLibraryDescriptor* descriptor, NS::Error** error); + + void newLibrary(const class StitchedLibraryDescriptor* descriptor, const MTL::NewLibraryCompletionHandler completionHandler); + + class RenderPipelineState* newRenderPipelineState(const class RenderPipelineDescriptor* descriptor, NS::Error** error); + + class RenderPipelineState* newRenderPipelineState(const class RenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::AutoreleasedRenderPipelineReflection* reflection, NS::Error** error); + + void newRenderPipelineState(const class RenderPipelineDescriptor* descriptor, const MTL::NewRenderPipelineStateCompletionHandler completionHandler); + + void newRenderPipelineState(const class RenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::NewRenderPipelineStateWithReflectionCompletionHandler completionHandler); + + class ComputePipelineState* newComputePipelineState(const class Function* computeFunction, NS::Error** error); + + class ComputePipelineState* newComputePipelineState(const class Function* computeFunction, MTL::PipelineOption options, const MTL::AutoreleasedComputePipelineReflection* reflection, NS::Error** error); + + void newComputePipelineState(const class Function* computeFunction, const MTL::NewComputePipelineStateCompletionHandler completionHandler); + + void newComputePipelineState(const class Function* computeFunction, MTL::PipelineOption options, const MTL::NewComputePipelineStateWithReflectionCompletionHandler completionHandler); + + class ComputePipelineState* newComputePipelineState(const class ComputePipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::AutoreleasedComputePipelineReflection* reflection, NS::Error** error); + + void newComputePipelineState(const class ComputePipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::NewComputePipelineStateWithReflectionCompletionHandler completionHandler); + + class Fence* newFence(); + + bool supportsFeatureSet(MTL::FeatureSet featureSet); + + bool supportsFamily(MTL::GPUFamily gpuFamily); + + bool supportsTextureSampleCount(NS::UInteger sampleCount); + + NS::UInteger minimumLinearTextureAlignmentForPixelFormat(MTL::PixelFormat format); + + NS::UInteger minimumTextureBufferAlignmentForPixelFormat(MTL::PixelFormat format); + + class RenderPipelineState* newRenderPipelineState(const class TileRenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::AutoreleasedRenderPipelineReflection* reflection, NS::Error** error); + + void newRenderPipelineState(const class TileRenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::NewRenderPipelineStateWithReflectionCompletionHandler completionHandler); + + NS::UInteger maxThreadgroupMemoryLength() const; + + NS::UInteger maxArgumentBufferSamplerCount() const; + + bool programmableSamplePositionsSupported() const; + + void getDefaultSamplePositions(MTL::SamplePosition* positions, NS::UInteger count); + + class ArgumentEncoder* newArgumentEncoder(const NS::Array* arguments); + + bool supportsRasterizationRateMap(NS::UInteger layerCount); + + class RasterizationRateMap* newRasterizationRateMap(const class RasterizationRateMapDescriptor* descriptor); + + class IndirectCommandBuffer* newIndirectCommandBuffer(const class IndirectCommandBufferDescriptor* descriptor, NS::UInteger maxCount, MTL::ResourceOptions options); + + class Event* newEvent(); + + class SharedEvent* newSharedEvent(); + + class SharedEvent* newSharedEvent(const class SharedEventHandle* sharedEventHandle); + + uint64_t peerGroupID() const; + + uint32_t peerIndex() const; + + uint32_t peerCount() const; + + MTL::Size sparseTileSize(MTL::TextureType textureType, MTL::PixelFormat pixelFormat, NS::UInteger sampleCount); + + NS::UInteger sparseTileSizeInBytes() const; + + void convertSparsePixelRegions(const MTL::Region* pixelRegions, MTL::Region* tileRegions, MTL::Size tileSize, MTL::SparseTextureRegionAlignmentMode mode, NS::UInteger numRegions); + + void convertSparseTileRegions(const MTL::Region* tileRegions, MTL::Region* pixelRegions, MTL::Size tileSize, NS::UInteger numRegions); + + NS::UInteger maxBufferLength() const; + + NS::Array* counterSets() const; + + class CounterSampleBuffer* newCounterSampleBuffer(const class CounterSampleBufferDescriptor* descriptor, NS::Error** error); + + void sampleTimestamps(MTL::Timestamp* cpuTimestamp, MTL::Timestamp* gpuTimestamp); + + bool supportsCounterSampling(MTL::CounterSamplingPoint samplingPoint); + + bool supportsVertexAmplificationCount(NS::UInteger count); + + bool supportsDynamicLibraries() const; + + bool supportsRenderDynamicLibraries() const; + + class DynamicLibrary* newDynamicLibrary(const class Library* library, NS::Error** error); + + class DynamicLibrary* newDynamicLibrary(const NS::URL* url, NS::Error** error); + + class BinaryArchive* newBinaryArchive(const class BinaryArchiveDescriptor* descriptor, NS::Error** error); + + bool supportsRaytracing() const; + + MTL::AccelerationStructureSizes accelerationStructureSizes(const class AccelerationStructureDescriptor* descriptor); + + class AccelerationStructure* newAccelerationStructure(NS::UInteger size); + + class AccelerationStructure* newAccelerationStructure(const class AccelerationStructureDescriptor* descriptor); + + bool supportsFunctionPointers() const; + + bool supportsFunctionPointersFromRender() const; + + bool supportsRaytracingFromRender() const; + + bool supportsPrimitiveMotionBlur() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::ArgumentDescriptor* MTL::ArgumentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLArgumentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::ArgumentDescriptor* MTL::ArgumentDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: argumentDescriptor +_MTL_INLINE MTL::ArgumentDescriptor* MTL::ArgumentDescriptor::argumentDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLArgumentDescriptor), _MTL_PRIVATE_SEL(argumentDescriptor)); +} + +// property: dataType +_MTL_INLINE MTL::DataType MTL::ArgumentDescriptor::dataType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(dataType)); +} + +_MTL_INLINE void MTL::ArgumentDescriptor::setDataType(MTL::DataType dataType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDataType_), dataType); +} + +// property: index +_MTL_INLINE NS::UInteger MTL::ArgumentDescriptor::index() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(index)); +} + +_MTL_INLINE void MTL::ArgumentDescriptor::setIndex(NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndex_), index); +} + +// property: arrayLength +_MTL_INLINE NS::UInteger MTL::ArgumentDescriptor::arrayLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arrayLength)); +} + +_MTL_INLINE void MTL::ArgumentDescriptor::setArrayLength(NS::UInteger arrayLength) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setArrayLength_), arrayLength); +} + +// property: access +_MTL_INLINE MTL::ArgumentAccess MTL::ArgumentDescriptor::access() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(access)); +} + +_MTL_INLINE void MTL::ArgumentDescriptor::setAccess(MTL::ArgumentAccess access) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAccess_), access); +} + +// property: textureType +_MTL_INLINE MTL::TextureType MTL::ArgumentDescriptor::textureType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureType)); +} + +_MTL_INLINE void MTL::ArgumentDescriptor::setTextureType(MTL::TextureType textureType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTextureType_), textureType); +} + +// property: constantBlockAlignment +_MTL_INLINE NS::UInteger MTL::ArgumentDescriptor::constantBlockAlignment() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(constantBlockAlignment)); +} + +_MTL_INLINE void MTL::ArgumentDescriptor::setConstantBlockAlignment(NS::UInteger constantBlockAlignment) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setConstantBlockAlignment_), constantBlockAlignment); +} + +#if defined(MTL_PRIVATE_IMPLEMENTATION) + +extern "C" MTL::Device* MTLCreateSystemDefaultDevice(); + +extern "C" NS::Array* MTLCopyAllDevices(); + +extern "C" NS::Array* MTLCopyAllDevicesWithObserver(NS::Object**, MTL::DeviceNotificationHandlerBlock); + +extern "C" void MTLRemoveDeviceObserver(const NS::Object*); + +#include + +MTL::Device* MTL::CreateSystemDefaultDevice() +{ + return ::MTLCreateSystemDefaultDevice(); +} + +NS::Array* MTL::CopyAllDevices() +{ +#if TARGET_OS_OSX + return ::MTLCopyAllDevices(); +#else + return nullptr; +#endif // TARGET_OS_OSX +} + +NS::Array* MTL::CopyAllDevicesWithObserver(NS::Object** pOutObserver, DeviceNotificationHandlerBlock handler) +{ +#if TARGET_OS_OSX + return ::MTLCopyAllDevicesWithObserver(pOutObserver, handler); +#else + (void)pOutObserver; + (void)handler; + + return nullptr; +#endif // TARGET_OS_OSX +} + +NS::Array* MTL::CopyAllDevicesWithObserver(NS::Object** pOutObserver, const DeviceNotificationHandlerFunction& handler) +{ + __block DeviceNotificationHandlerFunction function = handler; + + return CopyAllDevicesWithObserver(pOutObserver, ^(Device* pDevice, DeviceNotificationName pNotificationName) { function(pDevice, pNotificationName); }); +} + +void MTL::RemoveDeviceObserver(const NS::Object* pObserver) +{ +#if TARGET_OS_OSX + ::MTLRemoveDeviceObserver(pObserver); +#endif // TARGET_OS_OSX +} + +#endif // MTL_PRIVATE_IMPLEMENTATION + +_MTL_INLINE void MTL::Device::newLibrary(const NS::String* pSource, const CompileOptions* pOptions, const NewLibraryCompletionHandlerFunction& completionHandler) +{ + __block NewLibraryCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newLibrary(pSource, pOptions, ^(Library* pLibrary, NS::Error* pError) { blockCompletionHandler(pLibrary, pError); }); +} + +_MTL_INLINE void MTL::Device::newLibrary(const class StitchedLibraryDescriptor* pDescriptor, const MTL::NewLibraryCompletionHandlerFunction& completionHandler) +{ + __block NewLibraryCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newLibrary(pDescriptor, ^(Library* pLibrary, NS::Error* pError) { blockCompletionHandler(pLibrary, pError); }); +} + +_MTL_INLINE void MTL::Device::newRenderPipelineState(const RenderPipelineDescriptor* pDescriptor, const NewRenderPipelineStateCompletionHandlerFunction& completionHandler) +{ + __block NewRenderPipelineStateCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newRenderPipelineState(pDescriptor, ^(RenderPipelineState* pPipelineState, NS::Error* pError) { blockCompletionHandler(pPipelineState, pError); }); +} + +_MTL_INLINE void MTL::Device::newRenderPipelineState(const RenderPipelineDescriptor* pDescriptor, PipelineOption options, const NewRenderPipelineStateWithReflectionCompletionHandlerFunction& completionHandler) +{ + __block NewRenderPipelineStateWithReflectionCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newRenderPipelineState(pDescriptor, options, ^(RenderPipelineState* pPipelineState, class RenderPipelineReflection* pReflection, NS::Error* pError) { blockCompletionHandler(pPipelineState, pReflection, pError); }); +} + +_MTL_INLINE void MTL::Device::newRenderPipelineState(const TileRenderPipelineDescriptor* pDescriptor, PipelineOption options, const NewRenderPipelineStateWithReflectionCompletionHandlerFunction& completionHandler) +{ + __block NewRenderPipelineStateWithReflectionCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newRenderPipelineState(pDescriptor, options, ^(RenderPipelineState* pPipelineState, class RenderPipelineReflection* pReflection, NS::Error* pError) { blockCompletionHandler(pPipelineState, pReflection, pError); }); +} + +_MTL_INLINE void MTL::Device::newComputePipelineState(const class Function* pFunction, const NewComputePipelineStateCompletionHandlerFunction& completionHandler) +{ + __block NewComputePipelineStateCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newComputePipelineState(pFunction, ^(ComputePipelineState* pPipelineState, NS::Error* pError) { blockCompletionHandler(pPipelineState, pError); }); +} + +_MTL_INLINE void MTL::Device::newComputePipelineState(const Function* pFunction, PipelineOption options, const NewComputePipelineStateWithReflectionCompletionHandlerFunction& completionHandler) +{ + __block NewComputePipelineStateWithReflectionCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newComputePipelineState(pFunction, options, ^(ComputePipelineState* pPipelineState, ComputePipelineReflection* pReflection, NS::Error* pError) { blockCompletionHandler(pPipelineState, pReflection, pError); }); +} + +_MTL_INLINE void MTL::Device::newComputePipelineState(const ComputePipelineDescriptor* pDescriptor, PipelineOption options, const NewComputePipelineStateWithReflectionCompletionHandlerFunction& completionHandler) +{ + __block NewComputePipelineStateWithReflectionCompletionHandlerFunction blockCompletionHandler = completionHandler; + + newComputePipelineState(pDescriptor, options, ^(ComputePipelineState* pPipelineState, ComputePipelineReflection* pReflection, NS::Error* pError) { blockCompletionHandler(pPipelineState, pReflection, pError); }); +} + +_MTL_INLINE bool MTL::Device::isHeadless() const +{ + return headless(); +} + +// property: name +_MTL_INLINE NS::String* MTL::Device::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: registryID +_MTL_INLINE uint64_t MTL::Device::registryID() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(registryID)); +} + +// property: maxThreadsPerThreadgroup +_MTL_INLINE MTL::Size MTL::Device::maxThreadsPerThreadgroup() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxThreadsPerThreadgroup)); +} + +// property: lowPower +_MTL_INLINE bool MTL::Device::lowPower() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isLowPower)); +} + +// property: headless +_MTL_INLINE bool MTL::Device::headless() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isHeadless)); +} + +// property: removable +_MTL_INLINE bool MTL::Device::removable() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isRemovable)); +} + +// property: hasUnifiedMemory +_MTL_INLINE bool MTL::Device::hasUnifiedMemory() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(hasUnifiedMemory)); +} + +// property: recommendedMaxWorkingSetSize +_MTL_INLINE uint64_t MTL::Device::recommendedMaxWorkingSetSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(recommendedMaxWorkingSetSize)); +} + +// property: location +_MTL_INLINE MTL::DeviceLocation MTL::Device::location() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(location)); +} + +// property: locationNumber +_MTL_INLINE NS::UInteger MTL::Device::locationNumber() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(locationNumber)); +} + +// property: maxTransferRate +_MTL_INLINE uint64_t MTL::Device::maxTransferRate() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxTransferRate)); +} + +// property: depth24Stencil8PixelFormatSupported +_MTL_INLINE bool MTL::Device::depth24Stencil8PixelFormatSupported() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(isDepth24Stencil8PixelFormatSupported)); +} + +// property: readWriteTextureSupport +_MTL_INLINE MTL::ReadWriteTextureTier MTL::Device::readWriteTextureSupport() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(readWriteTextureSupport)); +} + +// property: argumentBuffersSupport +_MTL_INLINE MTL::ArgumentBuffersTier MTL::Device::argumentBuffersSupport() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(argumentBuffersSupport)); +} + +// property: rasterOrderGroupsSupported +_MTL_INLINE bool MTL::Device::rasterOrderGroupsSupported() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(areRasterOrderGroupsSupported)); +} + +// property: supports32BitFloatFiltering +_MTL_INLINE bool MTL::Device::supports32BitFloatFiltering() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supports32BitFloatFiltering)); +} + +// property: supports32BitMSAA +_MTL_INLINE bool MTL::Device::supports32BitMSAA() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supports32BitMSAA)); +} + +// property: supportsQueryTextureLOD +_MTL_INLINE bool MTL::Device::supportsQueryTextureLOD() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsQueryTextureLOD)); +} + +// property: supportsBCTextureCompression +_MTL_INLINE bool MTL::Device::supportsBCTextureCompression() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsBCTextureCompression)); +} + +// property: supportsPullModelInterpolation +_MTL_INLINE bool MTL::Device::supportsPullModelInterpolation() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsPullModelInterpolation)); +} + +// property: barycentricCoordsSupported +_MTL_INLINE bool MTL::Device::barycentricCoordsSupported() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(areBarycentricCoordsSupported)); +} + +// property: supportsShaderBarycentricCoordinates +_MTL_INLINE bool MTL::Device::supportsShaderBarycentricCoordinates() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsShaderBarycentricCoordinates)); +} + +// property: currentAllocatedSize +_MTL_INLINE NS::UInteger MTL::Device::currentAllocatedSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(currentAllocatedSize)); +} + +// method: newCommandQueue +_MTL_INLINE MTL::CommandQueue* MTL::Device::newCommandQueue() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newCommandQueue)); +} + +// method: newCommandQueueWithMaxCommandBufferCount: +_MTL_INLINE MTL::CommandQueue* MTL::Device::newCommandQueue(NS::UInteger maxCommandBufferCount) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newCommandQueueWithMaxCommandBufferCount_), maxCommandBufferCount); +} + +// method: heapTextureSizeAndAlignWithDescriptor: +_MTL_INLINE MTL::SizeAndAlign MTL::Device::heapTextureSizeAndAlign(const MTL::TextureDescriptor* desc) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(heapTextureSizeAndAlignWithDescriptor_), desc); +} + +// method: heapBufferSizeAndAlignWithLength:options: +_MTL_INLINE MTL::SizeAndAlign MTL::Device::heapBufferSizeAndAlign(NS::UInteger length, MTL::ResourceOptions options) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(heapBufferSizeAndAlignWithLength_options_), length, options); +} + +// method: newHeapWithDescriptor: +_MTL_INLINE MTL::Heap* MTL::Device::newHeap(const MTL::HeapDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newHeapWithDescriptor_), descriptor); +} + +// method: newBufferWithLength:options: +_MTL_INLINE MTL::Buffer* MTL::Device::newBuffer(NS::UInteger length, MTL::ResourceOptions options) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newBufferWithLength_options_), length, options); +} + +// method: newBufferWithBytes:length:options: +_MTL_INLINE MTL::Buffer* MTL::Device::newBuffer(const void* pointer, NS::UInteger length, MTL::ResourceOptions options) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newBufferWithBytes_length_options_), pointer, length, options); +} + +// method: newBufferWithBytesNoCopy:length:options:deallocator: +_MTL_INLINE MTL::Buffer* MTL::Device::newBuffer(const void* pointer, NS::UInteger length, MTL::ResourceOptions options, const void (^deallocator)(void*, NS::UInteger)) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newBufferWithBytesNoCopy_length_options_deallocator_), pointer, length, options, deallocator); +} + +// method: newDepthStencilStateWithDescriptor: +_MTL_INLINE MTL::DepthStencilState* MTL::Device::newDepthStencilState(const MTL::DepthStencilDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newDepthStencilStateWithDescriptor_), descriptor); +} + +// method: newTextureWithDescriptor: +_MTL_INLINE MTL::Texture* MTL::Device::newTexture(const MTL::TextureDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureWithDescriptor_), descriptor); +} + +// method: newTextureWithDescriptor:iosurface:plane: +_MTL_INLINE MTL::Texture* MTL::Device::newTexture(const MTL::TextureDescriptor* descriptor, const IOSurfaceRef iosurface, NS::UInteger plane) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureWithDescriptor_iosurface_plane_), descriptor, iosurface, plane); +} + +// method: newSharedTextureWithDescriptor: +_MTL_INLINE MTL::Texture* MTL::Device::newSharedTexture(const MTL::TextureDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newSharedTextureWithDescriptor_), descriptor); +} + +// method: newSharedTextureWithHandle: +_MTL_INLINE MTL::Texture* MTL::Device::newSharedTexture(const MTL::SharedTextureHandle* sharedHandle) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newSharedTextureWithHandle_), sharedHandle); +} + +// method: newSamplerStateWithDescriptor: +_MTL_INLINE MTL::SamplerState* MTL::Device::newSamplerState(const MTL::SamplerDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newSamplerStateWithDescriptor_), descriptor); +} + +// method: newDefaultLibrary +_MTL_INLINE MTL::Library* MTL::Device::newDefaultLibrary() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newDefaultLibrary)); +} + +// method: newDefaultLibraryWithBundle:error: +_MTL_INLINE MTL::Library* MTL::Device::newDefaultLibrary(const NS::Bundle* bundle, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newDefaultLibraryWithBundle_error_), bundle, error); +} + +// method: newLibraryWithFile:error: +_MTL_INLINE MTL::Library* MTL::Device::newLibrary(const NS::String* filepath, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newLibraryWithFile_error_), filepath, error); +} + +// method: newLibraryWithURL:error: +_MTL_INLINE MTL::Library* MTL::Device::newLibrary(const NS::URL* url, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newLibraryWithURL_error_), url, error); +} + +// method: newLibraryWithData:error: +_MTL_INLINE MTL::Library* MTL::Device::newLibrary(const dispatch_data_t data, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newLibraryWithData_error_), data, error); +} + +// method: newLibraryWithSource:options:error: +_MTL_INLINE MTL::Library* MTL::Device::newLibrary(const NS::String* source, const MTL::CompileOptions* options, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newLibraryWithSource_options_error_), source, options, error); +} + +// method: newLibraryWithSource:options:completionHandler: +_MTL_INLINE void MTL::Device::newLibrary(const NS::String* source, const MTL::CompileOptions* options, const MTL::NewLibraryCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newLibraryWithSource_options_completionHandler_), source, options, completionHandler); +} + +// method: newLibraryWithStitchedDescriptor:error: +_MTL_INLINE MTL::Library* MTL::Device::newLibrary(const MTL::StitchedLibraryDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newLibraryWithStitchedDescriptor_error_), descriptor, error); +} + +// method: newLibraryWithStitchedDescriptor:completionHandler: +_MTL_INLINE void MTL::Device::newLibrary(const MTL::StitchedLibraryDescriptor* descriptor, const MTL::NewLibraryCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newLibraryWithStitchedDescriptor_completionHandler_), descriptor, completionHandler); +} + +// method: newRenderPipelineStateWithDescriptor:error: +_MTL_INLINE MTL::RenderPipelineState* MTL::Device::newRenderPipelineState(const MTL::RenderPipelineDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newRenderPipelineStateWithDescriptor_error_), descriptor, error); +} + +// method: newRenderPipelineStateWithDescriptor:options:reflection:error: +_MTL_INLINE MTL::RenderPipelineState* MTL::Device::newRenderPipelineState(const MTL::RenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::AutoreleasedRenderPipelineReflection* reflection, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newRenderPipelineStateWithDescriptor_options_reflection_error_), descriptor, options, reflection, error); +} + +// method: newRenderPipelineStateWithDescriptor:completionHandler: +_MTL_INLINE void MTL::Device::newRenderPipelineState(const MTL::RenderPipelineDescriptor* descriptor, const MTL::NewRenderPipelineStateCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newRenderPipelineStateWithDescriptor_completionHandler_), descriptor, completionHandler); +} + +// method: newRenderPipelineStateWithDescriptor:options:completionHandler: +_MTL_INLINE void MTL::Device::newRenderPipelineState(const MTL::RenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::NewRenderPipelineStateWithReflectionCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newRenderPipelineStateWithDescriptor_options_completionHandler_), descriptor, options, completionHandler); +} + +// method: newComputePipelineStateWithFunction:error: +_MTL_INLINE MTL::ComputePipelineState* MTL::Device::newComputePipelineState(const MTL::Function* computeFunction, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newComputePipelineStateWithFunction_error_), computeFunction, error); +} + +// method: newComputePipelineStateWithFunction:options:reflection:error: +_MTL_INLINE MTL::ComputePipelineState* MTL::Device::newComputePipelineState(const MTL::Function* computeFunction, MTL::PipelineOption options, const MTL::AutoreleasedComputePipelineReflection* reflection, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newComputePipelineStateWithFunction_options_reflection_error_), computeFunction, options, reflection, error); +} + +// method: newComputePipelineStateWithFunction:completionHandler: +_MTL_INLINE void MTL::Device::newComputePipelineState(const MTL::Function* computeFunction, const MTL::NewComputePipelineStateCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newComputePipelineStateWithFunction_completionHandler_), computeFunction, completionHandler); +} + +// method: newComputePipelineStateWithFunction:options:completionHandler: +_MTL_INLINE void MTL::Device::newComputePipelineState(const MTL::Function* computeFunction, MTL::PipelineOption options, const MTL::NewComputePipelineStateWithReflectionCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newComputePipelineStateWithFunction_options_completionHandler_), computeFunction, options, completionHandler); +} + +// method: newComputePipelineStateWithDescriptor:options:reflection:error: +_MTL_INLINE MTL::ComputePipelineState* MTL::Device::newComputePipelineState(const MTL::ComputePipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::AutoreleasedComputePipelineReflection* reflection, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newComputePipelineStateWithDescriptor_options_reflection_error_), descriptor, options, reflection, error); +} + +// method: newComputePipelineStateWithDescriptor:options:completionHandler: +_MTL_INLINE void MTL::Device::newComputePipelineState(const MTL::ComputePipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::NewComputePipelineStateWithReflectionCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newComputePipelineStateWithDescriptor_options_completionHandler_), descriptor, options, completionHandler); +} + +// method: newFence +_MTL_INLINE MTL::Fence* MTL::Device::newFence() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newFence)); +} + +// method: supportsFeatureSet: +_MTL_INLINE bool MTL::Device::supportsFeatureSet(MTL::FeatureSet featureSet) +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsFeatureSet_), featureSet); +} + +// method: supportsFamily: +_MTL_INLINE bool MTL::Device::supportsFamily(MTL::GPUFamily gpuFamily) +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsFamily_), gpuFamily); +} + +// method: supportsTextureSampleCount: +_MTL_INLINE bool MTL::Device::supportsTextureSampleCount(NS::UInteger sampleCount) +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsTextureSampleCount_), sampleCount); +} + +// method: minimumLinearTextureAlignmentForPixelFormat: +_MTL_INLINE NS::UInteger MTL::Device::minimumLinearTextureAlignmentForPixelFormat(MTL::PixelFormat format) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(minimumLinearTextureAlignmentForPixelFormat_), format); +} + +// method: minimumTextureBufferAlignmentForPixelFormat: +_MTL_INLINE NS::UInteger MTL::Device::minimumTextureBufferAlignmentForPixelFormat(MTL::PixelFormat format) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(minimumTextureBufferAlignmentForPixelFormat_), format); +} + +// method: newRenderPipelineStateWithTileDescriptor:options:reflection:error: +_MTL_INLINE MTL::RenderPipelineState* MTL::Device::newRenderPipelineState(const MTL::TileRenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::AutoreleasedRenderPipelineReflection* reflection, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newRenderPipelineStateWithTileDescriptor_options_reflection_error_), descriptor, options, reflection, error); +} + +// method: newRenderPipelineStateWithTileDescriptor:options:completionHandler: +_MTL_INLINE void MTL::Device::newRenderPipelineState(const MTL::TileRenderPipelineDescriptor* descriptor, MTL::PipelineOption options, const MTL::NewRenderPipelineStateWithReflectionCompletionHandler completionHandler) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newRenderPipelineStateWithTileDescriptor_options_completionHandler_), descriptor, options, completionHandler); +} + +// property: maxThreadgroupMemoryLength +_MTL_INLINE NS::UInteger MTL::Device::maxThreadgroupMemoryLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxThreadgroupMemoryLength)); +} + +// property: maxArgumentBufferSamplerCount +_MTL_INLINE NS::UInteger MTL::Device::maxArgumentBufferSamplerCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxArgumentBufferSamplerCount)); +} + +// property: programmableSamplePositionsSupported +_MTL_INLINE bool MTL::Device::programmableSamplePositionsSupported() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(areProgrammableSamplePositionsSupported)); +} + +// method: getDefaultSamplePositions:count: +_MTL_INLINE void MTL::Device::getDefaultSamplePositions(MTL::SamplePosition* positions, NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(getDefaultSamplePositions_count_), positions, count); +} + +// method: newArgumentEncoderWithArguments: +_MTL_INLINE MTL::ArgumentEncoder* MTL::Device::newArgumentEncoder(const NS::Array* arguments) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newArgumentEncoderWithArguments_), arguments); +} + +// method: supportsRasterizationRateMapWithLayerCount: +_MTL_INLINE bool MTL::Device::supportsRasterizationRateMap(NS::UInteger layerCount) +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsRasterizationRateMapWithLayerCount_), layerCount); +} + +// method: newRasterizationRateMapWithDescriptor: +_MTL_INLINE MTL::RasterizationRateMap* MTL::Device::newRasterizationRateMap(const MTL::RasterizationRateMapDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newRasterizationRateMapWithDescriptor_), descriptor); +} + +// method: newIndirectCommandBufferWithDescriptor:maxCommandCount:options: +_MTL_INLINE MTL::IndirectCommandBuffer* MTL::Device::newIndirectCommandBuffer(const MTL::IndirectCommandBufferDescriptor* descriptor, NS::UInteger maxCount, MTL::ResourceOptions options) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newIndirectCommandBufferWithDescriptor_maxCommandCount_options_), descriptor, maxCount, options); +} + +// method: newEvent +_MTL_INLINE MTL::Event* MTL::Device::newEvent() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newEvent)); +} + +// method: newSharedEvent +_MTL_INLINE MTL::SharedEvent* MTL::Device::newSharedEvent() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newSharedEvent)); +} + +// method: newSharedEventWithHandle: +_MTL_INLINE MTL::SharedEvent* MTL::Device::newSharedEvent(const MTL::SharedEventHandle* sharedEventHandle) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newSharedEventWithHandle_), sharedEventHandle); +} + +// property: peerGroupID +_MTL_INLINE uint64_t MTL::Device::peerGroupID() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(peerGroupID)); +} + +// property: peerIndex +_MTL_INLINE uint32_t MTL::Device::peerIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(peerIndex)); +} + +// property: peerCount +_MTL_INLINE uint32_t MTL::Device::peerCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(peerCount)); +} + +// method: sparseTileSizeWithTextureType:pixelFormat:sampleCount: +_MTL_INLINE MTL::Size MTL::Device::sparseTileSize(MTL::TextureType textureType, MTL::PixelFormat pixelFormat, NS::UInteger sampleCount) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sparseTileSizeWithTextureType_pixelFormat_sampleCount_), textureType, pixelFormat, sampleCount); +} + +// property: sparseTileSizeInBytes +_MTL_INLINE NS::UInteger MTL::Device::sparseTileSizeInBytes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sparseTileSizeInBytes)); +} + +// method: convertSparsePixelRegions:toTileRegions:withTileSize:alignmentMode:numRegions: +_MTL_INLINE void MTL::Device::convertSparsePixelRegions(const MTL::Region* pixelRegions, MTL::Region* tileRegions, MTL::Size tileSize, MTL::SparseTextureRegionAlignmentMode mode, NS::UInteger numRegions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(convertSparsePixelRegions_toTileRegions_withTileSize_alignmentMode_numRegions_), pixelRegions, tileRegions, tileSize, mode, numRegions); +} + +// method: convertSparseTileRegions:toPixelRegions:withTileSize:numRegions: +_MTL_INLINE void MTL::Device::convertSparseTileRegions(const MTL::Region* tileRegions, MTL::Region* pixelRegions, MTL::Size tileSize, NS::UInteger numRegions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(convertSparseTileRegions_toPixelRegions_withTileSize_numRegions_), tileRegions, pixelRegions, tileSize, numRegions); +} + +// property: maxBufferLength +_MTL_INLINE NS::UInteger MTL::Device::maxBufferLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxBufferLength)); +} + +// property: counterSets +_MTL_INLINE NS::Array* MTL::Device::counterSets() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(counterSets)); +} + +// method: newCounterSampleBufferWithDescriptor:error: +_MTL_INLINE MTL::CounterSampleBuffer* MTL::Device::newCounterSampleBuffer(const MTL::CounterSampleBufferDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newCounterSampleBufferWithDescriptor_error_), descriptor, error); +} + +// method: sampleTimestamps:gpuTimestamp: +_MTL_INLINE void MTL::Device::sampleTimestamps(MTL::Timestamp* cpuTimestamp, MTL::Timestamp* gpuTimestamp) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleTimestamps_gpuTimestamp_), cpuTimestamp, gpuTimestamp); +} + +// method: supportsCounterSampling: +_MTL_INLINE bool MTL::Device::supportsCounterSampling(MTL::CounterSamplingPoint samplingPoint) +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsCounterSampling_), samplingPoint); +} + +// method: supportsVertexAmplificationCount: +_MTL_INLINE bool MTL::Device::supportsVertexAmplificationCount(NS::UInteger count) +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsVertexAmplificationCount_), count); +} + +// property: supportsDynamicLibraries +_MTL_INLINE bool MTL::Device::supportsDynamicLibraries() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsDynamicLibraries)); +} + +// property: supportsRenderDynamicLibraries +_MTL_INLINE bool MTL::Device::supportsRenderDynamicLibraries() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsRenderDynamicLibraries)); +} + +// method: newDynamicLibrary:error: +_MTL_INLINE MTL::DynamicLibrary* MTL::Device::newDynamicLibrary(const MTL::Library* library, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newDynamicLibrary_error_), library, error); +} + +// method: newDynamicLibraryWithURL:error: +_MTL_INLINE MTL::DynamicLibrary* MTL::Device::newDynamicLibrary(const NS::URL* url, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newDynamicLibraryWithURL_error_), url, error); +} + +// method: newBinaryArchiveWithDescriptor:error: +_MTL_INLINE MTL::BinaryArchive* MTL::Device::newBinaryArchive(const MTL::BinaryArchiveDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newBinaryArchiveWithDescriptor_error_), descriptor, error); +} + +// property: supportsRaytracing +_MTL_INLINE bool MTL::Device::supportsRaytracing() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsRaytracing)); +} + +// method: accelerationStructureSizesWithDescriptor: +_MTL_INLINE MTL::AccelerationStructureSizes MTL::Device::accelerationStructureSizes(const MTL::AccelerationStructureDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(accelerationStructureSizesWithDescriptor_), descriptor); +} + +// method: newAccelerationStructureWithSize: +_MTL_INLINE MTL::AccelerationStructure* MTL::Device::newAccelerationStructure(NS::UInteger size) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newAccelerationStructureWithSize_), size); +} + +// method: newAccelerationStructureWithDescriptor: +_MTL_INLINE MTL::AccelerationStructure* MTL::Device::newAccelerationStructure(const MTL::AccelerationStructureDescriptor* descriptor) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newAccelerationStructureWithDescriptor_), descriptor); +} + +// property: supportsFunctionPointers +_MTL_INLINE bool MTL::Device::supportsFunctionPointers() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsFunctionPointers)); +} + +// property: supportsFunctionPointersFromRender +_MTL_INLINE bool MTL::Device::supportsFunctionPointersFromRender() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsFunctionPointersFromRender)); +} + +// property: supportsRaytracingFromRender +_MTL_INLINE bool MTL::Device::supportsRaytracingFromRender() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsRaytracingFromRender)); +} + +// property: supportsPrimitiveMotionBlur +_MTL_INLINE bool MTL::Device::supportsPrimitiveMotionBlur() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportsPrimitiveMotionBlur)); +} diff --git a/metal-cpp/Metal/MTLDrawable.hpp b/metal-cpp/Metal/MTLDrawable.hpp new file mode 100644 index 00000000..73409760 --- /dev/null +++ b/metal-cpp/Metal/MTLDrawable.hpp @@ -0,0 +1,99 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLDrawable.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include +#include + +namespace MTL +{ +using DrawablePresentedHandler = void (^)(class Drawable*); + +using DrawablePresentedHandlerFunction = std::function; + +class Drawable : public NS::Referencing +{ +public: + void addPresentedHandler(const MTL::DrawablePresentedHandlerFunction& function); + + void present(); + + void presentAtTime(CFTimeInterval presentationTime); + + void presentAfterMinimumDuration(CFTimeInterval duration); + + void addPresentedHandler(const MTL::DrawablePresentedHandler block); + + CFTimeInterval presentedTime() const; + + NS::UInteger drawableID() const; +}; + +} + +_MTL_INLINE void MTL::Drawable::addPresentedHandler(const MTL::DrawablePresentedHandlerFunction& function) +{ + __block DrawablePresentedHandlerFunction blockFunction = function; + + addPresentedHandler(^(Drawable* pDrawable) { blockFunction(pDrawable); }); +} + +// method: present +_MTL_INLINE void MTL::Drawable::present() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(present)); +} + +// method: presentAtTime: +_MTL_INLINE void MTL::Drawable::presentAtTime(CFTimeInterval presentationTime) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(presentAtTime_), presentationTime); +} + +// method: presentAfterMinimumDuration: +_MTL_INLINE void MTL::Drawable::presentAfterMinimumDuration(CFTimeInterval duration) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(presentAfterMinimumDuration_), duration); +} + +// method: addPresentedHandler: +_MTL_INLINE void MTL::Drawable::addPresentedHandler(const MTL::DrawablePresentedHandler block) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(addPresentedHandler_), block); +} + +// property: presentedTime +_MTL_INLINE CFTimeInterval MTL::Drawable::presentedTime() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(presentedTime)); +} + +// property: drawableID +_MTL_INLINE NS::UInteger MTL::Drawable::drawableID() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(drawableID)); +} diff --git a/metal-cpp/Metal/MTLDynamicLibrary.hpp b/metal-cpp/Metal/MTLDynamicLibrary.hpp new file mode 100644 index 00000000..489b9990 --- /dev/null +++ b/metal-cpp/Metal/MTLDynamicLibrary.hpp @@ -0,0 +1,82 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLDynamicLibrary.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, DynamicLibraryError) { + DynamicLibraryErrorNone = 0, + DynamicLibraryErrorInvalidFile = 1, + DynamicLibraryErrorCompilationFailure = 2, + DynamicLibraryErrorUnresolvedInstallName = 3, + DynamicLibraryErrorDependencyLoadFailure = 4, + DynamicLibraryErrorUnsupported = 5, +}; + +class DynamicLibrary : public NS::Referencing +{ +public: + NS::String* label() const; + void setLabel(const NS::String* label); + + class Device* device() const; + + NS::String* installName() const; + + bool serializeToURL(const NS::URL* url, NS::Error** error); +}; + +} + +// property: label +_MTL_INLINE NS::String* MTL::DynamicLibrary::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::DynamicLibrary::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::DynamicLibrary::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: installName +_MTL_INLINE NS::String* MTL::DynamicLibrary::installName() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(installName)); +} + +// method: serializeToURL:error: +_MTL_INLINE bool MTL::DynamicLibrary::serializeToURL(const NS::URL* url, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(serializeToURL_error_), url, error); +} diff --git a/metal-cpp/Metal/MTLEvent.hpp b/metal-cpp/Metal/MTLEvent.hpp new file mode 100644 index 00000000..4a9fac23 --- /dev/null +++ b/metal-cpp/Metal/MTLEvent.hpp @@ -0,0 +1,163 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLEvent.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLEvent.hpp" + +namespace MTL +{ +class Event : public NS::Referencing +{ +public: + class Device* device() const; + + NS::String* label() const; + void setLabel(const NS::String* label); +}; + +class SharedEventListener : public NS::Referencing +{ +public: + static class SharedEventListener* alloc(); + + MTL::SharedEventListener* init(); + + MTL::SharedEventListener* init(const dispatch_queue_t dispatchQueue); + + dispatch_queue_t dispatchQueue() const; +}; + +using SharedEventNotificationBlock = void (^)(SharedEvent* pEvent, std::uint64_t value); + +class SharedEvent : public NS::Referencing +{ +public: + void notifyListener(const class SharedEventListener* listener, uint64_t value, const MTL::SharedEventNotificationBlock block); + + class SharedEventHandle* newSharedEventHandle(); + + uint64_t signaledValue() const; + void setSignaledValue(uint64_t signaledValue); +}; + +class SharedEventHandle : public NS::Referencing +{ +public: + static class SharedEventHandle* alloc(); + + class SharedEventHandle* init(); + + NS::String* label() const; +}; + +struct SharedEventHandlePrivate +{ +} _MTL_PACKED; + +} + +// property: device +_MTL_INLINE MTL::Device* MTL::Event::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: label +_MTL_INLINE NS::String* MTL::Event::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::Event::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// static method: alloc +_MTL_INLINE MTL::SharedEventListener* MTL::SharedEventListener::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLSharedEventListener)); +} + +// method: init +_MTL_INLINE MTL::SharedEventListener* MTL::SharedEventListener::init() +{ + return NS::Object::init(); +} + +// method: initWithDispatchQueue: +_MTL_INLINE MTL::SharedEventListener* MTL::SharedEventListener::init(const dispatch_queue_t dispatchQueue) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(initWithDispatchQueue_), dispatchQueue); +} + +// property: dispatchQueue +_MTL_INLINE dispatch_queue_t MTL::SharedEventListener::dispatchQueue() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(dispatchQueue)); +} + +// method: notifyListener:atValue:block: +_MTL_INLINE void MTL::SharedEvent::notifyListener(const MTL::SharedEventListener* listener, uint64_t value, const MTL::SharedEventNotificationBlock block) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(notifyListener_atValue_block_), listener, value, block); +} + +// method: newSharedEventHandle +_MTL_INLINE MTL::SharedEventHandle* MTL::SharedEvent::newSharedEventHandle() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newSharedEventHandle)); +} + +// property: signaledValue +_MTL_INLINE uint64_t MTL::SharedEvent::signaledValue() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(signaledValue)); +} + +_MTL_INLINE void MTL::SharedEvent::setSignaledValue(uint64_t signaledValue) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSignaledValue_), signaledValue); +} + +// static method: alloc +_MTL_INLINE MTL::SharedEventHandle* MTL::SharedEventHandle::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLSharedEventHandle)); +} + +// method: init +_MTL_INLINE MTL::SharedEventHandle* MTL::SharedEventHandle::init() +{ + return NS::Object::init(); +} + +// property: label +_MTL_INLINE NS::String* MTL::SharedEventHandle::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} diff --git a/metal-cpp/Metal/MTLFence.hpp b/metal-cpp/Metal/MTLFence.hpp new file mode 100644 index 00000000..bc6e9314 --- /dev/null +++ b/metal-cpp/Metal/MTLFence.hpp @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLFence.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +class Fence : public NS::Referencing +{ +public: + class Device* device() const; + + NS::String* label() const; + void setLabel(const NS::String* label); +}; + +} + +// property: device +_MTL_INLINE MTL::Device* MTL::Fence::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: label +_MTL_INLINE NS::String* MTL::Fence::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::Fence::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} diff --git a/metal-cpp/Metal/MTLFunctionConstantValues.hpp b/metal-cpp/Metal/MTLFunctionConstantValues.hpp new file mode 100644 index 00000000..9608554e --- /dev/null +++ b/metal-cpp/Metal/MTLFunctionConstantValues.hpp @@ -0,0 +1,85 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLFunctionConstantValues.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLArgument.hpp" + +namespace MTL +{ +class FunctionConstantValues : public NS::Copying +{ +public: + static class FunctionConstantValues* alloc(); + + class FunctionConstantValues* init(); + + void setConstantValue(const void* value, MTL::DataType type, NS::UInteger index); + + void setConstantValues(const void* values, MTL::DataType type, NS::Range range); + + void setConstantValue(const void* value, MTL::DataType type, const NS::String* name); + + void reset(); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::FunctionConstantValues* MTL::FunctionConstantValues::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLFunctionConstantValues)); +} + +// method: init +_MTL_INLINE MTL::FunctionConstantValues* MTL::FunctionConstantValues::init() +{ + return NS::Object::init(); +} + +// method: setConstantValue:type:atIndex: +_MTL_INLINE void MTL::FunctionConstantValues::setConstantValue(const void* value, MTL::DataType type, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setConstantValue_type_atIndex_), value, type, index); +} + +// method: setConstantValues:type:withRange: +_MTL_INLINE void MTL::FunctionConstantValues::setConstantValues(const void* values, MTL::DataType type, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setConstantValues_type_withRange_), values, type, range); +} + +// method: setConstantValue:type:withName: +_MTL_INLINE void MTL::FunctionConstantValues::setConstantValue(const void* value, MTL::DataType type, const NS::String* name) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setConstantValue_type_withName_), value, type, name); +} + +// method: reset +_MTL_INLINE void MTL::FunctionConstantValues::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} diff --git a/metal-cpp/Metal/MTLFunctionDescriptor.hpp b/metal-cpp/Metal/MTLFunctionDescriptor.hpp new file mode 100644 index 00000000..a6f00d67 --- /dev/null +++ b/metal-cpp/Metal/MTLFunctionDescriptor.hpp @@ -0,0 +1,156 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLFunctionDescriptor.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLFunctionDescriptor.hpp" + +namespace MTL +{ +_MTL_OPTIONS(NS::UInteger, FunctionOptions) { + FunctionOptionNone = 0, + FunctionOptionCompileToBinary = 1, +}; + +class FunctionDescriptor : public NS::Copying +{ +public: + static class FunctionDescriptor* alloc(); + + class FunctionDescriptor* init(); + + static class FunctionDescriptor* functionDescriptor(); + + NS::String* name() const; + void setName(const NS::String* name); + + NS::String* specializedName() const; + void setSpecializedName(const NS::String* specializedName); + + class FunctionConstantValues* constantValues() const; + void setConstantValues(const class FunctionConstantValues* constantValues); + + MTL::FunctionOptions options() const; + void setOptions(MTL::FunctionOptions options); + + NS::Array* binaryArchives() const; + void setBinaryArchives(const NS::Array* binaryArchives); +}; + +class IntersectionFunctionDescriptor : public NS::Copying +{ +public: + static class IntersectionFunctionDescriptor* alloc(); + + class IntersectionFunctionDescriptor* init(); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::FunctionDescriptor* MTL::FunctionDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLFunctionDescriptor)); +} + +// method: init +_MTL_INLINE MTL::FunctionDescriptor* MTL::FunctionDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: functionDescriptor +_MTL_INLINE MTL::FunctionDescriptor* MTL::FunctionDescriptor::functionDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLFunctionDescriptor), _MTL_PRIVATE_SEL(functionDescriptor)); +} + +// property: name +_MTL_INLINE NS::String* MTL::FunctionDescriptor::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +_MTL_INLINE void MTL::FunctionDescriptor::setName(const NS::String* name) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setName_), name); +} + +// property: specializedName +_MTL_INLINE NS::String* MTL::FunctionDescriptor::specializedName() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(specializedName)); +} + +_MTL_INLINE void MTL::FunctionDescriptor::setSpecializedName(const NS::String* specializedName) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSpecializedName_), specializedName); +} + +// property: constantValues +_MTL_INLINE MTL::FunctionConstantValues* MTL::FunctionDescriptor::constantValues() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(constantValues)); +} + +_MTL_INLINE void MTL::FunctionDescriptor::setConstantValues(const MTL::FunctionConstantValues* constantValues) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setConstantValues_), constantValues); +} + +// property: options +_MTL_INLINE MTL::FunctionOptions MTL::FunctionDescriptor::options() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(options)); +} + +_MTL_INLINE void MTL::FunctionDescriptor::setOptions(MTL::FunctionOptions options) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOptions_), options); +} + +// property: binaryArchives +_MTL_INLINE NS::Array* MTL::FunctionDescriptor::binaryArchives() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(binaryArchives)); +} + +_MTL_INLINE void MTL::FunctionDescriptor::setBinaryArchives(const NS::Array* binaryArchives) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBinaryArchives_), binaryArchives); +} + +// static method: alloc +_MTL_INLINE MTL::IntersectionFunctionDescriptor* MTL::IntersectionFunctionDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLIntersectionFunctionDescriptor)); +} + +// method: init +_MTL_INLINE MTL::IntersectionFunctionDescriptor* MTL::IntersectionFunctionDescriptor::init() +{ + return NS::Object::init(); +} diff --git a/metal-cpp/Metal/MTLFunctionHandle.hpp b/metal-cpp/Metal/MTLFunctionHandle.hpp new file mode 100644 index 00000000..64f38514 --- /dev/null +++ b/metal-cpp/Metal/MTLFunctionHandle.hpp @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLFunctionHandle.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLLibrary.hpp" + +namespace MTL +{ +class FunctionHandle : public NS::Referencing +{ +public: + MTL::FunctionType functionType() const; + + NS::String* name() const; + + class Device* device() const; +}; + +} + +// property: functionType +_MTL_INLINE MTL::FunctionType MTL::FunctionHandle::functionType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionType)); +} + +// property: name +_MTL_INLINE NS::String* MTL::FunctionHandle::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::FunctionHandle::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} diff --git a/metal-cpp/Metal/MTLFunctionLog.hpp b/metal-cpp/Metal/MTLFunctionLog.hpp new file mode 100644 index 00000000..ca38dc9d --- /dev/null +++ b/metal-cpp/Metal/MTLFunctionLog.hpp @@ -0,0 +1,114 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLFunctionLog.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLFunctionLog.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, FunctionLogType) { + FunctionLogTypeValidation = 0, +}; + +class LogContainer : public NS::Referencing +{ +public: +}; + +class FunctionLogDebugLocation : public NS::Referencing +{ +public: + NS::String* functionName() const; + + NS::URL* URL() const; + + NS::UInteger line() const; + + NS::UInteger column() const; +}; + +class FunctionLog : public NS::Referencing +{ +public: + MTL::FunctionLogType type() const; + + NS::String* encoderLabel() const; + + class Function* function() const; + + class FunctionLogDebugLocation* debugLocation() const; +}; + +} + +// property: functionName +_MTL_INLINE NS::String* MTL::FunctionLogDebugLocation::functionName() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionName)); +} + +// property: URL +_MTL_INLINE NS::URL* MTL::FunctionLogDebugLocation::URL() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(URL)); +} + +// property: line +_MTL_INLINE NS::UInteger MTL::FunctionLogDebugLocation::line() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(line)); +} + +// property: column +_MTL_INLINE NS::UInteger MTL::FunctionLogDebugLocation::column() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(column)); +} + +// property: type +_MTL_INLINE MTL::FunctionLogType MTL::FunctionLog::type() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(type)); +} + +// property: encoderLabel +_MTL_INLINE NS::String* MTL::FunctionLog::encoderLabel() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(encoderLabel)); +} + +// property: function +_MTL_INLINE MTL::Function* MTL::FunctionLog::function() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(function)); +} + +// property: debugLocation +_MTL_INLINE MTL::FunctionLogDebugLocation* MTL::FunctionLog::debugLocation() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(debugLocation)); +} diff --git a/metal-cpp/Metal/MTLFunctionStitching.hpp b/metal-cpp/Metal/MTLFunctionStitching.hpp new file mode 100644 index 00000000..19dcb496 --- /dev/null +++ b/metal-cpp/Metal/MTLFunctionStitching.hpp @@ -0,0 +1,305 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLFunctionStitching.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLFunctionStitching.hpp" + +namespace MTL +{ +class FunctionStitchingAttribute : public NS::Referencing +{ +}; + +class FunctionStitchingAttributeAlwaysInline : public NS::Referencing +{ +public: + static class FunctionStitchingAttributeAlwaysInline* alloc(); + + class FunctionStitchingAttributeAlwaysInline* init(); +}; + +class FunctionStitchingNode : public NS::Copying +{ +}; + +class FunctionStitchingInputNode : public NS::Referencing +{ +public: + static class FunctionStitchingInputNode* alloc(); + + class FunctionStitchingInputNode* init(); + + NS::UInteger argumentIndex() const; + void setArgumentIndex(NS::UInteger argumentIndex); + + MTL::FunctionStitchingInputNode* init(NS::UInteger argument); +}; + +class FunctionStitchingFunctionNode : public NS::Referencing +{ +public: + static class FunctionStitchingFunctionNode* alloc(); + + class FunctionStitchingFunctionNode* init(); + + NS::String* name() const; + void setName(const NS::String* name); + + NS::Array* arguments() const; + void setArguments(const NS::Array* arguments); + + NS::Array* controlDependencies() const; + void setControlDependencies(const NS::Array* controlDependencies); + + MTL::FunctionStitchingFunctionNode* init(const NS::String* name, const NS::Array* arguments, const NS::Array* controlDependencies); +}; + +class FunctionStitchingGraph : public NS::Copying +{ +public: + static class FunctionStitchingGraph* alloc(); + + class FunctionStitchingGraph* init(); + + NS::String* functionName() const; + void setFunctionName(const NS::String* functionName); + + NS::Array* nodes() const; + void setNodes(const NS::Array* nodes); + + class FunctionStitchingFunctionNode* outputNode() const; + void setOutputNode(const class FunctionStitchingFunctionNode* outputNode); + + NS::Array* attributes() const; + void setAttributes(const NS::Array* attributes); + + MTL::FunctionStitchingGraph* init(const NS::String* functionName, const NS::Array* nodes, const class FunctionStitchingFunctionNode* outputNode, const NS::Array* attributes); +}; + +class StitchedLibraryDescriptor : public NS::Copying +{ +public: + static class StitchedLibraryDescriptor* alloc(); + + class StitchedLibraryDescriptor* init(); + + NS::Array* functionGraphs() const; + void setFunctionGraphs(const NS::Array* functionGraphs); + + NS::Array* functions() const; + void setFunctions(const NS::Array* functions); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::FunctionStitchingAttributeAlwaysInline* MTL::FunctionStitchingAttributeAlwaysInline::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLFunctionStitchingAttributeAlwaysInline)); +} + +// method: init +_MTL_INLINE MTL::FunctionStitchingAttributeAlwaysInline* MTL::FunctionStitchingAttributeAlwaysInline::init() +{ + return NS::Object::init(); +} + +// static method: alloc +_MTL_INLINE MTL::FunctionStitchingInputNode* MTL::FunctionStitchingInputNode::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLFunctionStitchingInputNode)); +} + +// method: init +_MTL_INLINE MTL::FunctionStitchingInputNode* MTL::FunctionStitchingInputNode::init() +{ + return NS::Object::init(); +} + +// property: argumentIndex +_MTL_INLINE NS::UInteger MTL::FunctionStitchingInputNode::argumentIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(argumentIndex)); +} + +_MTL_INLINE void MTL::FunctionStitchingInputNode::setArgumentIndex(NS::UInteger argumentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setArgumentIndex_), argumentIndex); +} + +// method: initWithArgumentIndex: +_MTL_INLINE MTL::FunctionStitchingInputNode* MTL::FunctionStitchingInputNode::init(NS::UInteger argument) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(initWithArgumentIndex_), argument); +} + +// static method: alloc +_MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingFunctionNode::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLFunctionStitchingFunctionNode)); +} + +// method: init +_MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingFunctionNode::init() +{ + return NS::Object::init(); +} + +// property: name +_MTL_INLINE NS::String* MTL::FunctionStitchingFunctionNode::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +_MTL_INLINE void MTL::FunctionStitchingFunctionNode::setName(const NS::String* name) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setName_), name); +} + +// property: arguments +_MTL_INLINE NS::Array* MTL::FunctionStitchingFunctionNode::arguments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arguments)); +} + +_MTL_INLINE void MTL::FunctionStitchingFunctionNode::setArguments(const NS::Array* arguments) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setArguments_), arguments); +} + +// property: controlDependencies +_MTL_INLINE NS::Array* MTL::FunctionStitchingFunctionNode::controlDependencies() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(controlDependencies)); +} + +_MTL_INLINE void MTL::FunctionStitchingFunctionNode::setControlDependencies(const NS::Array* controlDependencies) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setControlDependencies_), controlDependencies); +} + +// method: initWithName:arguments:controlDependencies: +_MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingFunctionNode::init(const NS::String* name, const NS::Array* arguments, const NS::Array* controlDependencies) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(initWithName_arguments_controlDependencies_), name, arguments, controlDependencies); +} + +// static method: alloc +_MTL_INLINE MTL::FunctionStitchingGraph* MTL::FunctionStitchingGraph::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLFunctionStitchingGraph)); +} + +// method: init +_MTL_INLINE MTL::FunctionStitchingGraph* MTL::FunctionStitchingGraph::init() +{ + return NS::Object::init(); +} + +// property: functionName +_MTL_INLINE NS::String* MTL::FunctionStitchingGraph::functionName() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionName)); +} + +_MTL_INLINE void MTL::FunctionStitchingGraph::setFunctionName(const NS::String* functionName) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctionName_), functionName); +} + +// property: nodes +_MTL_INLINE NS::Array* MTL::FunctionStitchingGraph::nodes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(nodes)); +} + +_MTL_INLINE void MTL::FunctionStitchingGraph::setNodes(const NS::Array* nodes) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setNodes_), nodes); +} + +// property: outputNode +_MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingGraph::outputNode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(outputNode)); +} + +_MTL_INLINE void MTL::FunctionStitchingGraph::setOutputNode(const MTL::FunctionStitchingFunctionNode* outputNode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOutputNode_), outputNode); +} + +// property: attributes +_MTL_INLINE NS::Array* MTL::FunctionStitchingGraph::attributes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(attributes)); +} + +_MTL_INLINE void MTL::FunctionStitchingGraph::setAttributes(const NS::Array* attributes) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAttributes_), attributes); +} + +// method: initWithFunctionName:nodes:outputNode:attributes: +_MTL_INLINE MTL::FunctionStitchingGraph* MTL::FunctionStitchingGraph::init(const NS::String* functionName, const NS::Array* nodes, const MTL::FunctionStitchingFunctionNode* outputNode, const NS::Array* attributes) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(initWithFunctionName_nodes_outputNode_attributes_), functionName, nodes, outputNode, attributes); +} + +// static method: alloc +_MTL_INLINE MTL::StitchedLibraryDescriptor* MTL::StitchedLibraryDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLStitchedLibraryDescriptor)); +} + +// method: init +_MTL_INLINE MTL::StitchedLibraryDescriptor* MTL::StitchedLibraryDescriptor::init() +{ + return NS::Object::init(); +} + +// property: functionGraphs +_MTL_INLINE NS::Array* MTL::StitchedLibraryDescriptor::functionGraphs() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionGraphs)); +} + +_MTL_INLINE void MTL::StitchedLibraryDescriptor::setFunctionGraphs(const NS::Array* functionGraphs) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctionGraphs_), functionGraphs); +} + +// property: functions +_MTL_INLINE NS::Array* MTL::StitchedLibraryDescriptor::functions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functions)); +} + +_MTL_INLINE void MTL::StitchedLibraryDescriptor::setFunctions(const NS::Array* functions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctions_), functions); +} diff --git a/metal-cpp/Metal/MTLHeaderBridge.hpp b/metal-cpp/Metal/MTLHeaderBridge.hpp new file mode 100644 index 00000000..810085dd --- /dev/null +++ b/metal-cpp/Metal/MTLHeaderBridge.hpp @@ -0,0 +1,2047 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLHeaderBridge.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once +#include "MTLPrivate.hpp" + +namespace MTL::Private::Class +{ + +_MTL_PRIVATE_DEF_CLS(MTLAccelerationStructureBoundingBoxGeometryDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLAccelerationStructureDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLAccelerationStructureGeometryDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLAccelerationStructureMotionTriangleGeometryDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLAccelerationStructureTriangleGeometryDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLArgument); +_MTL_PRIVATE_DEF_CLS(MTLArgumentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLArrayType); +_MTL_PRIVATE_DEF_CLS(MTLAttribute); +_MTL_PRIVATE_DEF_CLS(MTLAttributeDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLAttributeDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLBinaryArchiveDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLBlitPassDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLBlitPassSampleBufferAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLBlitPassSampleBufferAttachmentDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLBufferLayoutDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLBufferLayoutDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLCaptureDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLCaptureManager); +_MTL_PRIVATE_DEF_CLS(MTLCommandBufferDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLCompileOptions); +_MTL_PRIVATE_DEF_CLS(MTLComputePassDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLComputePassSampleBufferAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLComputePassSampleBufferAttachmentDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLComputePipelineDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLComputePipelineReflection); +_MTL_PRIVATE_DEF_CLS(MTLCounterSampleBufferDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLDepthStencilDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLFunctionConstant); +_MTL_PRIVATE_DEF_CLS(MTLFunctionConstantValues); +_MTL_PRIVATE_DEF_CLS(MTLFunctionDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLFunctionStitchingAttributeAlwaysInline); +_MTL_PRIVATE_DEF_CLS(MTLFunctionStitchingFunctionNode); +_MTL_PRIVATE_DEF_CLS(MTLFunctionStitchingGraph); +_MTL_PRIVATE_DEF_CLS(MTLFunctionStitchingInputNode); +_MTL_PRIVATE_DEF_CLS(MTLHeapDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLIndirectCommandBufferDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLInstanceAccelerationStructureDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLIntersectionFunctionDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLIntersectionFunctionTableDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLLinkedFunctions); +_MTL_PRIVATE_DEF_CLS(MTLMotionKeyframeData); +_MTL_PRIVATE_DEF_CLS(MTLPipelineBufferDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLPipelineBufferDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLPointerType); +_MTL_PRIVATE_DEF_CLS(MTLPrimitiveAccelerationStructureDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRasterizationRateLayerArray); +_MTL_PRIVATE_DEF_CLS(MTLRasterizationRateLayerDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRasterizationRateMapDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRasterizationRateSampleArray); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassColorAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassColorAttachmentDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassDepthAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassSampleBufferAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassSampleBufferAttachmentDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLRenderPassStencilAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPipelineColorAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPipelineColorAttachmentDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLRenderPipelineDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPipelineFunctionsDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLRenderPipelineReflection); +_MTL_PRIVATE_DEF_CLS(MTLResourceStatePassDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLResourceStatePassSampleBufferAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLResourceStatePassSampleBufferAttachmentDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLSamplerDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLSharedEventHandle); +_MTL_PRIVATE_DEF_CLS(MTLSharedEventListener); +_MTL_PRIVATE_DEF_CLS(MTLSharedTextureHandle); +_MTL_PRIVATE_DEF_CLS(MTLStageInputOutputDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLStencilDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLStitchedLibraryDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLStructMember); +_MTL_PRIVATE_DEF_CLS(MTLStructType); +_MTL_PRIVATE_DEF_CLS(MTLTextureDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLTextureReferenceType); +_MTL_PRIVATE_DEF_CLS(MTLTileRenderPipelineColorAttachmentDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLTileRenderPipelineColorAttachmentDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLTileRenderPipelineDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLType); +_MTL_PRIVATE_DEF_CLS(MTLVertexAttribute); +_MTL_PRIVATE_DEF_CLS(MTLVertexAttributeDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLVertexAttributeDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLVertexBufferLayoutDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLVertexBufferLayoutDescriptorArray); +_MTL_PRIVATE_DEF_CLS(MTLVertexDescriptor); +_MTL_PRIVATE_DEF_CLS(MTLVisibleFunctionTableDescriptor); + +} + +namespace MTL::Private::Protocol +{ + +_MTL_PRIVATE_DEF_PRO(MTLAccelerationStructure); +_MTL_PRIVATE_DEF_PRO(MTLAccelerationStructureCommandEncoder); +_MTL_PRIVATE_DEF_PRO(MTLArgumentEncoder); +_MTL_PRIVATE_DEF_PRO(MTLBinaryArchive); +_MTL_PRIVATE_DEF_PRO(MTLBlitCommandEncoder); +_MTL_PRIVATE_DEF_PRO(MTLBuffer); +_MTL_PRIVATE_DEF_PRO(MTLCommandBuffer); +_MTL_PRIVATE_DEF_PRO(MTLCommandBufferEncoderInfo); +_MTL_PRIVATE_DEF_PRO(MTLCommandEncoder); +_MTL_PRIVATE_DEF_PRO(MTLCommandQueue); +_MTL_PRIVATE_DEF_PRO(MTLComputeCommandEncoder); +_MTL_PRIVATE_DEF_PRO(MTLComputePipelineState); +_MTL_PRIVATE_DEF_PRO(MTLCounter); +_MTL_PRIVATE_DEF_PRO(MTLCounterSampleBuffer); +_MTL_PRIVATE_DEF_PRO(MTLCounterSet); +_MTL_PRIVATE_DEF_PRO(MTLDepthStencilState); +_MTL_PRIVATE_DEF_PRO(MTLDevice); +_MTL_PRIVATE_DEF_PRO(MTLDrawable); +_MTL_PRIVATE_DEF_PRO(MTLDynamicLibrary); +_MTL_PRIVATE_DEF_PRO(MTLEvent); +_MTL_PRIVATE_DEF_PRO(MTLFence); +_MTL_PRIVATE_DEF_PRO(MTLFunction); +_MTL_PRIVATE_DEF_PRO(MTLFunctionHandle); +_MTL_PRIVATE_DEF_PRO(MTLFunctionLog); +_MTL_PRIVATE_DEF_PRO(MTLFunctionLogDebugLocation); +_MTL_PRIVATE_DEF_PRO(MTLFunctionStitchingAttribute); +_MTL_PRIVATE_DEF_PRO(MTLFunctionStitchingNode); +_MTL_PRIVATE_DEF_PRO(MTLHeap); +_MTL_PRIVATE_DEF_PRO(MTLIndirectCommandBuffer); +_MTL_PRIVATE_DEF_PRO(MTLIndirectComputeCommand); +_MTL_PRIVATE_DEF_PRO(MTLIndirectRenderCommand); +_MTL_PRIVATE_DEF_PRO(MTLIntersectionFunctionTable); +_MTL_PRIVATE_DEF_PRO(MTLLibrary); +_MTL_PRIVATE_DEF_PRO(MTLLogContainer); +_MTL_PRIVATE_DEF_PRO(MTLParallelRenderCommandEncoder); +_MTL_PRIVATE_DEF_PRO(MTLRasterizationRateMap); +_MTL_PRIVATE_DEF_PRO(MTLRenderCommandEncoder); +_MTL_PRIVATE_DEF_PRO(MTLRenderPipelineState); +_MTL_PRIVATE_DEF_PRO(MTLResource); +_MTL_PRIVATE_DEF_PRO(MTLResourceStateCommandEncoder); +_MTL_PRIVATE_DEF_PRO(MTLSamplerState); +_MTL_PRIVATE_DEF_PRO(MTLSharedEvent); +_MTL_PRIVATE_DEF_PRO(MTLTexture); +_MTL_PRIVATE_DEF_PRO(MTLVisibleFunctionTable); + +} + +namespace MTL::Private::Selector +{ + +_MTL_PRIVATE_DEF_SEL(GPUEndTime, + "GPUEndTime"); +_MTL_PRIVATE_DEF_SEL(GPUStartTime, + "GPUStartTime"); +_MTL_PRIVATE_DEF_SEL(URL, + "URL"); +_MTL_PRIVATE_DEF_SEL(accelerationStructureCommandEncoder, + "accelerationStructureCommandEncoder"); +_MTL_PRIVATE_DEF_SEL(accelerationStructureSizesWithDescriptor_, + "accelerationStructureSizesWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(access, + "access"); +_MTL_PRIVATE_DEF_SEL(addCompletedHandler_, + "addCompletedHandler:"); +_MTL_PRIVATE_DEF_SEL(addComputePipelineFunctionsWithDescriptor_error_, + "addComputePipelineFunctionsWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(addDebugMarker_range_, + "addDebugMarker:range:"); +_MTL_PRIVATE_DEF_SEL(addFunctionWithDescriptor_library_error_, + "addFunctionWithDescriptor:library:error:"); +_MTL_PRIVATE_DEF_SEL(addPresentedHandler_, + "addPresentedHandler:"); +_MTL_PRIVATE_DEF_SEL(addRenderPipelineFunctionsWithDescriptor_error_, + "addRenderPipelineFunctionsWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(addScheduledHandler_, + "addScheduledHandler:"); +_MTL_PRIVATE_DEF_SEL(addTileRenderPipelineFunctionsWithDescriptor_error_, + "addTileRenderPipelineFunctionsWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(alignment, + "alignment"); +_MTL_PRIVATE_DEF_SEL(allocatedSize, + "allocatedSize"); +_MTL_PRIVATE_DEF_SEL(allowDuplicateIntersectionFunctionInvocation, + "allowDuplicateIntersectionFunctionInvocation"); +_MTL_PRIVATE_DEF_SEL(allowGPUOptimizedContents, + "allowGPUOptimizedContents"); +_MTL_PRIVATE_DEF_SEL(alphaBlendOperation, + "alphaBlendOperation"); +_MTL_PRIVATE_DEF_SEL(areBarycentricCoordsSupported, + "areBarycentricCoordsSupported"); +_MTL_PRIVATE_DEF_SEL(areProgrammableSamplePositionsSupported, + "areProgrammableSamplePositionsSupported"); +_MTL_PRIVATE_DEF_SEL(areRasterOrderGroupsSupported, + "areRasterOrderGroupsSupported"); +_MTL_PRIVATE_DEF_SEL(argumentBuffersSupport, + "argumentBuffersSupport"); +_MTL_PRIVATE_DEF_SEL(argumentDescriptor, + "argumentDescriptor"); +_MTL_PRIVATE_DEF_SEL(argumentIndex, + "argumentIndex"); +_MTL_PRIVATE_DEF_SEL(argumentIndexStride, + "argumentIndexStride"); +_MTL_PRIVATE_DEF_SEL(arguments, + "arguments"); +_MTL_PRIVATE_DEF_SEL(arrayLength, + "arrayLength"); +_MTL_PRIVATE_DEF_SEL(arrayType, + "arrayType"); +_MTL_PRIVATE_DEF_SEL(attributeIndex, + "attributeIndex"); +_MTL_PRIVATE_DEF_SEL(attributeType, + "attributeType"); +_MTL_PRIVATE_DEF_SEL(attributes, + "attributes"); +_MTL_PRIVATE_DEF_SEL(backFaceStencil, + "backFaceStencil"); +_MTL_PRIVATE_DEF_SEL(binaryArchives, + "binaryArchives"); +_MTL_PRIVATE_DEF_SEL(binaryFunctions, + "binaryFunctions"); +_MTL_PRIVATE_DEF_SEL(blitCommandEncoder, + "blitCommandEncoder"); +_MTL_PRIVATE_DEF_SEL(blitCommandEncoderWithDescriptor_, + "blitCommandEncoderWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(blitPassDescriptor, + "blitPassDescriptor"); +_MTL_PRIVATE_DEF_SEL(borderColor, + "borderColor"); +_MTL_PRIVATE_DEF_SEL(boundingBoxBuffer, + "boundingBoxBuffer"); +_MTL_PRIVATE_DEF_SEL(boundingBoxBufferOffset, + "boundingBoxBufferOffset"); +_MTL_PRIVATE_DEF_SEL(boundingBoxBuffers, + "boundingBoxBuffers"); +_MTL_PRIVATE_DEF_SEL(boundingBoxCount, + "boundingBoxCount"); +_MTL_PRIVATE_DEF_SEL(boundingBoxStride, + "boundingBoxStride"); +_MTL_PRIVATE_DEF_SEL(buffer, + "buffer"); +_MTL_PRIVATE_DEF_SEL(bufferAlignment, + "bufferAlignment"); +_MTL_PRIVATE_DEF_SEL(bufferBytesPerRow, + "bufferBytesPerRow"); +_MTL_PRIVATE_DEF_SEL(bufferDataSize, + "bufferDataSize"); +_MTL_PRIVATE_DEF_SEL(bufferDataType, + "bufferDataType"); +_MTL_PRIVATE_DEF_SEL(bufferIndex, + "bufferIndex"); +_MTL_PRIVATE_DEF_SEL(bufferOffset, + "bufferOffset"); +_MTL_PRIVATE_DEF_SEL(bufferPointerType, + "bufferPointerType"); +_MTL_PRIVATE_DEF_SEL(bufferStructType, + "bufferStructType"); +_MTL_PRIVATE_DEF_SEL(buffers, + "buffers"); +_MTL_PRIVATE_DEF_SEL(buildAccelerationStructure_descriptor_scratchBuffer_scratchBufferOffset_, + "buildAccelerationStructure:descriptor:scratchBuffer:scratchBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(captureObject, + "captureObject"); +_MTL_PRIVATE_DEF_SEL(clearBarrier, + "clearBarrier"); +_MTL_PRIVATE_DEF_SEL(clearColor, + "clearColor"); +_MTL_PRIVATE_DEF_SEL(clearDepth, + "clearDepth"); +_MTL_PRIVATE_DEF_SEL(clearStencil, + "clearStencil"); +_MTL_PRIVATE_DEF_SEL(colorAttachments, + "colorAttachments"); +_MTL_PRIVATE_DEF_SEL(column, + "column"); +_MTL_PRIVATE_DEF_SEL(commandBuffer, + "commandBuffer"); +_MTL_PRIVATE_DEF_SEL(commandBufferWithDescriptor_, + "commandBufferWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(commandBufferWithUnretainedReferences, + "commandBufferWithUnretainedReferences"); +_MTL_PRIVATE_DEF_SEL(commandQueue, + "commandQueue"); +_MTL_PRIVATE_DEF_SEL(commandTypes, + "commandTypes"); +_MTL_PRIVATE_DEF_SEL(commit, + "commit"); +_MTL_PRIVATE_DEF_SEL(compareFunction, + "compareFunction"); +_MTL_PRIVATE_DEF_SEL(computeCommandEncoder, + "computeCommandEncoder"); +_MTL_PRIVATE_DEF_SEL(computeCommandEncoderWithDescriptor_, + "computeCommandEncoderWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(computeCommandEncoderWithDispatchType_, + "computeCommandEncoderWithDispatchType:"); +_MTL_PRIVATE_DEF_SEL(computeFunction, + "computeFunction"); +_MTL_PRIVATE_DEF_SEL(computePassDescriptor, + "computePassDescriptor"); +_MTL_PRIVATE_DEF_SEL(concurrentDispatchThreadgroups_threadsPerThreadgroup_, + "concurrentDispatchThreadgroups:threadsPerThreadgroup:"); +_MTL_PRIVATE_DEF_SEL(concurrentDispatchThreads_threadsPerThreadgroup_, + "concurrentDispatchThreads:threadsPerThreadgroup:"); +_MTL_PRIVATE_DEF_SEL(constantBlockAlignment, + "constantBlockAlignment"); +_MTL_PRIVATE_DEF_SEL(constantDataAtIndex_, + "constantDataAtIndex:"); +_MTL_PRIVATE_DEF_SEL(constantValues, + "constantValues"); +_MTL_PRIVATE_DEF_SEL(contents, + "contents"); +_MTL_PRIVATE_DEF_SEL(controlDependencies, + "controlDependencies"); +_MTL_PRIVATE_DEF_SEL(convertSparsePixelRegions_toTileRegions_withTileSize_alignmentMode_numRegions_, + "convertSparsePixelRegions:toTileRegions:withTileSize:alignmentMode:numRegions:"); +_MTL_PRIVATE_DEF_SEL(convertSparseTileRegions_toPixelRegions_withTileSize_numRegions_, + "convertSparseTileRegions:toPixelRegions:withTileSize:numRegions:"); +_MTL_PRIVATE_DEF_SEL(copyAccelerationStructure_toAccelerationStructure_, + "copyAccelerationStructure:toAccelerationStructure:"); +_MTL_PRIVATE_DEF_SEL(copyAndCompactAccelerationStructure_toAccelerationStructure_, + "copyAndCompactAccelerationStructure:toAccelerationStructure:"); +_MTL_PRIVATE_DEF_SEL(copyFromBuffer_sourceOffset_sourceBytesPerRow_sourceBytesPerImage_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_, + "copyFromBuffer:sourceOffset:sourceBytesPerRow:sourceBytesPerImage:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:"); +_MTL_PRIVATE_DEF_SEL(copyFromBuffer_sourceOffset_sourceBytesPerRow_sourceBytesPerImage_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_options_, + "copyFromBuffer:sourceOffset:sourceBytesPerRow:sourceBytesPerImage:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options:"); +_MTL_PRIVATE_DEF_SEL(copyFromBuffer_sourceOffset_toBuffer_destinationOffset_size_, + "copyFromBuffer:sourceOffset:toBuffer:destinationOffset:size:"); +_MTL_PRIVATE_DEF_SEL(copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toBuffer_destinationOffset_destinationBytesPerRow_destinationBytesPerImage_, + "copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toBuffer:destinationOffset:destinationBytesPerRow:destinationBytesPerImage:"); +_MTL_PRIVATE_DEF_SEL(copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toBuffer_destinationOffset_destinationBytesPerRow_destinationBytesPerImage_options_, + "copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toBuffer:destinationOffset:destinationBytesPerRow:destinationBytesPerImage:options:"); +_MTL_PRIVATE_DEF_SEL(copyFromTexture_sourceSlice_sourceLevel_sourceOrigin_sourceSize_toTexture_destinationSlice_destinationLevel_destinationOrigin_, + "copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:"); +_MTL_PRIVATE_DEF_SEL(copyFromTexture_sourceSlice_sourceLevel_toTexture_destinationSlice_destinationLevel_sliceCount_levelCount_, + "copyFromTexture:sourceSlice:sourceLevel:toTexture:destinationSlice:destinationLevel:sliceCount:levelCount:"); +_MTL_PRIVATE_DEF_SEL(copyFromTexture_toTexture_, + "copyFromTexture:toTexture:"); +_MTL_PRIVATE_DEF_SEL(copyIndirectCommandBuffer_sourceRange_destination_destinationIndex_, + "copyIndirectCommandBuffer:sourceRange:destination:destinationIndex:"); +_MTL_PRIVATE_DEF_SEL(copyParameterDataToBuffer_offset_, + "copyParameterDataToBuffer:offset:"); +_MTL_PRIVATE_DEF_SEL(counterSet, + "counterSet"); +_MTL_PRIVATE_DEF_SEL(counterSets, + "counterSets"); +_MTL_PRIVATE_DEF_SEL(counters, + "counters"); +_MTL_PRIVATE_DEF_SEL(cpuCacheMode, + "cpuCacheMode"); +_MTL_PRIVATE_DEF_SEL(currentAllocatedSize, + "currentAllocatedSize"); +_MTL_PRIVATE_DEF_SEL(data, + "data"); +_MTL_PRIVATE_DEF_SEL(dataSize, + "dataSize"); +_MTL_PRIVATE_DEF_SEL(dataType, + "dataType"); +_MTL_PRIVATE_DEF_SEL(dealloc, + "dealloc"); +_MTL_PRIVATE_DEF_SEL(debugLocation, + "debugLocation"); +_MTL_PRIVATE_DEF_SEL(debugSignposts, + "debugSignposts"); +_MTL_PRIVATE_DEF_SEL(defaultCaptureScope, + "defaultCaptureScope"); +_MTL_PRIVATE_DEF_SEL(defaultRasterSampleCount, + "defaultRasterSampleCount"); +_MTL_PRIVATE_DEF_SEL(depth, + "depth"); +_MTL_PRIVATE_DEF_SEL(depthAttachment, + "depthAttachment"); +_MTL_PRIVATE_DEF_SEL(depthAttachmentPixelFormat, + "depthAttachmentPixelFormat"); +_MTL_PRIVATE_DEF_SEL(depthCompareFunction, + "depthCompareFunction"); +_MTL_PRIVATE_DEF_SEL(depthFailureOperation, + "depthFailureOperation"); +_MTL_PRIVATE_DEF_SEL(depthPlane, + "depthPlane"); +_MTL_PRIVATE_DEF_SEL(depthResolveFilter, + "depthResolveFilter"); +_MTL_PRIVATE_DEF_SEL(depthStencilPassOperation, + "depthStencilPassOperation"); +_MTL_PRIVATE_DEF_SEL(descriptor, + "descriptor"); +_MTL_PRIVATE_DEF_SEL(destination, + "destination"); +_MTL_PRIVATE_DEF_SEL(destinationAlphaBlendFactor, + "destinationAlphaBlendFactor"); +_MTL_PRIVATE_DEF_SEL(destinationRGBBlendFactor, + "destinationRGBBlendFactor"); +_MTL_PRIVATE_DEF_SEL(device, + "device"); +_MTL_PRIVATE_DEF_SEL(didModifyRange_, + "didModifyRange:"); +_MTL_PRIVATE_DEF_SEL(dispatchQueue, + "dispatchQueue"); +_MTL_PRIVATE_DEF_SEL(dispatchThreadgroups_threadsPerThreadgroup_, + "dispatchThreadgroups:threadsPerThreadgroup:"); +_MTL_PRIVATE_DEF_SEL(dispatchThreadgroupsWithIndirectBuffer_indirectBufferOffset_threadsPerThreadgroup_, + "dispatchThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerThreadgroup:"); +_MTL_PRIVATE_DEF_SEL(dispatchThreads_threadsPerThreadgroup_, + "dispatchThreads:threadsPerThreadgroup:"); +_MTL_PRIVATE_DEF_SEL(dispatchThreadsPerTile_, + "dispatchThreadsPerTile:"); +_MTL_PRIVATE_DEF_SEL(dispatchType, + "dispatchType"); +_MTL_PRIVATE_DEF_SEL(drawIndexedPatches_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_indirectBuffer_indirectBufferOffset_, + "drawIndexedPatches:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:indirectBuffer:indirectBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_, + "drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance:"); +_MTL_PRIVATE_DEF_SEL(drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride_, + "drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance:tessellationFactorBuffer:tessellationFactorBufferOffset:tessellationFactorBufferInstanceStride:"); +_MTL_PRIVATE_DEF_SEL(drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_, + "drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_, + "drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:"); +_MTL_PRIVATE_DEF_SEL(drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_baseVertex_baseInstance_, + "drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:baseVertex:baseInstance:"); +_MTL_PRIVATE_DEF_SEL(drawIndexedPrimitives_indexType_indexBuffer_indexBufferOffset_indirectBuffer_indirectBufferOffset_, + "drawIndexedPrimitives:indexType:indexBuffer:indexBufferOffset:indirectBuffer:indirectBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(drawPatches_patchIndexBuffer_patchIndexBufferOffset_indirectBuffer_indirectBufferOffset_, + "drawPatches:patchIndexBuffer:patchIndexBufferOffset:indirectBuffer:indirectBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_, + "drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance:"); +_MTL_PRIVATE_DEF_SEL(drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride_, + "drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance:tessellationFactorBuffer:tessellationFactorBufferOffset:tessellationFactorBufferInstanceStride:"); +_MTL_PRIVATE_DEF_SEL(drawPrimitives_indirectBuffer_indirectBufferOffset_, + "drawPrimitives:indirectBuffer:indirectBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(drawPrimitives_vertexStart_vertexCount_, + "drawPrimitives:vertexStart:vertexCount:"); +_MTL_PRIVATE_DEF_SEL(drawPrimitives_vertexStart_vertexCount_instanceCount_, + "drawPrimitives:vertexStart:vertexCount:instanceCount:"); +_MTL_PRIVATE_DEF_SEL(drawPrimitives_vertexStart_vertexCount_instanceCount_baseInstance_, + "drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:"); +_MTL_PRIVATE_DEF_SEL(drawableID, + "drawableID"); +_MTL_PRIVATE_DEF_SEL(elementArrayType, + "elementArrayType"); +_MTL_PRIVATE_DEF_SEL(elementIsArgumentBuffer, + "elementIsArgumentBuffer"); +_MTL_PRIVATE_DEF_SEL(elementPointerType, + "elementPointerType"); +_MTL_PRIVATE_DEF_SEL(elementStructType, + "elementStructType"); +_MTL_PRIVATE_DEF_SEL(elementTextureReferenceType, + "elementTextureReferenceType"); +_MTL_PRIVATE_DEF_SEL(elementType, + "elementType"); +_MTL_PRIVATE_DEF_SEL(encodeSignalEvent_value_, + "encodeSignalEvent:value:"); +_MTL_PRIVATE_DEF_SEL(encodeWaitForEvent_value_, + "encodeWaitForEvent:value:"); +_MTL_PRIVATE_DEF_SEL(encodedLength, + "encodedLength"); +_MTL_PRIVATE_DEF_SEL(encoderLabel, + "encoderLabel"); +_MTL_PRIVATE_DEF_SEL(endEncoding, + "endEncoding"); +_MTL_PRIVATE_DEF_SEL(endOfEncoderSampleIndex, + "endOfEncoderSampleIndex"); +_MTL_PRIVATE_DEF_SEL(endOfFragmentSampleIndex, + "endOfFragmentSampleIndex"); +_MTL_PRIVATE_DEF_SEL(endOfVertexSampleIndex, + "endOfVertexSampleIndex"); +_MTL_PRIVATE_DEF_SEL(enqueue, + "enqueue"); +_MTL_PRIVATE_DEF_SEL(error, + "error"); +_MTL_PRIVATE_DEF_SEL(errorOptions, + "errorOptions"); +_MTL_PRIVATE_DEF_SEL(errorState, + "errorState"); +_MTL_PRIVATE_DEF_SEL(executeCommandsInBuffer_indirectBuffer_indirectBufferOffset_, + "executeCommandsInBuffer:indirectBuffer:indirectBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(executeCommandsInBuffer_withRange_, + "executeCommandsInBuffer:withRange:"); +_MTL_PRIVATE_DEF_SEL(fastMathEnabled, + "fastMathEnabled"); +_MTL_PRIVATE_DEF_SEL(fillBuffer_range_value_, + "fillBuffer:range:value:"); +_MTL_PRIVATE_DEF_SEL(firstMipmapInTail, + "firstMipmapInTail"); +_MTL_PRIVATE_DEF_SEL(format, + "format"); +_MTL_PRIVATE_DEF_SEL(fragmentAdditionalBinaryFunctions, + "fragmentAdditionalBinaryFunctions"); +_MTL_PRIVATE_DEF_SEL(fragmentArguments, + "fragmentArguments"); +_MTL_PRIVATE_DEF_SEL(fragmentBuffers, + "fragmentBuffers"); +_MTL_PRIVATE_DEF_SEL(fragmentFunction, + "fragmentFunction"); +_MTL_PRIVATE_DEF_SEL(fragmentLinkedFunctions, + "fragmentLinkedFunctions"); +_MTL_PRIVATE_DEF_SEL(fragmentPreloadedLibraries, + "fragmentPreloadedLibraries"); +_MTL_PRIVATE_DEF_SEL(frontFaceStencil, + "frontFaceStencil"); +_MTL_PRIVATE_DEF_SEL(function, + "function"); +_MTL_PRIVATE_DEF_SEL(functionConstantsDictionary, + "functionConstantsDictionary"); +_MTL_PRIVATE_DEF_SEL(functionCount, + "functionCount"); +_MTL_PRIVATE_DEF_SEL(functionDescriptor, + "functionDescriptor"); +_MTL_PRIVATE_DEF_SEL(functionGraphs, + "functionGraphs"); +_MTL_PRIVATE_DEF_SEL(functionHandleWithFunction_, + "functionHandleWithFunction:"); +_MTL_PRIVATE_DEF_SEL(functionHandleWithFunction_stage_, + "functionHandleWithFunction:stage:"); +_MTL_PRIVATE_DEF_SEL(functionName, + "functionName"); +_MTL_PRIVATE_DEF_SEL(functionNames, + "functionNames"); +_MTL_PRIVATE_DEF_SEL(functionType, + "functionType"); +_MTL_PRIVATE_DEF_SEL(functions, + "functions"); +_MTL_PRIVATE_DEF_SEL(generateMipmapsForTexture_, + "generateMipmapsForTexture:"); +_MTL_PRIVATE_DEF_SEL(geometryDescriptors, + "geometryDescriptors"); +_MTL_PRIVATE_DEF_SEL(getBytes_bytesPerRow_bytesPerImage_fromRegion_mipmapLevel_slice_, + "getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:"); +_MTL_PRIVATE_DEF_SEL(getBytes_bytesPerRow_fromRegion_mipmapLevel_, + "getBytes:bytesPerRow:fromRegion:mipmapLevel:"); +_MTL_PRIVATE_DEF_SEL(getDefaultSamplePositions_count_, + "getDefaultSamplePositions:count:"); +_MTL_PRIVATE_DEF_SEL(getSamplePositions_count_, + "getSamplePositions:count:"); +_MTL_PRIVATE_DEF_SEL(getTextureAccessCounters_region_mipLevel_slice_resetCounters_countersBuffer_countersBufferOffset_, + "getTextureAccessCounters:region:mipLevel:slice:resetCounters:countersBuffer:countersBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(groups, + "groups"); +_MTL_PRIVATE_DEF_SEL(hasUnifiedMemory, + "hasUnifiedMemory"); +_MTL_PRIVATE_DEF_SEL(hazardTrackingMode, + "hazardTrackingMode"); +_MTL_PRIVATE_DEF_SEL(heap, + "heap"); +_MTL_PRIVATE_DEF_SEL(heapBufferSizeAndAlignWithLength_options_, + "heapBufferSizeAndAlignWithLength:options:"); +_MTL_PRIVATE_DEF_SEL(heapOffset, + "heapOffset"); +_MTL_PRIVATE_DEF_SEL(heapTextureSizeAndAlignWithDescriptor_, + "heapTextureSizeAndAlignWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(height, + "height"); +_MTL_PRIVATE_DEF_SEL(horizontal, + "horizontal"); +_MTL_PRIVATE_DEF_SEL(horizontalSampleStorage, + "horizontalSampleStorage"); +_MTL_PRIVATE_DEF_SEL(imageblockMemoryLengthForDimensions_, + "imageblockMemoryLengthForDimensions:"); +_MTL_PRIVATE_DEF_SEL(imageblockSampleLength, + "imageblockSampleLength"); +_MTL_PRIVATE_DEF_SEL(index, + "index"); +_MTL_PRIVATE_DEF_SEL(indexBuffer, + "indexBuffer"); +_MTL_PRIVATE_DEF_SEL(indexBufferIndex, + "indexBufferIndex"); +_MTL_PRIVATE_DEF_SEL(indexBufferOffset, + "indexBufferOffset"); +_MTL_PRIVATE_DEF_SEL(indexType, + "indexType"); +_MTL_PRIVATE_DEF_SEL(indirectComputeCommandAtIndex_, + "indirectComputeCommandAtIndex:"); +_MTL_PRIVATE_DEF_SEL(indirectRenderCommandAtIndex_, + "indirectRenderCommandAtIndex:"); +_MTL_PRIVATE_DEF_SEL(inheritBuffers, + "inheritBuffers"); +_MTL_PRIVATE_DEF_SEL(inheritPipelineState, + "inheritPipelineState"); +_MTL_PRIVATE_DEF_SEL(init, + "init"); +_MTL_PRIVATE_DEF_SEL(initWithArgumentIndex_, + "initWithArgumentIndex:"); +_MTL_PRIVATE_DEF_SEL(initWithDispatchQueue_, + "initWithDispatchQueue:"); +_MTL_PRIVATE_DEF_SEL(initWithFunctionName_nodes_outputNode_attributes_, + "initWithFunctionName:nodes:outputNode:attributes:"); +_MTL_PRIVATE_DEF_SEL(initWithName_arguments_controlDependencies_, + "initWithName:arguments:controlDependencies:"); +_MTL_PRIVATE_DEF_SEL(initWithSampleCount_, + "initWithSampleCount:"); +_MTL_PRIVATE_DEF_SEL(initWithSampleCount_horizontal_vertical_, + "initWithSampleCount:horizontal:vertical:"); +_MTL_PRIVATE_DEF_SEL(inputPrimitiveTopology, + "inputPrimitiveTopology"); +_MTL_PRIVATE_DEF_SEL(insertDebugCaptureBoundary, + "insertDebugCaptureBoundary"); +_MTL_PRIVATE_DEF_SEL(insertDebugSignpost_, + "insertDebugSignpost:"); +_MTL_PRIVATE_DEF_SEL(insertLibraries, + "insertLibraries"); +_MTL_PRIVATE_DEF_SEL(installName, + "installName"); +_MTL_PRIVATE_DEF_SEL(instanceCount, + "instanceCount"); +_MTL_PRIVATE_DEF_SEL(instanceDescriptorBuffer, + "instanceDescriptorBuffer"); +_MTL_PRIVATE_DEF_SEL(instanceDescriptorBufferOffset, + "instanceDescriptorBufferOffset"); +_MTL_PRIVATE_DEF_SEL(instanceDescriptorStride, + "instanceDescriptorStride"); +_MTL_PRIVATE_DEF_SEL(instanceDescriptorType, + "instanceDescriptorType"); +_MTL_PRIVATE_DEF_SEL(instancedAccelerationStructures, + "instancedAccelerationStructures"); +_MTL_PRIVATE_DEF_SEL(intersectionFunctionTableDescriptor, + "intersectionFunctionTableDescriptor"); +_MTL_PRIVATE_DEF_SEL(intersectionFunctionTableOffset, + "intersectionFunctionTableOffset"); +_MTL_PRIVATE_DEF_SEL(iosurface, + "iosurface"); +_MTL_PRIVATE_DEF_SEL(iosurfacePlane, + "iosurfacePlane"); +_MTL_PRIVATE_DEF_SEL(isActive, + "isActive"); +_MTL_PRIVATE_DEF_SEL(isAliasable, + "isAliasable"); +_MTL_PRIVATE_DEF_SEL(isAlphaToCoverageEnabled, + "isAlphaToCoverageEnabled"); +_MTL_PRIVATE_DEF_SEL(isAlphaToOneEnabled, + "isAlphaToOneEnabled"); +_MTL_PRIVATE_DEF_SEL(isBlendingEnabled, + "isBlendingEnabled"); +_MTL_PRIVATE_DEF_SEL(isCapturing, + "isCapturing"); +_MTL_PRIVATE_DEF_SEL(isDepth24Stencil8PixelFormatSupported, + "isDepth24Stencil8PixelFormatSupported"); +_MTL_PRIVATE_DEF_SEL(isDepthTexture, + "isDepthTexture"); +_MTL_PRIVATE_DEF_SEL(isDepthWriteEnabled, + "isDepthWriteEnabled"); +_MTL_PRIVATE_DEF_SEL(isFramebufferOnly, + "isFramebufferOnly"); +_MTL_PRIVATE_DEF_SEL(isHeadless, + "isHeadless"); +_MTL_PRIVATE_DEF_SEL(isLowPower, + "isLowPower"); +_MTL_PRIVATE_DEF_SEL(isPatchControlPointData, + "isPatchControlPointData"); +_MTL_PRIVATE_DEF_SEL(isPatchData, + "isPatchData"); +_MTL_PRIVATE_DEF_SEL(isRasterizationEnabled, + "isRasterizationEnabled"); +_MTL_PRIVATE_DEF_SEL(isRemovable, + "isRemovable"); +_MTL_PRIVATE_DEF_SEL(isShareable, + "isShareable"); +_MTL_PRIVATE_DEF_SEL(isSparse, + "isSparse"); +_MTL_PRIVATE_DEF_SEL(isTessellationFactorScaleEnabled, + "isTessellationFactorScaleEnabled"); +_MTL_PRIVATE_DEF_SEL(kernelEndTime, + "kernelEndTime"); +_MTL_PRIVATE_DEF_SEL(kernelStartTime, + "kernelStartTime"); +_MTL_PRIVATE_DEF_SEL(label, + "label"); +_MTL_PRIVATE_DEF_SEL(languageVersion, + "languageVersion"); +_MTL_PRIVATE_DEF_SEL(layerAtIndex_, + "layerAtIndex:"); +_MTL_PRIVATE_DEF_SEL(layerCount, + "layerCount"); +_MTL_PRIVATE_DEF_SEL(layers, + "layers"); +_MTL_PRIVATE_DEF_SEL(layouts, + "layouts"); +_MTL_PRIVATE_DEF_SEL(length, + "length"); +_MTL_PRIVATE_DEF_SEL(level, + "level"); +_MTL_PRIVATE_DEF_SEL(libraries, + "libraries"); +_MTL_PRIVATE_DEF_SEL(libraryType, + "libraryType"); +_MTL_PRIVATE_DEF_SEL(line, + "line"); +_MTL_PRIVATE_DEF_SEL(linkedFunctions, + "linkedFunctions"); +_MTL_PRIVATE_DEF_SEL(loadAction, + "loadAction"); +_MTL_PRIVATE_DEF_SEL(location, + "location"); +_MTL_PRIVATE_DEF_SEL(locationNumber, + "locationNumber"); +_MTL_PRIVATE_DEF_SEL(lodAverage, + "lodAverage"); +_MTL_PRIVATE_DEF_SEL(lodMaxClamp, + "lodMaxClamp"); +_MTL_PRIVATE_DEF_SEL(lodMinClamp, + "lodMinClamp"); +_MTL_PRIVATE_DEF_SEL(logs, + "logs"); +_MTL_PRIVATE_DEF_SEL(magFilter, + "magFilter"); +_MTL_PRIVATE_DEF_SEL(makeAliasable, + "makeAliasable"); +_MTL_PRIVATE_DEF_SEL(mapPhysicalToScreenCoordinates_forLayer_, + "mapPhysicalToScreenCoordinates:forLayer:"); +_MTL_PRIVATE_DEF_SEL(mapScreenToPhysicalCoordinates_forLayer_, + "mapScreenToPhysicalCoordinates:forLayer:"); +_MTL_PRIVATE_DEF_SEL(maxAnisotropy, + "maxAnisotropy"); +_MTL_PRIVATE_DEF_SEL(maxArgumentBufferSamplerCount, + "maxArgumentBufferSamplerCount"); +_MTL_PRIVATE_DEF_SEL(maxAvailableSizeWithAlignment_, + "maxAvailableSizeWithAlignment:"); +_MTL_PRIVATE_DEF_SEL(maxBufferLength, + "maxBufferLength"); +_MTL_PRIVATE_DEF_SEL(maxCallStackDepth, + "maxCallStackDepth"); +_MTL_PRIVATE_DEF_SEL(maxFragmentBufferBindCount, + "maxFragmentBufferBindCount"); +_MTL_PRIVATE_DEF_SEL(maxFragmentCallStackDepth, + "maxFragmentCallStackDepth"); +_MTL_PRIVATE_DEF_SEL(maxKernelBufferBindCount, + "maxKernelBufferBindCount"); +_MTL_PRIVATE_DEF_SEL(maxSampleCount, + "maxSampleCount"); +_MTL_PRIVATE_DEF_SEL(maxTessellationFactor, + "maxTessellationFactor"); +_MTL_PRIVATE_DEF_SEL(maxThreadgroupMemoryLength, + "maxThreadgroupMemoryLength"); +_MTL_PRIVATE_DEF_SEL(maxThreadsPerThreadgroup, + "maxThreadsPerThreadgroup"); +_MTL_PRIVATE_DEF_SEL(maxTotalThreadsPerThreadgroup, + "maxTotalThreadsPerThreadgroup"); +_MTL_PRIVATE_DEF_SEL(maxTransferRate, + "maxTransferRate"); +_MTL_PRIVATE_DEF_SEL(maxVertexAmplificationCount, + "maxVertexAmplificationCount"); +_MTL_PRIVATE_DEF_SEL(maxVertexBufferBindCount, + "maxVertexBufferBindCount"); +_MTL_PRIVATE_DEF_SEL(maxVertexCallStackDepth, + "maxVertexCallStackDepth"); +_MTL_PRIVATE_DEF_SEL(memberByName_, + "memberByName:"); +_MTL_PRIVATE_DEF_SEL(members, + "members"); +_MTL_PRIVATE_DEF_SEL(memoryBarrierWithResources_count_, + "memoryBarrierWithResources:count:"); +_MTL_PRIVATE_DEF_SEL(memoryBarrierWithResources_count_afterStages_beforeStages_, + "memoryBarrierWithResources:count:afterStages:beforeStages:"); +_MTL_PRIVATE_DEF_SEL(memoryBarrierWithScope_, + "memoryBarrierWithScope:"); +_MTL_PRIVATE_DEF_SEL(memoryBarrierWithScope_afterStages_beforeStages_, + "memoryBarrierWithScope:afterStages:beforeStages:"); +_MTL_PRIVATE_DEF_SEL(minFilter, + "minFilter"); +_MTL_PRIVATE_DEF_SEL(minimumLinearTextureAlignmentForPixelFormat_, + "minimumLinearTextureAlignmentForPixelFormat:"); +_MTL_PRIVATE_DEF_SEL(minimumTextureBufferAlignmentForPixelFormat_, + "minimumTextureBufferAlignmentForPixelFormat:"); +_MTL_PRIVATE_DEF_SEL(mipFilter, + "mipFilter"); +_MTL_PRIVATE_DEF_SEL(mipmapLevelCount, + "mipmapLevelCount"); +_MTL_PRIVATE_DEF_SEL(motionEndBorderMode, + "motionEndBorderMode"); +_MTL_PRIVATE_DEF_SEL(motionEndTime, + "motionEndTime"); +_MTL_PRIVATE_DEF_SEL(motionKeyframeCount, + "motionKeyframeCount"); +_MTL_PRIVATE_DEF_SEL(motionStartBorderMode, + "motionStartBorderMode"); +_MTL_PRIVATE_DEF_SEL(motionStartTime, + "motionStartTime"); +_MTL_PRIVATE_DEF_SEL(motionTransformBuffer, + "motionTransformBuffer"); +_MTL_PRIVATE_DEF_SEL(motionTransformBufferOffset, + "motionTransformBufferOffset"); +_MTL_PRIVATE_DEF_SEL(motionTransformCount, + "motionTransformCount"); +_MTL_PRIVATE_DEF_SEL(mutability, + "mutability"); +_MTL_PRIVATE_DEF_SEL(name, + "name"); +_MTL_PRIVATE_DEF_SEL(newAccelerationStructureWithDescriptor_, + "newAccelerationStructureWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newAccelerationStructureWithSize_, + "newAccelerationStructureWithSize:"); +_MTL_PRIVATE_DEF_SEL(newArgumentEncoderForBufferAtIndex_, + "newArgumentEncoderForBufferAtIndex:"); +_MTL_PRIVATE_DEF_SEL(newArgumentEncoderWithArguments_, + "newArgumentEncoderWithArguments:"); +_MTL_PRIVATE_DEF_SEL(newArgumentEncoderWithBufferIndex_, + "newArgumentEncoderWithBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(newArgumentEncoderWithBufferIndex_reflection_, + "newArgumentEncoderWithBufferIndex:reflection:"); +_MTL_PRIVATE_DEF_SEL(newBinaryArchiveWithDescriptor_error_, + "newBinaryArchiveWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(newBufferWithBytes_length_options_, + "newBufferWithBytes:length:options:"); +_MTL_PRIVATE_DEF_SEL(newBufferWithBytesNoCopy_length_options_deallocator_, + "newBufferWithBytesNoCopy:length:options:deallocator:"); +_MTL_PRIVATE_DEF_SEL(newBufferWithLength_options_, + "newBufferWithLength:options:"); +_MTL_PRIVATE_DEF_SEL(newBufferWithLength_options_offset_, + "newBufferWithLength:options:offset:"); +_MTL_PRIVATE_DEF_SEL(newCaptureScopeWithCommandQueue_, + "newCaptureScopeWithCommandQueue:"); +_MTL_PRIVATE_DEF_SEL(newCaptureScopeWithDevice_, + "newCaptureScopeWithDevice:"); +_MTL_PRIVATE_DEF_SEL(newCommandQueue, + "newCommandQueue"); +_MTL_PRIVATE_DEF_SEL(newCommandQueueWithMaxCommandBufferCount_, + "newCommandQueueWithMaxCommandBufferCount:"); +_MTL_PRIVATE_DEF_SEL(newComputePipelineStateWithAdditionalBinaryFunctions_error_, + "newComputePipelineStateWithAdditionalBinaryFunctions:error:"); +_MTL_PRIVATE_DEF_SEL(newComputePipelineStateWithDescriptor_options_completionHandler_, + "newComputePipelineStateWithDescriptor:options:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newComputePipelineStateWithDescriptor_options_reflection_error_, + "newComputePipelineStateWithDescriptor:options:reflection:error:"); +_MTL_PRIVATE_DEF_SEL(newComputePipelineStateWithFunction_completionHandler_, + "newComputePipelineStateWithFunction:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newComputePipelineStateWithFunction_error_, + "newComputePipelineStateWithFunction:error:"); +_MTL_PRIVATE_DEF_SEL(newComputePipelineStateWithFunction_options_completionHandler_, + "newComputePipelineStateWithFunction:options:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newComputePipelineStateWithFunction_options_reflection_error_, + "newComputePipelineStateWithFunction:options:reflection:error:"); +_MTL_PRIVATE_DEF_SEL(newCounterSampleBufferWithDescriptor_error_, + "newCounterSampleBufferWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(newDefaultLibrary, + "newDefaultLibrary"); +_MTL_PRIVATE_DEF_SEL(newDefaultLibraryWithBundle_error_, + "newDefaultLibraryWithBundle:error:"); +_MTL_PRIVATE_DEF_SEL(newDepthStencilStateWithDescriptor_, + "newDepthStencilStateWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newDynamicLibrary_error_, + "newDynamicLibrary:error:"); +_MTL_PRIVATE_DEF_SEL(newDynamicLibraryWithURL_error_, + "newDynamicLibraryWithURL:error:"); +_MTL_PRIVATE_DEF_SEL(newEvent, + "newEvent"); +_MTL_PRIVATE_DEF_SEL(newFence, + "newFence"); +_MTL_PRIVATE_DEF_SEL(newFunctionWithDescriptor_completionHandler_, + "newFunctionWithDescriptor:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newFunctionWithDescriptor_error_, + "newFunctionWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(newFunctionWithName_, + "newFunctionWithName:"); +_MTL_PRIVATE_DEF_SEL(newFunctionWithName_constantValues_completionHandler_, + "newFunctionWithName:constantValues:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newFunctionWithName_constantValues_error_, + "newFunctionWithName:constantValues:error:"); +_MTL_PRIVATE_DEF_SEL(newHeapWithDescriptor_, + "newHeapWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newIndirectCommandBufferWithDescriptor_maxCommandCount_options_, + "newIndirectCommandBufferWithDescriptor:maxCommandCount:options:"); +_MTL_PRIVATE_DEF_SEL(newIntersectionFunctionTableWithDescriptor_, + "newIntersectionFunctionTableWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newIntersectionFunctionTableWithDescriptor_stage_, + "newIntersectionFunctionTableWithDescriptor:stage:"); +_MTL_PRIVATE_DEF_SEL(newIntersectionFunctionWithDescriptor_completionHandler_, + "newIntersectionFunctionWithDescriptor:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newIntersectionFunctionWithDescriptor_error_, + "newIntersectionFunctionWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(newLibraryWithData_error_, + "newLibraryWithData:error:"); +_MTL_PRIVATE_DEF_SEL(newLibraryWithFile_error_, + "newLibraryWithFile:error:"); +_MTL_PRIVATE_DEF_SEL(newLibraryWithSource_options_completionHandler_, + "newLibraryWithSource:options:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newLibraryWithSource_options_error_, + "newLibraryWithSource:options:error:"); +_MTL_PRIVATE_DEF_SEL(newLibraryWithStitchedDescriptor_completionHandler_, + "newLibraryWithStitchedDescriptor:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newLibraryWithStitchedDescriptor_error_, + "newLibraryWithStitchedDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(newLibraryWithURL_error_, + "newLibraryWithURL:error:"); +_MTL_PRIVATE_DEF_SEL(newRasterizationRateMapWithDescriptor_, + "newRasterizationRateMapWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newRemoteBufferViewForDevice_, + "newRemoteBufferViewForDevice:"); +_MTL_PRIVATE_DEF_SEL(newRemoteTextureViewForDevice_, + "newRemoteTextureViewForDevice:"); +_MTL_PRIVATE_DEF_SEL(newRenderPipelineStateWithAdditionalBinaryFunctions_error_, + "newRenderPipelineStateWithAdditionalBinaryFunctions:error:"); +_MTL_PRIVATE_DEF_SEL(newRenderPipelineStateWithDescriptor_completionHandler_, + "newRenderPipelineStateWithDescriptor:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newRenderPipelineStateWithDescriptor_error_, + "newRenderPipelineStateWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(newRenderPipelineStateWithDescriptor_options_completionHandler_, + "newRenderPipelineStateWithDescriptor:options:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newRenderPipelineStateWithDescriptor_options_reflection_error_, + "newRenderPipelineStateWithDescriptor:options:reflection:error:"); +_MTL_PRIVATE_DEF_SEL(newRenderPipelineStateWithTileDescriptor_options_completionHandler_, + "newRenderPipelineStateWithTileDescriptor:options:completionHandler:"); +_MTL_PRIVATE_DEF_SEL(newRenderPipelineStateWithTileDescriptor_options_reflection_error_, + "newRenderPipelineStateWithTileDescriptor:options:reflection:error:"); +_MTL_PRIVATE_DEF_SEL(newSamplerStateWithDescriptor_, + "newSamplerStateWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newSharedEvent, + "newSharedEvent"); +_MTL_PRIVATE_DEF_SEL(newSharedEventHandle, + "newSharedEventHandle"); +_MTL_PRIVATE_DEF_SEL(newSharedEventWithHandle_, + "newSharedEventWithHandle:"); +_MTL_PRIVATE_DEF_SEL(newSharedTextureHandle, + "newSharedTextureHandle"); +_MTL_PRIVATE_DEF_SEL(newSharedTextureWithDescriptor_, + "newSharedTextureWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newSharedTextureWithHandle_, + "newSharedTextureWithHandle:"); +_MTL_PRIVATE_DEF_SEL(newTextureViewWithPixelFormat_, + "newTextureViewWithPixelFormat:"); +_MTL_PRIVATE_DEF_SEL(newTextureViewWithPixelFormat_textureType_levels_slices_, + "newTextureViewWithPixelFormat:textureType:levels:slices:"); +_MTL_PRIVATE_DEF_SEL(newTextureViewWithPixelFormat_textureType_levels_slices_swizzle_, + "newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:"); +_MTL_PRIVATE_DEF_SEL(newTextureWithDescriptor_, + "newTextureWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newTextureWithDescriptor_iosurface_plane_, + "newTextureWithDescriptor:iosurface:plane:"); +_MTL_PRIVATE_DEF_SEL(newTextureWithDescriptor_offset_, + "newTextureWithDescriptor:offset:"); +_MTL_PRIVATE_DEF_SEL(newTextureWithDescriptor_offset_bytesPerRow_, + "newTextureWithDescriptor:offset:bytesPerRow:"); +_MTL_PRIVATE_DEF_SEL(newVisibleFunctionTableWithDescriptor_, + "newVisibleFunctionTableWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(newVisibleFunctionTableWithDescriptor_stage_, + "newVisibleFunctionTableWithDescriptor:stage:"); +_MTL_PRIVATE_DEF_SEL(nodes, + "nodes"); +_MTL_PRIVATE_DEF_SEL(normalizedCoordinates, + "normalizedCoordinates"); +_MTL_PRIVATE_DEF_SEL(notifyListener_atValue_block_, + "notifyListener:atValue:block:"); +_MTL_PRIVATE_DEF_SEL(objectAtIndexedSubscript_, + "objectAtIndexedSubscript:"); +_MTL_PRIVATE_DEF_SEL(offset, + "offset"); +_MTL_PRIVATE_DEF_SEL(opaque, + "opaque"); +_MTL_PRIVATE_DEF_SEL(optimizeContentsForCPUAccess_, + "optimizeContentsForCPUAccess:"); +_MTL_PRIVATE_DEF_SEL(optimizeContentsForCPUAccess_slice_level_, + "optimizeContentsForCPUAccess:slice:level:"); +_MTL_PRIVATE_DEF_SEL(optimizeContentsForGPUAccess_, + "optimizeContentsForGPUAccess:"); +_MTL_PRIVATE_DEF_SEL(optimizeContentsForGPUAccess_slice_level_, + "optimizeContentsForGPUAccess:slice:level:"); +_MTL_PRIVATE_DEF_SEL(optimizeIndirectCommandBuffer_withRange_, + "optimizeIndirectCommandBuffer:withRange:"); +_MTL_PRIVATE_DEF_SEL(options, + "options"); +_MTL_PRIVATE_DEF_SEL(outputNode, + "outputNode"); +_MTL_PRIVATE_DEF_SEL(outputURL, + "outputURL"); +_MTL_PRIVATE_DEF_SEL(parallelRenderCommandEncoderWithDescriptor_, + "parallelRenderCommandEncoderWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(parameterBufferSizeAndAlign, + "parameterBufferSizeAndAlign"); +_MTL_PRIVATE_DEF_SEL(parentRelativeLevel, + "parentRelativeLevel"); +_MTL_PRIVATE_DEF_SEL(parentRelativeSlice, + "parentRelativeSlice"); +_MTL_PRIVATE_DEF_SEL(parentTexture, + "parentTexture"); +_MTL_PRIVATE_DEF_SEL(patchControlPointCount, + "patchControlPointCount"); +_MTL_PRIVATE_DEF_SEL(patchType, + "patchType"); +_MTL_PRIVATE_DEF_SEL(peerCount, + "peerCount"); +_MTL_PRIVATE_DEF_SEL(peerGroupID, + "peerGroupID"); +_MTL_PRIVATE_DEF_SEL(peerIndex, + "peerIndex"); +_MTL_PRIVATE_DEF_SEL(physicalGranularity, + "physicalGranularity"); +_MTL_PRIVATE_DEF_SEL(physicalSizeForLayer_, + "physicalSizeForLayer:"); +_MTL_PRIVATE_DEF_SEL(pixelFormat, + "pixelFormat"); +_MTL_PRIVATE_DEF_SEL(pointerType, + "pointerType"); +_MTL_PRIVATE_DEF_SEL(popDebugGroup, + "popDebugGroup"); +_MTL_PRIVATE_DEF_SEL(preloadedLibraries, + "preloadedLibraries"); +_MTL_PRIVATE_DEF_SEL(preprocessorMacros, + "preprocessorMacros"); +_MTL_PRIVATE_DEF_SEL(present, + "present"); +_MTL_PRIVATE_DEF_SEL(presentAfterMinimumDuration_, + "presentAfterMinimumDuration:"); +_MTL_PRIVATE_DEF_SEL(presentAtTime_, + "presentAtTime:"); +_MTL_PRIVATE_DEF_SEL(presentDrawable_, + "presentDrawable:"); +_MTL_PRIVATE_DEF_SEL(presentDrawable_afterMinimumDuration_, + "presentDrawable:afterMinimumDuration:"); +_MTL_PRIVATE_DEF_SEL(presentDrawable_atTime_, + "presentDrawable:atTime:"); +_MTL_PRIVATE_DEF_SEL(presentedTime, + "presentedTime"); +_MTL_PRIVATE_DEF_SEL(preserveInvariance, + "preserveInvariance"); +_MTL_PRIVATE_DEF_SEL(privateFunctions, + "privateFunctions"); +_MTL_PRIVATE_DEF_SEL(pushDebugGroup_, + "pushDebugGroup:"); +_MTL_PRIVATE_DEF_SEL(rAddressMode, + "rAddressMode"); +_MTL_PRIVATE_DEF_SEL(rasterSampleCount, + "rasterSampleCount"); +_MTL_PRIVATE_DEF_SEL(rasterizationRateMap, + "rasterizationRateMap"); +_MTL_PRIVATE_DEF_SEL(rasterizationRateMapDescriptorWithScreenSize_, + "rasterizationRateMapDescriptorWithScreenSize:"); +_MTL_PRIVATE_DEF_SEL(rasterizationRateMapDescriptorWithScreenSize_layer_, + "rasterizationRateMapDescriptorWithScreenSize:layer:"); +_MTL_PRIVATE_DEF_SEL(rasterizationRateMapDescriptorWithScreenSize_layerCount_layers_, + "rasterizationRateMapDescriptorWithScreenSize:layerCount:layers:"); +_MTL_PRIVATE_DEF_SEL(readMask, + "readMask"); +_MTL_PRIVATE_DEF_SEL(readWriteTextureSupport, + "readWriteTextureSupport"); +_MTL_PRIVATE_DEF_SEL(recommendedMaxWorkingSetSize, + "recommendedMaxWorkingSetSize"); +_MTL_PRIVATE_DEF_SEL(refitAccelerationStructure_descriptor_destination_scratchBuffer_scratchBufferOffset_, + "refitAccelerationStructure:descriptor:destination:scratchBuffer:scratchBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(registryID, + "registryID"); +_MTL_PRIVATE_DEF_SEL(remoteStorageBuffer, + "remoteStorageBuffer"); +_MTL_PRIVATE_DEF_SEL(remoteStorageTexture, + "remoteStorageTexture"); +_MTL_PRIVATE_DEF_SEL(removeAllDebugMarkers, + "removeAllDebugMarkers"); +_MTL_PRIVATE_DEF_SEL(renderCommandEncoder, + "renderCommandEncoder"); +_MTL_PRIVATE_DEF_SEL(renderCommandEncoderWithDescriptor_, + "renderCommandEncoderWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(renderPassDescriptor, + "renderPassDescriptor"); +_MTL_PRIVATE_DEF_SEL(renderTargetArrayLength, + "renderTargetArrayLength"); +_MTL_PRIVATE_DEF_SEL(renderTargetHeight, + "renderTargetHeight"); +_MTL_PRIVATE_DEF_SEL(renderTargetWidth, + "renderTargetWidth"); +_MTL_PRIVATE_DEF_SEL(replaceRegion_mipmapLevel_slice_withBytes_bytesPerRow_bytesPerImage_, + "replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:"); +_MTL_PRIVATE_DEF_SEL(replaceRegion_mipmapLevel_withBytes_bytesPerRow_, + "replaceRegion:mipmapLevel:withBytes:bytesPerRow:"); +_MTL_PRIVATE_DEF_SEL(required, + "required"); +_MTL_PRIVATE_DEF_SEL(reset, + "reset"); +_MTL_PRIVATE_DEF_SEL(resetCommandsInBuffer_withRange_, + "resetCommandsInBuffer:withRange:"); +_MTL_PRIVATE_DEF_SEL(resetTextureAccessCounters_region_mipLevel_slice_, + "resetTextureAccessCounters:region:mipLevel:slice:"); +_MTL_PRIVATE_DEF_SEL(resetWithRange_, + "resetWithRange:"); +_MTL_PRIVATE_DEF_SEL(resolveCounterRange_, + "resolveCounterRange:"); +_MTL_PRIVATE_DEF_SEL(resolveCounters_inRange_destinationBuffer_destinationOffset_, + "resolveCounters:inRange:destinationBuffer:destinationOffset:"); +_MTL_PRIVATE_DEF_SEL(resolveDepthPlane, + "resolveDepthPlane"); +_MTL_PRIVATE_DEF_SEL(resolveLevel, + "resolveLevel"); +_MTL_PRIVATE_DEF_SEL(resolveSlice, + "resolveSlice"); +_MTL_PRIVATE_DEF_SEL(resolveTexture, + "resolveTexture"); +_MTL_PRIVATE_DEF_SEL(resourceOptions, + "resourceOptions"); +_MTL_PRIVATE_DEF_SEL(resourceStateCommandEncoder, + "resourceStateCommandEncoder"); +_MTL_PRIVATE_DEF_SEL(resourceStateCommandEncoderWithDescriptor_, + "resourceStateCommandEncoderWithDescriptor:"); +_MTL_PRIVATE_DEF_SEL(resourceStatePassDescriptor, + "resourceStatePassDescriptor"); +_MTL_PRIVATE_DEF_SEL(retainedReferences, + "retainedReferences"); +_MTL_PRIVATE_DEF_SEL(rgbBlendOperation, + "rgbBlendOperation"); +_MTL_PRIVATE_DEF_SEL(rootResource, + "rootResource"); +_MTL_PRIVATE_DEF_SEL(sAddressMode, + "sAddressMode"); +_MTL_PRIVATE_DEF_SEL(sampleBuffer, + "sampleBuffer"); +_MTL_PRIVATE_DEF_SEL(sampleBufferAttachments, + "sampleBufferAttachments"); +_MTL_PRIVATE_DEF_SEL(sampleCount, + "sampleCount"); +_MTL_PRIVATE_DEF_SEL(sampleCountersInBuffer_atSampleIndex_withBarrier_, + "sampleCountersInBuffer:atSampleIndex:withBarrier:"); +_MTL_PRIVATE_DEF_SEL(sampleTimestamps_gpuTimestamp_, + "sampleTimestamps:gpuTimestamp:"); +_MTL_PRIVATE_DEF_SEL(screenSize, + "screenSize"); +_MTL_PRIVATE_DEF_SEL(serializeToURL_error_, + "serializeToURL:error:"); +_MTL_PRIVATE_DEF_SEL(setAccelerationStructure_atBufferIndex_, + "setAccelerationStructure:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setAccelerationStructure_atIndex_, + "setAccelerationStructure:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setAccess_, + "setAccess:"); +_MTL_PRIVATE_DEF_SEL(setAllowDuplicateIntersectionFunctionInvocation_, + "setAllowDuplicateIntersectionFunctionInvocation:"); +_MTL_PRIVATE_DEF_SEL(setAllowGPUOptimizedContents_, + "setAllowGPUOptimizedContents:"); +_MTL_PRIVATE_DEF_SEL(setAlphaBlendOperation_, + "setAlphaBlendOperation:"); +_MTL_PRIVATE_DEF_SEL(setAlphaToCoverageEnabled_, + "setAlphaToCoverageEnabled:"); +_MTL_PRIVATE_DEF_SEL(setAlphaToOneEnabled_, + "setAlphaToOneEnabled:"); +_MTL_PRIVATE_DEF_SEL(setArgumentBuffer_offset_, + "setArgumentBuffer:offset:"); +_MTL_PRIVATE_DEF_SEL(setArgumentBuffer_startOffset_arrayElement_, + "setArgumentBuffer:startOffset:arrayElement:"); +_MTL_PRIVATE_DEF_SEL(setArgumentIndex_, + "setArgumentIndex:"); +_MTL_PRIVATE_DEF_SEL(setArguments_, + "setArguments:"); +_MTL_PRIVATE_DEF_SEL(setArrayLength_, + "setArrayLength:"); +_MTL_PRIVATE_DEF_SEL(setAttributes_, + "setAttributes:"); +_MTL_PRIVATE_DEF_SEL(setBackFaceStencil_, + "setBackFaceStencil:"); +_MTL_PRIVATE_DEF_SEL(setBarrier, + "setBarrier"); +_MTL_PRIVATE_DEF_SEL(setBinaryArchives_, + "setBinaryArchives:"); +_MTL_PRIVATE_DEF_SEL(setBinaryFunctions_, + "setBinaryFunctions:"); +_MTL_PRIVATE_DEF_SEL(setBlendColorRed_green_blue_alpha_, + "setBlendColorRed:green:blue:alpha:"); +_MTL_PRIVATE_DEF_SEL(setBlendingEnabled_, + "setBlendingEnabled:"); +_MTL_PRIVATE_DEF_SEL(setBorderColor_, + "setBorderColor:"); +_MTL_PRIVATE_DEF_SEL(setBoundingBoxBuffer_, + "setBoundingBoxBuffer:"); +_MTL_PRIVATE_DEF_SEL(setBoundingBoxBufferOffset_, + "setBoundingBoxBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(setBoundingBoxBuffers_, + "setBoundingBoxBuffers:"); +_MTL_PRIVATE_DEF_SEL(setBoundingBoxCount_, + "setBoundingBoxCount:"); +_MTL_PRIVATE_DEF_SEL(setBoundingBoxStride_, + "setBoundingBoxStride:"); +_MTL_PRIVATE_DEF_SEL(setBuffer_, + "setBuffer:"); +_MTL_PRIVATE_DEF_SEL(setBuffer_offset_atIndex_, + "setBuffer:offset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setBufferIndex_, + "setBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setBufferOffset_atIndex_, + "setBufferOffset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setBuffers_offsets_withRange_, + "setBuffers:offsets:withRange:"); +_MTL_PRIVATE_DEF_SEL(setBytes_length_atIndex_, + "setBytes:length:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setCaptureObject_, + "setCaptureObject:"); +_MTL_PRIVATE_DEF_SEL(setClearColor_, + "setClearColor:"); +_MTL_PRIVATE_DEF_SEL(setClearDepth_, + "setClearDepth:"); +_MTL_PRIVATE_DEF_SEL(setClearStencil_, + "setClearStencil:"); +_MTL_PRIVATE_DEF_SEL(setColorStoreAction_atIndex_, + "setColorStoreAction:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setColorStoreActionOptions_atIndex_, + "setColorStoreActionOptions:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setCommandTypes_, + "setCommandTypes:"); +_MTL_PRIVATE_DEF_SEL(setCompareFunction_, + "setCompareFunction:"); +_MTL_PRIVATE_DEF_SEL(setComputeFunction_, + "setComputeFunction:"); +_MTL_PRIVATE_DEF_SEL(setComputePipelineState_, + "setComputePipelineState:"); +_MTL_PRIVATE_DEF_SEL(setComputePipelineState_atIndex_, + "setComputePipelineState:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setComputePipelineStates_withRange_, + "setComputePipelineStates:withRange:"); +_MTL_PRIVATE_DEF_SEL(setConstantBlockAlignment_, + "setConstantBlockAlignment:"); +_MTL_PRIVATE_DEF_SEL(setConstantValue_type_atIndex_, + "setConstantValue:type:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setConstantValue_type_withName_, + "setConstantValue:type:withName:"); +_MTL_PRIVATE_DEF_SEL(setConstantValues_, + "setConstantValues:"); +_MTL_PRIVATE_DEF_SEL(setConstantValues_type_withRange_, + "setConstantValues:type:withRange:"); +_MTL_PRIVATE_DEF_SEL(setControlDependencies_, + "setControlDependencies:"); +_MTL_PRIVATE_DEF_SEL(setCounterSet_, + "setCounterSet:"); +_MTL_PRIVATE_DEF_SEL(setCpuCacheMode_, + "setCpuCacheMode:"); +_MTL_PRIVATE_DEF_SEL(setCullMode_, + "setCullMode:"); +_MTL_PRIVATE_DEF_SEL(setDataType_, + "setDataType:"); +_MTL_PRIVATE_DEF_SEL(setDefaultCaptureScope_, + "setDefaultCaptureScope:"); +_MTL_PRIVATE_DEF_SEL(setDefaultRasterSampleCount_, + "setDefaultRasterSampleCount:"); +_MTL_PRIVATE_DEF_SEL(setDepth_, + "setDepth:"); +_MTL_PRIVATE_DEF_SEL(setDepthAttachment_, + "setDepthAttachment:"); +_MTL_PRIVATE_DEF_SEL(setDepthAttachmentPixelFormat_, + "setDepthAttachmentPixelFormat:"); +_MTL_PRIVATE_DEF_SEL(setDepthBias_slopeScale_clamp_, + "setDepthBias:slopeScale:clamp:"); +_MTL_PRIVATE_DEF_SEL(setDepthClipMode_, + "setDepthClipMode:"); +_MTL_PRIVATE_DEF_SEL(setDepthCompareFunction_, + "setDepthCompareFunction:"); +_MTL_PRIVATE_DEF_SEL(setDepthFailureOperation_, + "setDepthFailureOperation:"); +_MTL_PRIVATE_DEF_SEL(setDepthPlane_, + "setDepthPlane:"); +_MTL_PRIVATE_DEF_SEL(setDepthResolveFilter_, + "setDepthResolveFilter:"); +_MTL_PRIVATE_DEF_SEL(setDepthStencilPassOperation_, + "setDepthStencilPassOperation:"); +_MTL_PRIVATE_DEF_SEL(setDepthStencilState_, + "setDepthStencilState:"); +_MTL_PRIVATE_DEF_SEL(setDepthStoreAction_, + "setDepthStoreAction:"); +_MTL_PRIVATE_DEF_SEL(setDepthStoreActionOptions_, + "setDepthStoreActionOptions:"); +_MTL_PRIVATE_DEF_SEL(setDepthWriteEnabled_, + "setDepthWriteEnabled:"); +_MTL_PRIVATE_DEF_SEL(setDestination_, + "setDestination:"); +_MTL_PRIVATE_DEF_SEL(setDestinationAlphaBlendFactor_, + "setDestinationAlphaBlendFactor:"); +_MTL_PRIVATE_DEF_SEL(setDestinationRGBBlendFactor_, + "setDestinationRGBBlendFactor:"); +_MTL_PRIVATE_DEF_SEL(setDispatchType_, + "setDispatchType:"); +_MTL_PRIVATE_DEF_SEL(setEndOfEncoderSampleIndex_, + "setEndOfEncoderSampleIndex:"); +_MTL_PRIVATE_DEF_SEL(setEndOfFragmentSampleIndex_, + "setEndOfFragmentSampleIndex:"); +_MTL_PRIVATE_DEF_SEL(setEndOfVertexSampleIndex_, + "setEndOfVertexSampleIndex:"); +_MTL_PRIVATE_DEF_SEL(setErrorOptions_, + "setErrorOptions:"); +_MTL_PRIVATE_DEF_SEL(setFastMathEnabled_, + "setFastMathEnabled:"); +_MTL_PRIVATE_DEF_SEL(setFormat_, + "setFormat:"); +_MTL_PRIVATE_DEF_SEL(setFragmentAccelerationStructure_atBufferIndex_, + "setFragmentAccelerationStructure:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentAdditionalBinaryFunctions_, + "setFragmentAdditionalBinaryFunctions:"); +_MTL_PRIVATE_DEF_SEL(setFragmentBuffer_offset_atIndex_, + "setFragmentBuffer:offset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentBufferOffset_atIndex_, + "setFragmentBufferOffset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentBuffers_offsets_withRange_, + "setFragmentBuffers:offsets:withRange:"); +_MTL_PRIVATE_DEF_SEL(setFragmentBytes_length_atIndex_, + "setFragmentBytes:length:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentFunction_, + "setFragmentFunction:"); +_MTL_PRIVATE_DEF_SEL(setFragmentIntersectionFunctionTable_atBufferIndex_, + "setFragmentIntersectionFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentIntersectionFunctionTables_withBufferRange_, + "setFragmentIntersectionFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setFragmentLinkedFunctions_, + "setFragmentLinkedFunctions:"); +_MTL_PRIVATE_DEF_SEL(setFragmentPreloadedLibraries_, + "setFragmentPreloadedLibraries:"); +_MTL_PRIVATE_DEF_SEL(setFragmentSamplerState_atIndex_, + "setFragmentSamplerState:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentSamplerState_lodMinClamp_lodMaxClamp_atIndex_, + "setFragmentSamplerState:lodMinClamp:lodMaxClamp:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentSamplerStates_lodMinClamps_lodMaxClamps_withRange_, + "setFragmentSamplerStates:lodMinClamps:lodMaxClamps:withRange:"); +_MTL_PRIVATE_DEF_SEL(setFragmentSamplerStates_withRange_, + "setFragmentSamplerStates:withRange:"); +_MTL_PRIVATE_DEF_SEL(setFragmentTexture_atIndex_, + "setFragmentTexture:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentTextures_withRange_, + "setFragmentTextures:withRange:"); +_MTL_PRIVATE_DEF_SEL(setFragmentVisibleFunctionTable_atBufferIndex_, + "setFragmentVisibleFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setFragmentVisibleFunctionTables_withBufferRange_, + "setFragmentVisibleFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setFrontFaceStencil_, + "setFrontFaceStencil:"); +_MTL_PRIVATE_DEF_SEL(setFrontFacingWinding_, + "setFrontFacingWinding:"); +_MTL_PRIVATE_DEF_SEL(setFunction_atIndex_, + "setFunction:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setFunctionCount_, + "setFunctionCount:"); +_MTL_PRIVATE_DEF_SEL(setFunctionGraphs_, + "setFunctionGraphs:"); +_MTL_PRIVATE_DEF_SEL(setFunctionName_, + "setFunctionName:"); +_MTL_PRIVATE_DEF_SEL(setFunctions_, + "setFunctions:"); +_MTL_PRIVATE_DEF_SEL(setFunctions_withRange_, + "setFunctions:withRange:"); +_MTL_PRIVATE_DEF_SEL(setGeometryDescriptors_, + "setGeometryDescriptors:"); +_MTL_PRIVATE_DEF_SEL(setGroups_, + "setGroups:"); +_MTL_PRIVATE_DEF_SEL(setHazardTrackingMode_, + "setHazardTrackingMode:"); +_MTL_PRIVATE_DEF_SEL(setHeight_, + "setHeight:"); +_MTL_PRIVATE_DEF_SEL(setImageblockSampleLength_, + "setImageblockSampleLength:"); +_MTL_PRIVATE_DEF_SEL(setImageblockWidth_height_, + "setImageblockWidth:height:"); +_MTL_PRIVATE_DEF_SEL(setIndex_, + "setIndex:"); +_MTL_PRIVATE_DEF_SEL(setIndexBuffer_, + "setIndexBuffer:"); +_MTL_PRIVATE_DEF_SEL(setIndexBufferIndex_, + "setIndexBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setIndexBufferOffset_, + "setIndexBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(setIndexType_, + "setIndexType:"); +_MTL_PRIVATE_DEF_SEL(setIndirectCommandBuffer_atIndex_, + "setIndirectCommandBuffer:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setIndirectCommandBuffers_withRange_, + "setIndirectCommandBuffers:withRange:"); +_MTL_PRIVATE_DEF_SEL(setInheritBuffers_, + "setInheritBuffers:"); +_MTL_PRIVATE_DEF_SEL(setInheritPipelineState_, + "setInheritPipelineState:"); +_MTL_PRIVATE_DEF_SEL(setInputPrimitiveTopology_, + "setInputPrimitiveTopology:"); +_MTL_PRIVATE_DEF_SEL(setInsertLibraries_, + "setInsertLibraries:"); +_MTL_PRIVATE_DEF_SEL(setInstallName_, + "setInstallName:"); +_MTL_PRIVATE_DEF_SEL(setInstanceCount_, + "setInstanceCount:"); +_MTL_PRIVATE_DEF_SEL(setInstanceDescriptorBuffer_, + "setInstanceDescriptorBuffer:"); +_MTL_PRIVATE_DEF_SEL(setInstanceDescriptorBufferOffset_, + "setInstanceDescriptorBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(setInstanceDescriptorStride_, + "setInstanceDescriptorStride:"); +_MTL_PRIVATE_DEF_SEL(setInstanceDescriptorType_, + "setInstanceDescriptorType:"); +_MTL_PRIVATE_DEF_SEL(setInstancedAccelerationStructures_, + "setInstancedAccelerationStructures:"); +_MTL_PRIVATE_DEF_SEL(setIntersectionFunctionTable_atBufferIndex_, + "setIntersectionFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setIntersectionFunctionTable_atIndex_, + "setIntersectionFunctionTable:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setIntersectionFunctionTableOffset_, + "setIntersectionFunctionTableOffset:"); +_MTL_PRIVATE_DEF_SEL(setIntersectionFunctionTables_withBufferRange_, + "setIntersectionFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setIntersectionFunctionTables_withRange_, + "setIntersectionFunctionTables:withRange:"); +_MTL_PRIVATE_DEF_SEL(setKernelBuffer_offset_atIndex_, + "setKernelBuffer:offset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setLabel_, + "setLabel:"); +_MTL_PRIVATE_DEF_SEL(setLanguageVersion_, + "setLanguageVersion:"); +_MTL_PRIVATE_DEF_SEL(setLayer_atIndex_, + "setLayer:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setLevel_, + "setLevel:"); +_MTL_PRIVATE_DEF_SEL(setLibraries_, + "setLibraries:"); +_MTL_PRIVATE_DEF_SEL(setLibraryType_, + "setLibraryType:"); +_MTL_PRIVATE_DEF_SEL(setLinkedFunctions_, + "setLinkedFunctions:"); +_MTL_PRIVATE_DEF_SEL(setLoadAction_, + "setLoadAction:"); +_MTL_PRIVATE_DEF_SEL(setLodAverage_, + "setLodAverage:"); +_MTL_PRIVATE_DEF_SEL(setLodMaxClamp_, + "setLodMaxClamp:"); +_MTL_PRIVATE_DEF_SEL(setLodMinClamp_, + "setLodMinClamp:"); +_MTL_PRIVATE_DEF_SEL(setMagFilter_, + "setMagFilter:"); +_MTL_PRIVATE_DEF_SEL(setMaxAnisotropy_, + "setMaxAnisotropy:"); +_MTL_PRIVATE_DEF_SEL(setMaxCallStackDepth_, + "setMaxCallStackDepth:"); +_MTL_PRIVATE_DEF_SEL(setMaxFragmentBufferBindCount_, + "setMaxFragmentBufferBindCount:"); +_MTL_PRIVATE_DEF_SEL(setMaxFragmentCallStackDepth_, + "setMaxFragmentCallStackDepth:"); +_MTL_PRIVATE_DEF_SEL(setMaxKernelBufferBindCount_, + "setMaxKernelBufferBindCount:"); +_MTL_PRIVATE_DEF_SEL(setMaxTessellationFactor_, + "setMaxTessellationFactor:"); +_MTL_PRIVATE_DEF_SEL(setMaxTotalThreadsPerThreadgroup_, + "setMaxTotalThreadsPerThreadgroup:"); +_MTL_PRIVATE_DEF_SEL(setMaxVertexAmplificationCount_, + "setMaxVertexAmplificationCount:"); +_MTL_PRIVATE_DEF_SEL(setMaxVertexBufferBindCount_, + "setMaxVertexBufferBindCount:"); +_MTL_PRIVATE_DEF_SEL(setMaxVertexCallStackDepth_, + "setMaxVertexCallStackDepth:"); +_MTL_PRIVATE_DEF_SEL(setMinFilter_, + "setMinFilter:"); +_MTL_PRIVATE_DEF_SEL(setMipFilter_, + "setMipFilter:"); +_MTL_PRIVATE_DEF_SEL(setMipmapLevelCount_, + "setMipmapLevelCount:"); +_MTL_PRIVATE_DEF_SEL(setMotionEndBorderMode_, + "setMotionEndBorderMode:"); +_MTL_PRIVATE_DEF_SEL(setMotionEndTime_, + "setMotionEndTime:"); +_MTL_PRIVATE_DEF_SEL(setMotionKeyframeCount_, + "setMotionKeyframeCount:"); +_MTL_PRIVATE_DEF_SEL(setMotionStartBorderMode_, + "setMotionStartBorderMode:"); +_MTL_PRIVATE_DEF_SEL(setMotionStartTime_, + "setMotionStartTime:"); +_MTL_PRIVATE_DEF_SEL(setMotionTransformBuffer_, + "setMotionTransformBuffer:"); +_MTL_PRIVATE_DEF_SEL(setMotionTransformBufferOffset_, + "setMotionTransformBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(setMotionTransformCount_, + "setMotionTransformCount:"); +_MTL_PRIVATE_DEF_SEL(setMutability_, + "setMutability:"); +_MTL_PRIVATE_DEF_SEL(setName_, + "setName:"); +_MTL_PRIVATE_DEF_SEL(setNodes_, + "setNodes:"); +_MTL_PRIVATE_DEF_SEL(setNormalizedCoordinates_, + "setNormalizedCoordinates:"); +_MTL_PRIVATE_DEF_SEL(setObject_atIndexedSubscript_, + "setObject:atIndexedSubscript:"); +_MTL_PRIVATE_DEF_SEL(setOffset_, + "setOffset:"); +_MTL_PRIVATE_DEF_SEL(setOpaque_, + "setOpaque:"); +_MTL_PRIVATE_DEF_SEL(setOpaqueTriangleIntersectionFunctionWithSignature_atIndex_, + "setOpaqueTriangleIntersectionFunctionWithSignature:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setOpaqueTriangleIntersectionFunctionWithSignature_withRange_, + "setOpaqueTriangleIntersectionFunctionWithSignature:withRange:"); +_MTL_PRIVATE_DEF_SEL(setOptions_, + "setOptions:"); +_MTL_PRIVATE_DEF_SEL(setOutputNode_, + "setOutputNode:"); +_MTL_PRIVATE_DEF_SEL(setOutputURL_, + "setOutputURL:"); +_MTL_PRIVATE_DEF_SEL(setPixelFormat_, + "setPixelFormat:"); +_MTL_PRIVATE_DEF_SEL(setPreloadedLibraries_, + "setPreloadedLibraries:"); +_MTL_PRIVATE_DEF_SEL(setPreprocessorMacros_, + "setPreprocessorMacros:"); +_MTL_PRIVATE_DEF_SEL(setPreserveInvariance_, + "setPreserveInvariance:"); +_MTL_PRIVATE_DEF_SEL(setPrivateFunctions_, + "setPrivateFunctions:"); +_MTL_PRIVATE_DEF_SEL(setPurgeableState_, + "setPurgeableState:"); +_MTL_PRIVATE_DEF_SEL(setRAddressMode_, + "setRAddressMode:"); +_MTL_PRIVATE_DEF_SEL(setRasterSampleCount_, + "setRasterSampleCount:"); +_MTL_PRIVATE_DEF_SEL(setRasterizationEnabled_, + "setRasterizationEnabled:"); +_MTL_PRIVATE_DEF_SEL(setRasterizationRateMap_, + "setRasterizationRateMap:"); +_MTL_PRIVATE_DEF_SEL(setReadMask_, + "setReadMask:"); +_MTL_PRIVATE_DEF_SEL(setRenderPipelineState_, + "setRenderPipelineState:"); +_MTL_PRIVATE_DEF_SEL(setRenderPipelineState_atIndex_, + "setRenderPipelineState:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setRenderPipelineStates_withRange_, + "setRenderPipelineStates:withRange:"); +_MTL_PRIVATE_DEF_SEL(setRenderTargetArrayLength_, + "setRenderTargetArrayLength:"); +_MTL_PRIVATE_DEF_SEL(setRenderTargetHeight_, + "setRenderTargetHeight:"); +_MTL_PRIVATE_DEF_SEL(setRenderTargetWidth_, + "setRenderTargetWidth:"); +_MTL_PRIVATE_DEF_SEL(setResolveDepthPlane_, + "setResolveDepthPlane:"); +_MTL_PRIVATE_DEF_SEL(setResolveLevel_, + "setResolveLevel:"); +_MTL_PRIVATE_DEF_SEL(setResolveSlice_, + "setResolveSlice:"); +_MTL_PRIVATE_DEF_SEL(setResolveTexture_, + "setResolveTexture:"); +_MTL_PRIVATE_DEF_SEL(setResourceOptions_, + "setResourceOptions:"); +_MTL_PRIVATE_DEF_SEL(setRetainedReferences_, + "setRetainedReferences:"); +_MTL_PRIVATE_DEF_SEL(setRgbBlendOperation_, + "setRgbBlendOperation:"); +_MTL_PRIVATE_DEF_SEL(setSAddressMode_, + "setSAddressMode:"); +_MTL_PRIVATE_DEF_SEL(setSampleBuffer_, + "setSampleBuffer:"); +_MTL_PRIVATE_DEF_SEL(setSampleCount_, + "setSampleCount:"); +_MTL_PRIVATE_DEF_SEL(setSamplePositions_count_, + "setSamplePositions:count:"); +_MTL_PRIVATE_DEF_SEL(setSamplerState_atIndex_, + "setSamplerState:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setSamplerState_lodMinClamp_lodMaxClamp_atIndex_, + "setSamplerState:lodMinClamp:lodMaxClamp:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setSamplerStates_lodMinClamps_lodMaxClamps_withRange_, + "setSamplerStates:lodMinClamps:lodMaxClamps:withRange:"); +_MTL_PRIVATE_DEF_SEL(setSamplerStates_withRange_, + "setSamplerStates:withRange:"); +_MTL_PRIVATE_DEF_SEL(setScissorRect_, + "setScissorRect:"); +_MTL_PRIVATE_DEF_SEL(setScissorRects_count_, + "setScissorRects:count:"); +_MTL_PRIVATE_DEF_SEL(setScreenSize_, + "setScreenSize:"); +_MTL_PRIVATE_DEF_SEL(setSignaledValue_, + "setSignaledValue:"); +_MTL_PRIVATE_DEF_SEL(setSize_, + "setSize:"); +_MTL_PRIVATE_DEF_SEL(setSlice_, + "setSlice:"); +_MTL_PRIVATE_DEF_SEL(setSourceAlphaBlendFactor_, + "setSourceAlphaBlendFactor:"); +_MTL_PRIVATE_DEF_SEL(setSourceRGBBlendFactor_, + "setSourceRGBBlendFactor:"); +_MTL_PRIVATE_DEF_SEL(setSpecializedName_, + "setSpecializedName:"); +_MTL_PRIVATE_DEF_SEL(setStageInRegion_, + "setStageInRegion:"); +_MTL_PRIVATE_DEF_SEL(setStageInRegionWithIndirectBuffer_indirectBufferOffset_, + "setStageInRegionWithIndirectBuffer:indirectBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(setStageInputDescriptor_, + "setStageInputDescriptor:"); +_MTL_PRIVATE_DEF_SEL(setStartOfEncoderSampleIndex_, + "setStartOfEncoderSampleIndex:"); +_MTL_PRIVATE_DEF_SEL(setStartOfFragmentSampleIndex_, + "setStartOfFragmentSampleIndex:"); +_MTL_PRIVATE_DEF_SEL(setStartOfVertexSampleIndex_, + "setStartOfVertexSampleIndex:"); +_MTL_PRIVATE_DEF_SEL(setStencilAttachment_, + "setStencilAttachment:"); +_MTL_PRIVATE_DEF_SEL(setStencilAttachmentPixelFormat_, + "setStencilAttachmentPixelFormat:"); +_MTL_PRIVATE_DEF_SEL(setStencilCompareFunction_, + "setStencilCompareFunction:"); +_MTL_PRIVATE_DEF_SEL(setStencilFailureOperation_, + "setStencilFailureOperation:"); +_MTL_PRIVATE_DEF_SEL(setStencilFrontReferenceValue_backReferenceValue_, + "setStencilFrontReferenceValue:backReferenceValue:"); +_MTL_PRIVATE_DEF_SEL(setStencilReferenceValue_, + "setStencilReferenceValue:"); +_MTL_PRIVATE_DEF_SEL(setStencilResolveFilter_, + "setStencilResolveFilter:"); +_MTL_PRIVATE_DEF_SEL(setStencilStoreAction_, + "setStencilStoreAction:"); +_MTL_PRIVATE_DEF_SEL(setStencilStoreActionOptions_, + "setStencilStoreActionOptions:"); +_MTL_PRIVATE_DEF_SEL(setStepFunction_, + "setStepFunction:"); +_MTL_PRIVATE_DEF_SEL(setStepRate_, + "setStepRate:"); +_MTL_PRIVATE_DEF_SEL(setStorageMode_, + "setStorageMode:"); +_MTL_PRIVATE_DEF_SEL(setStoreAction_, + "setStoreAction:"); +_MTL_PRIVATE_DEF_SEL(setStoreActionOptions_, + "setStoreActionOptions:"); +_MTL_PRIVATE_DEF_SEL(setStride_, + "setStride:"); +_MTL_PRIVATE_DEF_SEL(setSupportAddingBinaryFunctions_, + "setSupportAddingBinaryFunctions:"); +_MTL_PRIVATE_DEF_SEL(setSupportAddingFragmentBinaryFunctions_, + "setSupportAddingFragmentBinaryFunctions:"); +_MTL_PRIVATE_DEF_SEL(setSupportAddingVertexBinaryFunctions_, + "setSupportAddingVertexBinaryFunctions:"); +_MTL_PRIVATE_DEF_SEL(setSupportArgumentBuffers_, + "setSupportArgumentBuffers:"); +_MTL_PRIVATE_DEF_SEL(setSupportIndirectCommandBuffers_, + "setSupportIndirectCommandBuffers:"); +_MTL_PRIVATE_DEF_SEL(setSwizzle_, + "setSwizzle:"); +_MTL_PRIVATE_DEF_SEL(setTAddressMode_, + "setTAddressMode:"); +_MTL_PRIVATE_DEF_SEL(setTessellationControlPointIndexType_, + "setTessellationControlPointIndexType:"); +_MTL_PRIVATE_DEF_SEL(setTessellationFactorBuffer_offset_instanceStride_, + "setTessellationFactorBuffer:offset:instanceStride:"); +_MTL_PRIVATE_DEF_SEL(setTessellationFactorFormat_, + "setTessellationFactorFormat:"); +_MTL_PRIVATE_DEF_SEL(setTessellationFactorScale_, + "setTessellationFactorScale:"); +_MTL_PRIVATE_DEF_SEL(setTessellationFactorScaleEnabled_, + "setTessellationFactorScaleEnabled:"); +_MTL_PRIVATE_DEF_SEL(setTessellationFactorStepFunction_, + "setTessellationFactorStepFunction:"); +_MTL_PRIVATE_DEF_SEL(setTessellationOutputWindingOrder_, + "setTessellationOutputWindingOrder:"); +_MTL_PRIVATE_DEF_SEL(setTessellationPartitionMode_, + "setTessellationPartitionMode:"); +_MTL_PRIVATE_DEF_SEL(setTexture_, + "setTexture:"); +_MTL_PRIVATE_DEF_SEL(setTexture_atIndex_, + "setTexture:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setTextureType_, + "setTextureType:"); +_MTL_PRIVATE_DEF_SEL(setTextures_withRange_, + "setTextures:withRange:"); +_MTL_PRIVATE_DEF_SEL(setThreadGroupSizeIsMultipleOfThreadExecutionWidth_, + "setThreadGroupSizeIsMultipleOfThreadExecutionWidth:"); +_MTL_PRIVATE_DEF_SEL(setThreadgroupMemoryLength_, + "setThreadgroupMemoryLength:"); +_MTL_PRIVATE_DEF_SEL(setThreadgroupMemoryLength_atIndex_, + "setThreadgroupMemoryLength:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setThreadgroupMemoryLength_offset_atIndex_, + "setThreadgroupMemoryLength:offset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setThreadgroupSizeMatchesTileSize_, + "setThreadgroupSizeMatchesTileSize:"); +_MTL_PRIVATE_DEF_SEL(setTileAccelerationStructure_atBufferIndex_, + "setTileAccelerationStructure:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileAdditionalBinaryFunctions_, + "setTileAdditionalBinaryFunctions:"); +_MTL_PRIVATE_DEF_SEL(setTileBuffer_offset_atIndex_, + "setTileBuffer:offset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileBufferOffset_atIndex_, + "setTileBufferOffset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileBuffers_offsets_withRange_, + "setTileBuffers:offsets:withRange:"); +_MTL_PRIVATE_DEF_SEL(setTileBytes_length_atIndex_, + "setTileBytes:length:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileFunction_, + "setTileFunction:"); +_MTL_PRIVATE_DEF_SEL(setTileHeight_, + "setTileHeight:"); +_MTL_PRIVATE_DEF_SEL(setTileIntersectionFunctionTable_atBufferIndex_, + "setTileIntersectionFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileIntersectionFunctionTables_withBufferRange_, + "setTileIntersectionFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setTileSamplerState_atIndex_, + "setTileSamplerState:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileSamplerState_lodMinClamp_lodMaxClamp_atIndex_, + "setTileSamplerState:lodMinClamp:lodMaxClamp:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileSamplerStates_lodMinClamps_lodMaxClamps_withRange_, + "setTileSamplerStates:lodMinClamps:lodMaxClamps:withRange:"); +_MTL_PRIVATE_DEF_SEL(setTileSamplerStates_withRange_, + "setTileSamplerStates:withRange:"); +_MTL_PRIVATE_DEF_SEL(setTileTexture_atIndex_, + "setTileTexture:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileTextures_withRange_, + "setTileTextures:withRange:"); +_MTL_PRIVATE_DEF_SEL(setTileVisibleFunctionTable_atBufferIndex_, + "setTileVisibleFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setTileVisibleFunctionTables_withBufferRange_, + "setTileVisibleFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setTileWidth_, + "setTileWidth:"); +_MTL_PRIVATE_DEF_SEL(setTriangleCount_, + "setTriangleCount:"); +_MTL_PRIVATE_DEF_SEL(setTriangleFillMode_, + "setTriangleFillMode:"); +_MTL_PRIVATE_DEF_SEL(setType_, + "setType:"); +_MTL_PRIVATE_DEF_SEL(setUrl_, + "setUrl:"); +_MTL_PRIVATE_DEF_SEL(setUsage_, + "setUsage:"); +_MTL_PRIVATE_DEF_SEL(setVertexAccelerationStructure_atBufferIndex_, + "setVertexAccelerationStructure:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexAdditionalBinaryFunctions_, + "setVertexAdditionalBinaryFunctions:"); +_MTL_PRIVATE_DEF_SEL(setVertexAmplificationCount_viewMappings_, + "setVertexAmplificationCount:viewMappings:"); +_MTL_PRIVATE_DEF_SEL(setVertexBuffer_, + "setVertexBuffer:"); +_MTL_PRIVATE_DEF_SEL(setVertexBuffer_offset_atIndex_, + "setVertexBuffer:offset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexBufferOffset_, + "setVertexBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(setVertexBufferOffset_atIndex_, + "setVertexBufferOffset:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexBuffers_, + "setVertexBuffers:"); +_MTL_PRIVATE_DEF_SEL(setVertexBuffers_offsets_withRange_, + "setVertexBuffers:offsets:withRange:"); +_MTL_PRIVATE_DEF_SEL(setVertexBytes_length_atIndex_, + "setVertexBytes:length:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexDescriptor_, + "setVertexDescriptor:"); +_MTL_PRIVATE_DEF_SEL(setVertexFunction_, + "setVertexFunction:"); +_MTL_PRIVATE_DEF_SEL(setVertexIntersectionFunctionTable_atBufferIndex_, + "setVertexIntersectionFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexIntersectionFunctionTables_withBufferRange_, + "setVertexIntersectionFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setVertexLinkedFunctions_, + "setVertexLinkedFunctions:"); +_MTL_PRIVATE_DEF_SEL(setVertexPreloadedLibraries_, + "setVertexPreloadedLibraries:"); +_MTL_PRIVATE_DEF_SEL(setVertexSamplerState_atIndex_, + "setVertexSamplerState:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexSamplerState_lodMinClamp_lodMaxClamp_atIndex_, + "setVertexSamplerState:lodMinClamp:lodMaxClamp:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexSamplerStates_lodMinClamps_lodMaxClamps_withRange_, + "setVertexSamplerStates:lodMinClamps:lodMaxClamps:withRange:"); +_MTL_PRIVATE_DEF_SEL(setVertexSamplerStates_withRange_, + "setVertexSamplerStates:withRange:"); +_MTL_PRIVATE_DEF_SEL(setVertexStride_, + "setVertexStride:"); +_MTL_PRIVATE_DEF_SEL(setVertexTexture_atIndex_, + "setVertexTexture:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexTextures_withRange_, + "setVertexTextures:withRange:"); +_MTL_PRIVATE_DEF_SEL(setVertexVisibleFunctionTable_atBufferIndex_, + "setVertexVisibleFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setVertexVisibleFunctionTables_withBufferRange_, + "setVertexVisibleFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setViewport_, + "setViewport:"); +_MTL_PRIVATE_DEF_SEL(setViewports_count_, + "setViewports:count:"); +_MTL_PRIVATE_DEF_SEL(setVisibilityResultBuffer_, + "setVisibilityResultBuffer:"); +_MTL_PRIVATE_DEF_SEL(setVisibilityResultMode_offset_, + "setVisibilityResultMode:offset:"); +_MTL_PRIVATE_DEF_SEL(setVisibleFunctionTable_atBufferIndex_, + "setVisibleFunctionTable:atBufferIndex:"); +_MTL_PRIVATE_DEF_SEL(setVisibleFunctionTable_atIndex_, + "setVisibleFunctionTable:atIndex:"); +_MTL_PRIVATE_DEF_SEL(setVisibleFunctionTables_withBufferRange_, + "setVisibleFunctionTables:withBufferRange:"); +_MTL_PRIVATE_DEF_SEL(setVisibleFunctionTables_withRange_, + "setVisibleFunctionTables:withRange:"); +_MTL_PRIVATE_DEF_SEL(setWidth_, + "setWidth:"); +_MTL_PRIVATE_DEF_SEL(setWriteMask_, + "setWriteMask:"); +_MTL_PRIVATE_DEF_SEL(sharedCaptureManager, + "sharedCaptureManager"); +_MTL_PRIVATE_DEF_SEL(signaledValue, + "signaledValue"); +_MTL_PRIVATE_DEF_SEL(size, + "size"); +_MTL_PRIVATE_DEF_SEL(slice, + "slice"); +_MTL_PRIVATE_DEF_SEL(sourceAlphaBlendFactor, + "sourceAlphaBlendFactor"); +_MTL_PRIVATE_DEF_SEL(sourceRGBBlendFactor, + "sourceRGBBlendFactor"); +_MTL_PRIVATE_DEF_SEL(sparseTileSizeInBytes, + "sparseTileSizeInBytes"); +_MTL_PRIVATE_DEF_SEL(sparseTileSizeWithTextureType_pixelFormat_sampleCount_, + "sparseTileSizeWithTextureType:pixelFormat:sampleCount:"); +_MTL_PRIVATE_DEF_SEL(specializedName, + "specializedName"); +_MTL_PRIVATE_DEF_SEL(stageInputAttributes, + "stageInputAttributes"); +_MTL_PRIVATE_DEF_SEL(stageInputDescriptor, + "stageInputDescriptor"); +_MTL_PRIVATE_DEF_SEL(stageInputOutputDescriptor, + "stageInputOutputDescriptor"); +_MTL_PRIVATE_DEF_SEL(startCaptureWithCommandQueue_, + "startCaptureWithCommandQueue:"); +_MTL_PRIVATE_DEF_SEL(startCaptureWithDescriptor_error_, + "startCaptureWithDescriptor:error:"); +_MTL_PRIVATE_DEF_SEL(startCaptureWithDevice_, + "startCaptureWithDevice:"); +_MTL_PRIVATE_DEF_SEL(startCaptureWithScope_, + "startCaptureWithScope:"); +_MTL_PRIVATE_DEF_SEL(startOfEncoderSampleIndex, + "startOfEncoderSampleIndex"); +_MTL_PRIVATE_DEF_SEL(startOfFragmentSampleIndex, + "startOfFragmentSampleIndex"); +_MTL_PRIVATE_DEF_SEL(startOfVertexSampleIndex, + "startOfVertexSampleIndex"); +_MTL_PRIVATE_DEF_SEL(staticThreadgroupMemoryLength, + "staticThreadgroupMemoryLength"); +_MTL_PRIVATE_DEF_SEL(status, + "status"); +_MTL_PRIVATE_DEF_SEL(stencilAttachment, + "stencilAttachment"); +_MTL_PRIVATE_DEF_SEL(stencilAttachmentPixelFormat, + "stencilAttachmentPixelFormat"); +_MTL_PRIVATE_DEF_SEL(stencilCompareFunction, + "stencilCompareFunction"); +_MTL_PRIVATE_DEF_SEL(stencilFailureOperation, + "stencilFailureOperation"); +_MTL_PRIVATE_DEF_SEL(stencilResolveFilter, + "stencilResolveFilter"); +_MTL_PRIVATE_DEF_SEL(stepFunction, + "stepFunction"); +_MTL_PRIVATE_DEF_SEL(stepRate, + "stepRate"); +_MTL_PRIVATE_DEF_SEL(stopCapture, + "stopCapture"); +_MTL_PRIVATE_DEF_SEL(storageMode, + "storageMode"); +_MTL_PRIVATE_DEF_SEL(storeAction, + "storeAction"); +_MTL_PRIVATE_DEF_SEL(storeActionOptions, + "storeActionOptions"); +_MTL_PRIVATE_DEF_SEL(stride, + "stride"); +_MTL_PRIVATE_DEF_SEL(structType, + "structType"); +_MTL_PRIVATE_DEF_SEL(supportAddingBinaryFunctions, + "supportAddingBinaryFunctions"); +_MTL_PRIVATE_DEF_SEL(supportAddingFragmentBinaryFunctions, + "supportAddingFragmentBinaryFunctions"); +_MTL_PRIVATE_DEF_SEL(supportAddingVertexBinaryFunctions, + "supportAddingVertexBinaryFunctions"); +_MTL_PRIVATE_DEF_SEL(supportArgumentBuffers, + "supportArgumentBuffers"); +_MTL_PRIVATE_DEF_SEL(supportIndirectCommandBuffers, + "supportIndirectCommandBuffers"); +_MTL_PRIVATE_DEF_SEL(supports32BitFloatFiltering, + "supports32BitFloatFiltering"); +_MTL_PRIVATE_DEF_SEL(supports32BitMSAA, + "supports32BitMSAA"); +_MTL_PRIVATE_DEF_SEL(supportsBCTextureCompression, + "supportsBCTextureCompression"); +_MTL_PRIVATE_DEF_SEL(supportsCounterSampling_, + "supportsCounterSampling:"); +_MTL_PRIVATE_DEF_SEL(supportsDestination_, + "supportsDestination:"); +_MTL_PRIVATE_DEF_SEL(supportsDynamicLibraries, + "supportsDynamicLibraries"); +_MTL_PRIVATE_DEF_SEL(supportsFamily_, + "supportsFamily:"); +_MTL_PRIVATE_DEF_SEL(supportsFeatureSet_, + "supportsFeatureSet:"); +_MTL_PRIVATE_DEF_SEL(supportsFunctionPointers, + "supportsFunctionPointers"); +_MTL_PRIVATE_DEF_SEL(supportsFunctionPointersFromRender, + "supportsFunctionPointersFromRender"); +_MTL_PRIVATE_DEF_SEL(supportsPrimitiveMotionBlur, + "supportsPrimitiveMotionBlur"); +_MTL_PRIVATE_DEF_SEL(supportsPullModelInterpolation, + "supportsPullModelInterpolation"); +_MTL_PRIVATE_DEF_SEL(supportsQueryTextureLOD, + "supportsQueryTextureLOD"); +_MTL_PRIVATE_DEF_SEL(supportsRasterizationRateMapWithLayerCount_, + "supportsRasterizationRateMapWithLayerCount:"); +_MTL_PRIVATE_DEF_SEL(supportsRaytracing, + "supportsRaytracing"); +_MTL_PRIVATE_DEF_SEL(supportsRaytracingFromRender, + "supportsRaytracingFromRender"); +_MTL_PRIVATE_DEF_SEL(supportsRenderDynamicLibraries, + "supportsRenderDynamicLibraries"); +_MTL_PRIVATE_DEF_SEL(supportsShaderBarycentricCoordinates, + "supportsShaderBarycentricCoordinates"); +_MTL_PRIVATE_DEF_SEL(supportsTextureSampleCount_, + "supportsTextureSampleCount:"); +_MTL_PRIVATE_DEF_SEL(supportsVertexAmplificationCount_, + "supportsVertexAmplificationCount:"); +_MTL_PRIVATE_DEF_SEL(swizzle, + "swizzle"); +_MTL_PRIVATE_DEF_SEL(synchronizeResource_, + "synchronizeResource:"); +_MTL_PRIVATE_DEF_SEL(synchronizeTexture_slice_level_, + "synchronizeTexture:slice:level:"); +_MTL_PRIVATE_DEF_SEL(tAddressMode, + "tAddressMode"); +_MTL_PRIVATE_DEF_SEL(tailSizeInBytes, + "tailSizeInBytes"); +_MTL_PRIVATE_DEF_SEL(tessellationControlPointIndexType, + "tessellationControlPointIndexType"); +_MTL_PRIVATE_DEF_SEL(tessellationFactorFormat, + "tessellationFactorFormat"); +_MTL_PRIVATE_DEF_SEL(tessellationFactorStepFunction, + "tessellationFactorStepFunction"); +_MTL_PRIVATE_DEF_SEL(tessellationOutputWindingOrder, + "tessellationOutputWindingOrder"); +_MTL_PRIVATE_DEF_SEL(tessellationPartitionMode, + "tessellationPartitionMode"); +_MTL_PRIVATE_DEF_SEL(texture, + "texture"); +_MTL_PRIVATE_DEF_SEL(texture2DDescriptorWithPixelFormat_width_height_mipmapped_, + "texture2DDescriptorWithPixelFormat:width:height:mipmapped:"); +_MTL_PRIVATE_DEF_SEL(textureBarrier, + "textureBarrier"); +_MTL_PRIVATE_DEF_SEL(textureBufferDescriptorWithPixelFormat_width_resourceOptions_usage_, + "textureBufferDescriptorWithPixelFormat:width:resourceOptions:usage:"); +_MTL_PRIVATE_DEF_SEL(textureCubeDescriptorWithPixelFormat_size_mipmapped_, + "textureCubeDescriptorWithPixelFormat:size:mipmapped:"); +_MTL_PRIVATE_DEF_SEL(textureDataType, + "textureDataType"); +_MTL_PRIVATE_DEF_SEL(textureReferenceType, + "textureReferenceType"); +_MTL_PRIVATE_DEF_SEL(textureType, + "textureType"); +_MTL_PRIVATE_DEF_SEL(threadExecutionWidth, + "threadExecutionWidth"); +_MTL_PRIVATE_DEF_SEL(threadGroupSizeIsMultipleOfThreadExecutionWidth, + "threadGroupSizeIsMultipleOfThreadExecutionWidth"); +_MTL_PRIVATE_DEF_SEL(threadgroupMemoryAlignment, + "threadgroupMemoryAlignment"); +_MTL_PRIVATE_DEF_SEL(threadgroupMemoryDataSize, + "threadgroupMemoryDataSize"); +_MTL_PRIVATE_DEF_SEL(threadgroupMemoryLength, + "threadgroupMemoryLength"); +_MTL_PRIVATE_DEF_SEL(threadgroupSizeMatchesTileSize, + "threadgroupSizeMatchesTileSize"); +_MTL_PRIVATE_DEF_SEL(tileAdditionalBinaryFunctions, + "tileAdditionalBinaryFunctions"); +_MTL_PRIVATE_DEF_SEL(tileArguments, + "tileArguments"); +_MTL_PRIVATE_DEF_SEL(tileBuffers, + "tileBuffers"); +_MTL_PRIVATE_DEF_SEL(tileFunction, + "tileFunction"); +_MTL_PRIVATE_DEF_SEL(tileHeight, + "tileHeight"); +_MTL_PRIVATE_DEF_SEL(tileWidth, + "tileWidth"); +_MTL_PRIVATE_DEF_SEL(triangleCount, + "triangleCount"); +_MTL_PRIVATE_DEF_SEL(type, + "type"); +_MTL_PRIVATE_DEF_SEL(updateFence_, + "updateFence:"); +_MTL_PRIVATE_DEF_SEL(updateFence_afterStages_, + "updateFence:afterStages:"); +_MTL_PRIVATE_DEF_SEL(updateTextureMapping_mode_indirectBuffer_indirectBufferOffset_, + "updateTextureMapping:mode:indirectBuffer:indirectBufferOffset:"); +_MTL_PRIVATE_DEF_SEL(updateTextureMapping_mode_region_mipLevel_slice_, + "updateTextureMapping:mode:region:mipLevel:slice:"); +_MTL_PRIVATE_DEF_SEL(updateTextureMappings_mode_regions_mipLevels_slices_numRegions_, + "updateTextureMappings:mode:regions:mipLevels:slices:numRegions:"); +_MTL_PRIVATE_DEF_SEL(url, + "url"); +_MTL_PRIVATE_DEF_SEL(usage, + "usage"); +_MTL_PRIVATE_DEF_SEL(useHeap_, + "useHeap:"); +_MTL_PRIVATE_DEF_SEL(useHeap_stages_, + "useHeap:stages:"); +_MTL_PRIVATE_DEF_SEL(useHeaps_count_, + "useHeaps:count:"); +_MTL_PRIVATE_DEF_SEL(useHeaps_count_stages_, + "useHeaps:count:stages:"); +_MTL_PRIVATE_DEF_SEL(useResource_usage_, + "useResource:usage:"); +_MTL_PRIVATE_DEF_SEL(useResource_usage_stages_, + "useResource:usage:stages:"); +_MTL_PRIVATE_DEF_SEL(useResources_count_usage_, + "useResources:count:usage:"); +_MTL_PRIVATE_DEF_SEL(useResources_count_usage_stages_, + "useResources:count:usage:stages:"); +_MTL_PRIVATE_DEF_SEL(usedSize, + "usedSize"); +_MTL_PRIVATE_DEF_SEL(vertexAdditionalBinaryFunctions, + "vertexAdditionalBinaryFunctions"); +_MTL_PRIVATE_DEF_SEL(vertexArguments, + "vertexArguments"); +_MTL_PRIVATE_DEF_SEL(vertexAttributes, + "vertexAttributes"); +_MTL_PRIVATE_DEF_SEL(vertexBuffer, + "vertexBuffer"); +_MTL_PRIVATE_DEF_SEL(vertexBufferOffset, + "vertexBufferOffset"); +_MTL_PRIVATE_DEF_SEL(vertexBuffers, + "vertexBuffers"); +_MTL_PRIVATE_DEF_SEL(vertexDescriptor, + "vertexDescriptor"); +_MTL_PRIVATE_DEF_SEL(vertexFunction, + "vertexFunction"); +_MTL_PRIVATE_DEF_SEL(vertexLinkedFunctions, + "vertexLinkedFunctions"); +_MTL_PRIVATE_DEF_SEL(vertexPreloadedLibraries, + "vertexPreloadedLibraries"); +_MTL_PRIVATE_DEF_SEL(vertexStride, + "vertexStride"); +_MTL_PRIVATE_DEF_SEL(vertical, + "vertical"); +_MTL_PRIVATE_DEF_SEL(verticalSampleStorage, + "verticalSampleStorage"); +_MTL_PRIVATE_DEF_SEL(visibilityResultBuffer, + "visibilityResultBuffer"); +_MTL_PRIVATE_DEF_SEL(visibleFunctionTableDescriptor, + "visibleFunctionTableDescriptor"); +_MTL_PRIVATE_DEF_SEL(waitForFence_, + "waitForFence:"); +_MTL_PRIVATE_DEF_SEL(waitForFence_beforeStages_, + "waitForFence:beforeStages:"); +_MTL_PRIVATE_DEF_SEL(waitUntilCompleted, + "waitUntilCompleted"); +_MTL_PRIVATE_DEF_SEL(waitUntilScheduled, + "waitUntilScheduled"); +_MTL_PRIVATE_DEF_SEL(width, + "width"); +_MTL_PRIVATE_DEF_SEL(writeCompactedAccelerationStructureSize_toBuffer_offset_, + "writeCompactedAccelerationStructureSize:toBuffer:offset:"); +_MTL_PRIVATE_DEF_SEL(writeCompactedAccelerationStructureSize_toBuffer_offset_sizeDataType_, + "writeCompactedAccelerationStructureSize:toBuffer:offset:sizeDataType:"); +_MTL_PRIVATE_DEF_SEL(writeMask, + "writeMask"); + +} diff --git a/metal-cpp/Metal/MTLHeap.hpp b/metal-cpp/Metal/MTLHeap.hpp new file mode 100644 index 00000000..eb2c3e12 --- /dev/null +++ b/metal-cpp/Metal/MTLHeap.hpp @@ -0,0 +1,282 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLHeap.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLHeap.hpp" +#include "MTLResource.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::Integer, HeapType) { + HeapTypeAutomatic = 0, + HeapTypePlacement = 1, + HeapTypeSparse = 2, +}; + +class HeapDescriptor : public NS::Copying +{ +public: + static class HeapDescriptor* alloc(); + + class HeapDescriptor* init(); + + NS::UInteger size() const; + void setSize(NS::UInteger size); + + MTL::StorageMode storageMode() const; + void setStorageMode(MTL::StorageMode storageMode); + + MTL::CPUCacheMode cpuCacheMode() const; + void setCpuCacheMode(MTL::CPUCacheMode cpuCacheMode); + + MTL::HazardTrackingMode hazardTrackingMode() const; + void setHazardTrackingMode(MTL::HazardTrackingMode hazardTrackingMode); + + MTL::ResourceOptions resourceOptions() const; + void setResourceOptions(MTL::ResourceOptions resourceOptions); + + MTL::HeapType type() const; + void setType(MTL::HeapType type); +}; + +class Heap : public NS::Referencing +{ +public: + NS::String* label() const; + void setLabel(const NS::String* label); + + class Device* device() const; + + MTL::StorageMode storageMode() const; + + MTL::CPUCacheMode cpuCacheMode() const; + + MTL::HazardTrackingMode hazardTrackingMode() const; + + MTL::ResourceOptions resourceOptions() const; + + NS::UInteger size() const; + + NS::UInteger usedSize() const; + + NS::UInteger currentAllocatedSize() const; + + NS::UInteger maxAvailableSize(NS::UInteger alignment); + + class Buffer* newBuffer(NS::UInteger length, MTL::ResourceOptions options); + + class Texture* newTexture(const class TextureDescriptor* desc); + + MTL::PurgeableState setPurgeableState(MTL::PurgeableState state); + + MTL::HeapType type() const; + + class Buffer* newBuffer(NS::UInteger length, MTL::ResourceOptions options, NS::UInteger offset); + + class Texture* newTexture(const class TextureDescriptor* descriptor, NS::UInteger offset); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::HeapDescriptor* MTL::HeapDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLHeapDescriptor)); +} + +// method: init +_MTL_INLINE MTL::HeapDescriptor* MTL::HeapDescriptor::init() +{ + return NS::Object::init(); +} + +// property: size +_MTL_INLINE NS::UInteger MTL::HeapDescriptor::size() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(size)); +} + +_MTL_INLINE void MTL::HeapDescriptor::setSize(NS::UInteger size) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSize_), size); +} + +// property: storageMode +_MTL_INLINE MTL::StorageMode MTL::HeapDescriptor::storageMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(storageMode)); +} + +_MTL_INLINE void MTL::HeapDescriptor::setStorageMode(MTL::StorageMode storageMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStorageMode_), storageMode); +} + +// property: cpuCacheMode +_MTL_INLINE MTL::CPUCacheMode MTL::HeapDescriptor::cpuCacheMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(cpuCacheMode)); +} + +_MTL_INLINE void MTL::HeapDescriptor::setCpuCacheMode(MTL::CPUCacheMode cpuCacheMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setCpuCacheMode_), cpuCacheMode); +} + +// property: hazardTrackingMode +_MTL_INLINE MTL::HazardTrackingMode MTL::HeapDescriptor::hazardTrackingMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(hazardTrackingMode)); +} + +_MTL_INLINE void MTL::HeapDescriptor::setHazardTrackingMode(MTL::HazardTrackingMode hazardTrackingMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setHazardTrackingMode_), hazardTrackingMode); +} + +// property: resourceOptions +_MTL_INLINE MTL::ResourceOptions MTL::HeapDescriptor::resourceOptions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resourceOptions)); +} + +_MTL_INLINE void MTL::HeapDescriptor::setResourceOptions(MTL::ResourceOptions resourceOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setResourceOptions_), resourceOptions); +} + +// property: type +_MTL_INLINE MTL::HeapType MTL::HeapDescriptor::type() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(type)); +} + +_MTL_INLINE void MTL::HeapDescriptor::setType(MTL::HeapType type) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setType_), type); +} + +// property: label +_MTL_INLINE NS::String* MTL::Heap::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::Heap::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::Heap::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: storageMode +_MTL_INLINE MTL::StorageMode MTL::Heap::storageMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(storageMode)); +} + +// property: cpuCacheMode +_MTL_INLINE MTL::CPUCacheMode MTL::Heap::cpuCacheMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(cpuCacheMode)); +} + +// property: hazardTrackingMode +_MTL_INLINE MTL::HazardTrackingMode MTL::Heap::hazardTrackingMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(hazardTrackingMode)); +} + +// property: resourceOptions +_MTL_INLINE MTL::ResourceOptions MTL::Heap::resourceOptions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resourceOptions)); +} + +// property: size +_MTL_INLINE NS::UInteger MTL::Heap::size() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(size)); +} + +// property: usedSize +_MTL_INLINE NS::UInteger MTL::Heap::usedSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(usedSize)); +} + +// property: currentAllocatedSize +_MTL_INLINE NS::UInteger MTL::Heap::currentAllocatedSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(currentAllocatedSize)); +} + +// method: maxAvailableSizeWithAlignment: +_MTL_INLINE NS::UInteger MTL::Heap::maxAvailableSize(NS::UInteger alignment) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxAvailableSizeWithAlignment_), alignment); +} + +// method: newBufferWithLength:options: +_MTL_INLINE MTL::Buffer* MTL::Heap::newBuffer(NS::UInteger length, MTL::ResourceOptions options) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newBufferWithLength_options_), length, options); +} + +// method: newTextureWithDescriptor: +_MTL_INLINE MTL::Texture* MTL::Heap::newTexture(const MTL::TextureDescriptor* desc) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureWithDescriptor_), desc); +} + +// method: setPurgeableState: +_MTL_INLINE MTL::PurgeableState MTL::Heap::setPurgeableState(MTL::PurgeableState state) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(setPurgeableState_), state); +} + +// property: type +_MTL_INLINE MTL::HeapType MTL::Heap::type() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(type)); +} + +// method: newBufferWithLength:options:offset: +_MTL_INLINE MTL::Buffer* MTL::Heap::newBuffer(NS::UInteger length, MTL::ResourceOptions options, NS::UInteger offset) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newBufferWithLength_options_offset_), length, options, offset); +} + +// method: newTextureWithDescriptor:offset: +_MTL_INLINE MTL::Texture* MTL::Heap::newTexture(const MTL::TextureDescriptor* descriptor, NS::UInteger offset) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureWithDescriptor_offset_), descriptor, offset); +} diff --git a/metal-cpp/Metal/MTLIndirectCommandBuffer.hpp b/metal-cpp/Metal/MTLIndirectCommandBuffer.hpp new file mode 100644 index 00000000..4aa3a359 --- /dev/null +++ b/metal-cpp/Metal/MTLIndirectCommandBuffer.hpp @@ -0,0 +1,189 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLIndirectCommandBuffer.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLIndirectCommandBuffer.hpp" +#include "MTLResource.hpp" + +namespace MTL +{ +_MTL_OPTIONS(NS::UInteger, IndirectCommandType) { + IndirectCommandTypeDraw = 1, + IndirectCommandTypeDrawIndexed = 2, + IndirectCommandTypeDrawPatches = 4, + IndirectCommandTypeDrawIndexedPatches = 8, + IndirectCommandTypeConcurrentDispatch = 32, + IndirectCommandTypeConcurrentDispatchThreads = 64, +}; + +struct IndirectCommandBufferExecutionRange +{ + uint32_t location; + uint32_t length; +} _MTL_PACKED; + +class IndirectCommandBufferDescriptor : public NS::Copying +{ +public: + static class IndirectCommandBufferDescriptor* alloc(); + + class IndirectCommandBufferDescriptor* init(); + + MTL::IndirectCommandType commandTypes() const; + void setCommandTypes(MTL::IndirectCommandType commandTypes); + + bool inheritPipelineState() const; + void setInheritPipelineState(bool inheritPipelineState); + + bool inheritBuffers() const; + void setInheritBuffers(bool inheritBuffers); + + NS::UInteger maxVertexBufferBindCount() const; + void setMaxVertexBufferBindCount(NS::UInteger maxVertexBufferBindCount); + + NS::UInteger maxFragmentBufferBindCount() const; + void setMaxFragmentBufferBindCount(NS::UInteger maxFragmentBufferBindCount); + + NS::UInteger maxKernelBufferBindCount() const; + void setMaxKernelBufferBindCount(NS::UInteger maxKernelBufferBindCount); +}; + +class IndirectCommandBuffer : public NS::Referencing +{ +public: + NS::UInteger size() const; + + void reset(NS::Range range); + + class IndirectRenderCommand* indirectRenderCommand(NS::UInteger commandIndex); + + class IndirectComputeCommand* indirectComputeCommand(NS::UInteger commandIndex); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::IndirectCommandBufferDescriptor* MTL::IndirectCommandBufferDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLIndirectCommandBufferDescriptor)); +} + +// method: init +_MTL_INLINE MTL::IndirectCommandBufferDescriptor* MTL::IndirectCommandBufferDescriptor::init() +{ + return NS::Object::init(); +} + +// property: commandTypes +_MTL_INLINE MTL::IndirectCommandType MTL::IndirectCommandBufferDescriptor::commandTypes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(commandTypes)); +} + +_MTL_INLINE void MTL::IndirectCommandBufferDescriptor::setCommandTypes(MTL::IndirectCommandType commandTypes) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setCommandTypes_), commandTypes); +} + +// property: inheritPipelineState +_MTL_INLINE bool MTL::IndirectCommandBufferDescriptor::inheritPipelineState() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(inheritPipelineState)); +} + +_MTL_INLINE void MTL::IndirectCommandBufferDescriptor::setInheritPipelineState(bool inheritPipelineState) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInheritPipelineState_), inheritPipelineState); +} + +// property: inheritBuffers +_MTL_INLINE bool MTL::IndirectCommandBufferDescriptor::inheritBuffers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(inheritBuffers)); +} + +_MTL_INLINE void MTL::IndirectCommandBufferDescriptor::setInheritBuffers(bool inheritBuffers) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInheritBuffers_), inheritBuffers); +} + +// property: maxVertexBufferBindCount +_MTL_INLINE NS::UInteger MTL::IndirectCommandBufferDescriptor::maxVertexBufferBindCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxVertexBufferBindCount)); +} + +_MTL_INLINE void MTL::IndirectCommandBufferDescriptor::setMaxVertexBufferBindCount(NS::UInteger maxVertexBufferBindCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxVertexBufferBindCount_), maxVertexBufferBindCount); +} + +// property: maxFragmentBufferBindCount +_MTL_INLINE NS::UInteger MTL::IndirectCommandBufferDescriptor::maxFragmentBufferBindCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxFragmentBufferBindCount)); +} + +_MTL_INLINE void MTL::IndirectCommandBufferDescriptor::setMaxFragmentBufferBindCount(NS::UInteger maxFragmentBufferBindCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxFragmentBufferBindCount_), maxFragmentBufferBindCount); +} + +// property: maxKernelBufferBindCount +_MTL_INLINE NS::UInteger MTL::IndirectCommandBufferDescriptor::maxKernelBufferBindCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxKernelBufferBindCount)); +} + +_MTL_INLINE void MTL::IndirectCommandBufferDescriptor::setMaxKernelBufferBindCount(NS::UInteger maxKernelBufferBindCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxKernelBufferBindCount_), maxKernelBufferBindCount); +} + +// property: size +_MTL_INLINE NS::UInteger MTL::IndirectCommandBuffer::size() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(size)); +} + +// method: resetWithRange: +_MTL_INLINE void MTL::IndirectCommandBuffer::reset(NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(resetWithRange_), range); +} + +// method: indirectRenderCommandAtIndex: +_MTL_INLINE MTL::IndirectRenderCommand* MTL::IndirectCommandBuffer::indirectRenderCommand(NS::UInteger commandIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indirectRenderCommandAtIndex_), commandIndex); +} + +// method: indirectComputeCommandAtIndex: +_MTL_INLINE MTL::IndirectComputeCommand* MTL::IndirectCommandBuffer::indirectComputeCommand(NS::UInteger commandIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indirectComputeCommandAtIndex_), commandIndex); +} diff --git a/metal-cpp/Metal/MTLIndirectCommandEncoder.hpp b/metal-cpp/Metal/MTLIndirectCommandEncoder.hpp new file mode 100644 index 00000000..06d52fd7 --- /dev/null +++ b/metal-cpp/Metal/MTLIndirectCommandEncoder.hpp @@ -0,0 +1,187 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLIndirectCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLRenderCommandEncoder.hpp" +#include "MTLStageInputOutputDescriptor.hpp" +#include "MTLTypes.hpp" + +namespace MTL +{ +class IndirectRenderCommand : public NS::Referencing +{ +public: + void setRenderPipelineState(const class RenderPipelineState* pipelineState); + + void setVertexBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void setFragmentBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void drawPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const class Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance, const class Buffer* buffer, NS::UInteger offset, NS::UInteger instanceStride); + + void drawIndexedPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const class Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const class Buffer* controlPointIndexBuffer, NS::UInteger controlPointIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance, const class Buffer* buffer, NS::UInteger offset, NS::UInteger instanceStride); + + void drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount, NS::UInteger instanceCount, NS::UInteger baseInstance); + + void drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const class Buffer* indexBuffer, NS::UInteger indexBufferOffset, NS::UInteger instanceCount, NS::Integer baseVertex, NS::UInteger baseInstance); + + void reset(); +}; + +class IndirectComputeCommand : public NS::Referencing +{ +public: + void setComputePipelineState(const class ComputePipelineState* pipelineState); + + void setKernelBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void concurrentDispatchThreadgroups(MTL::Size threadgroupsPerGrid, MTL::Size threadsPerThreadgroup); + + void concurrentDispatchThreads(MTL::Size threadsPerGrid, MTL::Size threadsPerThreadgroup); + + void setBarrier(); + + void clearBarrier(); + + void setImageblockWidth(NS::UInteger width, NS::UInteger height); + + void reset(); + + void setThreadgroupMemoryLength(NS::UInteger length, NS::UInteger index); + + void setStageInRegion(MTL::Region region); +}; + +} + +// method: setRenderPipelineState: +_MTL_INLINE void MTL::IndirectRenderCommand::setRenderPipelineState(const MTL::RenderPipelineState* pipelineState) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRenderPipelineState_), pipelineState); +} + +// method: setVertexBuffer:offset:atIndex: +_MTL_INLINE void MTL::IndirectRenderCommand::setVertexBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: setFragmentBuffer:offset:atIndex: +_MTL_INLINE void MTL::IndirectRenderCommand::setFragmentBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance:tessellationFactorBuffer:tessellationFactorBufferOffset:tessellationFactorBufferInstanceStride: +_MTL_INLINE void MTL::IndirectRenderCommand::drawPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const MTL::Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance, const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger instanceStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride_), numberOfPatchControlPoints, patchStart, patchCount, patchIndexBuffer, patchIndexBufferOffset, instanceCount, baseInstance, buffer, offset, instanceStride); +} + +// method: drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance:tessellationFactorBuffer:tessellationFactorBufferOffset:tessellationFactorBufferInstanceStride: +_MTL_INLINE void MTL::IndirectRenderCommand::drawIndexedPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const MTL::Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const MTL::Buffer* controlPointIndexBuffer, NS::UInteger controlPointIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance, const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger instanceStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride_), numberOfPatchControlPoints, patchStart, patchCount, patchIndexBuffer, patchIndexBufferOffset, controlPointIndexBuffer, controlPointIndexBufferOffset, instanceCount, baseInstance, buffer, offset, instanceStride); +} + +// method: drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance: +_MTL_INLINE void MTL::IndirectRenderCommand::drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount, NS::UInteger instanceCount, NS::UInteger baseInstance) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPrimitives_vertexStart_vertexCount_instanceCount_baseInstance_), primitiveType, vertexStart, vertexCount, instanceCount, baseInstance); +} + +// method: drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:baseVertex:baseInstance: +_MTL_INLINE void MTL::IndirectRenderCommand::drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const MTL::Buffer* indexBuffer, NS::UInteger indexBufferOffset, NS::UInteger instanceCount, NS::Integer baseVertex, NS::UInteger baseInstance) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_baseVertex_baseInstance_), primitiveType, indexCount, indexType, indexBuffer, indexBufferOffset, instanceCount, baseVertex, baseInstance); +} + +// method: reset +_MTL_INLINE void MTL::IndirectRenderCommand::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} + +// method: setComputePipelineState: +_MTL_INLINE void MTL::IndirectComputeCommand::setComputePipelineState(const MTL::ComputePipelineState* pipelineState) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setComputePipelineState_), pipelineState); +} + +// method: setKernelBuffer:offset:atIndex: +_MTL_INLINE void MTL::IndirectComputeCommand::setKernelBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setKernelBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: concurrentDispatchThreadgroups:threadsPerThreadgroup: +_MTL_INLINE void MTL::IndirectComputeCommand::concurrentDispatchThreadgroups(MTL::Size threadgroupsPerGrid, MTL::Size threadsPerThreadgroup) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(concurrentDispatchThreadgroups_threadsPerThreadgroup_), threadgroupsPerGrid, threadsPerThreadgroup); +} + +// method: concurrentDispatchThreads:threadsPerThreadgroup: +_MTL_INLINE void MTL::IndirectComputeCommand::concurrentDispatchThreads(MTL::Size threadsPerGrid, MTL::Size threadsPerThreadgroup) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(concurrentDispatchThreads_threadsPerThreadgroup_), threadsPerGrid, threadsPerThreadgroup); +} + +// method: setBarrier +_MTL_INLINE void MTL::IndirectComputeCommand::setBarrier() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBarrier)); +} + +// method: clearBarrier +_MTL_INLINE void MTL::IndirectComputeCommand::clearBarrier() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(clearBarrier)); +} + +// method: setImageblockWidth:height: +_MTL_INLINE void MTL::IndirectComputeCommand::setImageblockWidth(NS::UInteger width, NS::UInteger height) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setImageblockWidth_height_), width, height); +} + +// method: reset +_MTL_INLINE void MTL::IndirectComputeCommand::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} + +// method: setThreadgroupMemoryLength:atIndex: +_MTL_INLINE void MTL::IndirectComputeCommand::setThreadgroupMemoryLength(NS::UInteger length, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setThreadgroupMemoryLength_atIndex_), length, index); +} + +// method: setStageInRegion: +_MTL_INLINE void MTL::IndirectComputeCommand::setStageInRegion(MTL::Region region) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStageInRegion_), region); +} diff --git a/metal-cpp/Metal/MTLIntersectionFunctionTable.hpp b/metal-cpp/Metal/MTLIntersectionFunctionTable.hpp new file mode 100644 index 00000000..e23835d1 --- /dev/null +++ b/metal-cpp/Metal/MTLIntersectionFunctionTable.hpp @@ -0,0 +1,157 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLIntersectionFunctionTable.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLBuffer.hpp" +#include "MTLFunctionHandle.hpp" +#include "MTLIntersectionFunctionTable.hpp" +#include "MTLResource.hpp" +#include "MTLVisibleFunctionTable.hpp" + +namespace MTL +{ +_MTL_OPTIONS(NS::UInteger, IntersectionFunctionSignature) { + IntersectionFunctionSignatureNone = 0, + IntersectionFunctionSignatureInstancing = 1, + IntersectionFunctionSignatureTriangleData = 2, + IntersectionFunctionSignatureWorldSpaceData = 4, + IntersectionFunctionSignatureInstanceMotion = 8, + IntersectionFunctionSignaturePrimitiveMotion = 16, + IntersectionFunctionSignatureExtendedLimits = 32, +}; + +class IntersectionFunctionTableDescriptor : public NS::Copying +{ +public: + static class IntersectionFunctionTableDescriptor* alloc(); + + class IntersectionFunctionTableDescriptor* init(); + + static class IntersectionFunctionTableDescriptor* intersectionFunctionTableDescriptor(); + + NS::UInteger functionCount() const; + void setFunctionCount(NS::UInteger functionCount); +}; + +class IntersectionFunctionTable : public NS::Referencing +{ +public: + void setBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void setBuffers(const class Buffer* buffers[], const NS::UInteger offsets[], NS::Range range); + + void setFunction(const class FunctionHandle* function, NS::UInteger index); + + void setFunctions(const class FunctionHandle* functions[], NS::Range range); + + void setOpaqueTriangleIntersectionFunction(MTL::IntersectionFunctionSignature signature, NS::UInteger index); + + void setOpaqueTriangleIntersectionFunction(MTL::IntersectionFunctionSignature signature, NS::Range range); + + void setVisibleFunctionTable(const class VisibleFunctionTable* functionTable, NS::UInteger bufferIndex); + + void setVisibleFunctionTables(const class VisibleFunctionTable* functionTables[], NS::Range bufferRange); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::IntersectionFunctionTableDescriptor* MTL::IntersectionFunctionTableDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLIntersectionFunctionTableDescriptor)); +} + +// method: init +_MTL_INLINE MTL::IntersectionFunctionTableDescriptor* MTL::IntersectionFunctionTableDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: intersectionFunctionTableDescriptor +_MTL_INLINE MTL::IntersectionFunctionTableDescriptor* MTL::IntersectionFunctionTableDescriptor::intersectionFunctionTableDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLIntersectionFunctionTableDescriptor), _MTL_PRIVATE_SEL(intersectionFunctionTableDescriptor)); +} + +// property: functionCount +_MTL_INLINE NS::UInteger MTL::IntersectionFunctionTableDescriptor::functionCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionCount)); +} + +_MTL_INLINE void MTL::IntersectionFunctionTableDescriptor::setFunctionCount(NS::UInteger functionCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctionCount_), functionCount); +} + +// method: setBuffer:offset:atIndex: +_MTL_INLINE void MTL::IntersectionFunctionTable::setBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: setBuffers:offsets:withRange: +_MTL_INLINE void MTL::IntersectionFunctionTable::setBuffers(const MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBuffers_offsets_withRange_), buffers, offsets, range); +} + +// method: setFunction:atIndex: +_MTL_INLINE void MTL::IntersectionFunctionTable::setFunction(const MTL::FunctionHandle* function, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunction_atIndex_), function, index); +} + +// method: setFunctions:withRange: +_MTL_INLINE void MTL::IntersectionFunctionTable::setFunctions(const MTL::FunctionHandle* functions[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctions_withRange_), functions, range); +} + +// method: setOpaqueTriangleIntersectionFunctionWithSignature:atIndex: +_MTL_INLINE void MTL::IntersectionFunctionTable::setOpaqueTriangleIntersectionFunction(MTL::IntersectionFunctionSignature signature, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOpaqueTriangleIntersectionFunctionWithSignature_atIndex_), signature, index); +} + +// method: setOpaqueTriangleIntersectionFunctionWithSignature:withRange: +_MTL_INLINE void MTL::IntersectionFunctionTable::setOpaqueTriangleIntersectionFunction(MTL::IntersectionFunctionSignature signature, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOpaqueTriangleIntersectionFunctionWithSignature_withRange_), signature, range); +} + +// method: setVisibleFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::IntersectionFunctionTable::setVisibleFunctionTable(const MTL::VisibleFunctionTable* functionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibleFunctionTable_atBufferIndex_), functionTable, bufferIndex); +} + +// method: setVisibleFunctionTables:withBufferRange: +_MTL_INLINE void MTL::IntersectionFunctionTable::setVisibleFunctionTables(const MTL::VisibleFunctionTable* functionTables[], NS::Range bufferRange) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibleFunctionTables_withBufferRange_), functionTables, bufferRange); +} diff --git a/metal-cpp/Metal/MTLLibrary.hpp b/metal-cpp/Metal/MTLLibrary.hpp new file mode 100644 index 00000000..1a5267a1 --- /dev/null +++ b/metal-cpp/Metal/MTLLibrary.hpp @@ -0,0 +1,621 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLLibrary.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLArgument.hpp" +#include "MTLFunctionDescriptor.hpp" +#include "MTLLibrary.hpp" +#include + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, PatchType) { + PatchTypeNone = 0, + PatchTypeTriangle = 1, + PatchTypeQuad = 2, +}; + +class VertexAttribute : public NS::Referencing +{ +public: + static class VertexAttribute* alloc(); + + class VertexAttribute* init(); + + NS::String* name() const; + + NS::UInteger attributeIndex() const; + + MTL::DataType attributeType() const; + + bool active() const; + + bool patchData() const; + + bool patchControlPointData() const; +}; + +class Attribute : public NS::Referencing +{ +public: + static class Attribute* alloc(); + + class Attribute* init(); + + NS::String* name() const; + + NS::UInteger attributeIndex() const; + + MTL::DataType attributeType() const; + + bool active() const; + + bool patchData() const; + + bool patchControlPointData() const; +}; + +_MTL_ENUM(NS::UInteger, FunctionType) { + FunctionTypeVertex = 1, + FunctionTypeFragment = 2, + FunctionTypeKernel = 3, + FunctionTypeVisible = 5, + FunctionTypeIntersection = 6, +}; + +class FunctionConstant : public NS::Referencing +{ +public: + static class FunctionConstant* alloc(); + + class FunctionConstant* init(); + + NS::String* name() const; + + MTL::DataType type() const; + + NS::UInteger index() const; + + bool required() const; +}; + +using AutoreleasedArgument = class Argument*; + +class Function : public NS::Referencing +{ +public: + NS::String* label() const; + void setLabel(const NS::String* label); + + class Device* device() const; + + MTL::FunctionType functionType() const; + + MTL::PatchType patchType() const; + + NS::Integer patchControlPointCount() const; + + NS::Array* vertexAttributes() const; + + NS::Array* stageInputAttributes() const; + + NS::String* name() const; + + NS::Dictionary* functionConstantsDictionary() const; + + class ArgumentEncoder* newArgumentEncoder(NS::UInteger bufferIndex); + + class ArgumentEncoder* newArgumentEncoder(NS::UInteger bufferIndex, const MTL::AutoreleasedArgument* reflection); + + MTL::FunctionOptions options() const; +}; + +_MTL_ENUM(NS::UInteger, LanguageVersion) { + LanguageVersion1_0 = 65536, + LanguageVersion1_1 = 65537, + LanguageVersion1_2 = 65538, + LanguageVersion2_0 = 131072, + LanguageVersion2_1 = 131073, + LanguageVersion2_2 = 131074, + LanguageVersion2_3 = 131075, + LanguageVersion2_4 = 131076, +}; + +_MTL_ENUM(NS::Integer, LibraryType) { + LibraryTypeExecutable = 0, + LibraryTypeDynamic = 1, +}; + +class CompileOptions : public NS::Copying +{ +public: + static class CompileOptions* alloc(); + + class CompileOptions* init(); + + NS::Dictionary* preprocessorMacros() const; + void setPreprocessorMacros(const NS::Dictionary* preprocessorMacros); + + bool fastMathEnabled() const; + void setFastMathEnabled(bool fastMathEnabled); + + MTL::LanguageVersion languageVersion() const; + void setLanguageVersion(MTL::LanguageVersion languageVersion); + + MTL::LibraryType libraryType() const; + void setLibraryType(MTL::LibraryType libraryType); + + NS::String* installName() const; + void setInstallName(const NS::String* installName); + + NS::Array* libraries() const; + void setLibraries(const NS::Array* libraries); + + bool preserveInvariance() const; + void setPreserveInvariance(bool preserveInvariance); +}; + +_MTL_ENUM(NS::UInteger, LibraryError) { + LibraryErrorUnsupported = 1, + LibraryErrorCompileFailure = 3, + LibraryErrorCompileWarning = 4, + LibraryErrorFunctionNotFound = 5, + LibraryErrorFileNotFound = 6, +}; + +class Library : public NS::Referencing +{ +public: + void newFunction(const NS::String* pFunctionName, const class FunctionConstantValues* pConstantValues, const std::function& completionHandler); + + void newFunction(const class FunctionDescriptor* pDescriptor, const std::function& completionHandler); + + void newIntersectionFunction(const class IntersectionFunctionDescriptor* pDescriptor, const std::function& completionHandler); + + NS::String* label() const; + void setLabel(const NS::String* label); + + class Device* device() const; + + class Function* newFunction(const NS::String* functionName); + + class Function* newFunction(const NS::String* name, const class FunctionConstantValues* constantValues, NS::Error** error); + + void newFunction(const NS::String* name, const class FunctionConstantValues* constantValues, void (^completionHandler)(MTL::Function*, NS::Error*)); + + void newFunction(const class FunctionDescriptor* descriptor, void (^completionHandler)(MTL::Function*, NS::Error*)); + + class Function* newFunction(const class FunctionDescriptor* descriptor, NS::Error** error); + + void newIntersectionFunction(const class IntersectionFunctionDescriptor* descriptor, void (^completionHandler)(MTL::Function*, NS::Error*)); + + class Function* newIntersectionFunction(const class IntersectionFunctionDescriptor* descriptor, NS::Error** error); + + NS::Array* functionNames() const; + + MTL::LibraryType type() const; + + NS::String* installName() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::VertexAttribute* MTL::VertexAttribute::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLVertexAttribute)); +} + +// method: init +_MTL_INLINE MTL::VertexAttribute* MTL::VertexAttribute::init() +{ + return NS::Object::init(); +} + +// property: name +_MTL_INLINE NS::String* MTL::VertexAttribute::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: attributeIndex +_MTL_INLINE NS::UInteger MTL::VertexAttribute::attributeIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(attributeIndex)); +} + +// property: attributeType +_MTL_INLINE MTL::DataType MTL::VertexAttribute::attributeType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(attributeType)); +} + +// property: active +_MTL_INLINE bool MTL::VertexAttribute::active() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isActive)); +} + +// property: patchData +_MTL_INLINE bool MTL::VertexAttribute::patchData() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isPatchData)); +} + +// property: patchControlPointData +_MTL_INLINE bool MTL::VertexAttribute::patchControlPointData() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isPatchControlPointData)); +} + +// static method: alloc +_MTL_INLINE MTL::Attribute* MTL::Attribute::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAttribute)); +} + +// method: init +_MTL_INLINE MTL::Attribute* MTL::Attribute::init() +{ + return NS::Object::init(); +} + +// property: name +_MTL_INLINE NS::String* MTL::Attribute::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: attributeIndex +_MTL_INLINE NS::UInteger MTL::Attribute::attributeIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(attributeIndex)); +} + +// property: attributeType +_MTL_INLINE MTL::DataType MTL::Attribute::attributeType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(attributeType)); +} + +// property: active +_MTL_INLINE bool MTL::Attribute::active() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isActive)); +} + +// property: patchData +_MTL_INLINE bool MTL::Attribute::patchData() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isPatchData)); +} + +// property: patchControlPointData +_MTL_INLINE bool MTL::Attribute::patchControlPointData() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isPatchControlPointData)); +} + +// static method: alloc +_MTL_INLINE MTL::FunctionConstant* MTL::FunctionConstant::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLFunctionConstant)); +} + +// method: init +_MTL_INLINE MTL::FunctionConstant* MTL::FunctionConstant::init() +{ + return NS::Object::init(); +} + +// property: name +_MTL_INLINE NS::String* MTL::FunctionConstant::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: type +_MTL_INLINE MTL::DataType MTL::FunctionConstant::type() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(type)); +} + +// property: index +_MTL_INLINE NS::UInteger MTL::FunctionConstant::index() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(index)); +} + +// property: required +_MTL_INLINE bool MTL::FunctionConstant::required() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(required)); +} + +// property: label +_MTL_INLINE NS::String* MTL::Function::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::Function::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::Function::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: functionType +_MTL_INLINE MTL::FunctionType MTL::Function::functionType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionType)); +} + +// property: patchType +_MTL_INLINE MTL::PatchType MTL::Function::patchType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(patchType)); +} + +// property: patchControlPointCount +_MTL_INLINE NS::Integer MTL::Function::patchControlPointCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(patchControlPointCount)); +} + +// property: vertexAttributes +_MTL_INLINE NS::Array* MTL::Function::vertexAttributes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexAttributes)); +} + +// property: stageInputAttributes +_MTL_INLINE NS::Array* MTL::Function::stageInputAttributes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stageInputAttributes)); +} + +// property: name +_MTL_INLINE NS::String* MTL::Function::name() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(name)); +} + +// property: functionConstantsDictionary +_MTL_INLINE NS::Dictionary* MTL::Function::functionConstantsDictionary() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionConstantsDictionary)); +} + +// method: newArgumentEncoderWithBufferIndex: +_MTL_INLINE MTL::ArgumentEncoder* MTL::Function::newArgumentEncoder(NS::UInteger bufferIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newArgumentEncoderWithBufferIndex_), bufferIndex); +} + +// method: newArgumentEncoderWithBufferIndex:reflection: +_MTL_INLINE MTL::ArgumentEncoder* MTL::Function::newArgumentEncoder(NS::UInteger bufferIndex, const MTL::AutoreleasedArgument* reflection) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newArgumentEncoderWithBufferIndex_reflection_), bufferIndex, reflection); +} + +// property: options +_MTL_INLINE MTL::FunctionOptions MTL::Function::options() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(options)); +} + +// static method: alloc +_MTL_INLINE MTL::CompileOptions* MTL::CompileOptions::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLCompileOptions)); +} + +// method: init +_MTL_INLINE MTL::CompileOptions* MTL::CompileOptions::init() +{ + return NS::Object::init(); +} + +// property: preprocessorMacros +_MTL_INLINE NS::Dictionary* MTL::CompileOptions::preprocessorMacros() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(preprocessorMacros)); +} + +_MTL_INLINE void MTL::CompileOptions::setPreprocessorMacros(const NS::Dictionary* preprocessorMacros) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPreprocessorMacros_), preprocessorMacros); +} + +// property: fastMathEnabled +_MTL_INLINE bool MTL::CompileOptions::fastMathEnabled() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(fastMathEnabled)); +} + +_MTL_INLINE void MTL::CompileOptions::setFastMathEnabled(bool fastMathEnabled) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFastMathEnabled_), fastMathEnabled); +} + +// property: languageVersion +_MTL_INLINE MTL::LanguageVersion MTL::CompileOptions::languageVersion() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(languageVersion)); +} + +_MTL_INLINE void MTL::CompileOptions::setLanguageVersion(MTL::LanguageVersion languageVersion) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLanguageVersion_), languageVersion); +} + +// property: libraryType +_MTL_INLINE MTL::LibraryType MTL::CompileOptions::libraryType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(libraryType)); +} + +_MTL_INLINE void MTL::CompileOptions::setLibraryType(MTL::LibraryType libraryType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLibraryType_), libraryType); +} + +// property: installName +_MTL_INLINE NS::String* MTL::CompileOptions::installName() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(installName)); +} + +_MTL_INLINE void MTL::CompileOptions::setInstallName(const NS::String* installName) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInstallName_), installName); +} + +// property: libraries +_MTL_INLINE NS::Array* MTL::CompileOptions::libraries() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(libraries)); +} + +_MTL_INLINE void MTL::CompileOptions::setLibraries(const NS::Array* libraries) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLibraries_), libraries); +} + +// property: preserveInvariance +_MTL_INLINE bool MTL::CompileOptions::preserveInvariance() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(preserveInvariance)); +} + +_MTL_INLINE void MTL::CompileOptions::setPreserveInvariance(bool preserveInvariance) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPreserveInvariance_), preserveInvariance); +} + +_MTL_INLINE void MTL::Library::newFunction(const NS::String* pFunctionName, const FunctionConstantValues* pConstantValues, const std::function& completionHandler) +{ + __block std::function blockCompletionHandler = completionHandler; + + newFunction(pFunctionName, pConstantValues, ^(Function* pFunction, NS::Error* pError) { blockCompletionHandler(pFunction, pError); }); +} + +_MTL_INLINE void MTL::Library::newFunction(const FunctionDescriptor* pDescriptor, const std::function& completionHandler) +{ + __block std::function blockCompletionHandler = completionHandler; + + newFunction(pDescriptor, ^(Function* pFunction, NS::Error* pError) { blockCompletionHandler(pFunction, pError); }); +} + +_MTL_INLINE void MTL::Library::newIntersectionFunction(const IntersectionFunctionDescriptor* pDescriptor, const std::function& completionHandler) +{ + __block std::function blockCompletionHandler = completionHandler; + + newIntersectionFunction(pDescriptor, ^(Function* pFunction, NS::Error* pError) { blockCompletionHandler(pFunction, pError); }); +} + +// property: label +_MTL_INLINE NS::String* MTL::Library::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::Library::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::Library::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// method: newFunctionWithName: +_MTL_INLINE MTL::Function* MTL::Library::newFunction(const NS::String* functionName) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newFunctionWithName_), functionName); +} + +// method: newFunctionWithName:constantValues:error: +_MTL_INLINE MTL::Function* MTL::Library::newFunction(const NS::String* name, const MTL::FunctionConstantValues* constantValues, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newFunctionWithName_constantValues_error_), name, constantValues, error); +} + +// method: newFunctionWithName:constantValues:completionHandler: +_MTL_INLINE void MTL::Library::newFunction(const NS::String* name, const MTL::FunctionConstantValues* constantValues, void (^completionHandler)(MTL::Function*, NS::Error*)) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newFunctionWithName_constantValues_completionHandler_), name, constantValues, completionHandler); +} + +// method: newFunctionWithDescriptor:completionHandler: +_MTL_INLINE void MTL::Library::newFunction(const MTL::FunctionDescriptor* descriptor, void (^completionHandler)(MTL::Function*, NS::Error*)) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newFunctionWithDescriptor_completionHandler_), descriptor, completionHandler); +} + +// method: newFunctionWithDescriptor:error: +_MTL_INLINE MTL::Function* MTL::Library::newFunction(const MTL::FunctionDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newFunctionWithDescriptor_error_), descriptor, error); +} + +// method: newIntersectionFunctionWithDescriptor:completionHandler: +_MTL_INLINE void MTL::Library::newIntersectionFunction(const MTL::IntersectionFunctionDescriptor* descriptor, void (^completionHandler)(MTL::Function*, NS::Error*)) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(newIntersectionFunctionWithDescriptor_completionHandler_), descriptor, completionHandler); +} + +// method: newIntersectionFunctionWithDescriptor:error: +_MTL_INLINE MTL::Function* MTL::Library::newIntersectionFunction(const MTL::IntersectionFunctionDescriptor* descriptor, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newIntersectionFunctionWithDescriptor_error_), descriptor, error); +} + +// property: functionNames +_MTL_INLINE NS::Array* MTL::Library::functionNames() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionNames)); +} + +// property: type +_MTL_INLINE MTL::LibraryType MTL::Library::type() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(type)); +} + +// property: installName +_MTL_INLINE NS::String* MTL::Library::installName() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(installName)); +} diff --git a/metal-cpp/Metal/MTLLinkedFunctions.hpp b/metal-cpp/Metal/MTLLinkedFunctions.hpp new file mode 100644 index 00000000..76319a5a --- /dev/null +++ b/metal-cpp/Metal/MTLLinkedFunctions.hpp @@ -0,0 +1,115 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLLinkedFunctions.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +class LinkedFunctions : public NS::Copying +{ +public: + static class LinkedFunctions* alloc(); + + class LinkedFunctions* init(); + + static class LinkedFunctions* linkedFunctions(); + + NS::Array* functions() const; + void setFunctions(const NS::Array* functions); + + NS::Array* binaryFunctions() const; + void setBinaryFunctions(const NS::Array* binaryFunctions); + + NS::Array* groups() const; + void setGroups(const NS::Array* groups); + + NS::Array* privateFunctions() const; + void setPrivateFunctions(const NS::Array* privateFunctions); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::LinkedFunctions* MTL::LinkedFunctions::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLLinkedFunctions)); +} + +// method: init +_MTL_INLINE MTL::LinkedFunctions* MTL::LinkedFunctions::init() +{ + return NS::Object::init(); +} + +// static method: linkedFunctions +_MTL_INLINE MTL::LinkedFunctions* MTL::LinkedFunctions::linkedFunctions() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLLinkedFunctions), _MTL_PRIVATE_SEL(linkedFunctions)); +} + +// property: functions +_MTL_INLINE NS::Array* MTL::LinkedFunctions::functions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functions)); +} + +_MTL_INLINE void MTL::LinkedFunctions::setFunctions(const NS::Array* functions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctions_), functions); +} + +// property: binaryFunctions +_MTL_INLINE NS::Array* MTL::LinkedFunctions::binaryFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(binaryFunctions)); +} + +_MTL_INLINE void MTL::LinkedFunctions::setBinaryFunctions(const NS::Array* binaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBinaryFunctions_), binaryFunctions); +} + +// property: groups +_MTL_INLINE NS::Array* MTL::LinkedFunctions::groups() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(groups)); +} + +_MTL_INLINE void MTL::LinkedFunctions::setGroups(const NS::Array* groups) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setGroups_), groups); +} + +// property: privateFunctions +_MTL_INLINE NS::Array* MTL::LinkedFunctions::privateFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(privateFunctions)); +} + +_MTL_INLINE void MTL::LinkedFunctions::setPrivateFunctions(const NS::Array* privateFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPrivateFunctions_), privateFunctions); +} diff --git a/metal-cpp/Metal/MTLParallelRenderCommandEncoder.hpp b/metal-cpp/Metal/MTLParallelRenderCommandEncoder.hpp new file mode 100644 index 00000000..0437b4c8 --- /dev/null +++ b/metal-cpp/Metal/MTLParallelRenderCommandEncoder.hpp @@ -0,0 +1,94 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLParallelRenderCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLCommandEncoder.hpp" +#include "MTLRenderPass.hpp" + +namespace MTL +{ +class ParallelRenderCommandEncoder : public NS::Referencing +{ +public: + class RenderCommandEncoder* renderCommandEncoder(); + + void setColorStoreAction(MTL::StoreAction storeAction, NS::UInteger colorAttachmentIndex); + + void setDepthStoreAction(MTL::StoreAction storeAction); + + void setStencilStoreAction(MTL::StoreAction storeAction); + + void setColorStoreActionOptions(MTL::StoreActionOptions storeActionOptions, NS::UInteger colorAttachmentIndex); + + void setDepthStoreActionOptions(MTL::StoreActionOptions storeActionOptions); + + void setStencilStoreActionOptions(MTL::StoreActionOptions storeActionOptions); +}; + +} + +// method: renderCommandEncoder +_MTL_INLINE MTL::RenderCommandEncoder* MTL::ParallelRenderCommandEncoder::renderCommandEncoder() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(renderCommandEncoder)); +} + +// method: setColorStoreAction:atIndex: +_MTL_INLINE void MTL::ParallelRenderCommandEncoder::setColorStoreAction(MTL::StoreAction storeAction, NS::UInteger colorAttachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setColorStoreAction_atIndex_), storeAction, colorAttachmentIndex); +} + +// method: setDepthStoreAction: +_MTL_INLINE void MTL::ParallelRenderCommandEncoder::setDepthStoreAction(MTL::StoreAction storeAction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthStoreAction_), storeAction); +} + +// method: setStencilStoreAction: +_MTL_INLINE void MTL::ParallelRenderCommandEncoder::setStencilStoreAction(MTL::StoreAction storeAction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilStoreAction_), storeAction); +} + +// method: setColorStoreActionOptions:atIndex: +_MTL_INLINE void MTL::ParallelRenderCommandEncoder::setColorStoreActionOptions(MTL::StoreActionOptions storeActionOptions, NS::UInteger colorAttachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setColorStoreActionOptions_atIndex_), storeActionOptions, colorAttachmentIndex); +} + +// method: setDepthStoreActionOptions: +_MTL_INLINE void MTL::ParallelRenderCommandEncoder::setDepthStoreActionOptions(MTL::StoreActionOptions storeActionOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthStoreActionOptions_), storeActionOptions); +} + +// method: setStencilStoreActionOptions: +_MTL_INLINE void MTL::ParallelRenderCommandEncoder::setStencilStoreActionOptions(MTL::StoreActionOptions storeActionOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilStoreActionOptions_), storeActionOptions); +} diff --git a/metal-cpp/Metal/MTLPipeline.hpp b/metal-cpp/Metal/MTLPipeline.hpp new file mode 100644 index 00000000..2a3c9477 --- /dev/null +++ b/metal-cpp/Metal/MTLPipeline.hpp @@ -0,0 +1,109 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLPipeline.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLPipeline.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, Mutability) { + MutabilityDefault = 0, + MutabilityMutable = 1, + MutabilityImmutable = 2, +}; + +class PipelineBufferDescriptor : public NS::Copying +{ +public: + static class PipelineBufferDescriptor* alloc(); + + class PipelineBufferDescriptor* init(); + + MTL::Mutability mutability() const; + void setMutability(MTL::Mutability mutability); +}; + +class PipelineBufferDescriptorArray : public NS::Referencing +{ +public: + static class PipelineBufferDescriptorArray* alloc(); + + class PipelineBufferDescriptorArray* init(); + + class PipelineBufferDescriptor* object(NS::UInteger bufferIndex); + + void setObject(const class PipelineBufferDescriptor* buffer, NS::UInteger bufferIndex); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::PipelineBufferDescriptor* MTL::PipelineBufferDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLPipelineBufferDescriptor)); +} + +// method: init +_MTL_INLINE MTL::PipelineBufferDescriptor* MTL::PipelineBufferDescriptor::init() +{ + return NS::Object::init(); +} + +// property: mutability +_MTL_INLINE MTL::Mutability MTL::PipelineBufferDescriptor::mutability() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(mutability)); +} + +_MTL_INLINE void MTL::PipelineBufferDescriptor::setMutability(MTL::Mutability mutability) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMutability_), mutability); +} + +// static method: alloc +_MTL_INLINE MTL::PipelineBufferDescriptorArray* MTL::PipelineBufferDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLPipelineBufferDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::PipelineBufferDescriptorArray* MTL::PipelineBufferDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::PipelineBufferDescriptor* MTL::PipelineBufferDescriptorArray::object(NS::UInteger bufferIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), bufferIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::PipelineBufferDescriptorArray::setObject(const MTL::PipelineBufferDescriptor* buffer, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), buffer, bufferIndex); +} diff --git a/metal-cpp/Metal/MTLPixelFormat.hpp b/metal-cpp/Metal/MTLPixelFormat.hpp new file mode 100644 index 00000000..b320c829 --- /dev/null +++ b/metal-cpp/Metal/MTLPixelFormat.hpp @@ -0,0 +1,173 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLPixelFormat.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, PixelFormat) { + PixelFormatInvalid = 0, + PixelFormatA8Unorm = 1, + PixelFormatR8Unorm = 10, + PixelFormatR8Unorm_sRGB = 11, + PixelFormatR8Snorm = 12, + PixelFormatR8Uint = 13, + PixelFormatR8Sint = 14, + PixelFormatR16Unorm = 20, + PixelFormatR16Snorm = 22, + PixelFormatR16Uint = 23, + PixelFormatR16Sint = 24, + PixelFormatR16Float = 25, + PixelFormatRG8Unorm = 30, + PixelFormatRG8Unorm_sRGB = 31, + PixelFormatRG8Snorm = 32, + PixelFormatRG8Uint = 33, + PixelFormatRG8Sint = 34, + PixelFormatB5G6R5Unorm = 40, + PixelFormatA1BGR5Unorm = 41, + PixelFormatABGR4Unorm = 42, + PixelFormatBGR5A1Unorm = 43, + PixelFormatR32Uint = 53, + PixelFormatR32Sint = 54, + PixelFormatR32Float = 55, + PixelFormatRG16Unorm = 60, + PixelFormatRG16Snorm = 62, + PixelFormatRG16Uint = 63, + PixelFormatRG16Sint = 64, + PixelFormatRG16Float = 65, + PixelFormatRGBA8Unorm = 70, + PixelFormatRGBA8Unorm_sRGB = 71, + PixelFormatRGBA8Snorm = 72, + PixelFormatRGBA8Uint = 73, + PixelFormatRGBA8Sint = 74, + PixelFormatBGRA8Unorm = 80, + PixelFormatBGRA8Unorm_sRGB = 81, + PixelFormatRGB10A2Unorm = 90, + PixelFormatRGB10A2Uint = 91, + PixelFormatRG11B10Float = 92, + PixelFormatRGB9E5Float = 93, + PixelFormatBGR10A2Unorm = 94, + PixelFormatRG32Uint = 103, + PixelFormatRG32Sint = 104, + PixelFormatRG32Float = 105, + PixelFormatRGBA16Unorm = 110, + PixelFormatRGBA16Snorm = 112, + PixelFormatRGBA16Uint = 113, + PixelFormatRGBA16Sint = 114, + PixelFormatRGBA16Float = 115, + PixelFormatRGBA32Uint = 123, + PixelFormatRGBA32Sint = 124, + PixelFormatRGBA32Float = 125, + PixelFormatBC1_RGBA = 130, + PixelFormatBC1_RGBA_sRGB = 131, + PixelFormatBC2_RGBA = 132, + PixelFormatBC2_RGBA_sRGB = 133, + PixelFormatBC3_RGBA = 134, + PixelFormatBC3_RGBA_sRGB = 135, + PixelFormatBC4_RUnorm = 140, + PixelFormatBC4_RSnorm = 141, + PixelFormatBC5_RGUnorm = 142, + PixelFormatBC5_RGSnorm = 143, + PixelFormatBC6H_RGBFloat = 150, + PixelFormatBC6H_RGBUfloat = 151, + PixelFormatBC7_RGBAUnorm = 152, + PixelFormatBC7_RGBAUnorm_sRGB = 153, + PixelFormatPVRTC_RGB_2BPP = 160, + PixelFormatPVRTC_RGB_2BPP_sRGB = 161, + PixelFormatPVRTC_RGB_4BPP = 162, + PixelFormatPVRTC_RGB_4BPP_sRGB = 163, + PixelFormatPVRTC_RGBA_2BPP = 164, + PixelFormatPVRTC_RGBA_2BPP_sRGB = 165, + PixelFormatPVRTC_RGBA_4BPP = 166, + PixelFormatPVRTC_RGBA_4BPP_sRGB = 167, + PixelFormatEAC_R11Unorm = 170, + PixelFormatEAC_R11Snorm = 172, + PixelFormatEAC_RG11Unorm = 174, + PixelFormatEAC_RG11Snorm = 176, + PixelFormatEAC_RGBA8 = 178, + PixelFormatEAC_RGBA8_sRGB = 179, + PixelFormatETC2_RGB8 = 180, + PixelFormatETC2_RGB8_sRGB = 181, + PixelFormatETC2_RGB8A1 = 182, + PixelFormatETC2_RGB8A1_sRGB = 183, + PixelFormatASTC_4x4_sRGB = 186, + PixelFormatASTC_5x4_sRGB = 187, + PixelFormatASTC_5x5_sRGB = 188, + PixelFormatASTC_6x5_sRGB = 189, + PixelFormatASTC_6x6_sRGB = 190, + PixelFormatASTC_8x5_sRGB = 192, + PixelFormatASTC_8x6_sRGB = 193, + PixelFormatASTC_8x8_sRGB = 194, + PixelFormatASTC_10x5_sRGB = 195, + PixelFormatASTC_10x6_sRGB = 196, + PixelFormatASTC_10x8_sRGB = 197, + PixelFormatASTC_10x10_sRGB = 198, + PixelFormatASTC_12x10_sRGB = 199, + PixelFormatASTC_12x12_sRGB = 200, + PixelFormatASTC_4x4_LDR = 204, + PixelFormatASTC_5x4_LDR = 205, + PixelFormatASTC_5x5_LDR = 206, + PixelFormatASTC_6x5_LDR = 207, + PixelFormatASTC_6x6_LDR = 208, + PixelFormatASTC_8x5_LDR = 210, + PixelFormatASTC_8x6_LDR = 211, + PixelFormatASTC_8x8_LDR = 212, + PixelFormatASTC_10x5_LDR = 213, + PixelFormatASTC_10x6_LDR = 214, + PixelFormatASTC_10x8_LDR = 215, + PixelFormatASTC_10x10_LDR = 216, + PixelFormatASTC_12x10_LDR = 217, + PixelFormatASTC_12x12_LDR = 218, + PixelFormatASTC_4x4_HDR = 222, + PixelFormatASTC_5x4_HDR = 223, + PixelFormatASTC_5x5_HDR = 224, + PixelFormatASTC_6x5_HDR = 225, + PixelFormatASTC_6x6_HDR = 226, + PixelFormatASTC_8x5_HDR = 228, + PixelFormatASTC_8x6_HDR = 229, + PixelFormatASTC_8x8_HDR = 230, + PixelFormatASTC_10x5_HDR = 231, + PixelFormatASTC_10x6_HDR = 232, + PixelFormatASTC_10x8_HDR = 233, + PixelFormatASTC_10x10_HDR = 234, + PixelFormatASTC_12x10_HDR = 235, + PixelFormatASTC_12x12_HDR = 236, + PixelFormatGBGR422 = 240, + PixelFormatBGRG422 = 241, + PixelFormatDepth16Unorm = 250, + PixelFormatDepth32Float = 252, + PixelFormatStencil8 = 253, + PixelFormatDepth24Unorm_Stencil8 = 255, + PixelFormatDepth32Float_Stencil8 = 260, + PixelFormatX32_Stencil8 = 261, + PixelFormatX24_Stencil8 = 262, + PixelFormatBGRA10_XR = 552, + PixelFormatBGRA10_XR_sRGB = 553, + PixelFormatBGR10_XR = 554, + PixelFormatBGR10_XR_sRGB = 555, +}; + +} diff --git a/metal-cpp/Metal/MTLPrivate.hpp b/metal-cpp/Metal/MTLPrivate.hpp new file mode 100644 index 00000000..6a6aabee --- /dev/null +++ b/metal-cpp/Metal/MTLPrivate.hpp @@ -0,0 +1,135 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLPrivate.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "MTLDefines.hpp" + +#include + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#define _MTL_PRIVATE_CLS(symbol) (Private::Class::s_k##symbol) +#define _MTL_PRIVATE_SEL(accessor) (Private::Selector::s_k##accessor) + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#if defined(MTL_PRIVATE_IMPLEMENTATION) + +#define _MTL_PRIVATE_VISIBILITY __attribute__((visibility("default"))) +#define _MTL_PRIVATE_IMPORT __attribute__((weak_import)) + +#if __OBJC__ +#define _MTL_PRIVATE_OBJC_LOOKUP_CLASS(symbol) ((__bridge void*)objc_lookUpClass(#symbol)) +#else +#define _MTL_PRIVATE_OBJC_LOOKUP_CLASS(symbol) objc_lookUpClass(#symbol) +#endif // __OBJC__ + +#define _MTL_PRIVATE_DEF_CLS(symbol) void* s_k##symbol _MTL_PRIVATE_VISIBILITY = _MTL_PRIVATE_OBJC_LOOKUP_CLASS(symbol); +#define _MTL_PRIVATE_DEF_PRO(symbol) +#define _MTL_PRIVATE_DEF_SEL(accessor, symbol) SEL s_k##accessor _MTL_PRIVATE_VISIBILITY = sel_registerName(symbol); + +#if defined(__MAC_10_16) || defined(__MAC_11_0) || defined(__MAC_12_0) || defined(__IPHONE_14_0) || defined(__IPHONE_15_0) || defined(__TVOS_14_0) || defined(__TVOS_15_0) + +#define _MTL_PRIVATE_DEF_STR(type, symbol) \ + _MTL_EXTERN type const MTL##symbol _MTL_PRIVATE_IMPORT; \ + type const MTL::symbol = (nullptr != &MTL##symbol) ? MTL##symbol : nullptr; + +#else + +#include + +namespace MTL +{ +namespace Private +{ + + template + inline _Type const LoadSymbol(const char* pSymbol) + { + const _Type* pAddress = static_cast<_Type*>(dlsym(RTLD_DEFAULT, pSymbol)); + + return pAddress ? *pAddress : nullptr; + } + +} // Private +} // MTL + +#define _MTL_PRIVATE_DEF_STR(type, symbol) \ + _MTL_EXTERN type const MTL##symbol; \ + type const MTL::symbol = Private::LoadSymbol("MTL" #symbol); + +#endif // defined(__MAC_10_16) || defined(__MAC_11_0) || defined(__MAC_12_0) || defined(__IPHONE_14_0) || defined(__IPHONE_15_0) || defined(__TVOS_14_0) || defined(__TVOS_15_0) + +#else + +#define _MTL_PRIVATE_DEF_CLS(symbol) extern void* s_k##symbol; +#define _MTL_PRIVATE_DEF_PRO(symbol) +#define _MTL_PRIVATE_DEF_SEL(accessor, symbol) extern SEL s_k##accessor; +#define _MTL_PRIVATE_DEF_STR(type, symbol) + +#endif // MTL_PRIVATE_IMPLEMENTATION + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace MTL +{ +namespace Private +{ + namespace Class + { + + } // Class +} // Private +} // MTL + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace MTL +{ +namespace Private +{ + namespace Protocol + { + + } // Protocol +} // Private +} // MTL + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace MTL +{ +namespace Private +{ + namespace Selector + { + + _MTL_PRIVATE_DEF_SEL(beginScope, + "beginScope"); + _MTL_PRIVATE_DEF_SEL(endScope, + "endScope"); + } // Class +} // Private +} // MTL + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/Metal/MTLRasterizationRate.hpp b/metal-cpp/Metal/MTLRasterizationRate.hpp new file mode 100644 index 00000000..e8669545 --- /dev/null +++ b/metal-cpp/Metal/MTLRasterizationRate.hpp @@ -0,0 +1,386 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLRasterizationRate.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLDevice.hpp" +#include "MTLTypes.hpp" + +namespace MTL +{ +class RasterizationRateSampleArray : public NS::Referencing +{ +public: + static class RasterizationRateSampleArray* alloc(); + + class RasterizationRateSampleArray* init(); + + NS::Number* object(NS::UInteger index); + + void setObject(const NS::Number* value, NS::UInteger index); +}; + +class RasterizationRateLayerDescriptor : public NS::Copying +{ +public: + static class RasterizationRateLayerDescriptor* alloc(); + + MTL::RasterizationRateLayerDescriptor* init(); + + MTL::RasterizationRateLayerDescriptor* init(MTL::Size sampleCount); + + MTL::RasterizationRateLayerDescriptor* init(MTL::Size sampleCount, const float* horizontal, const float* vertical); + + MTL::Size sampleCount() const; + + MTL::Size maxSampleCount() const; + + float* horizontalSampleStorage() const; + + float* verticalSampleStorage() const; + + class RasterizationRateSampleArray* horizontal() const; + + class RasterizationRateSampleArray* vertical() const; + + void setSampleCount(MTL::Size sampleCount); +}; + +class RasterizationRateLayerArray : public NS::Referencing +{ +public: + static class RasterizationRateLayerArray* alloc(); + + class RasterizationRateLayerArray* init(); + + class RasterizationRateLayerDescriptor* object(NS::UInteger layerIndex); + + void setObject(const class RasterizationRateLayerDescriptor* layer, NS::UInteger layerIndex); +}; + +class RasterizationRateMapDescriptor : public NS::Copying +{ +public: + static class RasterizationRateMapDescriptor* alloc(); + + class RasterizationRateMapDescriptor* init(); + + static class RasterizationRateMapDescriptor* rasterizationRateMapDescriptor(MTL::Size screenSize); + + static class RasterizationRateMapDescriptor* rasterizationRateMapDescriptor(MTL::Size screenSize, const class RasterizationRateLayerDescriptor* layer); + + static class RasterizationRateMapDescriptor* rasterizationRateMapDescriptor(MTL::Size screenSize, NS::UInteger layerCount, MTL::RasterizationRateLayerDescriptor* const* layers); + + class RasterizationRateLayerDescriptor* layer(NS::UInteger layerIndex); + + void setLayer(const class RasterizationRateLayerDescriptor* layer, NS::UInteger layerIndex); + + class RasterizationRateLayerArray* layers() const; + + MTL::Size screenSize() const; + void setScreenSize(MTL::Size screenSize); + + NS::String* label() const; + void setLabel(const NS::String* label); + + NS::UInteger layerCount() const; +}; + +class RasterizationRateMap : public NS::Referencing +{ +public: + class Device* device() const; + + NS::String* label() const; + + MTL::Size screenSize() const; + + MTL::Size physicalGranularity() const; + + NS::UInteger layerCount() const; + + MTL::SizeAndAlign parameterBufferSizeAndAlign() const; + + void copyParameterDataToBuffer(const class Buffer* buffer, NS::UInteger offset); + + MTL::Size physicalSize(NS::UInteger layerIndex); + + MTL::Coordinate2D mapScreenToPhysicalCoordinates(MTL::Coordinate2D screenCoordinates, NS::UInteger layerIndex); + + MTL::Coordinate2D mapPhysicalToScreenCoordinates(MTL::Coordinate2D physicalCoordinates, NS::UInteger layerIndex); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::RasterizationRateSampleArray* MTL::RasterizationRateSampleArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRasterizationRateSampleArray)); +} + +// method: init +_MTL_INLINE MTL::RasterizationRateSampleArray* MTL::RasterizationRateSampleArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE NS::Number* MTL::RasterizationRateSampleArray::object(NS::UInteger index) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), index); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::RasterizationRateSampleArray::setObject(const NS::Number* value, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), value, index); +} + +// static method: alloc +_MTL_INLINE MTL::RasterizationRateLayerDescriptor* MTL::RasterizationRateLayerDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRasterizationRateLayerDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RasterizationRateLayerDescriptor* MTL::RasterizationRateLayerDescriptor::init() +{ + return NS::Object::init(); +} + +// method: initWithSampleCount: +_MTL_INLINE MTL::RasterizationRateLayerDescriptor* MTL::RasterizationRateLayerDescriptor::init(MTL::Size sampleCount) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(initWithSampleCount_), sampleCount); +} + +// method: initWithSampleCount:horizontal:vertical: +_MTL_INLINE MTL::RasterizationRateLayerDescriptor* MTL::RasterizationRateLayerDescriptor::init(MTL::Size sampleCount, const float* horizontal, const float* vertical) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(initWithSampleCount_horizontal_vertical_), sampleCount, horizontal, vertical); +} + +// property: sampleCount +_MTL_INLINE MTL::Size MTL::RasterizationRateLayerDescriptor::sampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCount)); +} + +// property: maxSampleCount +_MTL_INLINE MTL::Size MTL::RasterizationRateLayerDescriptor::maxSampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxSampleCount)); +} + +// property: horizontalSampleStorage +_MTL_INLINE float* MTL::RasterizationRateLayerDescriptor::horizontalSampleStorage() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(horizontalSampleStorage)); +} + +// property: verticalSampleStorage +_MTL_INLINE float* MTL::RasterizationRateLayerDescriptor::verticalSampleStorage() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(verticalSampleStorage)); +} + +// property: horizontal +_MTL_INLINE MTL::RasterizationRateSampleArray* MTL::RasterizationRateLayerDescriptor::horizontal() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(horizontal)); +} + +// property: vertical +_MTL_INLINE MTL::RasterizationRateSampleArray* MTL::RasterizationRateLayerDescriptor::vertical() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertical)); +} + +// method: setSampleCount: +_MTL_INLINE void MTL::RasterizationRateLayerDescriptor::setSampleCount(MTL::Size sampleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleCount_), sampleCount); +} + +// static method: alloc +_MTL_INLINE MTL::RasterizationRateLayerArray* MTL::RasterizationRateLayerArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRasterizationRateLayerArray)); +} + +// method: init +_MTL_INLINE MTL::RasterizationRateLayerArray* MTL::RasterizationRateLayerArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::RasterizationRateLayerDescriptor* MTL::RasterizationRateLayerArray::object(NS::UInteger layerIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), layerIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::RasterizationRateLayerArray::setObject(const MTL::RasterizationRateLayerDescriptor* layer, NS::UInteger layerIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), layer, layerIndex); +} + +// static method: alloc +_MTL_INLINE MTL::RasterizationRateMapDescriptor* MTL::RasterizationRateMapDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRasterizationRateMapDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RasterizationRateMapDescriptor* MTL::RasterizationRateMapDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: rasterizationRateMapDescriptorWithScreenSize: +_MTL_INLINE MTL::RasterizationRateMapDescriptor* MTL::RasterizationRateMapDescriptor::rasterizationRateMapDescriptor(MTL::Size screenSize) +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLRasterizationRateMapDescriptor), _MTL_PRIVATE_SEL(rasterizationRateMapDescriptorWithScreenSize_), screenSize); +} + +// static method: rasterizationRateMapDescriptorWithScreenSize:layer: +_MTL_INLINE MTL::RasterizationRateMapDescriptor* MTL::RasterizationRateMapDescriptor::rasterizationRateMapDescriptor(MTL::Size screenSize, const MTL::RasterizationRateLayerDescriptor* layer) +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLRasterizationRateMapDescriptor), _MTL_PRIVATE_SEL(rasterizationRateMapDescriptorWithScreenSize_layer_), screenSize, layer); +} + +// static method: rasterizationRateMapDescriptorWithScreenSize:layerCount:layers: +_MTL_INLINE MTL::RasterizationRateMapDescriptor* MTL::RasterizationRateMapDescriptor::rasterizationRateMapDescriptor(MTL::Size screenSize, NS::UInteger layerCount, MTL::RasterizationRateLayerDescriptor* const* layers) +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLRasterizationRateMapDescriptor), _MTL_PRIVATE_SEL(rasterizationRateMapDescriptorWithScreenSize_layerCount_layers_), screenSize, layerCount, layers); +} + +// method: layerAtIndex: +_MTL_INLINE MTL::RasterizationRateLayerDescriptor* MTL::RasterizationRateMapDescriptor::layer(NS::UInteger layerIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(layerAtIndex_), layerIndex); +} + +// method: setLayer:atIndex: +_MTL_INLINE void MTL::RasterizationRateMapDescriptor::setLayer(const MTL::RasterizationRateLayerDescriptor* layer, NS::UInteger layerIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLayer_atIndex_), layer, layerIndex); +} + +// property: layers +_MTL_INLINE MTL::RasterizationRateLayerArray* MTL::RasterizationRateMapDescriptor::layers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(layers)); +} + +// property: screenSize +_MTL_INLINE MTL::Size MTL::RasterizationRateMapDescriptor::screenSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(screenSize)); +} + +_MTL_INLINE void MTL::RasterizationRateMapDescriptor::setScreenSize(MTL::Size screenSize) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setScreenSize_), screenSize); +} + +// property: label +_MTL_INLINE NS::String* MTL::RasterizationRateMapDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::RasterizationRateMapDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: layerCount +_MTL_INLINE NS::UInteger MTL::RasterizationRateMapDescriptor::layerCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(layerCount)); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::RasterizationRateMap::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: label +_MTL_INLINE NS::String* MTL::RasterizationRateMap::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// property: screenSize +_MTL_INLINE MTL::Size MTL::RasterizationRateMap::screenSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(screenSize)); +} + +// property: physicalGranularity +_MTL_INLINE MTL::Size MTL::RasterizationRateMap::physicalGranularity() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(physicalGranularity)); +} + +// property: layerCount +_MTL_INLINE NS::UInteger MTL::RasterizationRateMap::layerCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(layerCount)); +} + +// property: parameterBufferSizeAndAlign +_MTL_INLINE MTL::SizeAndAlign MTL::RasterizationRateMap::parameterBufferSizeAndAlign() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(parameterBufferSizeAndAlign)); +} + +// method: copyParameterDataToBuffer:offset: +_MTL_INLINE void MTL::RasterizationRateMap::copyParameterDataToBuffer(const MTL::Buffer* buffer, NS::UInteger offset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(copyParameterDataToBuffer_offset_), buffer, offset); +} + +// method: physicalSizeForLayer: +_MTL_INLINE MTL::Size MTL::RasterizationRateMap::physicalSize(NS::UInteger layerIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(physicalSizeForLayer_), layerIndex); +} + +// method: mapScreenToPhysicalCoordinates:forLayer: +_MTL_INLINE MTL::Coordinate2D MTL::RasterizationRateMap::mapScreenToPhysicalCoordinates(MTL::Coordinate2D screenCoordinates, NS::UInteger layerIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(mapScreenToPhysicalCoordinates_forLayer_), screenCoordinates, layerIndex); +} + +// method: mapPhysicalToScreenCoordinates:forLayer: +_MTL_INLINE MTL::Coordinate2D MTL::RasterizationRateMap::mapPhysicalToScreenCoordinates(MTL::Coordinate2D physicalCoordinates, NS::UInteger layerIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(mapPhysicalToScreenCoordinates_forLayer_), physicalCoordinates, layerIndex); +} diff --git a/metal-cpp/Metal/MTLRenderCommandEncoder.hpp b/metal-cpp/Metal/MTLRenderCommandEncoder.hpp new file mode 100644 index 00000000..8bda8561 --- /dev/null +++ b/metal-cpp/Metal/MTLRenderCommandEncoder.hpp @@ -0,0 +1,958 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLRenderCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLBuffer.hpp" +#include "MTLCommandEncoder.hpp" +#include "MTLHeap.hpp" +#include "MTLIntersectionFunctionTable.hpp" +#include "MTLRenderCommandEncoder.hpp" +#include "MTLRenderPass.hpp" +#include "MTLResource.hpp" +#include "MTLSampler.hpp" +#include "MTLStageInputOutputDescriptor.hpp" +#include "MTLTexture.hpp" +#include "MTLTypes.hpp" +#include "MTLVisibleFunctionTable.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, PrimitiveType) { + PrimitiveTypePoint = 0, + PrimitiveTypeLine = 1, + PrimitiveTypeLineStrip = 2, + PrimitiveTypeTriangle = 3, + PrimitiveTypeTriangleStrip = 4, +}; + +_MTL_ENUM(NS::UInteger, VisibilityResultMode) { + VisibilityResultModeDisabled = 0, + VisibilityResultModeBoolean = 1, + VisibilityResultModeCounting = 2, +}; + +struct ScissorRect +{ + NS::UInteger x; + NS::UInteger y; + NS::UInteger width; + NS::UInteger height; +} _MTL_PACKED; + +struct Viewport +{ + double originX; + double originY; + double width; + double height; + double znear; + double zfar; +} _MTL_PACKED; + +_MTL_ENUM(NS::UInteger, CullMode) { + CullModeNone = 0, + CullModeFront = 1, + CullModeBack = 2, +}; + +_MTL_ENUM(NS::UInteger, Winding) { + WindingClockwise = 0, + WindingCounterClockwise = 1, +}; + +_MTL_ENUM(NS::UInteger, DepthClipMode) { + DepthClipModeClip = 0, + DepthClipModeClamp = 1, +}; + +_MTL_ENUM(NS::UInteger, TriangleFillMode) { + TriangleFillModeFill = 0, + TriangleFillModeLines = 1, +}; + +struct DrawPrimitivesIndirectArguments +{ + uint32_t vertexCount; + uint32_t instanceCount; + uint32_t vertexStart; + uint32_t baseInstance; +} _MTL_PACKED; + +struct DrawIndexedPrimitivesIndirectArguments +{ + uint32_t indexCount; + uint32_t instanceCount; + uint32_t indexStart; + int32_t baseVertex; + uint32_t baseInstance; +} _MTL_PACKED; + +struct VertexAmplificationViewMapping +{ + uint32_t viewportArrayIndexOffset; + uint32_t renderTargetArrayIndexOffset; +} _MTL_PACKED; + +struct DrawPatchIndirectArguments +{ + uint32_t patchCount; + uint32_t instanceCount; + uint32_t patchStart; + uint32_t baseInstance; +} _MTL_PACKED; + +struct QuadTessellationFactorsHalf +{ + uint16_t edgeTessellationFactor[4]; + uint16_t insideTessellationFactor[2]; +} _MTL_PACKED; + +struct TriangleTessellationFactorsHalf +{ + uint16_t edgeTessellationFactor[3]; + uint16_t insideTessellationFactor; +} _MTL_PACKED; + +_MTL_OPTIONS(NS::UInteger, RenderStages) { + RenderStageVertex = 1, + RenderStageFragment = 2, + RenderStageTile = 4, +}; + +class RenderCommandEncoder : public NS::Referencing +{ +public: + void setRenderPipelineState(const class RenderPipelineState* pipelineState); + + void setVertexBytes(const void* bytes, NS::UInteger length, NS::UInteger index); + + void setVertexBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void setVertexBufferOffset(NS::UInteger offset, NS::UInteger index); + + void setVertexBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range); + + void setVertexTexture(const class Texture* texture, NS::UInteger index); + + void setVertexTextures(MTL::Texture* textures[], NS::Range range); + + void setVertexSamplerState(const class SamplerState* sampler, NS::UInteger index); + + void setVertexSamplerStates(MTL::SamplerState* samplers[], NS::Range range); + + void setVertexSamplerState(const class SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index); + + void setVertexSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range); + + void setVertexVisibleFunctionTable(const class VisibleFunctionTable* functionTable, NS::UInteger bufferIndex); + + void setVertexVisibleFunctionTables(const class VisibleFunctionTable* functionTables[], NS::Range range); + + void setVertexIntersectionFunctionTable(const class IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex); + + void setVertexIntersectionFunctionTables(const class IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range); + + void setVertexAccelerationStructure(const class AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex); + + void setViewport(MTL::Viewport viewport); + + void setViewports(const MTL::Viewport* viewports, NS::UInteger count); + + void setFrontFacingWinding(MTL::Winding frontFacingWinding); + + void setVertexAmplificationCount(NS::UInteger count, const MTL::VertexAmplificationViewMapping* viewMappings); + + void setCullMode(MTL::CullMode cullMode); + + void setDepthClipMode(MTL::DepthClipMode depthClipMode); + + void setDepthBias(float depthBias, float slopeScale, float clamp); + + void setScissorRect(MTL::ScissorRect rect); + + void setScissorRects(const MTL::ScissorRect* scissorRects, NS::UInteger count); + + void setTriangleFillMode(MTL::TriangleFillMode fillMode); + + void setFragmentBytes(const void* bytes, NS::UInteger length, NS::UInteger index); + + void setFragmentBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void setFragmentBufferOffset(NS::UInteger offset, NS::UInteger index); + + void setFragmentBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range); + + void setFragmentTexture(const class Texture* texture, NS::UInteger index); + + void setFragmentTextures(MTL::Texture* textures[], NS::Range range); + + void setFragmentSamplerState(const class SamplerState* sampler, NS::UInteger index); + + void setFragmentSamplerStates(MTL::SamplerState* samplers[], NS::Range range); + + void setFragmentSamplerState(const class SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index); + + void setFragmentSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range); + + void setFragmentVisibleFunctionTable(const class VisibleFunctionTable* functionTable, NS::UInteger bufferIndex); + + void setFragmentVisibleFunctionTables(const VisibleFunctionTable* functionTables[], NS::Range range); + + void setFragmentIntersectionFunctionTable(const class IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex); + + void setFragmentIntersectionFunctionTables(const class IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range); + + void setFragmentAccelerationStructure(const class AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex); + + void setBlendColorRed(float red, float green, float blue, float alpha); + + void setDepthStencilState(const class DepthStencilState* depthStencilState); + + void setStencilReferenceValue(uint32_t referenceValue); + + void setStencilFrontReferenceValue(uint32_t frontReferenceValue, uint32_t backReferenceValue); + + void setVisibilityResultMode(MTL::VisibilityResultMode mode, NS::UInteger offset); + + void setColorStoreAction(MTL::StoreAction storeAction, NS::UInteger colorAttachmentIndex); + + void setDepthStoreAction(MTL::StoreAction storeAction); + + void setStencilStoreAction(MTL::StoreAction storeAction); + + void setColorStoreActionOptions(MTL::StoreActionOptions storeActionOptions, NS::UInteger colorAttachmentIndex); + + void setDepthStoreActionOptions(MTL::StoreActionOptions storeActionOptions); + + void setStencilStoreActionOptions(MTL::StoreActionOptions storeActionOptions); + + void drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount, NS::UInteger instanceCount); + + void drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount); + + void drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const class Buffer* indexBuffer, NS::UInteger indexBufferOffset, NS::UInteger instanceCount); + + void drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const class Buffer* indexBuffer, NS::UInteger indexBufferOffset); + + void drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount, NS::UInteger instanceCount, NS::UInteger baseInstance); + + void drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const class Buffer* indexBuffer, NS::UInteger indexBufferOffset, NS::UInteger instanceCount, NS::Integer baseVertex, NS::UInteger baseInstance); + + void drawPrimitives(MTL::PrimitiveType primitiveType, const class Buffer* indirectBuffer, NS::UInteger indirectBufferOffset); + + void drawIndexedPrimitives(MTL::PrimitiveType primitiveType, MTL::IndexType indexType, const class Buffer* indexBuffer, NS::UInteger indexBufferOffset, const class Buffer* indirectBuffer, NS::UInteger indirectBufferOffset); + + void textureBarrier(); + + void updateFence(const class Fence* fence, MTL::RenderStages stages); + + void waitForFence(const class Fence* fence, MTL::RenderStages stages); + + void setTessellationFactorBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger instanceStride); + + void setTessellationFactorScale(float scale); + + void drawPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const class Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance); + + void drawPatches(NS::UInteger numberOfPatchControlPoints, const class Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const class Buffer* indirectBuffer, NS::UInteger indirectBufferOffset); + + void drawIndexedPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const class Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const class Buffer* controlPointIndexBuffer, NS::UInteger controlPointIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance); + + void drawIndexedPatches(NS::UInteger numberOfPatchControlPoints, const class Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const class Buffer* controlPointIndexBuffer, NS::UInteger controlPointIndexBufferOffset, const class Buffer* indirectBuffer, NS::UInteger indirectBufferOffset); + + NS::UInteger tileWidth() const; + + NS::UInteger tileHeight() const; + + void setTileBytes(const void* bytes, NS::UInteger length, NS::UInteger index); + + void setTileBuffer(const class Buffer* buffer, NS::UInteger offset, NS::UInteger index); + + void setTileBufferOffset(NS::UInteger offset, NS::UInteger index); + + void setTileBuffers(MTL::Buffer* buffers, const NS::UInteger* offsets, NS::Range range); + + void setTileTexture(const class Texture* texture, NS::UInteger index); + + void setTileTextures(MTL::Texture* textures[], NS::Range range); + + void setTileSamplerState(const class SamplerState* sampler, NS::UInteger index); + + void setTileSamplerStates(MTL::SamplerState* samplers[], NS::Range range); + + void setTileSamplerState(const class SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index); + + void setTileSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range); + + void setTileVisibleFunctionTable(const class VisibleFunctionTable* functionTable, NS::UInteger bufferIndex); + + void setTileVisibleFunctionTables(const class VisibleFunctionTable* functionTables[], NS::Range range); + + void setTileIntersectionFunctionTable(const class IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex); + + void setTileIntersectionFunctionTables(const class IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range); + + void setTileAccelerationStructure(const class AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex); + + void dispatchThreadsPerTile(MTL::Size threadsPerTile); + + void setThreadgroupMemoryLength(NS::UInteger length, NS::UInteger offset, NS::UInteger index); + + void useResource(const class Resource* resource, MTL::ResourceUsage usage); + + void useResources(MTL::Resource* resources[], NS::UInteger count, MTL::ResourceUsage usage); + + void useResource(const class Resource* resource, MTL::ResourceUsage usage, MTL::RenderStages stages); + + void useResources(MTL::Resource* resources, NS::UInteger count, MTL::ResourceUsage usage, MTL::RenderStages stages); + + void useHeap(const class Heap* heap); + + void useHeaps(MTL::Heap* heaps[], NS::UInteger count); + + void useHeap(const class Heap* heap, MTL::RenderStages stages); + + void useHeaps(MTL::Heap* heaps[], NS::UInteger count, MTL::RenderStages stages); + + void executeCommandsInBuffer(const class IndirectCommandBuffer* indirectCommandBuffer, NS::Range executionRange); + + void executeCommandsInBuffer(const class IndirectCommandBuffer* indirectCommandbuffer, const class Buffer* indirectRangeBuffer, NS::UInteger indirectBufferOffset); + + void memoryBarrier(MTL::BarrierScope scope, MTL::RenderStages after, MTL::RenderStages before); + + void memoryBarrier(MTL::Resource* resources[], NS::UInteger count, MTL::RenderStages after, MTL::RenderStages before); + + void sampleCountersInBuffer(const class CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier); +}; + +} + +// method: setRenderPipelineState: +_MTL_INLINE void MTL::RenderCommandEncoder::setRenderPipelineState(const MTL::RenderPipelineState* pipelineState) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRenderPipelineState_), pipelineState); +} + +// method: setVertexBytes:length:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexBytes(const void* bytes, NS::UInteger length, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBytes_length_atIndex_), bytes, length, index); +} + +// method: setVertexBuffer:offset:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: setVertexBufferOffset:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexBufferOffset(NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBufferOffset_atIndex_), offset, index); +} + +// method: setVertexBuffers:offsets:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexBuffers_offsets_withRange_), buffers, offsets, range); +} + +// method: setVertexTexture:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexTexture(const MTL::Texture* texture, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexTexture_atIndex_), texture, index); +} + +// method: setVertexTextures:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexTextures(MTL::Texture* textures[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexTextures_withRange_), textures, range); +} + +// method: setVertexSamplerState:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexSamplerState(const MTL::SamplerState* sampler, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexSamplerState_atIndex_), sampler, index); +} + +// method: setVertexSamplerStates:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexSamplerStates(MTL::SamplerState* samplers[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexSamplerStates_withRange_), samplers, range); +} + +// method: setVertexSamplerState:lodMinClamp:lodMaxClamp:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexSamplerState(const MTL::SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexSamplerState_lodMinClamp_lodMaxClamp_atIndex_), sampler, lodMinClamp, lodMaxClamp, index); +} + +// method: setVertexSamplerStates:lodMinClamps:lodMaxClamps:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexSamplerStates_lodMinClamps_lodMaxClamps_withRange_), samplers, lodMinClamps, lodMaxClamps, range); +} + +// method: setVertexVisibleFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexVisibleFunctionTable(const MTL::VisibleFunctionTable* functionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexVisibleFunctionTable_atBufferIndex_), functionTable, bufferIndex); +} + +// method: setVertexVisibleFunctionTables:withBufferRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexVisibleFunctionTables(const MTL::VisibleFunctionTable* functionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexVisibleFunctionTables_withBufferRange_), functionTables, range); +} + +// method: setVertexIntersectionFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexIntersectionFunctionTable(const MTL::IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexIntersectionFunctionTable_atBufferIndex_), intersectionFunctionTable, bufferIndex); +} + +// method: setVertexIntersectionFunctionTables:withBufferRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexIntersectionFunctionTables(const MTL::IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexIntersectionFunctionTables_withBufferRange_), intersectionFunctionTables, range); +} + +// method: setVertexAccelerationStructure:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexAccelerationStructure(const MTL::AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexAccelerationStructure_atBufferIndex_), accelerationStructure, bufferIndex); +} + +// method: setViewport: +_MTL_INLINE void MTL::RenderCommandEncoder::setViewport(MTL::Viewport viewport) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setViewport_), viewport); +} + +// method: setViewports:count: +_MTL_INLINE void MTL::RenderCommandEncoder::setViewports(const MTL::Viewport* viewports, NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setViewports_count_), viewports, count); +} + +// method: setFrontFacingWinding: +_MTL_INLINE void MTL::RenderCommandEncoder::setFrontFacingWinding(MTL::Winding frontFacingWinding) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFrontFacingWinding_), frontFacingWinding); +} + +// method: setVertexAmplificationCount:viewMappings: +_MTL_INLINE void MTL::RenderCommandEncoder::setVertexAmplificationCount(NS::UInteger count, const MTL::VertexAmplificationViewMapping* viewMappings) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexAmplificationCount_viewMappings_), count, viewMappings); +} + +// method: setCullMode: +_MTL_INLINE void MTL::RenderCommandEncoder::setCullMode(MTL::CullMode cullMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setCullMode_), cullMode); +} + +// method: setDepthClipMode: +_MTL_INLINE void MTL::RenderCommandEncoder::setDepthClipMode(MTL::DepthClipMode depthClipMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthClipMode_), depthClipMode); +} + +// method: setDepthBias:slopeScale:clamp: +_MTL_INLINE void MTL::RenderCommandEncoder::setDepthBias(float depthBias, float slopeScale, float clamp) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthBias_slopeScale_clamp_), depthBias, slopeScale, clamp); +} + +// method: setScissorRect: +_MTL_INLINE void MTL::RenderCommandEncoder::setScissorRect(MTL::ScissorRect rect) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setScissorRect_), rect); +} + +// method: setScissorRects:count: +_MTL_INLINE void MTL::RenderCommandEncoder::setScissorRects(const MTL::ScissorRect* scissorRects, NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setScissorRects_count_), scissorRects, count); +} + +// method: setTriangleFillMode: +_MTL_INLINE void MTL::RenderCommandEncoder::setTriangleFillMode(MTL::TriangleFillMode fillMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTriangleFillMode_), fillMode); +} + +// method: setFragmentBytes:length:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentBytes(const void* bytes, NS::UInteger length, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentBytes_length_atIndex_), bytes, length, index); +} + +// method: setFragmentBuffer:offset:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: setFragmentBufferOffset:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentBufferOffset(NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentBufferOffset_atIndex_), offset, index); +} + +// method: setFragmentBuffers:offsets:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentBuffers(MTL::Buffer* buffers[], const NS::UInteger offsets[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentBuffers_offsets_withRange_), buffers, offsets, range); +} + +// method: setFragmentTexture:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentTexture(const MTL::Texture* texture, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentTexture_atIndex_), texture, index); +} + +// method: setFragmentTextures:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentTextures(MTL::Texture* textures[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentTextures_withRange_), textures, range); +} + +// method: setFragmentSamplerState:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentSamplerState(const MTL::SamplerState* sampler, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentSamplerState_atIndex_), sampler, index); +} + +// method: setFragmentSamplerStates:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentSamplerStates(MTL::SamplerState* samplers[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentSamplerStates_withRange_), samplers, range); +} + +// method: setFragmentSamplerState:lodMinClamp:lodMaxClamp:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentSamplerState(const MTL::SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentSamplerState_lodMinClamp_lodMaxClamp_atIndex_), sampler, lodMinClamp, lodMaxClamp, index); +} + +// method: setFragmentSamplerStates:lodMinClamps:lodMaxClamps:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentSamplerStates_lodMinClamps_lodMaxClamps_withRange_), samplers, lodMinClamps, lodMaxClamps, range); +} + +// method: setFragmentVisibleFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentVisibleFunctionTable(const MTL::VisibleFunctionTable* functionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentVisibleFunctionTable_atBufferIndex_), functionTable, bufferIndex); +} + +// method: setFragmentVisibleFunctionTables:withBufferRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentVisibleFunctionTables(const MTL::VisibleFunctionTable* functionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentVisibleFunctionTables_withBufferRange_), functionTables, range); +} + +// method: setFragmentIntersectionFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentIntersectionFunctionTable(const MTL::IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentIntersectionFunctionTable_atBufferIndex_), intersectionFunctionTable, bufferIndex); +} + +// method: setFragmentIntersectionFunctionTables:withBufferRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentIntersectionFunctionTables(const MTL::IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentIntersectionFunctionTables_withBufferRange_), intersectionFunctionTables, range); +} + +// method: setFragmentAccelerationStructure:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setFragmentAccelerationStructure(const MTL::AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentAccelerationStructure_atBufferIndex_), accelerationStructure, bufferIndex); +} + +// method: setBlendColorRed:green:blue:alpha: +_MTL_INLINE void MTL::RenderCommandEncoder::setBlendColorRed(float red, float green, float blue, float alpha) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBlendColorRed_green_blue_alpha_), red, green, blue, alpha); +} + +// method: setDepthStencilState: +_MTL_INLINE void MTL::RenderCommandEncoder::setDepthStencilState(const MTL::DepthStencilState* depthStencilState) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthStencilState_), depthStencilState); +} + +// method: setStencilReferenceValue: +_MTL_INLINE void MTL::RenderCommandEncoder::setStencilReferenceValue(uint32_t referenceValue) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilReferenceValue_), referenceValue); +} + +// method: setStencilFrontReferenceValue:backReferenceValue: +_MTL_INLINE void MTL::RenderCommandEncoder::setStencilFrontReferenceValue(uint32_t frontReferenceValue, uint32_t backReferenceValue) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilFrontReferenceValue_backReferenceValue_), frontReferenceValue, backReferenceValue); +} + +// method: setVisibilityResultMode:offset: +_MTL_INLINE void MTL::RenderCommandEncoder::setVisibilityResultMode(MTL::VisibilityResultMode mode, NS::UInteger offset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibilityResultMode_offset_), mode, offset); +} + +// method: setColorStoreAction:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setColorStoreAction(MTL::StoreAction storeAction, NS::UInteger colorAttachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setColorStoreAction_atIndex_), storeAction, colorAttachmentIndex); +} + +// method: setDepthStoreAction: +_MTL_INLINE void MTL::RenderCommandEncoder::setDepthStoreAction(MTL::StoreAction storeAction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthStoreAction_), storeAction); +} + +// method: setStencilStoreAction: +_MTL_INLINE void MTL::RenderCommandEncoder::setStencilStoreAction(MTL::StoreAction storeAction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilStoreAction_), storeAction); +} + +// method: setColorStoreActionOptions:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setColorStoreActionOptions(MTL::StoreActionOptions storeActionOptions, NS::UInteger colorAttachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setColorStoreActionOptions_atIndex_), storeActionOptions, colorAttachmentIndex); +} + +// method: setDepthStoreActionOptions: +_MTL_INLINE void MTL::RenderCommandEncoder::setDepthStoreActionOptions(MTL::StoreActionOptions storeActionOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthStoreActionOptions_), storeActionOptions); +} + +// method: setStencilStoreActionOptions: +_MTL_INLINE void MTL::RenderCommandEncoder::setStencilStoreActionOptions(MTL::StoreActionOptions storeActionOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilStoreActionOptions_), storeActionOptions); +} + +// method: drawPrimitives:vertexStart:vertexCount:instanceCount: +_MTL_INLINE void MTL::RenderCommandEncoder::drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount, NS::UInteger instanceCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPrimitives_vertexStart_vertexCount_instanceCount_), primitiveType, vertexStart, vertexCount, instanceCount); +} + +// method: drawPrimitives:vertexStart:vertexCount: +_MTL_INLINE void MTL::RenderCommandEncoder::drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPrimitives_vertexStart_vertexCount_), primitiveType, vertexStart, vertexCount); +} + +// method: drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount: +_MTL_INLINE void MTL::RenderCommandEncoder::drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const MTL::Buffer* indexBuffer, NS::UInteger indexBufferOffset, NS::UInteger instanceCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_), primitiveType, indexCount, indexType, indexBuffer, indexBufferOffset, instanceCount); +} + +// method: drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset: +_MTL_INLINE void MTL::RenderCommandEncoder::drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const MTL::Buffer* indexBuffer, NS::UInteger indexBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_), primitiveType, indexCount, indexType, indexBuffer, indexBufferOffset); +} + +// method: drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance: +_MTL_INLINE void MTL::RenderCommandEncoder::drawPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger vertexStart, NS::UInteger vertexCount, NS::UInteger instanceCount, NS::UInteger baseInstance) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPrimitives_vertexStart_vertexCount_instanceCount_baseInstance_), primitiveType, vertexStart, vertexCount, instanceCount, baseInstance); +} + +// method: drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:baseVertex:baseInstance: +_MTL_INLINE void MTL::RenderCommandEncoder::drawIndexedPrimitives(MTL::PrimitiveType primitiveType, NS::UInteger indexCount, MTL::IndexType indexType, const MTL::Buffer* indexBuffer, NS::UInteger indexBufferOffset, NS::UInteger instanceCount, NS::Integer baseVertex, NS::UInteger baseInstance) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_baseVertex_baseInstance_), primitiveType, indexCount, indexType, indexBuffer, indexBufferOffset, instanceCount, baseVertex, baseInstance); +} + +// method: drawPrimitives:indirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::RenderCommandEncoder::drawPrimitives(MTL::PrimitiveType primitiveType, const MTL::Buffer* indirectBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPrimitives_indirectBuffer_indirectBufferOffset_), primitiveType, indirectBuffer, indirectBufferOffset); +} + +// method: drawIndexedPrimitives:indexType:indexBuffer:indexBufferOffset:indirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::RenderCommandEncoder::drawIndexedPrimitives(MTL::PrimitiveType primitiveType, MTL::IndexType indexType, const MTL::Buffer* indexBuffer, NS::UInteger indexBufferOffset, const MTL::Buffer* indirectBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPrimitives_indexType_indexBuffer_indexBufferOffset_indirectBuffer_indirectBufferOffset_), primitiveType, indexType, indexBuffer, indexBufferOffset, indirectBuffer, indirectBufferOffset); +} + +// method: textureBarrier +_MTL_INLINE void MTL::RenderCommandEncoder::textureBarrier() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(textureBarrier)); +} + +// method: updateFence:afterStages: +_MTL_INLINE void MTL::RenderCommandEncoder::updateFence(const MTL::Fence* fence, MTL::RenderStages stages) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateFence_afterStages_), fence, stages); +} + +// method: waitForFence:beforeStages: +_MTL_INLINE void MTL::RenderCommandEncoder::waitForFence(const MTL::Fence* fence, MTL::RenderStages stages) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(waitForFence_beforeStages_), fence, stages); +} + +// method: setTessellationFactorBuffer:offset:instanceStride: +_MTL_INLINE void MTL::RenderCommandEncoder::setTessellationFactorBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger instanceStride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationFactorBuffer_offset_instanceStride_), buffer, offset, instanceStride); +} + +// method: setTessellationFactorScale: +_MTL_INLINE void MTL::RenderCommandEncoder::setTessellationFactorScale(float scale) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationFactorScale_), scale); +} + +// method: drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance: +_MTL_INLINE void MTL::RenderCommandEncoder::drawPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const MTL::Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_), numberOfPatchControlPoints, patchStart, patchCount, patchIndexBuffer, patchIndexBufferOffset, instanceCount, baseInstance); +} + +// method: drawPatches:patchIndexBuffer:patchIndexBufferOffset:indirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::RenderCommandEncoder::drawPatches(NS::UInteger numberOfPatchControlPoints, const MTL::Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const MTL::Buffer* indirectBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawPatches_patchIndexBuffer_patchIndexBufferOffset_indirectBuffer_indirectBufferOffset_), numberOfPatchControlPoints, patchIndexBuffer, patchIndexBufferOffset, indirectBuffer, indirectBufferOffset); +} + +// method: drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance: +_MTL_INLINE void MTL::RenderCommandEncoder::drawIndexedPatches(NS::UInteger numberOfPatchControlPoints, NS::UInteger patchStart, NS::UInteger patchCount, const MTL::Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const MTL::Buffer* controlPointIndexBuffer, NS::UInteger controlPointIndexBufferOffset, NS::UInteger instanceCount, NS::UInteger baseInstance) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_), numberOfPatchControlPoints, patchStart, patchCount, patchIndexBuffer, patchIndexBufferOffset, controlPointIndexBuffer, controlPointIndexBufferOffset, instanceCount, baseInstance); +} + +// method: drawIndexedPatches:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:indirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::RenderCommandEncoder::drawIndexedPatches(NS::UInteger numberOfPatchControlPoints, const MTL::Buffer* patchIndexBuffer, NS::UInteger patchIndexBufferOffset, const MTL::Buffer* controlPointIndexBuffer, NS::UInteger controlPointIndexBufferOffset, const MTL::Buffer* indirectBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(drawIndexedPatches_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_indirectBuffer_indirectBufferOffset_), numberOfPatchControlPoints, patchIndexBuffer, patchIndexBufferOffset, controlPointIndexBuffer, controlPointIndexBufferOffset, indirectBuffer, indirectBufferOffset); +} + +// property: tileWidth +_MTL_INLINE NS::UInteger MTL::RenderCommandEncoder::tileWidth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileWidth)); +} + +// property: tileHeight +_MTL_INLINE NS::UInteger MTL::RenderCommandEncoder::tileHeight() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileHeight)); +} + +// method: setTileBytes:length:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileBytes(const void* bytes, NS::UInteger length, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileBytes_length_atIndex_), bytes, length, index); +} + +// method: setTileBuffer:offset:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileBuffer(const MTL::Buffer* buffer, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileBuffer_offset_atIndex_), buffer, offset, index); +} + +// method: setTileBufferOffset:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileBufferOffset(NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileBufferOffset_atIndex_), offset, index); +} + +// method: setTileBuffers:offsets:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileBuffers(MTL::Buffer* buffers, const NS::UInteger* offsets, NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileBuffers_offsets_withRange_), buffers, offsets, range); +} + +// method: setTileTexture:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileTexture(const MTL::Texture* texture, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileTexture_atIndex_), texture, index); +} + +// method: setTileTextures:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileTextures(MTL::Texture* textures[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileTextures_withRange_), textures, range); +} + +// method: setTileSamplerState:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileSamplerState(const MTL::SamplerState* sampler, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileSamplerState_atIndex_), sampler, index); +} + +// method: setTileSamplerStates:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileSamplerStates(MTL::SamplerState* samplers[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileSamplerStates_withRange_), samplers, range); +} + +// method: setTileSamplerState:lodMinClamp:lodMaxClamp:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileSamplerState(const MTL::SamplerState* sampler, float lodMinClamp, float lodMaxClamp, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileSamplerState_lodMinClamp_lodMaxClamp_atIndex_), sampler, lodMinClamp, lodMaxClamp, index); +} + +// method: setTileSamplerStates:lodMinClamps:lodMaxClamps:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileSamplerStates(MTL::SamplerState* samplers[], const float lodMinClamps[], const float lodMaxClamps[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileSamplerStates_lodMinClamps_lodMaxClamps_withRange_), samplers, lodMinClamps, lodMaxClamps, range); +} + +// method: setTileVisibleFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileVisibleFunctionTable(const MTL::VisibleFunctionTable* functionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileVisibleFunctionTable_atBufferIndex_), functionTable, bufferIndex); +} + +// method: setTileVisibleFunctionTables:withBufferRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileVisibleFunctionTables(const MTL::VisibleFunctionTable* functionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileVisibleFunctionTables_withBufferRange_), functionTables, range); +} + +// method: setTileIntersectionFunctionTable:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileIntersectionFunctionTable(const MTL::IntersectionFunctionTable* intersectionFunctionTable, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileIntersectionFunctionTable_atBufferIndex_), intersectionFunctionTable, bufferIndex); +} + +// method: setTileIntersectionFunctionTables:withBufferRange: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileIntersectionFunctionTables(const MTL::IntersectionFunctionTable* intersectionFunctionTables[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileIntersectionFunctionTables_withBufferRange_), intersectionFunctionTables, range); +} + +// method: setTileAccelerationStructure:atBufferIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setTileAccelerationStructure(const MTL::AccelerationStructure* accelerationStructure, NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileAccelerationStructure_atBufferIndex_), accelerationStructure, bufferIndex); +} + +// method: dispatchThreadsPerTile: +_MTL_INLINE void MTL::RenderCommandEncoder::dispatchThreadsPerTile(MTL::Size threadsPerTile) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(dispatchThreadsPerTile_), threadsPerTile); +} + +// method: setThreadgroupMemoryLength:offset:atIndex: +_MTL_INLINE void MTL::RenderCommandEncoder::setThreadgroupMemoryLength(NS::UInteger length, NS::UInteger offset, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setThreadgroupMemoryLength_offset_atIndex_), length, offset, index); +} + +// method: useResource:usage: +_MTL_INLINE void MTL::RenderCommandEncoder::useResource(const MTL::Resource* resource, MTL::ResourceUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResource_usage_), resource, usage); +} + +// method: useResources:count:usage: +_MTL_INLINE void MTL::RenderCommandEncoder::useResources(MTL::Resource* resources[], NS::UInteger count, MTL::ResourceUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResources_count_usage_), resources, count, usage); +} + +// method: useResource:usage:stages: +_MTL_INLINE void MTL::RenderCommandEncoder::useResource(const MTL::Resource* resource, MTL::ResourceUsage usage, MTL::RenderStages stages) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResource_usage_stages_), resource, usage, stages); +} + +// method: useResources:count:usage:stages: +_MTL_INLINE void MTL::RenderCommandEncoder::useResources(MTL::Resource* resources, NS::UInteger count, MTL::ResourceUsage usage, MTL::RenderStages stages) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useResources_count_usage_stages_), resources, count, usage, stages); +} + +// method: useHeap: +_MTL_INLINE void MTL::RenderCommandEncoder::useHeap(const MTL::Heap* heap) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeap_), heap); +} + +// method: useHeaps:count: +_MTL_INLINE void MTL::RenderCommandEncoder::useHeaps(MTL::Heap* heaps[], NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeaps_count_), heaps, count); +} + +// method: useHeap:stages: +_MTL_INLINE void MTL::RenderCommandEncoder::useHeap(const MTL::Heap* heap, MTL::RenderStages stages) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeap_stages_), heap, stages); +} + +// method: useHeaps:count:stages: +_MTL_INLINE void MTL::RenderCommandEncoder::useHeaps(MTL::Heap* heaps[], NS::UInteger count, MTL::RenderStages stages) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(useHeaps_count_stages_), heaps, count, stages); +} + +// method: executeCommandsInBuffer:withRange: +_MTL_INLINE void MTL::RenderCommandEncoder::executeCommandsInBuffer(const MTL::IndirectCommandBuffer* indirectCommandBuffer, NS::Range executionRange) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(executeCommandsInBuffer_withRange_), indirectCommandBuffer, executionRange); +} + +// method: executeCommandsInBuffer:indirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::RenderCommandEncoder::executeCommandsInBuffer(const MTL::IndirectCommandBuffer* indirectCommandbuffer, const MTL::Buffer* indirectRangeBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(executeCommandsInBuffer_indirectBuffer_indirectBufferOffset_), indirectCommandbuffer, indirectRangeBuffer, indirectBufferOffset); +} + +// method: memoryBarrierWithScope:afterStages:beforeStages: +_MTL_INLINE void MTL::RenderCommandEncoder::memoryBarrier(MTL::BarrierScope scope, MTL::RenderStages after, MTL::RenderStages before) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(memoryBarrierWithScope_afterStages_beforeStages_), scope, after, before); +} + +// method: memoryBarrierWithResources:count:afterStages:beforeStages: +_MTL_INLINE void MTL::RenderCommandEncoder::memoryBarrier(MTL::Resource* resources[], NS::UInteger count, MTL::RenderStages after, MTL::RenderStages before) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(memoryBarrierWithResources_count_afterStages_beforeStages_), resources, count, after, before); +} + +// method: sampleCountersInBuffer:atSampleIndex:withBarrier: +_MTL_INLINE void MTL::RenderCommandEncoder::sampleCountersInBuffer(const MTL::CounterSampleBuffer* sampleBuffer, NS::UInteger sampleIndex, bool barrier) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCountersInBuffer_atSampleIndex_withBarrier_), sampleBuffer, sampleIndex, barrier); +} diff --git a/metal-cpp/Metal/MTLRenderPass.hpp b/metal-cpp/Metal/MTLRenderPass.hpp new file mode 100644 index 00000000..85751eaa --- /dev/null +++ b/metal-cpp/Metal/MTLRenderPass.hpp @@ -0,0 +1,786 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLRenderPass.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLRenderPass.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, LoadAction) { + LoadActionDontCare = 0, + LoadActionLoad = 1, + LoadActionClear = 2, +}; + +_MTL_ENUM(NS::UInteger, StoreAction) { + StoreActionDontCare = 0, + StoreActionStore = 1, + StoreActionMultisampleResolve = 2, + StoreActionStoreAndMultisampleResolve = 3, + StoreActionUnknown = 4, + StoreActionCustomSampleDepthStore = 5, +}; + +_MTL_OPTIONS(NS::UInteger, StoreActionOptions) { + StoreActionOptionNone = 0, + StoreActionOptionValidMask = 1, + StoreActionOptionCustomSamplePositions = 1, +}; + +struct ClearColor +{ + static ClearColor Make(double red, double green, double blue, double alpha); + + ClearColor() = default; + + ClearColor(double red, double green, double blue, double alpha); + + double red; + double green; + double blue; + double alpha; +} _MTL_PACKED; + +class RenderPassAttachmentDescriptor : public NS::Copying +{ +public: + static class RenderPassAttachmentDescriptor* alloc(); + + class RenderPassAttachmentDescriptor* init(); + + class Texture* texture() const; + void setTexture(const class Texture* texture); + + NS::UInteger level() const; + void setLevel(NS::UInteger level); + + NS::UInteger slice() const; + void setSlice(NS::UInteger slice); + + NS::UInteger depthPlane() const; + void setDepthPlane(NS::UInteger depthPlane); + + class Texture* resolveTexture() const; + void setResolveTexture(const class Texture* resolveTexture); + + NS::UInteger resolveLevel() const; + void setResolveLevel(NS::UInteger resolveLevel); + + NS::UInteger resolveSlice() const; + void setResolveSlice(NS::UInteger resolveSlice); + + NS::UInteger resolveDepthPlane() const; + void setResolveDepthPlane(NS::UInteger resolveDepthPlane); + + MTL::LoadAction loadAction() const; + void setLoadAction(MTL::LoadAction loadAction); + + MTL::StoreAction storeAction() const; + void setStoreAction(MTL::StoreAction storeAction); + + MTL::StoreActionOptions storeActionOptions() const; + void setStoreActionOptions(MTL::StoreActionOptions storeActionOptions); +}; + +class RenderPassColorAttachmentDescriptor : public NS::Copying +{ +public: + static class RenderPassColorAttachmentDescriptor* alloc(); + + class RenderPassColorAttachmentDescriptor* init(); + + MTL::ClearColor clearColor() const; + void setClearColor(MTL::ClearColor clearColor); +}; + +_MTL_ENUM(NS::UInteger, MultisampleDepthResolveFilter) { + MultisampleDepthResolveFilterSample0 = 0, + MultisampleDepthResolveFilterMin = 1, + MultisampleDepthResolveFilterMax = 2, +}; + +class RenderPassDepthAttachmentDescriptor : public NS::Copying +{ +public: + static class RenderPassDepthAttachmentDescriptor* alloc(); + + class RenderPassDepthAttachmentDescriptor* init(); + + double clearDepth() const; + void setClearDepth(double clearDepth); + + MTL::MultisampleDepthResolveFilter depthResolveFilter() const; + void setDepthResolveFilter(MTL::MultisampleDepthResolveFilter depthResolveFilter); +}; + +_MTL_ENUM(NS::UInteger, MultisampleStencilResolveFilter) { + MultisampleStencilResolveFilterSample0 = 0, + MultisampleStencilResolveFilterDepthResolvedSample = 1, +}; + +class RenderPassStencilAttachmentDescriptor : public NS::Copying +{ +public: + static class RenderPassStencilAttachmentDescriptor* alloc(); + + class RenderPassStencilAttachmentDescriptor* init(); + + uint32_t clearStencil() const; + void setClearStencil(uint32_t clearStencil); + + MTL::MultisampleStencilResolveFilter stencilResolveFilter() const; + void setStencilResolveFilter(MTL::MultisampleStencilResolveFilter stencilResolveFilter); +}; + +class RenderPassColorAttachmentDescriptorArray : public NS::Referencing +{ +public: + static class RenderPassColorAttachmentDescriptorArray* alloc(); + + class RenderPassColorAttachmentDescriptorArray* init(); + + class RenderPassColorAttachmentDescriptor* object(NS::UInteger attachmentIndex); + + void setObject(const class RenderPassColorAttachmentDescriptor* attachment, NS::UInteger attachmentIndex); +}; + +class RenderPassSampleBufferAttachmentDescriptor : public NS::Copying +{ +public: + static class RenderPassSampleBufferAttachmentDescriptor* alloc(); + + class RenderPassSampleBufferAttachmentDescriptor* init(); + + class CounterSampleBuffer* sampleBuffer() const; + void setSampleBuffer(const class CounterSampleBuffer* sampleBuffer); + + NS::UInteger startOfVertexSampleIndex() const; + void setStartOfVertexSampleIndex(NS::UInteger startOfVertexSampleIndex); + + NS::UInteger endOfVertexSampleIndex() const; + void setEndOfVertexSampleIndex(NS::UInteger endOfVertexSampleIndex); + + NS::UInteger startOfFragmentSampleIndex() const; + void setStartOfFragmentSampleIndex(NS::UInteger startOfFragmentSampleIndex); + + NS::UInteger endOfFragmentSampleIndex() const; + void setEndOfFragmentSampleIndex(NS::UInteger endOfFragmentSampleIndex); +}; + +class RenderPassSampleBufferAttachmentDescriptorArray : public NS::Referencing +{ +public: + static class RenderPassSampleBufferAttachmentDescriptorArray* alloc(); + + class RenderPassSampleBufferAttachmentDescriptorArray* init(); + + class RenderPassSampleBufferAttachmentDescriptor* object(NS::UInteger attachmentIndex); + + void setObject(const class RenderPassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex); +}; + +class RenderPassDescriptor : public NS::Copying +{ +public: + static class RenderPassDescriptor* alloc(); + + class RenderPassDescriptor* init(); + + static class RenderPassDescriptor* renderPassDescriptor(); + + class RenderPassColorAttachmentDescriptorArray* colorAttachments() const; + + class RenderPassDepthAttachmentDescriptor* depthAttachment() const; + void setDepthAttachment(const class RenderPassDepthAttachmentDescriptor* depthAttachment); + + class RenderPassStencilAttachmentDescriptor* stencilAttachment() const; + void setStencilAttachment(const class RenderPassStencilAttachmentDescriptor* stencilAttachment); + + class Buffer* visibilityResultBuffer() const; + void setVisibilityResultBuffer(const class Buffer* visibilityResultBuffer); + + NS::UInteger renderTargetArrayLength() const; + void setRenderTargetArrayLength(NS::UInteger renderTargetArrayLength); + + NS::UInteger imageblockSampleLength() const; + void setImageblockSampleLength(NS::UInteger imageblockSampleLength); + + NS::UInteger threadgroupMemoryLength() const; + void setThreadgroupMemoryLength(NS::UInteger threadgroupMemoryLength); + + NS::UInteger tileWidth() const; + void setTileWidth(NS::UInteger tileWidth); + + NS::UInteger tileHeight() const; + void setTileHeight(NS::UInteger tileHeight); + + NS::UInteger defaultRasterSampleCount() const; + void setDefaultRasterSampleCount(NS::UInteger defaultRasterSampleCount); + + NS::UInteger renderTargetWidth() const; + void setRenderTargetWidth(NS::UInteger renderTargetWidth); + + NS::UInteger renderTargetHeight() const; + void setRenderTargetHeight(NS::UInteger renderTargetHeight); + + void setSamplePositions(const MTL::SamplePosition* positions, NS::UInteger count); + + NS::UInteger getSamplePositions(MTL::SamplePosition* positions, NS::UInteger count); + + class RasterizationRateMap* rasterizationRateMap() const; + void setRasterizationRateMap(const class RasterizationRateMap* rasterizationRateMap); + + class RenderPassSampleBufferAttachmentDescriptorArray* sampleBufferAttachments() const; +}; + +} + +_MTL_INLINE MTL::ClearColor MTL::ClearColor::Make(double red, double green, double blue, double alpha) +{ + return ClearColor(red, green, blue, alpha); +} + +_MTL_INLINE MTL::ClearColor::ClearColor(double _red, double _green, double _blue, double _alpha) + : red(_red) + , green(_green) + , blue(_blue) + , alpha(_alpha) +{ +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassAttachmentDescriptor* MTL::RenderPassAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPassAttachmentDescriptor* MTL::RenderPassAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: texture +_MTL_INLINE MTL::Texture* MTL::RenderPassAttachmentDescriptor::texture() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(texture)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setTexture(const MTL::Texture* texture) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTexture_), texture); +} + +// property: level +_MTL_INLINE NS::UInteger MTL::RenderPassAttachmentDescriptor::level() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(level)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setLevel(NS::UInteger level) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLevel_), level); +} + +// property: slice +_MTL_INLINE NS::UInteger MTL::RenderPassAttachmentDescriptor::slice() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(slice)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setSlice(NS::UInteger slice) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSlice_), slice); +} + +// property: depthPlane +_MTL_INLINE NS::UInteger MTL::RenderPassAttachmentDescriptor::depthPlane() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depthPlane)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setDepthPlane(NS::UInteger depthPlane) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthPlane_), depthPlane); +} + +// property: resolveTexture +_MTL_INLINE MTL::Texture* MTL::RenderPassAttachmentDescriptor::resolveTexture() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resolveTexture)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setResolveTexture(const MTL::Texture* resolveTexture) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setResolveTexture_), resolveTexture); +} + +// property: resolveLevel +_MTL_INLINE NS::UInteger MTL::RenderPassAttachmentDescriptor::resolveLevel() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resolveLevel)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setResolveLevel(NS::UInteger resolveLevel) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setResolveLevel_), resolveLevel); +} + +// property: resolveSlice +_MTL_INLINE NS::UInteger MTL::RenderPassAttachmentDescriptor::resolveSlice() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resolveSlice)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setResolveSlice(NS::UInteger resolveSlice) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setResolveSlice_), resolveSlice); +} + +// property: resolveDepthPlane +_MTL_INLINE NS::UInteger MTL::RenderPassAttachmentDescriptor::resolveDepthPlane() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resolveDepthPlane)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setResolveDepthPlane(NS::UInteger resolveDepthPlane) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setResolveDepthPlane_), resolveDepthPlane); +} + +// property: loadAction +_MTL_INLINE MTL::LoadAction MTL::RenderPassAttachmentDescriptor::loadAction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(loadAction)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setLoadAction(MTL::LoadAction loadAction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLoadAction_), loadAction); +} + +// property: storeAction +_MTL_INLINE MTL::StoreAction MTL::RenderPassAttachmentDescriptor::storeAction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(storeAction)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setStoreAction(MTL::StoreAction storeAction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStoreAction_), storeAction); +} + +// property: storeActionOptions +_MTL_INLINE MTL::StoreActionOptions MTL::RenderPassAttachmentDescriptor::storeActionOptions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(storeActionOptions)); +} + +_MTL_INLINE void MTL::RenderPassAttachmentDescriptor::setStoreActionOptions(MTL::StoreActionOptions storeActionOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStoreActionOptions_), storeActionOptions); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassColorAttachmentDescriptor* MTL::RenderPassColorAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassColorAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPassColorAttachmentDescriptor* MTL::RenderPassColorAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: clearColor +_MTL_INLINE MTL::ClearColor MTL::RenderPassColorAttachmentDescriptor::clearColor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(clearColor)); +} + +_MTL_INLINE void MTL::RenderPassColorAttachmentDescriptor::setClearColor(MTL::ClearColor clearColor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setClearColor_), clearColor); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassDepthAttachmentDescriptor* MTL::RenderPassDepthAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassDepthAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPassDepthAttachmentDescriptor* MTL::RenderPassDepthAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: clearDepth +_MTL_INLINE double MTL::RenderPassDepthAttachmentDescriptor::clearDepth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(clearDepth)); +} + +_MTL_INLINE void MTL::RenderPassDepthAttachmentDescriptor::setClearDepth(double clearDepth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setClearDepth_), clearDepth); +} + +// property: depthResolveFilter +_MTL_INLINE MTL::MultisampleDepthResolveFilter MTL::RenderPassDepthAttachmentDescriptor::depthResolveFilter() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depthResolveFilter)); +} + +_MTL_INLINE void MTL::RenderPassDepthAttachmentDescriptor::setDepthResolveFilter(MTL::MultisampleDepthResolveFilter depthResolveFilter) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthResolveFilter_), depthResolveFilter); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassStencilAttachmentDescriptor* MTL::RenderPassStencilAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassStencilAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPassStencilAttachmentDescriptor* MTL::RenderPassStencilAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: clearStencil +_MTL_INLINE uint32_t MTL::RenderPassStencilAttachmentDescriptor::clearStencil() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(clearStencil)); +} + +_MTL_INLINE void MTL::RenderPassStencilAttachmentDescriptor::setClearStencil(uint32_t clearStencil) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setClearStencil_), clearStencil); +} + +// property: stencilResolveFilter +_MTL_INLINE MTL::MultisampleStencilResolveFilter MTL::RenderPassStencilAttachmentDescriptor::stencilResolveFilter() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stencilResolveFilter)); +} + +_MTL_INLINE void MTL::RenderPassStencilAttachmentDescriptor::setStencilResolveFilter(MTL::MultisampleStencilResolveFilter stencilResolveFilter) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilResolveFilter_), stencilResolveFilter); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassColorAttachmentDescriptorArray* MTL::RenderPassColorAttachmentDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassColorAttachmentDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::RenderPassColorAttachmentDescriptorArray* MTL::RenderPassColorAttachmentDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::RenderPassColorAttachmentDescriptor* MTL::RenderPassColorAttachmentDescriptorArray::object(NS::UInteger attachmentIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), attachmentIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::RenderPassColorAttachmentDescriptorArray::setObject(const MTL::RenderPassColorAttachmentDescriptor* attachment, NS::UInteger attachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attachment, attachmentIndex); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassSampleBufferAttachmentDescriptor* MTL::RenderPassSampleBufferAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassSampleBufferAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPassSampleBufferAttachmentDescriptor* MTL::RenderPassSampleBufferAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: sampleBuffer +_MTL_INLINE MTL::CounterSampleBuffer* MTL::RenderPassSampleBufferAttachmentDescriptor::sampleBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBuffer)); +} + +_MTL_INLINE void MTL::RenderPassSampleBufferAttachmentDescriptor::setSampleBuffer(const MTL::CounterSampleBuffer* sampleBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleBuffer_), sampleBuffer); +} + +// property: startOfVertexSampleIndex +_MTL_INLINE NS::UInteger MTL::RenderPassSampleBufferAttachmentDescriptor::startOfVertexSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(startOfVertexSampleIndex)); +} + +_MTL_INLINE void MTL::RenderPassSampleBufferAttachmentDescriptor::setStartOfVertexSampleIndex(NS::UInteger startOfVertexSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStartOfVertexSampleIndex_), startOfVertexSampleIndex); +} + +// property: endOfVertexSampleIndex +_MTL_INLINE NS::UInteger MTL::RenderPassSampleBufferAttachmentDescriptor::endOfVertexSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(endOfVertexSampleIndex)); +} + +_MTL_INLINE void MTL::RenderPassSampleBufferAttachmentDescriptor::setEndOfVertexSampleIndex(NS::UInteger endOfVertexSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setEndOfVertexSampleIndex_), endOfVertexSampleIndex); +} + +// property: startOfFragmentSampleIndex +_MTL_INLINE NS::UInteger MTL::RenderPassSampleBufferAttachmentDescriptor::startOfFragmentSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(startOfFragmentSampleIndex)); +} + +_MTL_INLINE void MTL::RenderPassSampleBufferAttachmentDescriptor::setStartOfFragmentSampleIndex(NS::UInteger startOfFragmentSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStartOfFragmentSampleIndex_), startOfFragmentSampleIndex); +} + +// property: endOfFragmentSampleIndex +_MTL_INLINE NS::UInteger MTL::RenderPassSampleBufferAttachmentDescriptor::endOfFragmentSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(endOfFragmentSampleIndex)); +} + +_MTL_INLINE void MTL::RenderPassSampleBufferAttachmentDescriptor::setEndOfFragmentSampleIndex(NS::UInteger endOfFragmentSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setEndOfFragmentSampleIndex_), endOfFragmentSampleIndex); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassSampleBufferAttachmentDescriptorArray* MTL::RenderPassSampleBufferAttachmentDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassSampleBufferAttachmentDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::RenderPassSampleBufferAttachmentDescriptorArray* MTL::RenderPassSampleBufferAttachmentDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::RenderPassSampleBufferAttachmentDescriptor* MTL::RenderPassSampleBufferAttachmentDescriptorArray::object(NS::UInteger attachmentIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), attachmentIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::RenderPassSampleBufferAttachmentDescriptorArray::setObject(const MTL::RenderPassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attachment, attachmentIndex); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPassDescriptor* MTL::RenderPassDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPassDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPassDescriptor* MTL::RenderPassDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: renderPassDescriptor +_MTL_INLINE MTL::RenderPassDescriptor* MTL::RenderPassDescriptor::renderPassDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLRenderPassDescriptor), _MTL_PRIVATE_SEL(renderPassDescriptor)); +} + +// property: colorAttachments +_MTL_INLINE MTL::RenderPassColorAttachmentDescriptorArray* MTL::RenderPassDescriptor::colorAttachments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(colorAttachments)); +} + +// property: depthAttachment +_MTL_INLINE MTL::RenderPassDepthAttachmentDescriptor* MTL::RenderPassDescriptor::depthAttachment() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depthAttachment)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setDepthAttachment(const MTL::RenderPassDepthAttachmentDescriptor* depthAttachment) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthAttachment_), depthAttachment); +} + +// property: stencilAttachment +_MTL_INLINE MTL::RenderPassStencilAttachmentDescriptor* MTL::RenderPassDescriptor::stencilAttachment() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stencilAttachment)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setStencilAttachment(const MTL::RenderPassStencilAttachmentDescriptor* stencilAttachment) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilAttachment_), stencilAttachment); +} + +// property: visibilityResultBuffer +_MTL_INLINE MTL::Buffer* MTL::RenderPassDescriptor::visibilityResultBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(visibilityResultBuffer)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setVisibilityResultBuffer(const MTL::Buffer* visibilityResultBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVisibilityResultBuffer_), visibilityResultBuffer); +} + +// property: renderTargetArrayLength +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::renderTargetArrayLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(renderTargetArrayLength)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setRenderTargetArrayLength(NS::UInteger renderTargetArrayLength) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRenderTargetArrayLength_), renderTargetArrayLength); +} + +// property: imageblockSampleLength +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::imageblockSampleLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(imageblockSampleLength)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setImageblockSampleLength(NS::UInteger imageblockSampleLength) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setImageblockSampleLength_), imageblockSampleLength); +} + +// property: threadgroupMemoryLength +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::threadgroupMemoryLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(threadgroupMemoryLength)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setThreadgroupMemoryLength(NS::UInteger threadgroupMemoryLength) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setThreadgroupMemoryLength_), threadgroupMemoryLength); +} + +// property: tileWidth +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::tileWidth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileWidth)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setTileWidth(NS::UInteger tileWidth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileWidth_), tileWidth); +} + +// property: tileHeight +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::tileHeight() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileHeight)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setTileHeight(NS::UInteger tileHeight) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileHeight_), tileHeight); +} + +// property: defaultRasterSampleCount +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::defaultRasterSampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(defaultRasterSampleCount)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setDefaultRasterSampleCount(NS::UInteger defaultRasterSampleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDefaultRasterSampleCount_), defaultRasterSampleCount); +} + +// property: renderTargetWidth +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::renderTargetWidth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(renderTargetWidth)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setRenderTargetWidth(NS::UInteger renderTargetWidth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRenderTargetWidth_), renderTargetWidth); +} + +// property: renderTargetHeight +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::renderTargetHeight() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(renderTargetHeight)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setRenderTargetHeight(NS::UInteger renderTargetHeight) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRenderTargetHeight_), renderTargetHeight); +} + +// method: setSamplePositions:count: +_MTL_INLINE void MTL::RenderPassDescriptor::setSamplePositions(const MTL::SamplePosition* positions, NS::UInteger count) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSamplePositions_count_), positions, count); +} + +// method: getSamplePositions:count: +_MTL_INLINE NS::UInteger MTL::RenderPassDescriptor::getSamplePositions(MTL::SamplePosition* positions, NS::UInteger count) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(getSamplePositions_count_), positions, count); +} + +// property: rasterizationRateMap +_MTL_INLINE MTL::RasterizationRateMap* MTL::RenderPassDescriptor::rasterizationRateMap() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(rasterizationRateMap)); +} + +_MTL_INLINE void MTL::RenderPassDescriptor::setRasterizationRateMap(const MTL::RasterizationRateMap* rasterizationRateMap) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRasterizationRateMap_), rasterizationRateMap); +} + +// property: sampleBufferAttachments +_MTL_INLINE MTL::RenderPassSampleBufferAttachmentDescriptorArray* MTL::RenderPassDescriptor::sampleBufferAttachments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBufferAttachments)); +} diff --git a/metal-cpp/Metal/MTLRenderPipeline.hpp b/metal-cpp/Metal/MTLRenderPipeline.hpp new file mode 100644 index 00000000..1d1db6f6 --- /dev/null +++ b/metal-cpp/Metal/MTLRenderPipeline.hpp @@ -0,0 +1,1212 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLRenderPipeline.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLPixelFormat.hpp" +#include "MTLRenderCommandEncoder.hpp" +#include "MTLRenderPipeline.hpp" +#include "MTLTypes.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, BlendFactor) { + BlendFactorZero = 0, + BlendFactorOne = 1, + BlendFactorSourceColor = 2, + BlendFactorOneMinusSourceColor = 3, + BlendFactorSourceAlpha = 4, + BlendFactorOneMinusSourceAlpha = 5, + BlendFactorDestinationColor = 6, + BlendFactorOneMinusDestinationColor = 7, + BlendFactorDestinationAlpha = 8, + BlendFactorOneMinusDestinationAlpha = 9, + BlendFactorSourceAlphaSaturated = 10, + BlendFactorBlendColor = 11, + BlendFactorOneMinusBlendColor = 12, + BlendFactorBlendAlpha = 13, + BlendFactorOneMinusBlendAlpha = 14, + BlendFactorSource1Color = 15, + BlendFactorOneMinusSource1Color = 16, + BlendFactorSource1Alpha = 17, + BlendFactorOneMinusSource1Alpha = 18, +}; + +_MTL_ENUM(NS::UInteger, BlendOperation) { + BlendOperationAdd = 0, + BlendOperationSubtract = 1, + BlendOperationReverseSubtract = 2, + BlendOperationMin = 3, + BlendOperationMax = 4, +}; + +_MTL_OPTIONS(NS::UInteger, ColorWriteMask) { + ColorWriteMaskNone = 0, + ColorWriteMaskAlpha = 1, + ColorWriteMaskBlue = 2, + ColorWriteMaskGreen = 4, + ColorWriteMaskRed = 8, + ColorWriteMaskAll = 15, +}; + +_MTL_ENUM(NS::UInteger, PrimitiveTopologyClass) { + PrimitiveTopologyClassUnspecified = 0, + PrimitiveTopologyClassPoint = 1, + PrimitiveTopologyClassLine = 2, + PrimitiveTopologyClassTriangle = 3, +}; + +_MTL_ENUM(NS::UInteger, TessellationPartitionMode) { + TessellationPartitionModePow2 = 0, + TessellationPartitionModeInteger = 1, + TessellationPartitionModeFractionalOdd = 2, + TessellationPartitionModeFractionalEven = 3, +}; + +_MTL_ENUM(NS::UInteger, TessellationFactorStepFunction) { + TessellationFactorStepFunctionConstant = 0, + TessellationFactorStepFunctionPerPatch = 1, + TessellationFactorStepFunctionPerInstance = 2, + TessellationFactorStepFunctionPerPatchAndPerInstance = 3, +}; + +_MTL_ENUM(NS::UInteger, TessellationFactorFormat) { + TessellationFactorFormatHalf = 0, +}; + +_MTL_ENUM(NS::UInteger, TessellationControlPointIndexType) { + TessellationControlPointIndexTypeNone = 0, + TessellationControlPointIndexTypeUInt16 = 1, + TessellationControlPointIndexTypeUInt32 = 2, +}; + +class RenderPipelineColorAttachmentDescriptor : public NS::Copying +{ +public: + static class RenderPipelineColorAttachmentDescriptor* alloc(); + + class RenderPipelineColorAttachmentDescriptor* init(); + + MTL::PixelFormat pixelFormat() const; + void setPixelFormat(MTL::PixelFormat pixelFormat); + + bool blendingEnabled() const; + void setBlendingEnabled(bool blendingEnabled); + + MTL::BlendFactor sourceRGBBlendFactor() const; + void setSourceRGBBlendFactor(MTL::BlendFactor sourceRGBBlendFactor); + + MTL::BlendFactor destinationRGBBlendFactor() const; + void setDestinationRGBBlendFactor(MTL::BlendFactor destinationRGBBlendFactor); + + MTL::BlendOperation rgbBlendOperation() const; + void setRgbBlendOperation(MTL::BlendOperation rgbBlendOperation); + + MTL::BlendFactor sourceAlphaBlendFactor() const; + void setSourceAlphaBlendFactor(MTL::BlendFactor sourceAlphaBlendFactor); + + MTL::BlendFactor destinationAlphaBlendFactor() const; + void setDestinationAlphaBlendFactor(MTL::BlendFactor destinationAlphaBlendFactor); + + MTL::BlendOperation alphaBlendOperation() const; + void setAlphaBlendOperation(MTL::BlendOperation alphaBlendOperation); + + MTL::ColorWriteMask writeMask() const; + void setWriteMask(MTL::ColorWriteMask writeMask); +}; + +class RenderPipelineReflection : public NS::Referencing +{ +public: + static class RenderPipelineReflection* alloc(); + + class RenderPipelineReflection* init(); + + NS::Array* vertexArguments() const; + + NS::Array* fragmentArguments() const; + + NS::Array* tileArguments() const; +}; + +class RenderPipelineDescriptor : public NS::Copying +{ +public: + static class RenderPipelineDescriptor* alloc(); + + class RenderPipelineDescriptor* init(); + + NS::String* label() const; + void setLabel(const NS::String* label); + + class Function* vertexFunction() const; + void setVertexFunction(const class Function* vertexFunction); + + class Function* fragmentFunction() const; + void setFragmentFunction(const class Function* fragmentFunction); + + class VertexDescriptor* vertexDescriptor() const; + void setVertexDescriptor(const class VertexDescriptor* vertexDescriptor); + + NS::UInteger sampleCount() const; + void setSampleCount(NS::UInteger sampleCount); + + NS::UInteger rasterSampleCount() const; + void setRasterSampleCount(NS::UInteger rasterSampleCount); + + bool alphaToCoverageEnabled() const; + void setAlphaToCoverageEnabled(bool alphaToCoverageEnabled); + + bool alphaToOneEnabled() const; + void setAlphaToOneEnabled(bool alphaToOneEnabled); + + bool rasterizationEnabled() const; + void setRasterizationEnabled(bool rasterizationEnabled); + + NS::UInteger maxVertexAmplificationCount() const; + void setMaxVertexAmplificationCount(NS::UInteger maxVertexAmplificationCount); + + class RenderPipelineColorAttachmentDescriptorArray* colorAttachments() const; + + MTL::PixelFormat depthAttachmentPixelFormat() const; + void setDepthAttachmentPixelFormat(MTL::PixelFormat depthAttachmentPixelFormat); + + MTL::PixelFormat stencilAttachmentPixelFormat() const; + void setStencilAttachmentPixelFormat(MTL::PixelFormat stencilAttachmentPixelFormat); + + MTL::PrimitiveTopologyClass inputPrimitiveTopology() const; + void setInputPrimitiveTopology(MTL::PrimitiveTopologyClass inputPrimitiveTopology); + + MTL::TessellationPartitionMode tessellationPartitionMode() const; + void setTessellationPartitionMode(MTL::TessellationPartitionMode tessellationPartitionMode); + + NS::UInteger maxTessellationFactor() const; + void setMaxTessellationFactor(NS::UInteger maxTessellationFactor); + + bool tessellationFactorScaleEnabled() const; + void setTessellationFactorScaleEnabled(bool tessellationFactorScaleEnabled); + + MTL::TessellationFactorFormat tessellationFactorFormat() const; + void setTessellationFactorFormat(MTL::TessellationFactorFormat tessellationFactorFormat); + + MTL::TessellationControlPointIndexType tessellationControlPointIndexType() const; + void setTessellationControlPointIndexType(MTL::TessellationControlPointIndexType tessellationControlPointIndexType); + + MTL::TessellationFactorStepFunction tessellationFactorStepFunction() const; + void setTessellationFactorStepFunction(MTL::TessellationFactorStepFunction tessellationFactorStepFunction); + + MTL::Winding tessellationOutputWindingOrder() const; + void setTessellationOutputWindingOrder(MTL::Winding tessellationOutputWindingOrder); + + class PipelineBufferDescriptorArray* vertexBuffers() const; + + class PipelineBufferDescriptorArray* fragmentBuffers() const; + + bool supportIndirectCommandBuffers() const; + void setSupportIndirectCommandBuffers(bool supportIndirectCommandBuffers); + + NS::Array* binaryArchives() const; + void setBinaryArchives(const NS::Array* binaryArchives); + + NS::Array* vertexPreloadedLibraries() const; + void setVertexPreloadedLibraries(const NS::Array* vertexPreloadedLibraries); + + NS::Array* fragmentPreloadedLibraries() const; + void setFragmentPreloadedLibraries(const NS::Array* fragmentPreloadedLibraries); + + class LinkedFunctions* vertexLinkedFunctions() const; + void setVertexLinkedFunctions(const class LinkedFunctions* vertexLinkedFunctions); + + class LinkedFunctions* fragmentLinkedFunctions() const; + void setFragmentLinkedFunctions(const class LinkedFunctions* fragmentLinkedFunctions); + + bool supportAddingVertexBinaryFunctions() const; + void setSupportAddingVertexBinaryFunctions(bool supportAddingVertexBinaryFunctions); + + bool supportAddingFragmentBinaryFunctions() const; + void setSupportAddingFragmentBinaryFunctions(bool supportAddingFragmentBinaryFunctions); + + NS::UInteger maxVertexCallStackDepth() const; + void setMaxVertexCallStackDepth(NS::UInteger maxVertexCallStackDepth); + + NS::UInteger maxFragmentCallStackDepth() const; + void setMaxFragmentCallStackDepth(NS::UInteger maxFragmentCallStackDepth); + + void reset(); +}; + +class RenderPipelineFunctionsDescriptor : public NS::Copying +{ +public: + static class RenderPipelineFunctionsDescriptor* alloc(); + + class RenderPipelineFunctionsDescriptor* init(); + + NS::Array* vertexAdditionalBinaryFunctions() const; + void setVertexAdditionalBinaryFunctions(const NS::Array* vertexAdditionalBinaryFunctions); + + NS::Array* fragmentAdditionalBinaryFunctions() const; + void setFragmentAdditionalBinaryFunctions(const NS::Array* fragmentAdditionalBinaryFunctions); + + NS::Array* tileAdditionalBinaryFunctions() const; + void setTileAdditionalBinaryFunctions(const NS::Array* tileAdditionalBinaryFunctions); +}; + +class RenderPipelineState : public NS::Referencing +{ +public: + NS::String* label() const; + + class Device* device() const; + + NS::UInteger maxTotalThreadsPerThreadgroup() const; + + bool threadgroupSizeMatchesTileSize() const; + + NS::UInteger imageblockSampleLength() const; + + NS::UInteger imageblockMemoryLength(MTL::Size imageblockDimensions); + + bool supportIndirectCommandBuffers() const; + + class FunctionHandle* functionHandle(const class Function* function, MTL::RenderStages stage); + + class VisibleFunctionTable* newVisibleFunctionTable(const class VisibleFunctionTableDescriptor* descriptor, MTL::RenderStages stage); + + class IntersectionFunctionTable* newIntersectionFunctionTable(const class IntersectionFunctionTableDescriptor* descriptor, MTL::RenderStages stage); + + class RenderPipelineState* newRenderPipelineState(const class RenderPipelineFunctionsDescriptor* additionalBinaryFunctions, NS::Error** error); +}; + +class RenderPipelineColorAttachmentDescriptorArray : public NS::Referencing +{ +public: + static class RenderPipelineColorAttachmentDescriptorArray* alloc(); + + class RenderPipelineColorAttachmentDescriptorArray* init(); + + class RenderPipelineColorAttachmentDescriptor* object(NS::UInteger attachmentIndex); + + void setObject(const class RenderPipelineColorAttachmentDescriptor* attachment, NS::UInteger attachmentIndex); +}; + +class TileRenderPipelineColorAttachmentDescriptor : public NS::Copying +{ +public: + static class TileRenderPipelineColorAttachmentDescriptor* alloc(); + + class TileRenderPipelineColorAttachmentDescriptor* init(); + + MTL::PixelFormat pixelFormat() const; + void setPixelFormat(MTL::PixelFormat pixelFormat); +}; + +class TileRenderPipelineColorAttachmentDescriptorArray : public NS::Referencing +{ +public: + static class TileRenderPipelineColorAttachmentDescriptorArray* alloc(); + + class TileRenderPipelineColorAttachmentDescriptorArray* init(); + + class TileRenderPipelineColorAttachmentDescriptor* object(NS::UInteger attachmentIndex); + + void setObject(const class TileRenderPipelineColorAttachmentDescriptor* attachment, NS::UInteger attachmentIndex); +}; + +class TileRenderPipelineDescriptor : public NS::Copying +{ +public: + static class TileRenderPipelineDescriptor* alloc(); + + class TileRenderPipelineDescriptor* init(); + + NS::String* label() const; + void setLabel(const NS::String* label); + + class Function* tileFunction() const; + void setTileFunction(const class Function* tileFunction); + + NS::UInteger rasterSampleCount() const; + void setRasterSampleCount(NS::UInteger rasterSampleCount); + + class TileRenderPipelineColorAttachmentDescriptorArray* colorAttachments() const; + + bool threadgroupSizeMatchesTileSize() const; + void setThreadgroupSizeMatchesTileSize(bool threadgroupSizeMatchesTileSize); + + class PipelineBufferDescriptorArray* tileBuffers() const; + + NS::UInteger maxTotalThreadsPerThreadgroup() const; + void setMaxTotalThreadsPerThreadgroup(NS::UInteger maxTotalThreadsPerThreadgroup); + + NS::Array* binaryArchives() const; + void setBinaryArchives(const NS::Array* binaryArchives); + + NS::Array* preloadedLibraries() const; + void setPreloadedLibraries(const NS::Array* preloadedLibraries); + + class LinkedFunctions* linkedFunctions() const; + void setLinkedFunctions(const class LinkedFunctions* linkedFunctions); + + bool supportAddingBinaryFunctions() const; + void setSupportAddingBinaryFunctions(bool supportAddingBinaryFunctions); + + NS::UInteger maxCallStackDepth() const; + void setMaxCallStackDepth(NS::UInteger maxCallStackDepth); + + void reset(); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::RenderPipelineColorAttachmentDescriptor* MTL::RenderPipelineColorAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPipelineColorAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPipelineColorAttachmentDescriptor* MTL::RenderPipelineColorAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: pixelFormat +_MTL_INLINE MTL::PixelFormat MTL::RenderPipelineColorAttachmentDescriptor::pixelFormat() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(pixelFormat)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setPixelFormat(MTL::PixelFormat pixelFormat) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPixelFormat_), pixelFormat); +} + +// property: blendingEnabled +_MTL_INLINE bool MTL::RenderPipelineColorAttachmentDescriptor::blendingEnabled() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isBlendingEnabled)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setBlendingEnabled(bool blendingEnabled) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBlendingEnabled_), blendingEnabled); +} + +// property: sourceRGBBlendFactor +_MTL_INLINE MTL::BlendFactor MTL::RenderPipelineColorAttachmentDescriptor::sourceRGBBlendFactor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sourceRGBBlendFactor)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setSourceRGBBlendFactor(MTL::BlendFactor sourceRGBBlendFactor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSourceRGBBlendFactor_), sourceRGBBlendFactor); +} + +// property: destinationRGBBlendFactor +_MTL_INLINE MTL::BlendFactor MTL::RenderPipelineColorAttachmentDescriptor::destinationRGBBlendFactor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(destinationRGBBlendFactor)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setDestinationRGBBlendFactor(MTL::BlendFactor destinationRGBBlendFactor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDestinationRGBBlendFactor_), destinationRGBBlendFactor); +} + +// property: rgbBlendOperation +_MTL_INLINE MTL::BlendOperation MTL::RenderPipelineColorAttachmentDescriptor::rgbBlendOperation() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(rgbBlendOperation)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setRgbBlendOperation(MTL::BlendOperation rgbBlendOperation) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRgbBlendOperation_), rgbBlendOperation); +} + +// property: sourceAlphaBlendFactor +_MTL_INLINE MTL::BlendFactor MTL::RenderPipelineColorAttachmentDescriptor::sourceAlphaBlendFactor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sourceAlphaBlendFactor)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setSourceAlphaBlendFactor(MTL::BlendFactor sourceAlphaBlendFactor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSourceAlphaBlendFactor_), sourceAlphaBlendFactor); +} + +// property: destinationAlphaBlendFactor +_MTL_INLINE MTL::BlendFactor MTL::RenderPipelineColorAttachmentDescriptor::destinationAlphaBlendFactor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(destinationAlphaBlendFactor)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setDestinationAlphaBlendFactor(MTL::BlendFactor destinationAlphaBlendFactor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDestinationAlphaBlendFactor_), destinationAlphaBlendFactor); +} + +// property: alphaBlendOperation +_MTL_INLINE MTL::BlendOperation MTL::RenderPipelineColorAttachmentDescriptor::alphaBlendOperation() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(alphaBlendOperation)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setAlphaBlendOperation(MTL::BlendOperation alphaBlendOperation) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAlphaBlendOperation_), alphaBlendOperation); +} + +// property: writeMask +_MTL_INLINE MTL::ColorWriteMask MTL::RenderPipelineColorAttachmentDescriptor::writeMask() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(writeMask)); +} + +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptor::setWriteMask(MTL::ColorWriteMask writeMask) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setWriteMask_), writeMask); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPipelineReflection* MTL::RenderPipelineReflection::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPipelineReflection)); +} + +// method: init +_MTL_INLINE MTL::RenderPipelineReflection* MTL::RenderPipelineReflection::init() +{ + return NS::Object::init(); +} + +// property: vertexArguments +_MTL_INLINE NS::Array* MTL::RenderPipelineReflection::vertexArguments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexArguments)); +} + +// property: fragmentArguments +_MTL_INLINE NS::Array* MTL::RenderPipelineReflection::fragmentArguments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(fragmentArguments)); +} + +// property: tileArguments +_MTL_INLINE NS::Array* MTL::RenderPipelineReflection::tileArguments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileArguments)); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPipelineDescriptor* MTL::RenderPipelineDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPipelineDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPipelineDescriptor* MTL::RenderPipelineDescriptor::init() +{ + return NS::Object::init(); +} + +// property: label +_MTL_INLINE NS::String* MTL::RenderPipelineDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: vertexFunction +_MTL_INLINE MTL::Function* MTL::RenderPipelineDescriptor::vertexFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexFunction)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setVertexFunction(const MTL::Function* vertexFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexFunction_), vertexFunction); +} + +// property: fragmentFunction +_MTL_INLINE MTL::Function* MTL::RenderPipelineDescriptor::fragmentFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(fragmentFunction)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setFragmentFunction(const MTL::Function* fragmentFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentFunction_), fragmentFunction); +} + +// property: vertexDescriptor +_MTL_INLINE MTL::VertexDescriptor* MTL::RenderPipelineDescriptor::vertexDescriptor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexDescriptor)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setVertexDescriptor(const MTL::VertexDescriptor* vertexDescriptor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexDescriptor_), vertexDescriptor); +} + +// property: sampleCount +_MTL_INLINE NS::UInteger MTL::RenderPipelineDescriptor::sampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCount)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setSampleCount(NS::UInteger sampleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleCount_), sampleCount); +} + +// property: rasterSampleCount +_MTL_INLINE NS::UInteger MTL::RenderPipelineDescriptor::rasterSampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(rasterSampleCount)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setRasterSampleCount(NS::UInteger rasterSampleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRasterSampleCount_), rasterSampleCount); +} + +// property: alphaToCoverageEnabled +_MTL_INLINE bool MTL::RenderPipelineDescriptor::alphaToCoverageEnabled() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isAlphaToCoverageEnabled)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setAlphaToCoverageEnabled(bool alphaToCoverageEnabled) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAlphaToCoverageEnabled_), alphaToCoverageEnabled); +} + +// property: alphaToOneEnabled +_MTL_INLINE bool MTL::RenderPipelineDescriptor::alphaToOneEnabled() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isAlphaToOneEnabled)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setAlphaToOneEnabled(bool alphaToOneEnabled) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAlphaToOneEnabled_), alphaToOneEnabled); +} + +// property: rasterizationEnabled +_MTL_INLINE bool MTL::RenderPipelineDescriptor::rasterizationEnabled() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isRasterizationEnabled)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setRasterizationEnabled(bool rasterizationEnabled) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRasterizationEnabled_), rasterizationEnabled); +} + +// property: maxVertexAmplificationCount +_MTL_INLINE NS::UInteger MTL::RenderPipelineDescriptor::maxVertexAmplificationCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxVertexAmplificationCount)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setMaxVertexAmplificationCount(NS::UInteger maxVertexAmplificationCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxVertexAmplificationCount_), maxVertexAmplificationCount); +} + +// property: colorAttachments +_MTL_INLINE MTL::RenderPipelineColorAttachmentDescriptorArray* MTL::RenderPipelineDescriptor::colorAttachments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(colorAttachments)); +} + +// property: depthAttachmentPixelFormat +_MTL_INLINE MTL::PixelFormat MTL::RenderPipelineDescriptor::depthAttachmentPixelFormat() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depthAttachmentPixelFormat)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setDepthAttachmentPixelFormat(MTL::PixelFormat depthAttachmentPixelFormat) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepthAttachmentPixelFormat_), depthAttachmentPixelFormat); +} + +// property: stencilAttachmentPixelFormat +_MTL_INLINE MTL::PixelFormat MTL::RenderPipelineDescriptor::stencilAttachmentPixelFormat() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stencilAttachmentPixelFormat)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setStencilAttachmentPixelFormat(MTL::PixelFormat stencilAttachmentPixelFormat) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStencilAttachmentPixelFormat_), stencilAttachmentPixelFormat); +} + +// property: inputPrimitiveTopology +_MTL_INLINE MTL::PrimitiveTopologyClass MTL::RenderPipelineDescriptor::inputPrimitiveTopology() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(inputPrimitiveTopology)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setInputPrimitiveTopology(MTL::PrimitiveTopologyClass inputPrimitiveTopology) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setInputPrimitiveTopology_), inputPrimitiveTopology); +} + +// property: tessellationPartitionMode +_MTL_INLINE MTL::TessellationPartitionMode MTL::RenderPipelineDescriptor::tessellationPartitionMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tessellationPartitionMode)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setTessellationPartitionMode(MTL::TessellationPartitionMode tessellationPartitionMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationPartitionMode_), tessellationPartitionMode); +} + +// property: maxTessellationFactor +_MTL_INLINE NS::UInteger MTL::RenderPipelineDescriptor::maxTessellationFactor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxTessellationFactor)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setMaxTessellationFactor(NS::UInteger maxTessellationFactor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxTessellationFactor_), maxTessellationFactor); +} + +// property: tessellationFactorScaleEnabled +_MTL_INLINE bool MTL::RenderPipelineDescriptor::tessellationFactorScaleEnabled() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isTessellationFactorScaleEnabled)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setTessellationFactorScaleEnabled(bool tessellationFactorScaleEnabled) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationFactorScaleEnabled_), tessellationFactorScaleEnabled); +} + +// property: tessellationFactorFormat +_MTL_INLINE MTL::TessellationFactorFormat MTL::RenderPipelineDescriptor::tessellationFactorFormat() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tessellationFactorFormat)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setTessellationFactorFormat(MTL::TessellationFactorFormat tessellationFactorFormat) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationFactorFormat_), tessellationFactorFormat); +} + +// property: tessellationControlPointIndexType +_MTL_INLINE MTL::TessellationControlPointIndexType MTL::RenderPipelineDescriptor::tessellationControlPointIndexType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tessellationControlPointIndexType)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setTessellationControlPointIndexType(MTL::TessellationControlPointIndexType tessellationControlPointIndexType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationControlPointIndexType_), tessellationControlPointIndexType); +} + +// property: tessellationFactorStepFunction +_MTL_INLINE MTL::TessellationFactorStepFunction MTL::RenderPipelineDescriptor::tessellationFactorStepFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tessellationFactorStepFunction)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setTessellationFactorStepFunction(MTL::TessellationFactorStepFunction tessellationFactorStepFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationFactorStepFunction_), tessellationFactorStepFunction); +} + +// property: tessellationOutputWindingOrder +_MTL_INLINE MTL::Winding MTL::RenderPipelineDescriptor::tessellationOutputWindingOrder() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tessellationOutputWindingOrder)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setTessellationOutputWindingOrder(MTL::Winding tessellationOutputWindingOrder) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTessellationOutputWindingOrder_), tessellationOutputWindingOrder); +} + +// property: vertexBuffers +_MTL_INLINE MTL::PipelineBufferDescriptorArray* MTL::RenderPipelineDescriptor::vertexBuffers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexBuffers)); +} + +// property: fragmentBuffers +_MTL_INLINE MTL::PipelineBufferDescriptorArray* MTL::RenderPipelineDescriptor::fragmentBuffers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(fragmentBuffers)); +} + +// property: supportIndirectCommandBuffers +_MTL_INLINE bool MTL::RenderPipelineDescriptor::supportIndirectCommandBuffers() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportIndirectCommandBuffers)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setSupportIndirectCommandBuffers(bool supportIndirectCommandBuffers) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSupportIndirectCommandBuffers_), supportIndirectCommandBuffers); +} + +// property: binaryArchives +_MTL_INLINE NS::Array* MTL::RenderPipelineDescriptor::binaryArchives() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(binaryArchives)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setBinaryArchives(const NS::Array* binaryArchives) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBinaryArchives_), binaryArchives); +} + +// property: vertexPreloadedLibraries +_MTL_INLINE NS::Array* MTL::RenderPipelineDescriptor::vertexPreloadedLibraries() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexPreloadedLibraries)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setVertexPreloadedLibraries(const NS::Array* vertexPreloadedLibraries) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexPreloadedLibraries_), vertexPreloadedLibraries); +} + +// property: fragmentPreloadedLibraries +_MTL_INLINE NS::Array* MTL::RenderPipelineDescriptor::fragmentPreloadedLibraries() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(fragmentPreloadedLibraries)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setFragmentPreloadedLibraries(const NS::Array* fragmentPreloadedLibraries) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentPreloadedLibraries_), fragmentPreloadedLibraries); +} + +// property: vertexLinkedFunctions +_MTL_INLINE MTL::LinkedFunctions* MTL::RenderPipelineDescriptor::vertexLinkedFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexLinkedFunctions)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setVertexLinkedFunctions(const MTL::LinkedFunctions* vertexLinkedFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexLinkedFunctions_), vertexLinkedFunctions); +} + +// property: fragmentLinkedFunctions +_MTL_INLINE MTL::LinkedFunctions* MTL::RenderPipelineDescriptor::fragmentLinkedFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(fragmentLinkedFunctions)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setFragmentLinkedFunctions(const MTL::LinkedFunctions* fragmentLinkedFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentLinkedFunctions_), fragmentLinkedFunctions); +} + +// property: supportAddingVertexBinaryFunctions +_MTL_INLINE bool MTL::RenderPipelineDescriptor::supportAddingVertexBinaryFunctions() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportAddingVertexBinaryFunctions)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setSupportAddingVertexBinaryFunctions(bool supportAddingVertexBinaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSupportAddingVertexBinaryFunctions_), supportAddingVertexBinaryFunctions); +} + +// property: supportAddingFragmentBinaryFunctions +_MTL_INLINE bool MTL::RenderPipelineDescriptor::supportAddingFragmentBinaryFunctions() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportAddingFragmentBinaryFunctions)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setSupportAddingFragmentBinaryFunctions(bool supportAddingFragmentBinaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSupportAddingFragmentBinaryFunctions_), supportAddingFragmentBinaryFunctions); +} + +// property: maxVertexCallStackDepth +_MTL_INLINE NS::UInteger MTL::RenderPipelineDescriptor::maxVertexCallStackDepth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxVertexCallStackDepth)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setMaxVertexCallStackDepth(NS::UInteger maxVertexCallStackDepth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxVertexCallStackDepth_), maxVertexCallStackDepth); +} + +// property: maxFragmentCallStackDepth +_MTL_INLINE NS::UInteger MTL::RenderPipelineDescriptor::maxFragmentCallStackDepth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxFragmentCallStackDepth)); +} + +_MTL_INLINE void MTL::RenderPipelineDescriptor::setMaxFragmentCallStackDepth(NS::UInteger maxFragmentCallStackDepth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxFragmentCallStackDepth_), maxFragmentCallStackDepth); +} + +// method: reset +_MTL_INLINE void MTL::RenderPipelineDescriptor::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPipelineFunctionsDescriptor* MTL::RenderPipelineFunctionsDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPipelineFunctionsDescriptor)); +} + +// method: init +_MTL_INLINE MTL::RenderPipelineFunctionsDescriptor* MTL::RenderPipelineFunctionsDescriptor::init() +{ + return NS::Object::init(); +} + +// property: vertexAdditionalBinaryFunctions +_MTL_INLINE NS::Array* MTL::RenderPipelineFunctionsDescriptor::vertexAdditionalBinaryFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(vertexAdditionalBinaryFunctions)); +} + +_MTL_INLINE void MTL::RenderPipelineFunctionsDescriptor::setVertexAdditionalBinaryFunctions(const NS::Array* vertexAdditionalBinaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setVertexAdditionalBinaryFunctions_), vertexAdditionalBinaryFunctions); +} + +// property: fragmentAdditionalBinaryFunctions +_MTL_INLINE NS::Array* MTL::RenderPipelineFunctionsDescriptor::fragmentAdditionalBinaryFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(fragmentAdditionalBinaryFunctions)); +} + +_MTL_INLINE void MTL::RenderPipelineFunctionsDescriptor::setFragmentAdditionalBinaryFunctions(const NS::Array* fragmentAdditionalBinaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFragmentAdditionalBinaryFunctions_), fragmentAdditionalBinaryFunctions); +} + +// property: tileAdditionalBinaryFunctions +_MTL_INLINE NS::Array* MTL::RenderPipelineFunctionsDescriptor::tileAdditionalBinaryFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileAdditionalBinaryFunctions)); +} + +_MTL_INLINE void MTL::RenderPipelineFunctionsDescriptor::setTileAdditionalBinaryFunctions(const NS::Array* tileAdditionalBinaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileAdditionalBinaryFunctions_), tileAdditionalBinaryFunctions); +} + +// property: label +_MTL_INLINE NS::String* MTL::RenderPipelineState::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::RenderPipelineState::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: maxTotalThreadsPerThreadgroup +_MTL_INLINE NS::UInteger MTL::RenderPipelineState::maxTotalThreadsPerThreadgroup() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxTotalThreadsPerThreadgroup)); +} + +// property: threadgroupSizeMatchesTileSize +_MTL_INLINE bool MTL::RenderPipelineState::threadgroupSizeMatchesTileSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(threadgroupSizeMatchesTileSize)); +} + +// property: imageblockSampleLength +_MTL_INLINE NS::UInteger MTL::RenderPipelineState::imageblockSampleLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(imageblockSampleLength)); +} + +// method: imageblockMemoryLengthForDimensions: +_MTL_INLINE NS::UInteger MTL::RenderPipelineState::imageblockMemoryLength(MTL::Size imageblockDimensions) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(imageblockMemoryLengthForDimensions_), imageblockDimensions); +} + +// property: supportIndirectCommandBuffers +_MTL_INLINE bool MTL::RenderPipelineState::supportIndirectCommandBuffers() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportIndirectCommandBuffers)); +} + +// method: functionHandleWithFunction:stage: +_MTL_INLINE MTL::FunctionHandle* MTL::RenderPipelineState::functionHandle(const MTL::Function* function, MTL::RenderStages stage) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionHandleWithFunction_stage_), function, stage); +} + +// method: newVisibleFunctionTableWithDescriptor:stage: +_MTL_INLINE MTL::VisibleFunctionTable* MTL::RenderPipelineState::newVisibleFunctionTable(const MTL::VisibleFunctionTableDescriptor* descriptor, MTL::RenderStages stage) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newVisibleFunctionTableWithDescriptor_stage_), descriptor, stage); +} + +// method: newIntersectionFunctionTableWithDescriptor:stage: +_MTL_INLINE MTL::IntersectionFunctionTable* MTL::RenderPipelineState::newIntersectionFunctionTable(const MTL::IntersectionFunctionTableDescriptor* descriptor, MTL::RenderStages stage) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newIntersectionFunctionTableWithDescriptor_stage_), descriptor, stage); +} + +// method: newRenderPipelineStateWithAdditionalBinaryFunctions:error: +_MTL_INLINE MTL::RenderPipelineState* MTL::RenderPipelineState::newRenderPipelineState(const MTL::RenderPipelineFunctionsDescriptor* additionalBinaryFunctions, NS::Error** error) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newRenderPipelineStateWithAdditionalBinaryFunctions_error_), additionalBinaryFunctions, error); +} + +// static method: alloc +_MTL_INLINE MTL::RenderPipelineColorAttachmentDescriptorArray* MTL::RenderPipelineColorAttachmentDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLRenderPipelineColorAttachmentDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::RenderPipelineColorAttachmentDescriptorArray* MTL::RenderPipelineColorAttachmentDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::RenderPipelineColorAttachmentDescriptor* MTL::RenderPipelineColorAttachmentDescriptorArray::object(NS::UInteger attachmentIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), attachmentIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::RenderPipelineColorAttachmentDescriptorArray::setObject(const MTL::RenderPipelineColorAttachmentDescriptor* attachment, NS::UInteger attachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attachment, attachmentIndex); +} + +// static method: alloc +_MTL_INLINE MTL::TileRenderPipelineColorAttachmentDescriptor* MTL::TileRenderPipelineColorAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLTileRenderPipelineColorAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::TileRenderPipelineColorAttachmentDescriptor* MTL::TileRenderPipelineColorAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: pixelFormat +_MTL_INLINE MTL::PixelFormat MTL::TileRenderPipelineColorAttachmentDescriptor::pixelFormat() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(pixelFormat)); +} + +_MTL_INLINE void MTL::TileRenderPipelineColorAttachmentDescriptor::setPixelFormat(MTL::PixelFormat pixelFormat) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPixelFormat_), pixelFormat); +} + +// static method: alloc +_MTL_INLINE MTL::TileRenderPipelineColorAttachmentDescriptorArray* MTL::TileRenderPipelineColorAttachmentDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLTileRenderPipelineColorAttachmentDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::TileRenderPipelineColorAttachmentDescriptorArray* MTL::TileRenderPipelineColorAttachmentDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::TileRenderPipelineColorAttachmentDescriptor* MTL::TileRenderPipelineColorAttachmentDescriptorArray::object(NS::UInteger attachmentIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), attachmentIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::TileRenderPipelineColorAttachmentDescriptorArray::setObject(const MTL::TileRenderPipelineColorAttachmentDescriptor* attachment, NS::UInteger attachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attachment, attachmentIndex); +} + +// static method: alloc +_MTL_INLINE MTL::TileRenderPipelineDescriptor* MTL::TileRenderPipelineDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLTileRenderPipelineDescriptor)); +} + +// method: init +_MTL_INLINE MTL::TileRenderPipelineDescriptor* MTL::TileRenderPipelineDescriptor::init() +{ + return NS::Object::init(); +} + +// property: label +_MTL_INLINE NS::String* MTL::TileRenderPipelineDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: tileFunction +_MTL_INLINE MTL::Function* MTL::TileRenderPipelineDescriptor::tileFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileFunction)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setTileFunction(const MTL::Function* tileFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTileFunction_), tileFunction); +} + +// property: rasterSampleCount +_MTL_INLINE NS::UInteger MTL::TileRenderPipelineDescriptor::rasterSampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(rasterSampleCount)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setRasterSampleCount(NS::UInteger rasterSampleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRasterSampleCount_), rasterSampleCount); +} + +// property: colorAttachments +_MTL_INLINE MTL::TileRenderPipelineColorAttachmentDescriptorArray* MTL::TileRenderPipelineDescriptor::colorAttachments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(colorAttachments)); +} + +// property: threadgroupSizeMatchesTileSize +_MTL_INLINE bool MTL::TileRenderPipelineDescriptor::threadgroupSizeMatchesTileSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(threadgroupSizeMatchesTileSize)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setThreadgroupSizeMatchesTileSize(bool threadgroupSizeMatchesTileSize) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setThreadgroupSizeMatchesTileSize_), threadgroupSizeMatchesTileSize); +} + +// property: tileBuffers +_MTL_INLINE MTL::PipelineBufferDescriptorArray* MTL::TileRenderPipelineDescriptor::tileBuffers() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tileBuffers)); +} + +// property: maxTotalThreadsPerThreadgroup +_MTL_INLINE NS::UInteger MTL::TileRenderPipelineDescriptor::maxTotalThreadsPerThreadgroup() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxTotalThreadsPerThreadgroup)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setMaxTotalThreadsPerThreadgroup(NS::UInteger maxTotalThreadsPerThreadgroup) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxTotalThreadsPerThreadgroup_), maxTotalThreadsPerThreadgroup); +} + +// property: binaryArchives +_MTL_INLINE NS::Array* MTL::TileRenderPipelineDescriptor::binaryArchives() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(binaryArchives)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setBinaryArchives(const NS::Array* binaryArchives) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBinaryArchives_), binaryArchives); +} + +// property: preloadedLibraries +_MTL_INLINE NS::Array* MTL::TileRenderPipelineDescriptor::preloadedLibraries() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(preloadedLibraries)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setPreloadedLibraries(const NS::Array* preloadedLibraries) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPreloadedLibraries_), preloadedLibraries); +} + +// property: linkedFunctions +_MTL_INLINE MTL::LinkedFunctions* MTL::TileRenderPipelineDescriptor::linkedFunctions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(linkedFunctions)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setLinkedFunctions(const MTL::LinkedFunctions* linkedFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLinkedFunctions_), linkedFunctions); +} + +// property: supportAddingBinaryFunctions +_MTL_INLINE bool MTL::TileRenderPipelineDescriptor::supportAddingBinaryFunctions() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportAddingBinaryFunctions)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setSupportAddingBinaryFunctions(bool supportAddingBinaryFunctions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSupportAddingBinaryFunctions_), supportAddingBinaryFunctions); +} + +// property: maxCallStackDepth +_MTL_INLINE NS::UInteger MTL::TileRenderPipelineDescriptor::maxCallStackDepth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxCallStackDepth)); +} + +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::setMaxCallStackDepth(NS::UInteger maxCallStackDepth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxCallStackDepth_), maxCallStackDepth); +} + +// method: reset +_MTL_INLINE void MTL::TileRenderPipelineDescriptor::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} diff --git a/metal-cpp/Metal/MTLResource.hpp b/metal-cpp/Metal/MTLResource.hpp new file mode 100644 index 00000000..f3e268b1 --- /dev/null +++ b/metal-cpp/Metal/MTLResource.hpp @@ -0,0 +1,178 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLResource.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLResource.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, PurgeableState) { + PurgeableStateKeepCurrent = 1, + PurgeableStateNonVolatile = 2, + PurgeableStateVolatile = 3, + PurgeableStateEmpty = 4, +}; + +_MTL_ENUM(NS::UInteger, CPUCacheMode) { + CPUCacheModeDefaultCache = 0, + CPUCacheModeWriteCombined = 1, +}; + +_MTL_ENUM(NS::UInteger, StorageMode) { + StorageModeShared = 0, + StorageModeManaged = 1, + StorageModePrivate = 2, + StorageModeMemoryless = 3, +}; + +_MTL_ENUM(NS::UInteger, HazardTrackingMode) { + HazardTrackingModeDefault = 0, + HazardTrackingModeUntracked = 1, + HazardTrackingModeTracked = 2, +}; + +_MTL_OPTIONS(NS::UInteger, ResourceOptions) { + ResourceStorageModeShared = 0, + ResourceHazardTrackingModeDefault = 0, + ResourceCPUCacheModeDefaultCache = 0, + ResourceOptionCPUCacheModeDefault = 0, + ResourceCPUCacheModeWriteCombined = 1, + ResourceOptionCPUCacheModeWriteCombined = 1, + ResourceStorageModeManaged = 16, + ResourceStorageModePrivate = 32, + ResourceStorageModeMemoryless = 48, + ResourceHazardTrackingModeUntracked = 256, + ResourceHazardTrackingModeTracked = 512, +}; + +class Resource : public NS::Referencing +{ +public: + NS::String* label() const; + void setLabel(const NS::String* label); + + class Device* device() const; + + MTL::CPUCacheMode cpuCacheMode() const; + + MTL::StorageMode storageMode() const; + + MTL::HazardTrackingMode hazardTrackingMode() const; + + MTL::ResourceOptions resourceOptions() const; + + MTL::PurgeableState setPurgeableState(MTL::PurgeableState state); + + class Heap* heap() const; + + NS::UInteger heapOffset() const; + + NS::UInteger allocatedSize() const; + + void makeAliasable(); + + bool isAliasable(); +}; + +} + +// property: label +_MTL_INLINE NS::String* MTL::Resource::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::Resource::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::Resource::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: cpuCacheMode +_MTL_INLINE MTL::CPUCacheMode MTL::Resource::cpuCacheMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(cpuCacheMode)); +} + +// property: storageMode +_MTL_INLINE MTL::StorageMode MTL::Resource::storageMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(storageMode)); +} + +// property: hazardTrackingMode +_MTL_INLINE MTL::HazardTrackingMode MTL::Resource::hazardTrackingMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(hazardTrackingMode)); +} + +// property: resourceOptions +_MTL_INLINE MTL::ResourceOptions MTL::Resource::resourceOptions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resourceOptions)); +} + +// method: setPurgeableState: +_MTL_INLINE MTL::PurgeableState MTL::Resource::setPurgeableState(MTL::PurgeableState state) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(setPurgeableState_), state); +} + +// property: heap +_MTL_INLINE MTL::Heap* MTL::Resource::heap() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(heap)); +} + +// property: heapOffset +_MTL_INLINE NS::UInteger MTL::Resource::heapOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(heapOffset)); +} + +// property: allocatedSize +_MTL_INLINE NS::UInteger MTL::Resource::allocatedSize() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(allocatedSize)); +} + +// method: makeAliasable +_MTL_INLINE void MTL::Resource::makeAliasable() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(makeAliasable)); +} + +// method: isAliasable +_MTL_INLINE bool MTL::Resource::isAliasable() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isAliasable)); +} diff --git a/metal-cpp/Metal/MTLResourceStateCommandEncoder.hpp b/metal-cpp/Metal/MTLResourceStateCommandEncoder.hpp new file mode 100644 index 00000000..b683ac1f --- /dev/null +++ b/metal-cpp/Metal/MTLResourceStateCommandEncoder.hpp @@ -0,0 +1,94 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLResourceStateCommandEncoder.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLCommandEncoder.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, SparseTextureMappingMode) { + SparseTextureMappingModeMap = 0, + SparseTextureMappingModeUnmap = 1, +}; + +struct MapIndirectArguments +{ + uint32_t regionOriginX; + uint32_t regionOriginY; + uint32_t regionOriginZ; + uint32_t regionSizeWidth; + uint32_t regionSizeHeight; + uint32_t regionSizeDepth; + uint32_t mipMapLevel; + uint32_t sliceId; +} _MTL_PACKED; + +class ResourceStateCommandEncoder : public NS::Referencing +{ +public: + void updateTextureMappings(const class Texture* texture, const MTL::SparseTextureMappingMode mode, const MTL::Region* regions, const NS::UInteger* mipLevels, const NS::UInteger* slices, NS::UInteger numRegions); + + void updateTextureMapping(const class Texture* texture, const MTL::SparseTextureMappingMode mode, const MTL::Region region, const NS::UInteger mipLevel, const NS::UInteger slice); + + void updateTextureMapping(const class Texture* texture, const MTL::SparseTextureMappingMode mode, const class Buffer* indirectBuffer, NS::UInteger indirectBufferOffset); + + void updateFence(const class Fence* fence); + + void waitForFence(const class Fence* fence); +}; + +} + +// method: updateTextureMappings:mode:regions:mipLevels:slices:numRegions: +_MTL_INLINE void MTL::ResourceStateCommandEncoder::updateTextureMappings(const MTL::Texture* texture, const MTL::SparseTextureMappingMode mode, const MTL::Region* regions, const NS::UInteger* mipLevels, const NS::UInteger* slices, NS::UInteger numRegions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateTextureMappings_mode_regions_mipLevels_slices_numRegions_), texture, mode, regions, mipLevels, slices, numRegions); +} + +// method: updateTextureMapping:mode:region:mipLevel:slice: +_MTL_INLINE void MTL::ResourceStateCommandEncoder::updateTextureMapping(const MTL::Texture* texture, const MTL::SparseTextureMappingMode mode, const MTL::Region region, const NS::UInteger mipLevel, const NS::UInteger slice) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateTextureMapping_mode_region_mipLevel_slice_), texture, mode, region, mipLevel, slice); +} + +// method: updateTextureMapping:mode:indirectBuffer:indirectBufferOffset: +_MTL_INLINE void MTL::ResourceStateCommandEncoder::updateTextureMapping(const MTL::Texture* texture, const MTL::SparseTextureMappingMode mode, const MTL::Buffer* indirectBuffer, NS::UInteger indirectBufferOffset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateTextureMapping_mode_indirectBuffer_indirectBufferOffset_), texture, mode, indirectBuffer, indirectBufferOffset); +} + +// method: updateFence: +_MTL_INLINE void MTL::ResourceStateCommandEncoder::updateFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(updateFence_), fence); +} + +// method: waitForFence: +_MTL_INLINE void MTL::ResourceStateCommandEncoder::waitForFence(const MTL::Fence* fence) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(waitForFence_), fence); +} diff --git a/metal-cpp/Metal/MTLResourceStatePass.hpp b/metal-cpp/Metal/MTLResourceStatePass.hpp new file mode 100644 index 00000000..fc770f64 --- /dev/null +++ b/metal-cpp/Metal/MTLResourceStatePass.hpp @@ -0,0 +1,165 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLResourceStatePass.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +namespace MTL +{ +class ResourceStatePassSampleBufferAttachmentDescriptor : public NS::Copying +{ +public: + static class ResourceStatePassSampleBufferAttachmentDescriptor* alloc(); + + class ResourceStatePassSampleBufferAttachmentDescriptor* init(); + + class CounterSampleBuffer* sampleBuffer() const; + void setSampleBuffer(const class CounterSampleBuffer* sampleBuffer); + + NS::UInteger startOfEncoderSampleIndex() const; + void setStartOfEncoderSampleIndex(NS::UInteger startOfEncoderSampleIndex); + + NS::UInteger endOfEncoderSampleIndex() const; + void setEndOfEncoderSampleIndex(NS::UInteger endOfEncoderSampleIndex); +}; + +class ResourceStatePassSampleBufferAttachmentDescriptorArray : public NS::Referencing +{ +public: + static class ResourceStatePassSampleBufferAttachmentDescriptorArray* alloc(); + + class ResourceStatePassSampleBufferAttachmentDescriptorArray* init(); + + class ResourceStatePassSampleBufferAttachmentDescriptor* object(NS::UInteger attachmentIndex); + + void setObject(const class ResourceStatePassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex); +}; + +class ResourceStatePassDescriptor : public NS::Copying +{ +public: + static class ResourceStatePassDescriptor* alloc(); + + class ResourceStatePassDescriptor* init(); + + static class ResourceStatePassDescriptor* resourceStatePassDescriptor(); + + class ResourceStatePassSampleBufferAttachmentDescriptorArray* sampleBufferAttachments() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::ResourceStatePassSampleBufferAttachmentDescriptor* MTL::ResourceStatePassSampleBufferAttachmentDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLResourceStatePassSampleBufferAttachmentDescriptor)); +} + +// method: init +_MTL_INLINE MTL::ResourceStatePassSampleBufferAttachmentDescriptor* MTL::ResourceStatePassSampleBufferAttachmentDescriptor::init() +{ + return NS::Object::init(); +} + +// property: sampleBuffer +_MTL_INLINE MTL::CounterSampleBuffer* MTL::ResourceStatePassSampleBufferAttachmentDescriptor::sampleBuffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBuffer)); +} + +_MTL_INLINE void MTL::ResourceStatePassSampleBufferAttachmentDescriptor::setSampleBuffer(const MTL::CounterSampleBuffer* sampleBuffer) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleBuffer_), sampleBuffer); +} + +// property: startOfEncoderSampleIndex +_MTL_INLINE NS::UInteger MTL::ResourceStatePassSampleBufferAttachmentDescriptor::startOfEncoderSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(startOfEncoderSampleIndex)); +} + +_MTL_INLINE void MTL::ResourceStatePassSampleBufferAttachmentDescriptor::setStartOfEncoderSampleIndex(NS::UInteger startOfEncoderSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStartOfEncoderSampleIndex_), startOfEncoderSampleIndex); +} + +// property: endOfEncoderSampleIndex +_MTL_INLINE NS::UInteger MTL::ResourceStatePassSampleBufferAttachmentDescriptor::endOfEncoderSampleIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(endOfEncoderSampleIndex)); +} + +_MTL_INLINE void MTL::ResourceStatePassSampleBufferAttachmentDescriptor::setEndOfEncoderSampleIndex(NS::UInteger endOfEncoderSampleIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setEndOfEncoderSampleIndex_), endOfEncoderSampleIndex); +} + +// static method: alloc +_MTL_INLINE MTL::ResourceStatePassSampleBufferAttachmentDescriptorArray* MTL::ResourceStatePassSampleBufferAttachmentDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLResourceStatePassSampleBufferAttachmentDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::ResourceStatePassSampleBufferAttachmentDescriptorArray* MTL::ResourceStatePassSampleBufferAttachmentDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::ResourceStatePassSampleBufferAttachmentDescriptor* MTL::ResourceStatePassSampleBufferAttachmentDescriptorArray::object(NS::UInteger attachmentIndex) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), attachmentIndex); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::ResourceStatePassSampleBufferAttachmentDescriptorArray::setObject(const MTL::ResourceStatePassSampleBufferAttachmentDescriptor* attachment, NS::UInteger attachmentIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attachment, attachmentIndex); +} + +// static method: alloc +_MTL_INLINE MTL::ResourceStatePassDescriptor* MTL::ResourceStatePassDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLResourceStatePassDescriptor)); +} + +// method: init +_MTL_INLINE MTL::ResourceStatePassDescriptor* MTL::ResourceStatePassDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: resourceStatePassDescriptor +_MTL_INLINE MTL::ResourceStatePassDescriptor* MTL::ResourceStatePassDescriptor::resourceStatePassDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLResourceStatePassDescriptor), _MTL_PRIVATE_SEL(resourceStatePassDescriptor)); +} + +// property: sampleBufferAttachments +_MTL_INLINE MTL::ResourceStatePassSampleBufferAttachmentDescriptorArray* MTL::ResourceStatePassDescriptor::sampleBufferAttachments() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleBufferAttachments)); +} diff --git a/metal-cpp/Metal/MTLSampler.hpp b/metal-cpp/Metal/MTLSampler.hpp new file mode 100644 index 00000000..50e79152 --- /dev/null +++ b/metal-cpp/Metal/MTLSampler.hpp @@ -0,0 +1,310 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLSampler.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLDepthStencil.hpp" +#include "MTLSampler.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, SamplerMinMagFilter) { + SamplerMinMagFilterNearest = 0, + SamplerMinMagFilterLinear = 1, +}; + +_MTL_ENUM(NS::UInteger, SamplerMipFilter) { + SamplerMipFilterNotMipmapped = 0, + SamplerMipFilterNearest = 1, + SamplerMipFilterLinear = 2, +}; + +_MTL_ENUM(NS::UInteger, SamplerAddressMode) { + SamplerAddressModeClampToEdge = 0, + SamplerAddressModeMirrorClampToEdge = 1, + SamplerAddressModeRepeat = 2, + SamplerAddressModeMirrorRepeat = 3, + SamplerAddressModeClampToZero = 4, + SamplerAddressModeClampToBorderColor = 5, +}; + +_MTL_ENUM(NS::UInteger, SamplerBorderColor) { + SamplerBorderColorTransparentBlack = 0, + SamplerBorderColorOpaqueBlack = 1, + SamplerBorderColorOpaqueWhite = 2, +}; + +class SamplerDescriptor : public NS::Copying +{ +public: + static class SamplerDescriptor* alloc(); + + class SamplerDescriptor* init(); + + MTL::SamplerMinMagFilter minFilter() const; + void setMinFilter(MTL::SamplerMinMagFilter minFilter); + + MTL::SamplerMinMagFilter magFilter() const; + void setMagFilter(MTL::SamplerMinMagFilter magFilter); + + MTL::SamplerMipFilter mipFilter() const; + void setMipFilter(MTL::SamplerMipFilter mipFilter); + + NS::UInteger maxAnisotropy() const; + void setMaxAnisotropy(NS::UInteger maxAnisotropy); + + MTL::SamplerAddressMode sAddressMode() const; + void setSAddressMode(MTL::SamplerAddressMode sAddressMode); + + MTL::SamplerAddressMode tAddressMode() const; + void setTAddressMode(MTL::SamplerAddressMode tAddressMode); + + MTL::SamplerAddressMode rAddressMode() const; + void setRAddressMode(MTL::SamplerAddressMode rAddressMode); + + MTL::SamplerBorderColor borderColor() const; + void setBorderColor(MTL::SamplerBorderColor borderColor); + + bool normalizedCoordinates() const; + void setNormalizedCoordinates(bool normalizedCoordinates); + + float lodMinClamp() const; + void setLodMinClamp(float lodMinClamp); + + float lodMaxClamp() const; + void setLodMaxClamp(float lodMaxClamp); + + bool lodAverage() const; + void setLodAverage(bool lodAverage); + + MTL::CompareFunction compareFunction() const; + void setCompareFunction(MTL::CompareFunction compareFunction); + + bool supportArgumentBuffers() const; + void setSupportArgumentBuffers(bool supportArgumentBuffers); + + NS::String* label() const; + void setLabel(const NS::String* label); +}; + +class SamplerState : public NS::Referencing +{ +public: + NS::String* label() const; + + class Device* device() const; +}; + +} + +// static method: alloc +_MTL_INLINE MTL::SamplerDescriptor* MTL::SamplerDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLSamplerDescriptor)); +} + +// method: init +_MTL_INLINE MTL::SamplerDescriptor* MTL::SamplerDescriptor::init() +{ + return NS::Object::init(); +} + +// property: minFilter +_MTL_INLINE MTL::SamplerMinMagFilter MTL::SamplerDescriptor::minFilter() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(minFilter)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setMinFilter(MTL::SamplerMinMagFilter minFilter) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMinFilter_), minFilter); +} + +// property: magFilter +_MTL_INLINE MTL::SamplerMinMagFilter MTL::SamplerDescriptor::magFilter() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(magFilter)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setMagFilter(MTL::SamplerMinMagFilter magFilter) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMagFilter_), magFilter); +} + +// property: mipFilter +_MTL_INLINE MTL::SamplerMipFilter MTL::SamplerDescriptor::mipFilter() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(mipFilter)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setMipFilter(MTL::SamplerMipFilter mipFilter) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMipFilter_), mipFilter); +} + +// property: maxAnisotropy +_MTL_INLINE NS::UInteger MTL::SamplerDescriptor::maxAnisotropy() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(maxAnisotropy)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setMaxAnisotropy(NS::UInteger maxAnisotropy) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMaxAnisotropy_), maxAnisotropy); +} + +// property: sAddressMode +_MTL_INLINE MTL::SamplerAddressMode MTL::SamplerDescriptor::sAddressMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sAddressMode)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setSAddressMode(MTL::SamplerAddressMode sAddressMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSAddressMode_), sAddressMode); +} + +// property: tAddressMode +_MTL_INLINE MTL::SamplerAddressMode MTL::SamplerDescriptor::tAddressMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tAddressMode)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setTAddressMode(MTL::SamplerAddressMode tAddressMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTAddressMode_), tAddressMode); +} + +// property: rAddressMode +_MTL_INLINE MTL::SamplerAddressMode MTL::SamplerDescriptor::rAddressMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(rAddressMode)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setRAddressMode(MTL::SamplerAddressMode rAddressMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setRAddressMode_), rAddressMode); +} + +// property: borderColor +_MTL_INLINE MTL::SamplerBorderColor MTL::SamplerDescriptor::borderColor() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(borderColor)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setBorderColor(MTL::SamplerBorderColor borderColor) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBorderColor_), borderColor); +} + +// property: normalizedCoordinates +_MTL_INLINE bool MTL::SamplerDescriptor::normalizedCoordinates() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(normalizedCoordinates)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setNormalizedCoordinates(bool normalizedCoordinates) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setNormalizedCoordinates_), normalizedCoordinates); +} + +// property: lodMinClamp +_MTL_INLINE float MTL::SamplerDescriptor::lodMinClamp() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(lodMinClamp)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setLodMinClamp(float lodMinClamp) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLodMinClamp_), lodMinClamp); +} + +// property: lodMaxClamp +_MTL_INLINE float MTL::SamplerDescriptor::lodMaxClamp() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(lodMaxClamp)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setLodMaxClamp(float lodMaxClamp) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLodMaxClamp_), lodMaxClamp); +} + +// property: lodAverage +_MTL_INLINE bool MTL::SamplerDescriptor::lodAverage() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(lodAverage)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setLodAverage(bool lodAverage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLodAverage_), lodAverage); +} + +// property: compareFunction +_MTL_INLINE MTL::CompareFunction MTL::SamplerDescriptor::compareFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(compareFunction)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setCompareFunction(MTL::CompareFunction compareFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setCompareFunction_), compareFunction); +} + +// property: supportArgumentBuffers +_MTL_INLINE bool MTL::SamplerDescriptor::supportArgumentBuffers() const +{ + return Object::sendMessageSafe(this, _MTL_PRIVATE_SEL(supportArgumentBuffers)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setSupportArgumentBuffers(bool supportArgumentBuffers) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSupportArgumentBuffers_), supportArgumentBuffers); +} + +// property: label +_MTL_INLINE NS::String* MTL::SamplerDescriptor::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +_MTL_INLINE void MTL::SamplerDescriptor::setLabel(const NS::String* label) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setLabel_), label); +} + +// property: label +_MTL_INLINE NS::String* MTL::SamplerState::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::SamplerState::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} diff --git a/metal-cpp/Metal/MTLStageInputOutputDescriptor.hpp b/metal-cpp/Metal/MTLStageInputOutputDescriptor.hpp new file mode 100644 index 00000000..879244e2 --- /dev/null +++ b/metal-cpp/Metal/MTLStageInputOutputDescriptor.hpp @@ -0,0 +1,381 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLStageInputOutputDescriptor.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLStageInputOutputDescriptor.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, AttributeFormat) { + AttributeFormatInvalid = 0, + AttributeFormatUChar2 = 1, + AttributeFormatUChar3 = 2, + AttributeFormatUChar4 = 3, + AttributeFormatChar2 = 4, + AttributeFormatChar3 = 5, + AttributeFormatChar4 = 6, + AttributeFormatUChar2Normalized = 7, + AttributeFormatUChar3Normalized = 8, + AttributeFormatUChar4Normalized = 9, + AttributeFormatChar2Normalized = 10, + AttributeFormatChar3Normalized = 11, + AttributeFormatChar4Normalized = 12, + AttributeFormatUShort2 = 13, + AttributeFormatUShort3 = 14, + AttributeFormatUShort4 = 15, + AttributeFormatShort2 = 16, + AttributeFormatShort3 = 17, + AttributeFormatShort4 = 18, + AttributeFormatUShort2Normalized = 19, + AttributeFormatUShort3Normalized = 20, + AttributeFormatUShort4Normalized = 21, + AttributeFormatShort2Normalized = 22, + AttributeFormatShort3Normalized = 23, + AttributeFormatShort4Normalized = 24, + AttributeFormatHalf2 = 25, + AttributeFormatHalf3 = 26, + AttributeFormatHalf4 = 27, + AttributeFormatFloat = 28, + AttributeFormatFloat2 = 29, + AttributeFormatFloat3 = 30, + AttributeFormatFloat4 = 31, + AttributeFormatInt = 32, + AttributeFormatInt2 = 33, + AttributeFormatInt3 = 34, + AttributeFormatInt4 = 35, + AttributeFormatUInt = 36, + AttributeFormatUInt2 = 37, + AttributeFormatUInt3 = 38, + AttributeFormatUInt4 = 39, + AttributeFormatInt1010102Normalized = 40, + AttributeFormatUInt1010102Normalized = 41, + AttributeFormatUChar4Normalized_BGRA = 42, + AttributeFormatUChar = 45, + AttributeFormatChar = 46, + AttributeFormatUCharNormalized = 47, + AttributeFormatCharNormalized = 48, + AttributeFormatUShort = 49, + AttributeFormatShort = 50, + AttributeFormatUShortNormalized = 51, + AttributeFormatShortNormalized = 52, + AttributeFormatHalf = 53, +}; + +_MTL_ENUM(NS::UInteger, IndexType) { + IndexTypeUInt16 = 0, + IndexTypeUInt32 = 1, +}; + +_MTL_ENUM(NS::UInteger, StepFunction) { + StepFunctionConstant = 0, + StepFunctionPerVertex = 1, + StepFunctionPerInstance = 2, + StepFunctionPerPatch = 3, + StepFunctionPerPatchControlPoint = 4, + StepFunctionThreadPositionInGridX = 5, + StepFunctionThreadPositionInGridY = 6, + StepFunctionThreadPositionInGridXIndexed = 7, + StepFunctionThreadPositionInGridYIndexed = 8, +}; + +class BufferLayoutDescriptor : public NS::Copying +{ +public: + static class BufferLayoutDescriptor* alloc(); + + class BufferLayoutDescriptor* init(); + + NS::UInteger stride() const; + void setStride(NS::UInteger stride); + + MTL::StepFunction stepFunction() const; + void setStepFunction(MTL::StepFunction stepFunction); + + NS::UInteger stepRate() const; + void setStepRate(NS::UInteger stepRate); +}; + +class BufferLayoutDescriptorArray : public NS::Referencing +{ +public: + static class BufferLayoutDescriptorArray* alloc(); + + class BufferLayoutDescriptorArray* init(); + + class BufferLayoutDescriptor* object(NS::UInteger index); + + void setObject(const class BufferLayoutDescriptor* bufferDesc, NS::UInteger index); +}; + +class AttributeDescriptor : public NS::Copying +{ +public: + static class AttributeDescriptor* alloc(); + + class AttributeDescriptor* init(); + + MTL::AttributeFormat format() const; + void setFormat(MTL::AttributeFormat format); + + NS::UInteger offset() const; + void setOffset(NS::UInteger offset); + + NS::UInteger bufferIndex() const; + void setBufferIndex(NS::UInteger bufferIndex); +}; + +class AttributeDescriptorArray : public NS::Referencing +{ +public: + static class AttributeDescriptorArray* alloc(); + + class AttributeDescriptorArray* init(); + + class AttributeDescriptor* object(NS::UInteger index); + + void setObject(const class AttributeDescriptor* attributeDesc, NS::UInteger index); +}; + +class StageInputOutputDescriptor : public NS::Copying +{ +public: + static class StageInputOutputDescriptor* alloc(); + + class StageInputOutputDescriptor* init(); + + static class StageInputOutputDescriptor* stageInputOutputDescriptor(); + + class BufferLayoutDescriptorArray* layouts() const; + + class AttributeDescriptorArray* attributes() const; + + MTL::IndexType indexType() const; + void setIndexType(MTL::IndexType indexType); + + NS::UInteger indexBufferIndex() const; + void setIndexBufferIndex(NS::UInteger indexBufferIndex); + + void reset(); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::BufferLayoutDescriptor* MTL::BufferLayoutDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLBufferLayoutDescriptor)); +} + +// method: init +_MTL_INLINE MTL::BufferLayoutDescriptor* MTL::BufferLayoutDescriptor::init() +{ + return NS::Object::init(); +} + +// property: stride +_MTL_INLINE NS::UInteger MTL::BufferLayoutDescriptor::stride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stride)); +} + +_MTL_INLINE void MTL::BufferLayoutDescriptor::setStride(NS::UInteger stride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStride_), stride); +} + +// property: stepFunction +_MTL_INLINE MTL::StepFunction MTL::BufferLayoutDescriptor::stepFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stepFunction)); +} + +_MTL_INLINE void MTL::BufferLayoutDescriptor::setStepFunction(MTL::StepFunction stepFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStepFunction_), stepFunction); +} + +// property: stepRate +_MTL_INLINE NS::UInteger MTL::BufferLayoutDescriptor::stepRate() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stepRate)); +} + +_MTL_INLINE void MTL::BufferLayoutDescriptor::setStepRate(NS::UInteger stepRate) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStepRate_), stepRate); +} + +// static method: alloc +_MTL_INLINE MTL::BufferLayoutDescriptorArray* MTL::BufferLayoutDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLBufferLayoutDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::BufferLayoutDescriptorArray* MTL::BufferLayoutDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::BufferLayoutDescriptor* MTL::BufferLayoutDescriptorArray::object(NS::UInteger index) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), index); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::BufferLayoutDescriptorArray::setObject(const MTL::BufferLayoutDescriptor* bufferDesc, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), bufferDesc, index); +} + +// static method: alloc +_MTL_INLINE MTL::AttributeDescriptor* MTL::AttributeDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAttributeDescriptor)); +} + +// method: init +_MTL_INLINE MTL::AttributeDescriptor* MTL::AttributeDescriptor::init() +{ + return NS::Object::init(); +} + +// property: format +_MTL_INLINE MTL::AttributeFormat MTL::AttributeDescriptor::format() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(format)); +} + +_MTL_INLINE void MTL::AttributeDescriptor::setFormat(MTL::AttributeFormat format) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFormat_), format); +} + +// property: offset +_MTL_INLINE NS::UInteger MTL::AttributeDescriptor::offset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(offset)); +} + +_MTL_INLINE void MTL::AttributeDescriptor::setOffset(NS::UInteger offset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOffset_), offset); +} + +// property: bufferIndex +_MTL_INLINE NS::UInteger MTL::AttributeDescriptor::bufferIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferIndex)); +} + +_MTL_INLINE void MTL::AttributeDescriptor::setBufferIndex(NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBufferIndex_), bufferIndex); +} + +// static method: alloc +_MTL_INLINE MTL::AttributeDescriptorArray* MTL::AttributeDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLAttributeDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::AttributeDescriptorArray* MTL::AttributeDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::AttributeDescriptor* MTL::AttributeDescriptorArray::object(NS::UInteger index) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), index); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::AttributeDescriptorArray::setObject(const MTL::AttributeDescriptor* attributeDesc, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attributeDesc, index); +} + +// static method: alloc +_MTL_INLINE MTL::StageInputOutputDescriptor* MTL::StageInputOutputDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLStageInputOutputDescriptor)); +} + +// method: init +_MTL_INLINE MTL::StageInputOutputDescriptor* MTL::StageInputOutputDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: stageInputOutputDescriptor +_MTL_INLINE MTL::StageInputOutputDescriptor* MTL::StageInputOutputDescriptor::stageInputOutputDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLStageInputOutputDescriptor), _MTL_PRIVATE_SEL(stageInputOutputDescriptor)); +} + +// property: layouts +_MTL_INLINE MTL::BufferLayoutDescriptorArray* MTL::StageInputOutputDescriptor::layouts() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(layouts)); +} + +// property: attributes +_MTL_INLINE MTL::AttributeDescriptorArray* MTL::StageInputOutputDescriptor::attributes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(attributes)); +} + +// property: indexType +_MTL_INLINE MTL::IndexType MTL::StageInputOutputDescriptor::indexType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexType)); +} + +_MTL_INLINE void MTL::StageInputOutputDescriptor::setIndexType(MTL::IndexType indexType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexType_), indexType); +} + +// property: indexBufferIndex +_MTL_INLINE NS::UInteger MTL::StageInputOutputDescriptor::indexBufferIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(indexBufferIndex)); +} + +_MTL_INLINE void MTL::StageInputOutputDescriptor::setIndexBufferIndex(NS::UInteger indexBufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setIndexBufferIndex_), indexBufferIndex); +} + +// method: reset +_MTL_INLINE void MTL::StageInputOutputDescriptor::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} diff --git a/metal-cpp/Metal/MTLTexture.hpp b/metal-cpp/Metal/MTLTexture.hpp new file mode 100644 index 00000000..ea2ba490 --- /dev/null +++ b/metal-cpp/Metal/MTLTexture.hpp @@ -0,0 +1,658 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLTexture.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLPixelFormat.hpp" +#include "MTLResource.hpp" +#include "MTLTexture.hpp" +#include "MTLTypes.hpp" +#include + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, TextureType) { + TextureType1D = 0, + TextureType1DArray = 1, + TextureType2D = 2, + TextureType2DArray = 3, + TextureType2DMultisample = 4, + TextureTypeCube = 5, + TextureTypeCubeArray = 6, + TextureType3D = 7, + TextureType2DMultisampleArray = 8, + TextureTypeTextureBuffer = 9, +}; + +_MTL_ENUM(uint8_t, TextureSwizzle) { + TextureSwizzleZero = 0, + TextureSwizzleOne = 1, + TextureSwizzleRed = 2, + TextureSwizzleGreen = 3, + TextureSwizzleBlue = 4, + TextureSwizzleAlpha = 5, +}; + +struct TextureSwizzleChannels +{ + MTL::TextureSwizzle red; + MTL::TextureSwizzle green; + MTL::TextureSwizzle blue; + MTL::TextureSwizzle alpha; +} _MTL_PACKED; + +class SharedTextureHandle : public NS::Referencing +{ +public: + static class SharedTextureHandle* alloc(); + + class SharedTextureHandle* init(); + + class Device* device() const; + + NS::String* label() const; +}; + +struct SharedTextureHandlePrivate +{ +} _MTL_PACKED; + +_MTL_OPTIONS(NS::UInteger, TextureUsage) { + TextureUsageUnknown = 0, + TextureUsageShaderRead = 1, + TextureUsageShaderWrite = 2, + TextureUsageRenderTarget = 4, + TextureUsagePixelFormatView = 16, +}; + +_MTL_ENUM(NS::Integer, TextureCompressionType) { + TextureCompressionTypeLossless = 0, + TextureCompressionTypeLossy = 1, +}; + +class TextureDescriptor : public NS::Copying +{ +public: + static class TextureDescriptor* alloc(); + + class TextureDescriptor* init(); + + static class TextureDescriptor* texture2DDescriptor(MTL::PixelFormat pixelFormat, NS::UInteger width, NS::UInteger height, bool mipmapped); + + static class TextureDescriptor* textureCubeDescriptor(MTL::PixelFormat pixelFormat, NS::UInteger size, bool mipmapped); + + static class TextureDescriptor* textureBufferDescriptor(MTL::PixelFormat pixelFormat, NS::UInteger width, MTL::ResourceOptions resourceOptions, MTL::TextureUsage usage); + + MTL::TextureType textureType() const; + void setTextureType(MTL::TextureType textureType); + + MTL::PixelFormat pixelFormat() const; + void setPixelFormat(MTL::PixelFormat pixelFormat); + + NS::UInteger width() const; + void setWidth(NS::UInteger width); + + NS::UInteger height() const; + void setHeight(NS::UInteger height); + + NS::UInteger depth() const; + void setDepth(NS::UInteger depth); + + NS::UInteger mipmapLevelCount() const; + void setMipmapLevelCount(NS::UInteger mipmapLevelCount); + + NS::UInteger sampleCount() const; + void setSampleCount(NS::UInteger sampleCount); + + NS::UInteger arrayLength() const; + void setArrayLength(NS::UInteger arrayLength); + + MTL::ResourceOptions resourceOptions() const; + void setResourceOptions(MTL::ResourceOptions resourceOptions); + + MTL::CPUCacheMode cpuCacheMode() const; + void setCpuCacheMode(MTL::CPUCacheMode cpuCacheMode); + + MTL::StorageMode storageMode() const; + void setStorageMode(MTL::StorageMode storageMode); + + MTL::HazardTrackingMode hazardTrackingMode() const; + void setHazardTrackingMode(MTL::HazardTrackingMode hazardTrackingMode); + + MTL::TextureUsage usage() const; + void setUsage(MTL::TextureUsage usage); + + bool allowGPUOptimizedContents() const; + void setAllowGPUOptimizedContents(bool allowGPUOptimizedContents); + + MTL::TextureSwizzleChannels swizzle() const; + void setSwizzle(MTL::TextureSwizzleChannels swizzle); +}; + +class Texture : public NS::Referencing +{ +public: + class Resource* rootResource() const; + + class Texture* parentTexture() const; + + NS::UInteger parentRelativeLevel() const; + + NS::UInteger parentRelativeSlice() const; + + class Buffer* buffer() const; + + NS::UInteger bufferOffset() const; + + NS::UInteger bufferBytesPerRow() const; + + IOSurfaceRef iosurface() const; + + NS::UInteger iosurfacePlane() const; + + MTL::TextureType textureType() const; + + MTL::PixelFormat pixelFormat() const; + + NS::UInteger width() const; + + NS::UInteger height() const; + + NS::UInteger depth() const; + + NS::UInteger mipmapLevelCount() const; + + NS::UInteger sampleCount() const; + + NS::UInteger arrayLength() const; + + MTL::TextureUsage usage() const; + + bool shareable() const; + + bool framebufferOnly() const; + + NS::UInteger firstMipmapInTail() const; + + NS::UInteger tailSizeInBytes() const; + + bool isSparse() const; + + bool allowGPUOptimizedContents() const; + + void getBytes(const void* pixelBytes, NS::UInteger bytesPerRow, NS::UInteger bytesPerImage, MTL::Region region, NS::UInteger level, NS::UInteger slice); + + void replaceRegion(MTL::Region region, NS::UInteger level, NS::UInteger slice, const void* pixelBytes, NS::UInteger bytesPerRow, NS::UInteger bytesPerImage); + + void getBytes(const void* pixelBytes, NS::UInteger bytesPerRow, MTL::Region region, NS::UInteger level); + + void replaceRegion(MTL::Region region, NS::UInteger level, const void* pixelBytes, NS::UInteger bytesPerRow); + + class Texture* newTextureView(MTL::PixelFormat pixelFormat); + + class Texture* newTextureView(MTL::PixelFormat pixelFormat, MTL::TextureType textureType, NS::Range levelRange, NS::Range sliceRange); + + class SharedTextureHandle* newSharedTextureHandle(); + + class Texture* remoteStorageTexture() const; + + class Texture* newRemoteTextureViewForDevice(const class Device* device); + + MTL::TextureSwizzleChannels swizzle() const; + + class Texture* newTextureView(MTL::PixelFormat pixelFormat, MTL::TextureType textureType, NS::Range levelRange, NS::Range sliceRange, MTL::TextureSwizzleChannels swizzle); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::SharedTextureHandle* MTL::SharedTextureHandle::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLSharedTextureHandle)); +} + +// method: init +_MTL_INLINE MTL::SharedTextureHandle* MTL::SharedTextureHandle::init() +{ + return NS::Object::init(); +} + +// property: device +_MTL_INLINE MTL::Device* MTL::SharedTextureHandle::device() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(device)); +} + +// property: label +_MTL_INLINE NS::String* MTL::SharedTextureHandle::label() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(label)); +} + +// static method: alloc +_MTL_INLINE MTL::TextureDescriptor* MTL::TextureDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLTextureDescriptor)); +} + +// method: init +_MTL_INLINE MTL::TextureDescriptor* MTL::TextureDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: texture2DDescriptorWithPixelFormat:width:height:mipmapped: +_MTL_INLINE MTL::TextureDescriptor* MTL::TextureDescriptor::texture2DDescriptor(MTL::PixelFormat pixelFormat, NS::UInteger width, NS::UInteger height, bool mipmapped) +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLTextureDescriptor), _MTL_PRIVATE_SEL(texture2DDescriptorWithPixelFormat_width_height_mipmapped_), pixelFormat, width, height, mipmapped); +} + +// static method: textureCubeDescriptorWithPixelFormat:size:mipmapped: +_MTL_INLINE MTL::TextureDescriptor* MTL::TextureDescriptor::textureCubeDescriptor(MTL::PixelFormat pixelFormat, NS::UInteger size, bool mipmapped) +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLTextureDescriptor), _MTL_PRIVATE_SEL(textureCubeDescriptorWithPixelFormat_size_mipmapped_), pixelFormat, size, mipmapped); +} + +// static method: textureBufferDescriptorWithPixelFormat:width:resourceOptions:usage: +_MTL_INLINE MTL::TextureDescriptor* MTL::TextureDescriptor::textureBufferDescriptor(MTL::PixelFormat pixelFormat, NS::UInteger width, MTL::ResourceOptions resourceOptions, MTL::TextureUsage usage) +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLTextureDescriptor), _MTL_PRIVATE_SEL(textureBufferDescriptorWithPixelFormat_width_resourceOptions_usage_), pixelFormat, width, resourceOptions, usage); +} + +// property: textureType +_MTL_INLINE MTL::TextureType MTL::TextureDescriptor::textureType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureType)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setTextureType(MTL::TextureType textureType) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setTextureType_), textureType); +} + +// property: pixelFormat +_MTL_INLINE MTL::PixelFormat MTL::TextureDescriptor::pixelFormat() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(pixelFormat)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setPixelFormat(MTL::PixelFormat pixelFormat) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setPixelFormat_), pixelFormat); +} + +// property: width +_MTL_INLINE NS::UInteger MTL::TextureDescriptor::width() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(width)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setWidth(NS::UInteger width) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setWidth_), width); +} + +// property: height +_MTL_INLINE NS::UInteger MTL::TextureDescriptor::height() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(height)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setHeight(NS::UInteger height) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setHeight_), height); +} + +// property: depth +_MTL_INLINE NS::UInteger MTL::TextureDescriptor::depth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depth)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setDepth(NS::UInteger depth) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setDepth_), depth); +} + +// property: mipmapLevelCount +_MTL_INLINE NS::UInteger MTL::TextureDescriptor::mipmapLevelCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(mipmapLevelCount)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setMipmapLevelCount(NS::UInteger mipmapLevelCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setMipmapLevelCount_), mipmapLevelCount); +} + +// property: sampleCount +_MTL_INLINE NS::UInteger MTL::TextureDescriptor::sampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCount)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setSampleCount(NS::UInteger sampleCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSampleCount_), sampleCount); +} + +// property: arrayLength +_MTL_INLINE NS::UInteger MTL::TextureDescriptor::arrayLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arrayLength)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setArrayLength(NS::UInteger arrayLength) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setArrayLength_), arrayLength); +} + +// property: resourceOptions +_MTL_INLINE MTL::ResourceOptions MTL::TextureDescriptor::resourceOptions() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(resourceOptions)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setResourceOptions(MTL::ResourceOptions resourceOptions) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setResourceOptions_), resourceOptions); +} + +// property: cpuCacheMode +_MTL_INLINE MTL::CPUCacheMode MTL::TextureDescriptor::cpuCacheMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(cpuCacheMode)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setCpuCacheMode(MTL::CPUCacheMode cpuCacheMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setCpuCacheMode_), cpuCacheMode); +} + +// property: storageMode +_MTL_INLINE MTL::StorageMode MTL::TextureDescriptor::storageMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(storageMode)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setStorageMode(MTL::StorageMode storageMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStorageMode_), storageMode); +} + +// property: hazardTrackingMode +_MTL_INLINE MTL::HazardTrackingMode MTL::TextureDescriptor::hazardTrackingMode() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(hazardTrackingMode)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setHazardTrackingMode(MTL::HazardTrackingMode hazardTrackingMode) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setHazardTrackingMode_), hazardTrackingMode); +} + +// property: usage +_MTL_INLINE MTL::TextureUsage MTL::TextureDescriptor::usage() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(usage)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setUsage(MTL::TextureUsage usage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setUsage_), usage); +} + +// property: allowGPUOptimizedContents +_MTL_INLINE bool MTL::TextureDescriptor::allowGPUOptimizedContents() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(allowGPUOptimizedContents)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setAllowGPUOptimizedContents(bool allowGPUOptimizedContents) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setAllowGPUOptimizedContents_), allowGPUOptimizedContents); +} + +// property: swizzle +_MTL_INLINE MTL::TextureSwizzleChannels MTL::TextureDescriptor::swizzle() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(swizzle)); +} + +_MTL_INLINE void MTL::TextureDescriptor::setSwizzle(MTL::TextureSwizzleChannels swizzle) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setSwizzle_), swizzle); +} + +// property: rootResource +_MTL_INLINE MTL::Resource* MTL::Texture::rootResource() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(rootResource)); +} + +// property: parentTexture +_MTL_INLINE MTL::Texture* MTL::Texture::parentTexture() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(parentTexture)); +} + +// property: parentRelativeLevel +_MTL_INLINE NS::UInteger MTL::Texture::parentRelativeLevel() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(parentRelativeLevel)); +} + +// property: parentRelativeSlice +_MTL_INLINE NS::UInteger MTL::Texture::parentRelativeSlice() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(parentRelativeSlice)); +} + +// property: buffer +_MTL_INLINE MTL::Buffer* MTL::Texture::buffer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(buffer)); +} + +// property: bufferOffset +_MTL_INLINE NS::UInteger MTL::Texture::bufferOffset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferOffset)); +} + +// property: bufferBytesPerRow +_MTL_INLINE NS::UInteger MTL::Texture::bufferBytesPerRow() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferBytesPerRow)); +} + +// property: iosurface +_MTL_INLINE IOSurfaceRef MTL::Texture::iosurface() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(iosurface)); +} + +// property: iosurfacePlane +_MTL_INLINE NS::UInteger MTL::Texture::iosurfacePlane() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(iosurfacePlane)); +} + +// property: textureType +_MTL_INLINE MTL::TextureType MTL::Texture::textureType() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(textureType)); +} + +// property: pixelFormat +_MTL_INLINE MTL::PixelFormat MTL::Texture::pixelFormat() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(pixelFormat)); +} + +// property: width +_MTL_INLINE NS::UInteger MTL::Texture::width() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(width)); +} + +// property: height +_MTL_INLINE NS::UInteger MTL::Texture::height() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(height)); +} + +// property: depth +_MTL_INLINE NS::UInteger MTL::Texture::depth() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(depth)); +} + +// property: mipmapLevelCount +_MTL_INLINE NS::UInteger MTL::Texture::mipmapLevelCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(mipmapLevelCount)); +} + +// property: sampleCount +_MTL_INLINE NS::UInteger MTL::Texture::sampleCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(sampleCount)); +} + +// property: arrayLength +_MTL_INLINE NS::UInteger MTL::Texture::arrayLength() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(arrayLength)); +} + +// property: usage +_MTL_INLINE MTL::TextureUsage MTL::Texture::usage() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(usage)); +} + +// property: shareable +_MTL_INLINE bool MTL::Texture::shareable() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isShareable)); +} + +// property: framebufferOnly +_MTL_INLINE bool MTL::Texture::framebufferOnly() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isFramebufferOnly)); +} + +// property: firstMipmapInTail +_MTL_INLINE NS::UInteger MTL::Texture::firstMipmapInTail() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(firstMipmapInTail)); +} + +// property: tailSizeInBytes +_MTL_INLINE NS::UInteger MTL::Texture::tailSizeInBytes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(tailSizeInBytes)); +} + +// property: isSparse +_MTL_INLINE bool MTL::Texture::isSparse() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(isSparse)); +} + +// property: allowGPUOptimizedContents +_MTL_INLINE bool MTL::Texture::allowGPUOptimizedContents() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(allowGPUOptimizedContents)); +} + +// method: getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice: +_MTL_INLINE void MTL::Texture::getBytes(const void* pixelBytes, NS::UInteger bytesPerRow, NS::UInteger bytesPerImage, MTL::Region region, NS::UInteger level, NS::UInteger slice) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(getBytes_bytesPerRow_bytesPerImage_fromRegion_mipmapLevel_slice_), pixelBytes, bytesPerRow, bytesPerImage, region, level, slice); +} + +// method: replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage: +_MTL_INLINE void MTL::Texture::replaceRegion(MTL::Region region, NS::UInteger level, NS::UInteger slice, const void* pixelBytes, NS::UInteger bytesPerRow, NS::UInteger bytesPerImage) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(replaceRegion_mipmapLevel_slice_withBytes_bytesPerRow_bytesPerImage_), region, level, slice, pixelBytes, bytesPerRow, bytesPerImage); +} + +// method: getBytes:bytesPerRow:fromRegion:mipmapLevel: +_MTL_INLINE void MTL::Texture::getBytes(const void* pixelBytes, NS::UInteger bytesPerRow, MTL::Region region, NS::UInteger level) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(getBytes_bytesPerRow_fromRegion_mipmapLevel_), pixelBytes, bytesPerRow, region, level); +} + +// method: replaceRegion:mipmapLevel:withBytes:bytesPerRow: +_MTL_INLINE void MTL::Texture::replaceRegion(MTL::Region region, NS::UInteger level, const void* pixelBytes, NS::UInteger bytesPerRow) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(replaceRegion_mipmapLevel_withBytes_bytesPerRow_), region, level, pixelBytes, bytesPerRow); +} + +// method: newTextureViewWithPixelFormat: +_MTL_INLINE MTL::Texture* MTL::Texture::newTextureView(MTL::PixelFormat pixelFormat) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureViewWithPixelFormat_), pixelFormat); +} + +// method: newTextureViewWithPixelFormat:textureType:levels:slices: +_MTL_INLINE MTL::Texture* MTL::Texture::newTextureView(MTL::PixelFormat pixelFormat, MTL::TextureType textureType, NS::Range levelRange, NS::Range sliceRange) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureViewWithPixelFormat_textureType_levels_slices_), pixelFormat, textureType, levelRange, sliceRange); +} + +// method: newSharedTextureHandle +_MTL_INLINE MTL::SharedTextureHandle* MTL::Texture::newSharedTextureHandle() +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newSharedTextureHandle)); +} + +// property: remoteStorageTexture +_MTL_INLINE MTL::Texture* MTL::Texture::remoteStorageTexture() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(remoteStorageTexture)); +} + +// method: newRemoteTextureViewForDevice: +_MTL_INLINE MTL::Texture* MTL::Texture::newRemoteTextureViewForDevice(const MTL::Device* device) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newRemoteTextureViewForDevice_), device); +} + +// property: swizzle +_MTL_INLINE MTL::TextureSwizzleChannels MTL::Texture::swizzle() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(swizzle)); +} + +// method: newTextureViewWithPixelFormat:textureType:levels:slices:swizzle: +_MTL_INLINE MTL::Texture* MTL::Texture::newTextureView(MTL::PixelFormat pixelFormat, MTL::TextureType textureType, NS::Range levelRange, NS::Range sliceRange, MTL::TextureSwizzleChannels swizzle) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(newTextureViewWithPixelFormat_textureType_levels_slices_swizzle_), pixelFormat, textureType, levelRange, sliceRange, swizzle); +} diff --git a/metal-cpp/Metal/MTLTypes.hpp b/metal-cpp/Metal/MTLTypes.hpp new file mode 100644 index 00000000..768c4d9a --- /dev/null +++ b/metal-cpp/Metal/MTLTypes.hpp @@ -0,0 +1,163 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLTypes.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLTypes.hpp" + +namespace MTL +{ +struct Origin +{ + Origin() = default; + + Origin(NS::UInteger x, NS::UInteger y, NS::UInteger z); + + static Origin Make(NS::UInteger x, NS::UInteger y, NS::UInteger z); + + NS::UInteger x; + NS::UInteger y; + NS::UInteger z; +} _MTL_PACKED; + +struct Size +{ + Size() = default; + + Size(NS::UInteger width, NS::UInteger height, NS::UInteger depth); + + static Size Make(NS::UInteger width, NS::UInteger height, NS::UInteger depth); + + NS::UInteger width; + NS::UInteger height; + NS::UInteger depth; +} _MTL_PACKED; + +struct Region +{ + Region() = default; + + Region(NS::UInteger x, NS::UInteger width); + + Region(NS::UInteger x, NS::UInteger y, NS::UInteger width, NS::UInteger height); + + Region(NS::UInteger x, NS::UInteger y, NS::UInteger z, NS::UInteger width, NS::UInteger height, NS::UInteger depth); + + static Region Make1D(NS::UInteger x, NS::UInteger width); + + static Region Make2D(NS::UInteger x, NS::UInteger y, NS::UInteger width, NS::UInteger height); + + static Region Make3D(NS::UInteger x, NS::UInteger y, NS::UInteger z, NS::UInteger width, NS::UInteger height, NS::UInteger depth); + + MTL::Origin origin; + MTL::Size size; +} _MTL_PACKED; + +struct SamplePosition; + +using Coordinate2D = SamplePosition; + +struct SamplePosition +{ + SamplePosition() = default; + + SamplePosition(float _x, float _y); + + static SamplePosition Make(float x, float y); + + float x; + float y; +} _MTL_PACKED; + +} + +_MTL_INLINE MTL::Origin::Origin(NS::UInteger _x, NS::UInteger _y, NS::UInteger _z) + : x(_x) + , y(_y) + , z(_z) +{ +} + +_MTL_INLINE MTL::Origin MTL::Origin::Make(NS::UInteger x, NS::UInteger y, NS::UInteger z) +{ + return Origin(x, y, z); +} + +_MTL_INLINE MTL::Size::Size(NS::UInteger _width, NS::UInteger _height, NS::UInteger _depth) + : width(_width) + , height(_height) + , depth(_depth) +{ +} + +_MTL_INLINE MTL::Size MTL::Size::Make(NS::UInteger width, NS::UInteger height, NS::UInteger depth) +{ + return Size(width, height, depth); +} + +_MTL_INLINE MTL::Region::Region(NS::UInteger x, NS::UInteger width) + : origin(x, 0, 0) + , size(width, 1, 1) +{ +} + +_MTL_INLINE MTL::Region::Region(NS::UInteger x, NS::UInteger y, NS::UInteger width, NS::UInteger height) + : origin(x, y, 0) + , size(width, height, 1) +{ +} + +_MTL_INLINE MTL::Region::Region(NS::UInteger x, NS::UInteger y, NS::UInteger z, NS::UInteger width, NS::UInteger height, NS::UInteger depth) + : origin(x, y, z) + , size(width, height, depth) +{ +} + +_MTL_INLINE MTL::Region MTL::Region::Make1D(NS::UInteger x, NS::UInteger width) +{ + return Region(x, width); +} + +_MTL_INLINE MTL::Region MTL::Region::Make2D(NS::UInteger x, NS::UInteger y, NS::UInteger width, NS::UInteger height) +{ + return Region(x, y, width, height); +} + +_MTL_INLINE MTL::Region MTL::Region::Make3D(NS::UInteger x, NS::UInteger y, NS::UInteger z, NS::UInteger width, NS::UInteger height, NS::UInteger depth) +{ + return Region(x, y, z, width, height, depth); +} + +_MTL_INLINE MTL::SamplePosition::SamplePosition(float _x, float _y) + : x(_x) + , y(_y) +{ +} + +_MTL_INLINE MTL::SamplePosition MTL::SamplePosition::Make(float x, float y) +{ + return SamplePosition(x, y); +} diff --git a/metal-cpp/Metal/MTLVertexDescriptor.hpp b/metal-cpp/Metal/MTLVertexDescriptor.hpp new file mode 100644 index 00000000..e17f823a --- /dev/null +++ b/metal-cpp/Metal/MTLVertexDescriptor.hpp @@ -0,0 +1,344 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLVertexDescriptor.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLVertexDescriptor.hpp" + +namespace MTL +{ +_MTL_ENUM(NS::UInteger, VertexFormat) { + VertexFormatInvalid = 0, + VertexFormatUChar2 = 1, + VertexFormatUChar3 = 2, + VertexFormatUChar4 = 3, + VertexFormatChar2 = 4, + VertexFormatChar3 = 5, + VertexFormatChar4 = 6, + VertexFormatUChar2Normalized = 7, + VertexFormatUChar3Normalized = 8, + VertexFormatUChar4Normalized = 9, + VertexFormatChar2Normalized = 10, + VertexFormatChar3Normalized = 11, + VertexFormatChar4Normalized = 12, + VertexFormatUShort2 = 13, + VertexFormatUShort3 = 14, + VertexFormatUShort4 = 15, + VertexFormatShort2 = 16, + VertexFormatShort3 = 17, + VertexFormatShort4 = 18, + VertexFormatUShort2Normalized = 19, + VertexFormatUShort3Normalized = 20, + VertexFormatUShort4Normalized = 21, + VertexFormatShort2Normalized = 22, + VertexFormatShort3Normalized = 23, + VertexFormatShort4Normalized = 24, + VertexFormatHalf2 = 25, + VertexFormatHalf3 = 26, + VertexFormatHalf4 = 27, + VertexFormatFloat = 28, + VertexFormatFloat2 = 29, + VertexFormatFloat3 = 30, + VertexFormatFloat4 = 31, + VertexFormatInt = 32, + VertexFormatInt2 = 33, + VertexFormatInt3 = 34, + VertexFormatInt4 = 35, + VertexFormatUInt = 36, + VertexFormatUInt2 = 37, + VertexFormatUInt3 = 38, + VertexFormatUInt4 = 39, + VertexFormatInt1010102Normalized = 40, + VertexFormatUInt1010102Normalized = 41, + VertexFormatUChar4Normalized_BGRA = 42, + VertexFormatUChar = 45, + VertexFormatChar = 46, + VertexFormatUCharNormalized = 47, + VertexFormatCharNormalized = 48, + VertexFormatUShort = 49, + VertexFormatShort = 50, + VertexFormatUShortNormalized = 51, + VertexFormatShortNormalized = 52, + VertexFormatHalf = 53, +}; + +_MTL_ENUM(NS::UInteger, VertexStepFunction) { + VertexStepFunctionConstant = 0, + VertexStepFunctionPerVertex = 1, + VertexStepFunctionPerInstance = 2, + VertexStepFunctionPerPatch = 3, + VertexStepFunctionPerPatchControlPoint = 4, +}; + +class VertexBufferLayoutDescriptor : public NS::Copying +{ +public: + static class VertexBufferLayoutDescriptor* alloc(); + + class VertexBufferLayoutDescriptor* init(); + + NS::UInteger stride() const; + void setStride(NS::UInteger stride); + + MTL::VertexStepFunction stepFunction() const; + void setStepFunction(MTL::VertexStepFunction stepFunction); + + NS::UInteger stepRate() const; + void setStepRate(NS::UInteger stepRate); +}; + +class VertexBufferLayoutDescriptorArray : public NS::Referencing +{ +public: + static class VertexBufferLayoutDescriptorArray* alloc(); + + class VertexBufferLayoutDescriptorArray* init(); + + class VertexBufferLayoutDescriptor* object(NS::UInteger index); + + void setObject(const class VertexBufferLayoutDescriptor* bufferDesc, NS::UInteger index); +}; + +class VertexAttributeDescriptor : public NS::Copying +{ +public: + static class VertexAttributeDescriptor* alloc(); + + class VertexAttributeDescriptor* init(); + + MTL::VertexFormat format() const; + void setFormat(MTL::VertexFormat format); + + NS::UInteger offset() const; + void setOffset(NS::UInteger offset); + + NS::UInteger bufferIndex() const; + void setBufferIndex(NS::UInteger bufferIndex); +}; + +class VertexAttributeDescriptorArray : public NS::Referencing +{ +public: + static class VertexAttributeDescriptorArray* alloc(); + + class VertexAttributeDescriptorArray* init(); + + class VertexAttributeDescriptor* object(NS::UInteger index); + + void setObject(const class VertexAttributeDescriptor* attributeDesc, NS::UInteger index); +}; + +class VertexDescriptor : public NS::Copying +{ +public: + static class VertexDescriptor* alloc(); + + class VertexDescriptor* init(); + + static class VertexDescriptor* vertexDescriptor(); + + class VertexBufferLayoutDescriptorArray* layouts() const; + + class VertexAttributeDescriptorArray* attributes() const; + + void reset(); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::VertexBufferLayoutDescriptor* MTL::VertexBufferLayoutDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLVertexBufferLayoutDescriptor)); +} + +// method: init +_MTL_INLINE MTL::VertexBufferLayoutDescriptor* MTL::VertexBufferLayoutDescriptor::init() +{ + return NS::Object::init(); +} + +// property: stride +_MTL_INLINE NS::UInteger MTL::VertexBufferLayoutDescriptor::stride() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stride)); +} + +_MTL_INLINE void MTL::VertexBufferLayoutDescriptor::setStride(NS::UInteger stride) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStride_), stride); +} + +// property: stepFunction +_MTL_INLINE MTL::VertexStepFunction MTL::VertexBufferLayoutDescriptor::stepFunction() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stepFunction)); +} + +_MTL_INLINE void MTL::VertexBufferLayoutDescriptor::setStepFunction(MTL::VertexStepFunction stepFunction) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStepFunction_), stepFunction); +} + +// property: stepRate +_MTL_INLINE NS::UInteger MTL::VertexBufferLayoutDescriptor::stepRate() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(stepRate)); +} + +_MTL_INLINE void MTL::VertexBufferLayoutDescriptor::setStepRate(NS::UInteger stepRate) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setStepRate_), stepRate); +} + +// static method: alloc +_MTL_INLINE MTL::VertexBufferLayoutDescriptorArray* MTL::VertexBufferLayoutDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLVertexBufferLayoutDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::VertexBufferLayoutDescriptorArray* MTL::VertexBufferLayoutDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::VertexBufferLayoutDescriptor* MTL::VertexBufferLayoutDescriptorArray::object(NS::UInteger index) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), index); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::VertexBufferLayoutDescriptorArray::setObject(const MTL::VertexBufferLayoutDescriptor* bufferDesc, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), bufferDesc, index); +} + +// static method: alloc +_MTL_INLINE MTL::VertexAttributeDescriptor* MTL::VertexAttributeDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLVertexAttributeDescriptor)); +} + +// method: init +_MTL_INLINE MTL::VertexAttributeDescriptor* MTL::VertexAttributeDescriptor::init() +{ + return NS::Object::init(); +} + +// property: format +_MTL_INLINE MTL::VertexFormat MTL::VertexAttributeDescriptor::format() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(format)); +} + +_MTL_INLINE void MTL::VertexAttributeDescriptor::setFormat(MTL::VertexFormat format) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFormat_), format); +} + +// property: offset +_MTL_INLINE NS::UInteger MTL::VertexAttributeDescriptor::offset() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(offset)); +} + +_MTL_INLINE void MTL::VertexAttributeDescriptor::setOffset(NS::UInteger offset) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setOffset_), offset); +} + +// property: bufferIndex +_MTL_INLINE NS::UInteger MTL::VertexAttributeDescriptor::bufferIndex() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(bufferIndex)); +} + +_MTL_INLINE void MTL::VertexAttributeDescriptor::setBufferIndex(NS::UInteger bufferIndex) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setBufferIndex_), bufferIndex); +} + +// static method: alloc +_MTL_INLINE MTL::VertexAttributeDescriptorArray* MTL::VertexAttributeDescriptorArray::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLVertexAttributeDescriptorArray)); +} + +// method: init +_MTL_INLINE MTL::VertexAttributeDescriptorArray* MTL::VertexAttributeDescriptorArray::init() +{ + return NS::Object::init(); +} + +// method: objectAtIndexedSubscript: +_MTL_INLINE MTL::VertexAttributeDescriptor* MTL::VertexAttributeDescriptorArray::object(NS::UInteger index) +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(objectAtIndexedSubscript_), index); +} + +// method: setObject:atIndexedSubscript: +_MTL_INLINE void MTL::VertexAttributeDescriptorArray::setObject(const MTL::VertexAttributeDescriptor* attributeDesc, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setObject_atIndexedSubscript_), attributeDesc, index); +} + +// static method: alloc +_MTL_INLINE MTL::VertexDescriptor* MTL::VertexDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLVertexDescriptor)); +} + +// method: init +_MTL_INLINE MTL::VertexDescriptor* MTL::VertexDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: vertexDescriptor +_MTL_INLINE MTL::VertexDescriptor* MTL::VertexDescriptor::vertexDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLVertexDescriptor), _MTL_PRIVATE_SEL(vertexDescriptor)); +} + +// property: layouts +_MTL_INLINE MTL::VertexBufferLayoutDescriptorArray* MTL::VertexDescriptor::layouts() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(layouts)); +} + +// property: attributes +_MTL_INLINE MTL::VertexAttributeDescriptorArray* MTL::VertexDescriptor::attributes() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(attributes)); +} + +// method: reset +_MTL_INLINE void MTL::VertexDescriptor::reset() +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(reset)); +} diff --git a/metal-cpp/Metal/MTLVisibleFunctionTable.hpp b/metal-cpp/Metal/MTLVisibleFunctionTable.hpp new file mode 100644 index 00000000..b34d3a1a --- /dev/null +++ b/metal-cpp/Metal/MTLVisibleFunctionTable.hpp @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/MTLVisibleFunctionTable.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +#include "MTLDefines.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLPrivate.hpp" + +#include + +#include "MTLFunctionHandle.hpp" +#include "MTLResource.hpp" + +namespace MTL +{ +class VisibleFunctionTableDescriptor : public NS::Copying +{ +public: + static class VisibleFunctionTableDescriptor* alloc(); + + class VisibleFunctionTableDescriptor* init(); + + static class VisibleFunctionTableDescriptor* visibleFunctionTableDescriptor(); + + NS::UInteger functionCount() const; + void setFunctionCount(NS::UInteger functionCount); +}; + +class VisibleFunctionTable : public NS::Referencing +{ +public: + void setFunction(const class FunctionHandle* function, NS::UInteger index); + + void setFunctions(const class FunctionHandle* functions[], NS::Range range); +}; + +} + +// static method: alloc +_MTL_INLINE MTL::VisibleFunctionTableDescriptor* MTL::VisibleFunctionTableDescriptor::alloc() +{ + return NS::Object::alloc(_MTL_PRIVATE_CLS(MTLVisibleFunctionTableDescriptor)); +} + +// method: init +_MTL_INLINE MTL::VisibleFunctionTableDescriptor* MTL::VisibleFunctionTableDescriptor::init() +{ + return NS::Object::init(); +} + +// static method: visibleFunctionTableDescriptor +_MTL_INLINE MTL::VisibleFunctionTableDescriptor* MTL::VisibleFunctionTableDescriptor::visibleFunctionTableDescriptor() +{ + return Object::sendMessage(_MTL_PRIVATE_CLS(MTLVisibleFunctionTableDescriptor), _MTL_PRIVATE_SEL(visibleFunctionTableDescriptor)); +} + +// property: functionCount +_MTL_INLINE NS::UInteger MTL::VisibleFunctionTableDescriptor::functionCount() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(functionCount)); +} + +_MTL_INLINE void MTL::VisibleFunctionTableDescriptor::setFunctionCount(NS::UInteger functionCount) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctionCount_), functionCount); +} + +// method: setFunction:atIndex: +_MTL_INLINE void MTL::VisibleFunctionTable::setFunction(const MTL::FunctionHandle* function, NS::UInteger index) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunction_atIndex_), function, index); +} + +// method: setFunctions:withRange: +_MTL_INLINE void MTL::VisibleFunctionTable::setFunctions(const MTL::FunctionHandle* functions[], NS::Range range) +{ + Object::sendMessage(this, _MTL_PRIVATE_SEL(setFunctions_withRange_), functions, range); +} diff --git a/metal-cpp/Metal/Metal.hpp b/metal-cpp/Metal/Metal.hpp new file mode 100644 index 00000000..96a36066 --- /dev/null +++ b/metal-cpp/Metal/Metal.hpp @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Metal/Metal.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "MTLAccelerationStructure.hpp" +#include "MTLAccelerationStructureCommandEncoder.hpp" +#include "MTLAccelerationStructureTypes.hpp" +#include "MTLArgument.hpp" +#include "MTLArgumentEncoder.hpp" +#include "MTLBinaryArchive.hpp" +#include "MTLBlitCommandEncoder.hpp" +#include "MTLBlitPass.hpp" +#include "MTLBuffer.hpp" +#include "MTLCaptureManager.hpp" +#include "MTLCaptureScope.hpp" +#include "MTLCommandBuffer.hpp" +#include "MTLCommandEncoder.hpp" +#include "MTLCommandQueue.hpp" +#include "MTLComputeCommandEncoder.hpp" +#include "MTLComputePass.hpp" +#include "MTLComputePipeline.hpp" +#include "MTLCounters.hpp" +#include "MTLDefines.hpp" +#include "MTLDepthStencil.hpp" +#include "MTLDevice.hpp" +#include "MTLDrawable.hpp" +#include "MTLDynamicLibrary.hpp" +#include "MTLEvent.hpp" +#include "MTLFence.hpp" +#include "MTLFunctionConstantValues.hpp" +#include "MTLFunctionDescriptor.hpp" +#include "MTLFunctionHandle.hpp" +#include "MTLFunctionLog.hpp" +#include "MTLFunctionStitching.hpp" +#include "MTLHeaderBridge.hpp" +#include "MTLHeap.hpp" +#include "MTLIndirectCommandBuffer.hpp" +#include "MTLIndirectCommandEncoder.hpp" +#include "MTLIntersectionFunctionTable.hpp" +#include "MTLLibrary.hpp" +#include "MTLLinkedFunctions.hpp" +#include "MTLParallelRenderCommandEncoder.hpp" +#include "MTLPipeline.hpp" +#include "MTLPixelFormat.hpp" +#include "MTLPrivate.hpp" +#include "MTLRasterizationRate.hpp" +#include "MTLRenderCommandEncoder.hpp" +#include "MTLRenderPass.hpp" +#include "MTLRenderPipeline.hpp" +#include "MTLResource.hpp" +#include "MTLResourceStateCommandEncoder.hpp" +#include "MTLResourceStatePass.hpp" +#include "MTLSampler.hpp" +#include "MTLStageInputOutputDescriptor.hpp" +#include "MTLTexture.hpp" +#include "MTLTypes.hpp" +#include "MTLVertexDescriptor.hpp" +#include "MTLVisibleFunctionTable.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/QuartzCore/CADefines.hpp b/metal-cpp/QuartzCore/CADefines.hpp new file mode 100644 index 00000000..81f7effe --- /dev/null +++ b/metal-cpp/QuartzCore/CADefines.hpp @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// QuartzCore/CADefines.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "../Foundation/NSDefines.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#define _CA_EXPORT _NS_EXPORT +#define _CA_EXTERN _NS_EXTERN +#define _CA_INLINE _NS_INLINE +#define _CA_PACKED _NS_PACKED + +#define _CA_CONST(type, name) _NS_CONST(type, name) +#define _CA_ENUM(type, name) _NS_ENUM(type, name) +#define _CA_OPTIONS(type, name) _NS_OPTIONS(type, name) + +#define _CA_VALIDATE_SIZE(ns, name) _NS_VALIDATE_SIZE(ns, name) +#define _CA_VALIDATE_ENUM(ns, name) _NS_VALIDATE_ENUM(ns, name) + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/QuartzCore/CAMetalDrawable.hpp b/metal-cpp/QuartzCore/CAMetalDrawable.hpp new file mode 100644 index 00000000..8d087572 --- /dev/null +++ b/metal-cpp/QuartzCore/CAMetalDrawable.hpp @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// QuartzCore/CAMetalDrawable.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "../Metal/MTLDrawable.hpp" +#include "../Metal/MTLTexture.hpp" + +#include "CADefines.hpp" +#include "CAPrivate.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace CA +{ +class MetalDrawable : public NS::Referencing +{ +public: + class MetalLayer* layer() const; + MTL::Texture* texture() const; +}; +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_CA_INLINE CA::MetalLayer* CA::MetalDrawable::layer() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(layer)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +_CA_INLINE MTL::Texture* CA::MetalDrawable::texture() const +{ + return Object::sendMessage(this, _MTL_PRIVATE_SEL(texture)); +} + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/QuartzCore/CAPrivate.hpp b/metal-cpp/QuartzCore/CAPrivate.hpp new file mode 100644 index 00000000..e6453ec3 --- /dev/null +++ b/metal-cpp/QuartzCore/CAPrivate.hpp @@ -0,0 +1,109 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// QuartzCore/CAPrivate.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "CADefines.hpp" + +#include + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#define _CA_PRIVATE_CLS(symbol) (Private::Class::s_k##symbol) +#define _CA_PRIVATE_SEL(accessor) (Private::Selector::s_k##accessor) + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#if defined(CA_PRIVATE_IMPLEMENTATION) + +#define _CA_PRIVATE_VISIBILITY __attribute__((visibility("default"))) +#define _CA_PRIVATE_IMPORT __attribute__((weak_import)) + +#if __OBJC__ +#define _CA_PRIVATE_OBJC_LOOKUP_CLASS(symbol) ((__bridge void*)objc_lookUpClass(#symbol)) +#else +#define _CA_PRIVATE_OBJC_LOOKUP_CLASS(symbol) objc_lookUpClass(#symbol) +#endif // __OBJC__ + +#define _CA_PRIVATE_DEF_CLS(symbol) void* s_k##symbol _CA_PRIVATE_VISIBILITY = _CA_PRIVATE_OBJC_LOOKUP_CLASS(symbol); +#define _CA_PRIVATE_DEF_PRO(symbol) +#define _CA_PRIVATE_DEF_SEL(accessor, symbol) SEL s_k##accessor _CA_PRIVATE_VISIBILITY = sel_registerName(symbol); +#define _CA_PRIVATE_DEF_STR(type, symbol) \ + _CA_EXTERN type const CA##symbol _CA_PRIVATE_IMPORT; \ + type const CA::symbol = (nullptr != &CA##symbol) ? CA##symbol : nullptr; + +#else + +#define _CA_PRIVATE_DEF_CLS(symbol) extern void* s_k##symbol; +#define _CA_PRIVATE_DEF_PRO(symbol) +#define _CA_PRIVATE_DEF_SEL(accessor, symbol) extern SEL s_k##accessor; +#define _CA_PRIVATE_DEF_STR(type, symbol) + +#endif // CA_PRIVATE_IMPLEMENTATION + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace CA +{ +namespace Private +{ + namespace Class + { + + } // Class +} // Private +} // CA + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace CA +{ +namespace Private +{ + namespace Protocol + { + + _CA_PRIVATE_DEF_PRO(CAMetalDrawable); + + } // Protocol +} // Private +} // CA + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +namespace CA +{ +namespace Private +{ + namespace Selector + { + + _CA_PRIVATE_DEF_SEL(layer, + "layer"); + _CA_PRIVATE_DEF_SEL(texture, + "texture"); + + } // Class +} // Private +} // CA + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/QuartzCore/QuartzCore.hpp b/metal-cpp/QuartzCore/QuartzCore.hpp new file mode 100644 index 00000000..2e1eb467 --- /dev/null +++ b/metal-cpp/QuartzCore/QuartzCore.hpp @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------------------------------------------------------------------------------------- +// +// QuartzCore/QuartzCore.hpp +// +// Copyright 2020-2021 Apple Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#include "CAMetalDrawable.hpp" + +//------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/metal-cpp/README.md b/metal-cpp/README.md new file mode 100644 index 00000000..99507155 --- /dev/null +++ b/metal-cpp/README.md @@ -0,0 +1,245 @@ +## About + +**metal-cpp** is a low overhead and header only C++ interface for Metal that helps developers add Metal functionality to graphics applications that are written in C++ (such as game engines). **metal-cpp** removes the need to create a shim and allows developers to call Metal functions directly from anywhere in their existing C++ code. + + +## Highlights + +- Drop in C++ alternative interface to the Metal Objective-C headers. +- Direct mapping of all Metal Objective-C classes, constants and enums to C++ in the MTL C++ namespace. +- No measurable overhead compared to calling Metal Objective-C headers, due to inlining of C++ function calls. +- No usage of wrapper containers that require additional allocations. +- Requires C++17 due to the usage of `constexpr` in `NS::Object`. +- Identical header files and function/constant/enum availability for iOS, macOS and tvOS. +- Backwards compatibility: All `bool MTL::Device::supports...()` functions check if their required selectors exist and automatically return `false` if not. +- String (`ErrorDomain`) constants are weak linked and automatically set to `nullptr` if not available. + +## Memory Allocation Policy + +**metal-cpp** follows the object allocation policies of Cocoa and Cocoa Touch. Understanding those rules is especially important when using metal-cpp, as C++ objects are not eligible for automatic reference counting (ARC). + +**metal-cpp** objects are reference counted. To help convey and manage object lifecycles, the following conventions are observed: + +1. *You own any object returned by methods whose name begins with* `alloc` *,* `new` *,* `copy` *, or* `mutableCopy`. The method returns these objects with `retainCount` equals to `1`. +2. *You can take ownership of an object by calling its* ```retain()``` *method*. A received object is normally guaranteed to remain valid within the method it was received in. You use `retain` in two situations: (1) In the implementation of an accessor method (a setter) or to take ownership of an object; and (2) To prevent an object from being deallocated as a side-effect of some other operation. +3. *When you no longer need it, you must relinquish ownership of an object you own*. You relinquish ownership by calling its `release()` or `autorelease()` method. +4. *You must not relinquish ownership of an object you do not own*. + +When an object's `retainCount` reaches `0`, the object is immediately deallocated. It is illegal to call methods on a deallocated object and it may lead to an application crash. + +### AutoreleasePools and Objects + +Several methods that create temporary objects in **metal-cpp** add them to an `AutoreleasePool` to help manage their lifetimes. In these situations, after **metal-cpp** creates the object, it adds it to an `AutoreleasePool`, which will release its objects when you release (or drain) it. + +By adding temporary objects to an AutoreleasePool, you do not need to explicitly call `release()` to deallocate them. Instead, you can rely on the `AutoreleasePool` to implicitly manage those lifetimes. + +If you create an object with a method that does not begin with `alloc`, `new`, `copy`, or `mutableCopy`, the creating method adds the object to an autorelease pool. + +The typical scope of an `AutoreleasePool` is one frame of rendering for the main thread of the program. When the thread returns control to the RunLoop (an object responsible for receiving input and events from the windowing system), the pool is *drained*, releasing its objects. + +You can create and manage additional `AutoreleasePool`s at smaller scopes to reduce your program's working set, and you are required to do so for any additional threads your program creates. + +If an object's lifecycle needs to be extended beyond the `AutoreleasePool`'s scope, you can claim ownership of it (avoiding its release beyond the pool's scope) by calling its `retain()` method before its pool is drained. In these cases, you will be responsible for making the appropriate `release()` call on the object after you no longer need it. + +You can find a more-detailed introduction to the memory management rules here: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmRules.html. + +For more details about the application's RunLoop, please find its documentation here: https://developer.apple.com/documentation/foundation/nsrunloop + +### Use and debug AutoreleasePools + +When you create an autoreleased object and there is no enclosing `AutoreleasePool`, the object is leaked. + +To prevent this, you normally create an `AutoreleasePool` in your program's `main` function, and in the entry function for every thread you create. You may also create additional `AutoreleasePool`s to avoid growing your program's high memory watermark when you create several autoreleased objects, such as when rendering. + +Use the Environment Variable `OBJC_DEBUG_MISSING_POOLS=YES` to print a runtime warning when an autoreleased object is leaked because no enclosing `AutoreleasePool` is available for its thread. + +You can also run `leaks --autoreleasePools` on a memgraph file or a process ID (macOS only) to view a listing of your program's `AutoreleasePool`s and all objects they contain. + +### nullptr + +Similar to Objective-C, it is legal to call any method, including `retain()` and `release()`, on `nullptr` "objects". While calling methods on `nullptr` still does incur in function call overhead, the effective result is equivalent of a NOP. + +Conversely, do not assume that because calling a method on a pointer did not result in a crash, that the pointed-to object is valid. + +## Adding metal-cpp to a Project + +Simply include `Metal/Metal.hpp`. To ensure that the selector and class symbols are linked, add to one of your cpp files: + +```cpp +#define NS_PRIVATE_IMPLEMENTATION +#define MTL_PRIVATE_IMPLEMENTATION + +#include "Metal/Metal.hpp" +``` + +If you want to use the QuartzCore wrapper, add: + +```cpp +#define CA_PRIVATE_IMPLEMENTATION + +#include "QuartzCore/QuartzCore.hpp" +``` + +## Generating a Single Header File + +Purely optional: You can generate a single header file that contains all **metal-cpp** headers via: + +```shell +./SingleHeader/MakeSingleHeader.py Foundation/Foundation.hpp QuartzCore/QuartzCore.hpp Metal/Metal.hpp +``` + +By default the generated header file will be written to `./SingleHeader/Metal.hpp` + +## Examples + +#### Creating the device + +###### Objective-C (with automatic reference counting) + +```objc +id< MTLDevice > device = MTLCreateSystemDefaultDevice(); + +// ... +``` + +###### Objective-C + +```objc +id< MTLDevice > device = MTLCreateSystemDefaultDevice(); + +// ... + +[device release]; +``` + +###### C++ + +```cpp +MTL::Device* pDevice = MTL::CreateSystemDefaultDevice(); + +// ... + +pDevice->release(); +``` + +#### Metal function calls map directly to C++ + +###### Objective-C (with automatic reference counting) + +```objc +MTLSamplerDescriptor* samplerDescriptor = [[MTLSamplerDescriptor alloc] init]; + +[samplerDescriptor setSAddressMode: MTLSamplerAddressModeRepeat]; +[samplerDescriptor setTAddressMode: MTLSamplerAddressModeRepeat]; +[samplerDescriptor setRAddressMode: MTLSamplerAddressModeRepeat]; +[samplerDescriptor setMagFilter: MTLSamplerMinMagFilterLinear]; +[samplerDescriptor setMinFilter: MTLSamplerMinMagFilterLinear]; +[samplerDescriptor setMipFilter: MTLSamplerMipFilterLinear]; +[samplerDescriptor setSupportArgumentBuffers: YES]; + +id< MTLSamplerState > samplerState = [device newSamplerStateWithDescriptor:samplerDescriptor]; +``` + +###### Objective-C + +```objc +MTLSamplerDescriptor* samplerDescriptor = [[MTLSamplerDescriptor alloc] init]; + +[samplerDescriptor setSAddressMode: MTLSamplerAddressModeRepeat]; +[samplerDescriptor setTAddressMode: MTLSamplerAddressModeRepeat]; +[samplerDescriptor setRAddressMode: MTLSamplerAddressModeRepeat]; +[samplerDescriptor setMagFilter: MTLSamplerMinMagFilterLinear]; +[samplerDescriptor setMinFilter: MTLSamplerMinMagFilterLinear]; +[samplerDescriptor setMipFilter: MTLSamplerMipFilterLinear]; +[samplerDescriptor setSupportArgumentBuffers: YES]; + +id< MTLSamplerState > samplerState = [device newSamplerStateWithDescriptor:samplerDescriptor]; + +[samplerDescriptor release]; + +// ... + +[samplerState release]; +``` + +###### C++ + +```cpp +MTL::SamplerDescriptor* pSamplerDescriptor = MTL::SamplerDescriptor::alloc()->init(); + +pSamplerDescriptor->setSAddressMode( MTL::SamplerAddressModeRepeat ); +pSamplerDescriptor->setTAddressMode( MTL::SamplerAddressModeRepeat ); +pSamplerDescriptor->setRAddressMode( MTL::SamplerAddressModeRepeat ); +pSamplerDescriptor->setMagFilter( MTL::SamplerMinMagFilterLinear ); +pSamplerDescriptor->setMinFilter( MTL::SamplerMinMagFilterLinear ); +pSamplerDescriptor->setMipFilter( MTL::SamplerMipFilterLinear ); +pSamplerDescriptor->setSupportArgumentBuffers( true ); + +MTL::SamplerState* pSamplerState = pDevice->newSamplerState( pSamplerDescriptor ); + +pSamplerDescriptor->release(); + +// ... + +pSamplerState->release(); +``` + +#### A subset of bindings for Foundation classes is provided for seamless integration + +###### Objective-C (with automatic reference counting) + +```objc +NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; +NSString* string = [NSString stringWithCString: "Hello World" encoding: NSASCIIStringEncoding]; + +printf( "string = \"%s\"\n", [string cStringUsingEncoding: NSASCIIStringEncoding] ); +``` + +###### Objective-C + +```objc +NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; +NSString* string = [NSString stringWithCString: "Hello World" encoding: NSASCIIStringEncoding]; + +printf( "string = \"%s\"\n", [string cStringUsingEncoding: NSASCIIStringEncoding] ); + +[pool release]; +``` + +###### C++ + +```cpp +NS::AutoreleasePool* pPool = NS::AutoreleasePool::alloc()->init(); +NS::String* pString = NS::String::string( "Hello World", NS::ASCIIStringEncoding ); + +printf( "pString = \"%s\"\n", pString->cString( NS::ASCIIStringEncoding ) ); + +pPool->release(); +``` + +#### Interoperability with CoreFoundation + +```cpp +MTL::AccelerationStructureTriangleGeometryDescriptor* pGeoDescriptor = MTL::AccelerationStructureTriangleGeometryDescriptor::alloc()->init(); +CFTypeRef descriptors[] = { ( CFTypeRef )( pGeoDescriptor ) }; +NS::Array* pGeoDescriptors = ( NS::Array* )( CFArrayCreate( kCFAllocatorDefault, descriptors, SIZEOF_ARRAY( descriptors), &kCFTypeArrayCallBacks ) ); + +// ... + +pGeoDescriptors->release(); +``` + +#### Accessing a CAMetalDrawable + +```objc +#import +#import + +// ... + +CAMetalLayer* metalLayer = /* get your layer from your view */; +id< CAMetalDrawable > metalDrawable = [metalLayer nextDrawable]; +CA::MetalDrawable* pMetalCppDrawable = ( __bridge CA::MetalDrawable* ) metalDrawable; + +// ... +``` diff --git a/metal-cpp/SingleHeader/MakeSingleHeader.py b/metal-cpp/SingleHeader/MakeSingleHeader.py new file mode 100644 index 00000000..e58e49ec --- /dev/null +++ b/metal-cpp/SingleHeader/MakeSingleHeader.py @@ -0,0 +1,271 @@ +#!/usr/bin/python + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- +# +# SingleHeader/MakeSingleHeader.py +# +# Copyright 2020-2021 Apple Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +import argparse +import datetime +import logging +import os +import re +import subprocess +import sys + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +class HeaderPrefix( object ): + __template = ( '//\n' + '// {file}\n' + '//\n' + '// {meta_data}\n' + '//\n' + '// Copyright 2020-2021 Apple Inc.\n' + '//\n' + '// Licensed under the Apache License, Version 2.0 (the "License");\n' + '// you may not use this file except in compliance with the License.\n' + '// You may obtain a copy of the License at\n' + '//\n' + '// http://www.apache.org/licenses/LICENSE-2.0\n' + '//\n' + '// Unless required by applicable law or agreed to in writing, software\n' + '// distributed under the License is distributed on an "AS IS" BASIS,\n' + '// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n' + '// See the License for the specific language governing permissions and\n' + '// limitations under the License.\n' + '//\n' + '\n' ) + + __template_commit = 'Autogenerated from commit {commit}.' + __template_date = 'Autogenerated on %B %d, %Y.' + + def __init__( self, file ): + self.__file = file + + def __str__( self ): + return self.__template.format( file = self.__file, meta_data = self.__meta_data_string() ) + + def __get_commit_hash( self ): + git_commit_hash = None + + try: + git_dir = os.path.dirname( os.path.realpath( __file__ ) ) + proc = subprocess.Popen( [ 'git', 'rev-parse', 'HEAD' ], cwd = git_dir, stdout = subprocess.PIPE, stderr = subprocess.PIPE ) + git_commit_hash = proc.stdout.read().decode( 'utf-8', 'replace' ).strip() + except: + logging.error( 'Failed to determine git commit hash!' ) + pass + + return git_commit_hash + + def __get_commit_string( self ): + meta_data = None + git_commit_hash = self.__get_commit_hash() + + if git_commit_hash: + meta_data = self.__template_commit.format( commit = git_commit_hash ) + + return meta_data + + def __get_date_string( self ): + today = datetime.date.today() + + return today.strftime( self.__template_date ) + + def __meta_data_string( self ): + meta_data = self.__get_commit_string() + + if not meta_data: + meta_data = self.__get_date_string() + + return meta_data + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +class SingleHeader( object ): + __pragma_once = '#pragma once\n\n' + + def __init__( self ): + self.__header_paths = list() + + def __str__( self ): + return self.process() + + def append( self, header_path ): + self.__header_paths.append( header_path ) + + def process( self ): + out_header = self.__pragma_once + + self.__included_headers = set() + self.__base_path = list() + + for header_path in self.__header_paths: + out_header += self.__process_header( header_path ) + + return self.__strip_empty_lines( out_header ) + + def __read_header( self, path ): + path = os.path.realpath( path ) + + try: + f = open( path, 'r' ) + except: + raise RuntimeError( 'Failed to open file \"' + path + '\" for read!' ) + + return f.read() + + def __strip_pragma_once( self, header ): + return re.sub( '\\s*#pragma once\s*\\/\\/-*\\n', '', header ) + + def __strip_comments( self, header ): + return re.sub( '^//.*\\n', '', header, flags = re.MULTILINE ) + + def __strip_empty_lines( self, header ): + return re.sub( '\\n\\n+', '\\n\\n', header, flags = re.MULTILINE ) + + def __substitute_include_directive( self, match ): + header_path = match.group( 'HEADER_PATH' ) + + logging.info( '\tSubstituting \"' + header_path + '\"...' ) + + return self.__process_header( os.path.join( self.__base_path[-1], header_path ) ) + + def __process_include_directives( self, header ): + return re.sub( '^\\s*#include\\s\\"(?P\\S*)\\"', self.__substitute_include_directive, header, flags = re.MULTILINE ) + + def __process_foundation_directives( self, header ): + if header.find("#include ") != -1: + logging.info( '\tSubstituting ...' ) + return header.replace("#include ", self.__process_header( os.path.join( self.__base_path[-1], "../Foundation/Foundation.hpp" ) ) ) + return header + + + def __process_header( self, header_path ): + out_header = '' + + header_path = os.path.realpath( header_path ) + + if not header_path in self.__included_headers: + logging.info( 'Processing \"' + header_path + '\"...' ) + + self.__base_path.append( os.path.dirname( header_path ) ) + self.__included_headers.add( header_path ) + + out_header = self.__read_header( header_path ) + out_header = self.__strip_pragma_once( out_header ) + out_header = self.__strip_comments( out_header ) + out_header = self.__process_include_directives( out_header ) + out_header = self.__process_foundation_directives( out_header ) + + self.__base_path.pop() + else: + logging.info( '\tSkipping \"' + header_path + '\"...' ) + + return out_header + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +def create_argument_parser(): + parser = argparse.ArgumentParser() + base_path = os.path.dirname( os.path.realpath( __file__ ) ) + output_path = os.path.join( base_path, 'Metal.hpp' ) + + parser.add_argument( '-o', '--output', dest = 'output_path', metavar = 'PATH', default = output_path, help = 'Output path for the single header file.' ) + parser.add_argument( '-v', '--verbose', action = 'store_true', help = 'Show verbose output.' ) + parser.add_argument( dest = 'header_paths', metavar = 'HEADER_FILE', nargs='+', help = 'Input header file.' ) + + return parser + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +def parse_arguments(): + parser = create_argument_parser() + args = parser.parse_args() + + if args.verbose: + logging.getLogger().setLevel( logging.INFO ) + else: + logging.getLogger().setLevel( logging.ERROR ) + + return args + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +def make_header( args ): + prefix = HeaderPrefix( os.path.basename( args.output_path ) ) + header = SingleHeader() + + for header_path in args.header_paths: + header.append( header_path ) + + return str( prefix ) + str( header ) + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +def make_dir( path ): + try: + if not os.path.exists( path ): + os.makedirs( path ) + except os.error: + pass + except: + raise + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +def write_header( args, content ): + path = os.path.realpath( args.output_path ) + + logging.info( 'Writing \"' + path + '\"...' ) + + make_dir( os.path.dirname( path ) ) + + try: + f = open( path, 'w' ) + except: + raise RuntimeError( 'Failed to open file \"' + path + '\" for write!' ) + + f.write( content ) + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +if __name__ == '__main__': + result = -1 + + try: + if sys.getdefaultencoding().lower() == 'ascii': + reload( sys ) + sys.setdefaultencoding( 'utf-8' ) + + args = parse_arguments() + header = make_header( args ) + + write_header( args, header ) + + result = 0 + + except ( KeyboardInterrupt, SystemExit ): + pass + except: + raise + + sys.exit( result ) + +#-------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/precision_results/FP32_precision.png b/precision_results/FP32_precision.png new file mode 100644 index 0000000000000000000000000000000000000000..9d06dc1e508e8f74e843b2efcc8b59ce9ebabb70 GIT binary patch literal 1859879 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 z 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

4nYEt~q>Gi6^DWqK&V+4`mu#MTzXK0nG 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

yw3p>gR5C4};b} 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 ZY?3?>+x;E;`8}brznqQk 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

kfbn6L1^=S#0b7lIFjWRTFQKGM+sFkoCWE`+8gy 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

fc2_Exm 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 hnz!?LC)QEXrmad+ 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

?A_Z>- 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%0AYPob{5-0!81M3EUiP=EMeI*yQ$r6b~ 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
5FhV8^G zZdP8oIW#H&c;~2y0Rgol|&V5X2x^ZRdVH; zxHeXnah_a7!s%hh)@(fhnF~la9kNUsMi2%edlUT(f9%^mSg;V|<+f=g=O!t2per-h zS>MtM?ft}7dz^tjxfgYC_2Ptw(LR0-7DkTDNrsB&m+N;KoQ67YA`J~pm_h{~sx&`6 zx-IV1wo5Rk+WYD#a2o;I?bR$ne43Z47Q}7r%$c)yYD)ReB*5$4AFH_c-~OYl^D1>2 z*H(wNvs{)xaQQ(MI;#NV;XJA);A!OdoYH!o`1u|Wz9}Qz1`u6p@N`k_=I(zX<$JU? zbHO;lrz($==ylaxKPX3?$wHYv=t=cM^)M-J<$lf(8;YV+n zj9=243;>LuB@Rb7EU?}DpjVHN29(KZsjO~3sJQCr*;7_o8k04S?l<-dGonR55vRnr zVRG)c;Rw5V^`6XJC;lv(Dg{sTT~W-{$MCTM+W1B+zrM?6Sp49$D|#BiFHadSBOHv} z2K6m<>c!!{Oa`aJ0UY9&H1*-l8@otJ5nKw z*=4k^D$8N+y5~c-4-*0(TsIY9M?G*=H6SgcCy+kU(fqsxM)KcXf2w1xsQ;SgbHMmI zt5=SrfMD171}e7KmmJ!qGa{F}(_97*hY_&NMt07Gu{X!ZjIWg`{!v;|RA!S|AYsFz ztPNS`TiLJle&HlF{%U$eB?fnUB$0rYB`!{V<@~AH-p%Wk@|Pn5&yr)uslgA0O0LV! zsVND1WUbGp`pOaSCr-2JYDFMmzmL|fRvCeqgi)L>b)YytWQn_a2OlY&R}g&Hulj*T zf0RfgcffwSo&!j%i=nVHe==HNoy)ZUP8AVVJo(^kjVOi$}t z&_zr2%Ng3FRZi+3e(H$P5!gBl5U_Jzw`5QLxw?np+hl#oQ!S!G|H}?eKJxSXAI>fR z%mQemU?MbhShvcrT6)mgG?H;sJz8#A9-Ll@>&&W+h7gp)3&tL&CpHyp#p|oe8y}eQ zWJaNEoVmo{l3^?m*RI+VqNWu0kTb8wCRU)OMcn4-+x;3KjfX$?# zf<9l;EZYBMxpe*>>Iwd@v+yXP+op>PveKK&2dRUsv?^fpz_M0ub(pJ3f-*qMy@ojx zozixZ^ImB;bNiu4>#yEDt~x%=^6WTJa4)sLiduoxO+EA!%i=dm`A_I4aY8 zb-E*?h?69wQBq4QVHZbC6&UF;60Hu?6nrynVl><|Q)TE=1AP~~E)Vnl8qC_1cj1sMYGFtyg$OI5~RM-KHZV+L?rE` z!xYN%nSWtl8<DH>719503})%!rlc$-5H>Ln_U=Cu7srUkn3v(pY9d%WBaD zuyPm!Fuq`+x7v$RE7mIDr4 z4dfkctL68CMvanN$MqY7JcbTA%Xkt6YOLnK){4%|K|}y!00-T-aBRv68GQzx^jaQQ z3E(fQ8RV&B>xZ%fCT;T)-6H9{8B)Gk)`lVV;D~tfk3TTq?pqM=J|K@s?=OSub zX5zHrWnxvy7=wuKUhOLdwvcfBKBr90@B6{D^~k3O45yoJNUQoP@oT(sgbDG{%4U^&uMpk`dG@&xe{GG?O_ zywYT&$Wli2)*`3~>lPQDMaY`4Q~W!A0avu|hd1X+`kB<0aoRy~7b8GJo9%yKp8gx= z85E}QzMbv6@n2X!!d%4fxJu`XyI)mv?v!L!1I~%jcnv=Eo$Q_Hy{V8G!@DHhS}yu~n7M1t$=Z^o@}wSPb3$oeb#uGwu$5#tTda9A7rC}JI1o3=UGFxQuyEmj zfc%Z~K>RBTLAne;*0jQmee6gpt4Nsj7Gc<=ptWWT1gXbhb39!F#IG}{TSz+pg>&d) zl^Uk8PD7)y¥pr=sr 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

Cj&(`*(g(0t8A0&<5%qn;42JX3E6 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

_ao@s0&qq&C~b#NmD7BZxd9szPzmF=%$z8C3i0 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

-YQ4+RoiHUTGtt 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

f2~qhJ9C+ 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

T!SsZjlOSs~+3Z*jHk9JnQN424W6n zMOVBJOlaqx4#!gaHw=}Sar_R5`31NW0>py#bKlHEP`H?}{|+p>I%PLPiX5J^x{3!L zEHPvI9T>9;4CZ$L4D~%A%za=Z@ONNY@fCivAU1?X=Z{)HNA^uV6dWo!bLw|+%qqC) z0k63Ul)ylV88%;QQuoF4-;Kp`^H(c!JR*w*Nu4M3&?wp+t*e*>= zEzR&FnlNDbSJo<3#d6^|Ek^ZN*6P?nc%m+`H*?XfHn^_1R~mPImLWla9bXni;C<%c z@(ys__bc_VUIFH@#%K@j(+bhoE&9Dr-$`8Oz;sBtheqN4P*Hc;>_GF~bYBV7m?#Qt>2^XQmeDjuvk|i| zs}o7D^##8cdqNRacAL3;7bW`8V96^7)u_aIkfw?F;c|UqVMSXCtwOrbKmCvtAi&GV zW(xLjXRmr?4qN_)9itOUuSLoY^{EUgqK0lWbCOe_U-p)~vWKuYv#etVbK?cQmLwkh zDjq!PIxiddU}3AV2T^+nmVZdEp&fA!zr^X}`VpZzjz+k^I}#VlKClxNiZGaIkgj{+ z7_{m&@h&oO*O0a@dUHy}86Lb|G|%%ER_ytZXwm1MPJa!k;pOO8I?a~GGdoYD1DIiS zef#UpE6b}NF=|S!vC%RGp_tk>;=BYi)B}Jdc)&KUAMxsVK-W-AdN`)`=U!r@(kuWL z-+qaAJTO#$g5Bgw^=mD8z1#PR{nF{!l%*AWA$}dmD4C@ygFg7(jJ*yl9Eh_H$ML)( z8ESk(bCK)E$7@P0vC*Y%p%^&@z1t6ndQUJX^6vm;5roo%QF1;|=FKw7h8Nd~mgKO* z;=j6%Kin(#4Egm-@@T$+7GFfNIAt1*j4D9~QpW>?o_faxQl)#%UHLMlOT3QG)mT$$Oa8fyPEVP z>pV#|dX$3mJ-#29o ztr!Dr;MdZQ6YJ-t+I{zx22|UP$qVw`dnHiwL1-k{H;I(ZlF1=Q-x*3IcGG*R1@u}* z__X5et|*GK=RY05Du{a9^_HstH-@%S1BO^2KR9l608C}?4=P(XA^X(*4J}a@0aupR zL;^S=cMOjzAtC=#5qR2PGT4w5Coo)c=kiE&xjy3#^qpNMMDVaSe-HkZHXt))lns1_ z;rkVaXNW`yeCIyWz4EfWo_0hy2KNT)Ob`J& z8C^Qz0^fpHip_!MpAsnJ`pe!5>}=KbU;;Qhr$x*`ZU#Whj_(n6-jTY&5~$M87f2B6qj|1Yo0R#4}A0FIy0LoaLPF15Q6nzbD;G< zfp_vTuDPVWdk0GH+`4NDS`6!EwD8=nK+zKXHvCq~s4(s$5g>q!m}r1p!zI@ZiEAjQ zIaR;|zS~DF@YJE?(IXpp6>Uiz8=(LYh^!Y!+i^Ug9V@k>)7P&bhgOQ6Fk{+D`;3&gd?o*CWCD zi;{t6b+}0ZygwA9eQsTP;0lAY9RX&ZG**{vMq)qzb@*p!IL>sPAUZ+_1u>w<-o})t znXD6zht|ylLGrZzP;or>{6y4n$pYs#VmE_zE0Z!qj+=Y3G}ac5>smJ}=G&pe9|5BX)cvC*F)cmU=Pef(?RSQ=oE$^=van(R+Pl?L| zkw6Mgyy34(63245jC&y7WGAACQUa{vb&F({3gD!s!&f7T(YP6Jtd$|5*d^pHty|;lJ4UFH@}~h5r)n z|6lXQEK{v>Ye}cO`k!aVS&E+TZTvG^Pz%Qj{y49WIux|~Ctcg4J6`?jk8@mpX;+|f zuD;B(l5LOwn8=)XvvOXJ@A7n(6%r36nhaNG;_SLs{*duu6;YNjrpv?-D^s#o|A@An z^~i_ANXos;#1Jd4k~AqVACrCm#D zGX5q2aKR!$46w>Yj3s}Upp1*GkenMaz{(_+Ejw}-ZTo=~B_Q(X&j2zbMrhk<03ho0 zX8`Gun`qnp+fV}H4u1x?IHHBNJqrLX*!>wmYD5EVYXJZxto{rjIdTPU`y2pBTKpM6 zVnhK*0RW`T{tR$oL>6sZ3ji)Y_%nd`$VDI~0Fb`-X8^I03qZ{6D1l2vCr!W>`EqfV zEjl8y3?TCt0FePN(jAlPyVmv4hxn3P`Py<>e=cl;cRxWrtkJ(D$i2BqiH2d#K@#|3=<0y5B966_uG zwbPo3xGS(S>*;*#{)|k&F7I0c+xusL^x=<4O9+5u^Pd6UPp2Sx4*`Jfe*;*GLoU`S z>%yJ0iLJ6yD%TIPQiR+Q4rM~pb`qDZtIE(5e$bX%N#`vFzZK3yoZ@77&!G zkT_?p>hdjPj!EjIjfd=)XGAAJVX&2Kacyzb92rmyRN9&;i~xbroZYI&{l#A2G=FYWz}2 z^?^W_C7ibF0P-dA_iZomtFGkA9)>x=ovyNa*rs*O99XL;o=SbM>BvH;ml#XhA?3Y) zrg9cf1=SVg7xZT;6|7;{lLuX8-Oeu^zPV1^+xV4MzL>IijI7NCT{!0SF?M2w=kws# zTsjdxLK8BoJ5c1N3!((S9*QSfhhNA!*$d61N7UJM;bmhqzUx}cD=L{rnF=7j9cMxs zdef4T5%Zh4yiT0An+?!TQU0p?qJxv^7%@mjG=A|pIMFWU@LBE%(ok;CdMv}sSO)Co zd|Q*ReARt<>jM1GLh~^?cG8@nhST=UBEJ$hnPDru4A?DrY2&ddi>=3EyR5piVU8U= zCe(0LPtdc+#N4i$*$eNh0>zIm5S>7S!B+HU%wW|~j7KpW{P@p|G@c6`=SN{o7cTz= z2O`w!XG{_hruV?JnUuE!t7ie$&7`X=J;k#mQtWi>&nzJh$zwxgN%=^R9U+!!#R4ZL zzU~vYd;6?Jq?l1cj2L7!K)QWt9A-6+ARo$MFRqhn#Ym-3`9tAt%)S7N9m$^=(G0b2 z*B=4u?G5sABBrw{i)RPBa_(IVmU8~?qlbw>R{iCt71}>3IHY948@qiSD=U`H5|}LX zX*sS7uN+g`L%a(NTk%~B>)wZqIqF|^BX0?e69F7+cy_MWVi0I?ZY1gifu<}a;% zmKRCp-S?R2v=D4HV1v(v!uv|Q_231k>BoqXtR}L3#mX%94NbBv=c11?5QD6^%N^h@ zuQ-E)OGt{%J`q<7t4g_iNFFtbFy%(I{aq<8BlGomr8v_3g%#wsu$h#2kpKDICZ_s` zdC3=C&bxr!VWGhS$GHK<`djC;!-$SE!C+0xQ_X(saqF;5jjy_~{{RDQP-}U)O!v`$ zFhsgu)!~2o`Oi207GM8Q`bHV1b5@1Om0>X9-jqll$98>~dS{8Hd4KRJ}pyo0M^mZv#lSnfKp1h3vh(j*d`Yhu3WfU!i;^ zd7&8Pum`APjO$Y6=+&^q>l2=%n*bS}kU787W3$8?fG{Wd`FlMtv~?+yzaoA5YTU20 zI4-U0f;g4W-|2gyeE|Y7>8r5>APehCOD9&lcjjfBeh{-UX8qi!kirh@O3VCxLO(LQ zX-c-781Gc(o1zUY2@?YK#w;(tW%5wQ+hdzXaX1@`>6@X31t+PG@7pt>8|UPl6`ADPjiCz^A-~83F*u!_QZXyME8IJ_;b1i z$GU~fBQVhxyJvUp9}j$5zd7XeniSW{<5wy3r^Ou#y9@BAPjMByk_(x?Q>dr&;N21uqQ|eMY@Ya292)RFptw z*1p=947nxab;T)cBxu0|D0d7dt!3wz2$b8Yt-2nKM*~2keTMQ`=Vz(D9}pS@GZ7&e zEGcLapplq>(D*0Xdkl28K3|Wp+m*xKe-x0tt<=4Fe!|MAv~Rx6D!k zesM7A7Td^S`{x6l)y%|27EIQvC-2$>4L=O~?cOYFz@5c^xkLZ%NIbuzL*_dY!-1_f=l6Q$-COC`?}boX3N5}3HLILK9EPghxM)rkVic8 z9XXIkN5`A)47=wJuxyekOJKQkk1sNN+D?1nW&|=I^hYJ-sLVIU zv)o}o9)XasjGVW_3%mNN;6NUO_Q@N(`+i`C<*H{$vo=lCTQ_Y?`a3Zq&~AxW zZm|PU?uMkl)a;2zt$5`!%md|aNVII9K<{(F0_Ez&zDn-G~^6GaD2wh1p||TbDEE@U9Jt&@-F@KkM>TdUeBMoUd$-(AJIlHl9y@D*F6*PVuH4vCrAm!AGTB=3l(hTFTT%_m<94eE&nH#8g437gt# zH)AKNUo&64##vGHF9#%nSF^3%7{~W;g81xCVWQul_!KCj#6Gs%5prkZim#uO_JgHl z6!wmuWl!J2ry*nW9+QiK&yN7J?Tn$!LRA1ezxYz#)S_m&v|wgP2JAd}@81n5y)C;% zB(x#M?hC)G+z0Eyi_#mE`^pEEg*rmSSQ`Z_UL9+5e<^%NPY9UJnosz??X_m?!K&8? z$ZUmuMR!@=0Xs*Jai`CG4-ppD)NlrN7W|h3#_6hIyA3AU8OJY0AQ7Q_ReLuk4Q)Sz z4U)HhT~Pw}VKyY2J@PN3?SBeSk{5QEm~5q9T~x8(yA3MBHt!PZxuwN!miqL$Q~JML ztp9JT`^qL$p&l}h}GgIO6HW3vi96mgK z8{|M2Uf5Ky<|y>)1{A-T+#m;H+9lW*rNw5J>Jhp@4pfba5*n}@wcpD0@LVVn_On#hYl z3SQZo{rO*(IR8^kloA>??Kqo_>tn>xha^NC-x$L_o?3W^OWU@@iJRu^)7_=H$>jdO zt8@Oh!YHw)cri?1%yA~raZ&R*Mvjhsrjey3J>EtpWxDj7phfo(@8k92G@5R zWZ{C)uo>K~vYZCO62=m7!s?J(No(xE$R0KF8^v zqx^=iI5#GozfLcF6}BIDoJm?NZk;X43#*qt>bgN*_Mt~=sXYo8>^P8z`x>?+qQmNS zhIC_cXM1QEcAGpdX)!{0F+_OrVZI!lA^FB6lqx~tNn!gX$DSlRM2_RaPV0~}O0=W< zH)1*R%GRORadO9Kk7IlAz~V&M?`S|*fn+O3vMv74G)?24phH@>h@lmr>CE+_<3dbe_@8_y4!(?+_54$urPRX`S^=1|GNJ z^3w?j&*tgrz17ABB!H~G;q*BKgt2+L263%eRID6b-!3bkj^B1=6UZs!n?LG=yA}Pm z0i8gy{MFKCrBNSG&8(Z@kN>A(T0jFD0>TTp`X;`-X_@mN@z9Sl#r)Q$ zRHR+HpK@D`yyo8Y`c5THKpP`Xmc?h0J^$0NZ18qujg`Y3E}{V8FcNc<&+rw0+hvO1 zcFFzV3q=~doV2m+y}xagvlj>_m{0gUWcr_mS-Ts;ddC)KaYvEy3qMU>n^j%3&X0d7 zxW4DL6)_toqnWE0?uPu$4Z}%rrg5cpk*S7>|{M#K*nPXo(q?2PM4g9q>hpMYWQGYUlozcuXSoN*~ti=N%!iQDj!iJke5XS2Q}Eon%ydev;p#+3Zl z$dz@&rB^&w*~0UZe|<0a^RZdSonGoZ3ZMR`VVpn-Dxs~grQkkh2kgvV;0Ypa=HKYo zOCtu)7~9Ng+P_`{G=BN^G*%&|ziI6m`Q7aN(wBVe`E@;ZueD1Y$c>rc&v)d?%{Rg6 zh=77)`-!%i-%g`2xg6vi<r1}%-XfuUuVbrL59T*#WqLS&iV?g5 zU>@4KnIb1Sdj!`x2NEARVD2P$Hya$|IrE?uTowvP9^?f7@M^Nef=lLl=ianykR-9)r%@Qg_fYj_RR#=#!K7A#9<4802(teea)8 zPcCqbq5@T?gTod(1GT~Y&j3*Mc7E9jgNYoSfnF-(`w0DdNX1wCKuQ#;lT!J}W=1RH z8+mi>pF_@69U~+UjbY{00{=z#abz4kBcL#VHEz?+&PZroocsaA1PAs0ffs}61+md@ z!G&3QxoJqresCUdO$|g$34ymE(1LmUny{ha$W1$l^z|FyoM7JmCahmLQoEY{ADO-9 z-lOKi-%4pVF5~gfC=-7+x8bTw7Qm9eeht@=*||2zt1v02e!f5X#O!|PE)}0<*jJ`VcNaH z0CNf({ikWS5L_n9YuEgTY1io?P{^k&HjuymGVPAYlE6lf|C2C|h+}|}u~UDa{}&E& zZ-Om6Q~QUx8x;o_LC60CBcHAVCW$}(qw8-6fO=rB(7G4Cz!-(X^*0T`e_onh_uduw zKM}Iut_r|lZ0+kGxB`&Ozg;^31=1r*H28}6^Bq^;x*?j3@6j z^BHI?ZWQ_{AGu@EaHl}VxaHgp)5mF>Qi~C+K_j>j3ao@*-}C72M&{{yi39Qn;ux8) zL}Y1Xg6y>R$q!ZdJ@S%SseTWMK{8kP+PIa!*@{K1d-o9hitK+V3H0=zE(w$Y`&UlH z5oHQq-Z>1Dz94#K-CaEx>_5H!f75GzM(~LD(xmmk4FG?*E?#@dek3XVZb(jPMp*OQ zcuTsx*1J$p1;F&Ir#jt*tA?|ZZ3k+#msp?&mNd)d-M+$=EMbt9j4R6G<=}2IRSu#h`agb)JDgoD_Lm z*`aHFI%Qgd3@4D*CKEF;Z(~3!#mUfN(c#R112%lh2|z2fU{#k?pv)vv{J~a{TRN`+ zN=Z*`rpJt9@c3%Gy0PERqSDW{YJCWW9%WH#77%I-G0#&91JdM&ejL99z1V#GK}d2^ zu*h6lG`Mi6gNd1m-+=)Ct&R+qQvPt`E-rlv>S{gv`911WtnIk+fFfWnJbbihSSthR$G*V^dUPr1Y2!_F+VTzTj!?Ie3pVwP0kJC@olWZ<4s>Q!W z-{5vLMXeu<>{Wf@qkAcDf(`KW_=!mt^d~IbG)i+ReQCNA{G#8|@aH64?#$<}@)9}_ zr3dzBgKp$4OyhE`l%Lv6{0uB^C0`nxjhupRR*FOysEsb0E4|y{%!RoSdEg!*pC)FF zW77K|a!uF@RdjcJm@{MRg22Ly<`B{%VD)^b0-Bz}jQN3?Ey991cTPiBFfnHrH1{mq z@2$Rz54-%aWvAOs*NardYof>P&4N4w`JsCgR=qn%rlCG)uT-{(`GoPiqut$#0)szB zKxv>8;?|m<_7-a6rIQLH&j(BfUxt{{xmWjj3rNQ>GvhYfAs2IaQnP@Eds~O65%has z`5CkOhldP8Ft<7LW?mivV747Ly~mG4LjB*xOzd5*Z*nUPB^zga*2YJHrYA3!GEaM^ zwlqtL3&06_?vK6urC-_6k-@fZ*i1?ciZlwZ9H$<b&mKc1q-u@4_TlQQ);o}k z37uB`nS>AMPzmm#G4Gjy7MuN^1-XqB0FdV9);C$=w+F{Qb$HTEfNUrtS~=oj^%{KV z)Ux$q?M`rE8km2!zBKDr@Tp-n$Q{)as9B~if9zp^u4{)Yr)>W2zqdv`3KP;*3~}M- zFmE&1pl6#2n4ILWN^ZDoY>($-ukEYRqsvaOHYi#+$(dCA!$7I!8xYUQRU-FO=yS_7 zN+?a_!{e6gIGuq8GS9QjWZAd=E%48-L@xv*`KeasPlK7{8&F06X@v$ zDbz5rJayvku>lYKDCuL=j>~ml$PT8rIX_6D)SNvr;Y}ZS6d&#bip^V9ADpkFj_|OW2#y6;Hji#C8+t% z3`Bpa|H@vKhsE=-T{|Rruc}K@%M&~o#ZwK5`oYWjB5p_?A-AXieh3OO=;BPURMv-U z<1Nr*Doz@Oyq(b_S&v3~8?pdz;ctUS^m2~VJdaschQw|UocwOnWjry5YZ$cOG4$=m zJH{gR+uV{RzLc(rAELv(q&k?3=)sBuu7B*v`z$nczKDx+StXw=Vg(l+@eZK=q%E$q zy0rEvJrhu7eu1sErIZ)urP>%67Vd#!yyM7fS2`?*g=VV5&1on_^I_<#3iNl?$Yud@ z;XRRf?+`MM(Mak!8v*`t?jElX>A4%(~YLcR{!b{s3hRnN*$lHB?Uj5sWLrIjtP7# z#di@L*U5-KJ**2Y)4>AgD9h)uyJQ^>W?cU(E%Clp9FxWk4g$+@~ zH|eI!Y`hs&wrHe0f_H13lg^rf7;^skBFJ?W6f*Sr-;3}F6xCd!1OJXSvF({Q7JReJ z$4?{vf)+!;${SD&A9~{}hDvG?a*4$gd%xX66P~WQELR{+o)EUZY%S6hgJIKCH4x)X7Brgd>SLT~ShzK)N{!2p`Pg?Yy%n}ItcE$I0NC_~{A{o@aD`+z;mTzTP36Yo?$;sRs~o5_**M!&+$% z_}e#4W8s#C(dIn-8Z@8pdYJY3^qqK%P@nY2_V-Dxd}EYtGuGKUllzfcNa>sxUUSnj zqv4VGzwy!3d}*Rx;9VA>%0jK*{f>;vG8Xp#!`@rRRk5{y!<=Jq6a^I(5djqiX=!Ox z1VKWjLBgO@LSO@eA|eukbfYpt*0t8mp6$hHIaAIELzv8$q{6c@i{{9fJF5QUT95+R@dIqMorIw{N_L^kI%n}J7mVZuznPWWYaD}-`0iPwHY*hbJoBnY!m|#l+o)hCw zE8om25khCr}3AWIV2wVs`@%1CLu)eWMyBS z!1OaPU?^K*E@`Sr*!j0jrrEf`=p~WNAuCg08nj(_?lfzOHQ#0u965E7Q^FrVFs8qp z8TT#48g!$usdI^pn2iZ4k}PL9$>TB{n5hWf+9Kg(e~QoM+;k6MQ;5>D#nw1OZ#G@f zFU2!Q46*O+?vl)3dpAKkOx+ z6n}j*1a%OK%9n>kUc@sZR_UG?Y$YJLQh>5PtLtewlCs8bT8U(;W?<(Q>6QZ=f%qcJ zGvTGsR4e~=qRjK%YX+du#(B#ggI-+tGwIQEou1OxP>fq@dG2C!V{{~j1d65Ga9|qU z4RNqyE+tBI1Yu|=Cg;KDFVzG6I%$~FchAb3E=WY4f29AZwfbl4*21vmGdzxd!B1kG zkiBmaQ|#WDdvlbndCC}@K!-*}Yos$LwKdQQ(HAq)_UR?uTe+$B_951b2!nt$~(6QZJ$?hH| zM^@1%Z$79hG)RP%T{XAyX*uiJ4;CBE2|>RA{a3ACA<#BimRdD~d$yemd`6vp(;42a z2-~xOq4`Qj>4Y0F0)cvcTVAiF=~l75BV^_G>0AEQ8!ap#S_@-)2`}E>RdnH=FZtRW zMp9)RTP(HnJX*PWhXO={EKh6>H zB=f9KnZd@GGFmfXBR4uj-{PZqa%XARYM@R=4JwhKB&n?D<$yIFH1`R7jPG+i*|ReD zz1IqQZD1XG$+1)Tg)UN|@~-FRo6ngJCijUFe_*SHcq}PdOf;b)*x<;kV|2=Jd4^B5HS!u9^r{0mmsp`vpB3i{Gbnej5jH+JZx7j&pu|4M2$ZGBiz&ySH+UFc zRbO9jpZ*lM;zIWH+@Q}3Cyvo~#8&s<*+f8du)D7C?6lmG#Ot-V*;>}rEJ~_dyno_2 zm|3%&FG!rwm4-p;9%mBDPkCFkh875QA+rVQ%5vd*d)G>4ikHI$#ctcXp5Dk~F zy7*1zK_y+0T+FeB@-|ZdxYnoEgYD1J$2rU#yJf?U0>nj$h?yg7`tv$ev=$C=!>Xv_G^~U>1 zV9-oV%NUbc)VLFeh3v}mlLaiSUG`;+kRYE0=VyG%{6mx7XfbeB&6eKwshmbcM@Hlr z?BIpZF_Smg9~3xY(?(|bhzTwLf3h|z89%y%wwY(`A7-?*o$D_i!W8u6TFeeQ8kQW+ zkSm-mUfd#H3mZS7{S2fU!WN| zOtSl6>DTAk61lb(eAitiq5g%nQA+Q^g_w+7tHt&n+oPL(@udgocduFdCAB-F{&_W^-ivQ6Ec$3>kowyTSQ;o*X+z$YE6qOPP@(Y+!=1J0zv@I*HHE|&y5UhD}P0h`hL z!JCTHmd{cfD=+^fy#NVHI-3_x%P#JmQ*Vkmzez-^i%Go435yjzU}EtZcsk5qt1qG0I2bCTGk~m3w!Lq3n5uJv^Lz$%`+`$2TQGbtiPu4vYjqbJ#xbr z)P*)V-fow(*=G{@@}MeVN4DreT&g+7Gm9>Izoyzq1>mZaAaZ(MN(V&f*Vaa`=##NS zD~#UW1uxp~g+9Qg8JRU-F*VIwJNcM=bRa=@~ag76~7EMo|M>2Ee~gk?f-{VM;6j#D&boan?X-38jK9E79& zNrX7p5+kj$8n6*;jL=#GN5CBQ&N)YTjB8dUw3w)86nc4_R*adv7|ExJT<+cntOu-` zz}yz*3JYn2_r1QD+C?a+$SLw;tmxb-VMBuB-ovGh}8$l~I_eRji8` z5RBi@Uvm=}Q0ut*j7JN+3b*clXM!Jl*)g-EKB>+gE8CwXP&uUUjw(i&I&%R^~cCAH%Y5^dtRkDp^NDpR3*S&+%dZ{18YAGPn;jqB$urIb%)-si z@3M|+a^-9BHl0t~iif-~%x4g;RIlR;x2s_+Q;|<9F3!_&VXGrw$>iMyyR&rH~vZ+q|;UmiNnoPHg@gXXdq)=Oo6NWov(tp{$N_v*-NzG5EXT8S~x5!|y zoRkL1QpX(-ute9w0QQfZt2daJM3!1lkxM`g)5*jq{Y^KAj!TI6upKOXH+B>2Koe@+APvsH|*Rpy;(fe95S z*qAS@wNBb5RT*_%wG`yfY;T7`ktU`8uz!$qIR3@e&L0_5Zyp0?=TYTO&QVq%d8N1tp}YkDApQp^1$3!tn?6Xe0uoK3z2 zWPAfMh8m|Pbvb+ZxbjXTSm`>j^uGqwBZ?7VuW8I7VO<28F1%F?dMkR&*|XqV2RPkY z*+$@xCknCYa4+T`Qg;MASPQ>Q95JKKo}Q$r*y zc#zrRsX9e}gvsd#Lr?l&^T}G}asp@y`NoDf6PJ}W1LKkI$$5$R`HzctP6w~9+z+jq zZH$-zW?X-;_~wSD`{lSt;@9RDxk%%|xqIW36lW#VQ<5mJ@dnRvL0v75UHW^6V^bWh~HdiODA z*4k7rg#qJ;(-o(oEMF4lFgKhxyxLfsJi3S^%k8x{H?-ZqK5nSJKZ!D^ag<$tgaoqL zeBb2FlD8uKwe2WK@yczMDn&1%OeEUNZDo!c{TU^xoN=y8`7%B z^PnYFqwYRf#QcD5kU4I|)bz?}_Ei8C)9qehxOm=hCbjTqC?B%WX%9^^Rk8ob4Qq9&pXKSJ|nKNC=0*d%iuuWCuIJ|LS4q*oc zN&Zby4wQ~yCsXu;I3Z&W97O{RI{O zr=K5Z2;88%E>bz~-LDNrHP;n1vIUn=|3<#$`xW|HIk9tLyjwxg3^-|j1RF7BC{!5= zzJY?U3jpkTJ>O-F1VfvtS(HV}mKn!jm}Ktea>MIj`Ecs52`krzYTKf`26_B$g^L}A zdYhM026ue(pDR7tc+m>`D2(38yrs;Z;4(VYOc8)K9PshQQ1>ku1nG;jltJ*?tZ-b+ zSv^s6Y#?af!GRf#sfJc3vW6XbS`&fwcO|L)VQkEkrTC{)C9JK}CV4$jXwIh0Q08R3m);Y~H&o z1vd0EK9H&{`s0aO1A+CM5$wB=^VVu|pb@5Vd+kQDlmG#xZa!>N>^Pn}THaVg7LBg{nfv^Q&iN$lFf(=bE`qAa&!?$&c2)d1r6L!eS zeE3ff^FbA)8<$n-;GM}Ou@t?IdH&Ow{0CsK*7?R=>4xR7c zZkI!sC7DL@yh+#_+xn`Zy{i`OAKjX>fj@HnTapXm+wC}uBDp3+?{amq9U^F=E-1Pw zSSEeSgB4iJz6xZj2WDwnkp+#&L)u(>B3eQp!jqz*`14O>L$B#FMuYx@rOV0!v*u~; zT&R1plL;`!Dr`ny*Njf1n?)X_Y6dcV-{tCH710_XW^o*zX>>pNZn7#CO!r`v>HCup z^iUJ0E?T5~86^>_O@B`iPN-NxbhXmuxeN2dk4r9kkg6DBHK18kmvv~^#3Sd&*zH7h zCwN~DCsw>aI8Sgnx?30h5n!T4!!quJ7t-iB{>(|U?=h!gg|b6TmgjTmu0;B$kxqw* zk%jP^q(#Md2ug!Bx5&G?A=qbHqF!NPsb3*Dv)j`0!HU1M*vN;feDj zG$-J}2nDEBOwN$0iWQuP`h%n5nX`{((v3RgWzNDKLb7qn+?S#?p+Vjp{w@YKN}w_E zH&281QBLgy8t15lQhdohisu=z!!TwnefcK!Yd=Ix67{^Xa9wR;WyFZ)CKcyrGE@VNQ@uk?@q}xsO%_us zQf89JII+1!B0zc@^VM#K^L#N?Y2Rd!%}sf9ZmQLcWk%7kowAhEVa#@r2UxX4JQPb)HeT0@jX-ubXTL~`Ai;1M4 zY0#Y0qJ1<%h)fM^jAIM|M|2Z8&4aIJOQ8E)gKuqCL-SM1(+YY`Z<3#b?K+9l#=)(K zG$t_I`>2#geA>ef;wPO{!lgu49U%)}6JIh9pY-QaO7wo{W_y;5efGc$50(qv<=N0) zGdkdeF72n9Hz-GsG9d$)Swm4OelN*`W%BtIC zUNEIq9y5m-lv55kg(+y&r;8pc@^kW_`91jm9ntnny z^yoBH%9MFdwI~@+i}qP%345wk2P@zGSqjBIjaX)T*QZVEGp#haNG29ni)G=x{qbgn z=8LzHh3Q%`o-vT8Uv(t2GP)K%YivDf`MvsQQ}a)bsZAqm4_i(!0M|e?syiHE)MN$w z@+>pU00Y?(-7h!HKgYMdDqk@}Z(i?&q#hN^Y_>KLX5Tc7m&`<`!LFpEyEOFj7*SuFGj;Zk~wiuHy@jHRLB&Meu^%Y99|KR$rZyjI@itJlC&@^UfjxRq5pW3BNK zp?6R@3ns~{Cdnk}T(OV4EvuY3DT=`6_0c$kLbV%5(dN5?bMcbO^l5TvQ&;)L;jX*A z@g)55j5n;lYJR1V44LM;zPiY@0WB*mg?(7 zSQidJI<)NaaN54)aWIf!?BIb~lFg?JVZJ@3a;al@;9do;6G(g3IW|=D{*=Q?)6PoJR(|mOnjX?1j5{+4!#b zf}ENoM^}ywX7Kya(g)kkmqu)%P;XUsJ%B0F^ec zIkk9nu)EJt-5`Gh1L!sYT`f~BRMNBAP|h4ELZ8)~^PUXJ$nx6zUPV@YlrM7X(dKJ= zw#`Fr??6j*mzBxz6Pbc#!yzBqZ@uyh8L>$OA_&STJiU>Q?@5-4!v z7#*ODF`Q4b^wdK_COfC@oXtJYSv<_RwK`TDs5;frw`F4RDcWj5Q;7p))2=wf6v z-Q`Q8_))nPCsXH)S!8)a=QO$CyNGszQa@VWP|y-6zRY?^s}d@{Lg)tX-@0pxE(I7p z8@gG^*s691PT)gVi@IL9$Z_JgNQ64b2K8KvYqdy(bs zvN3*zaydj73OJXKd?G?LpL}D zoj7&JJr>yR1+wD<57TPa ze$=g5))*e%yyg2s4T0L=Jteta5`TA%RKCeC~D%Wo-E(BOV>*jP$YI!EU?b|oquZ-k4j?31B+-W_g z+8}N^XBtk+%?bxFHCB-LpGJaiSweB1XXpbfvPcu8zC=4vmThuYHE|(;5fi=6X}C6S z9F7MJyzv)x`OdZS0N4vhMc?JjO;56gj##rin@=P~L%RV28K(^18@s{!o;pjP0o~dM z+i`bu{hjeiJ(ba+@IHY+#2XiH6Igqn2tM~ z>(oS$Xqgg|w-lBI{(W+fj%)VS&+3h<3;@Dj_emF(?F;&6;ah|E-E)<+>q9Zq>yev& z1aH0II+QjMeQmxh4xmD(UT+)^-|_$(JAqlFb;!fP*~zqO>SPLLHT}+?=(uc}k9aeO zeuh%PPhW1Sg6G?KP%+Uxh17Lq^wE#zEJVTi<8MTX&6w4xz52FN%(2<&S2c+pxUc__ zDpe`)=ETAEzb@-t`jc*D6LX~e+++K-h3T|74I8$W`9V$FwfnDn`s}0sI5*K5IXc9@ zGMbdN+V)e<23i2B;T7jB$HCtsbD5dSMXgBkt?GW^OP?Ay-0Z6@*s#THEzR31Z*lvMLYb2Dp(gv{;cvzz zJM=4CH^bkD6S4>&&7Yy-&os9!O4=F@4VN$Zi^VC2fmVfj5Z!xdbCVf}QOELH|_x z1K3(i_Y~UEEkBKk*E|F67!^K40a_G9%U%pNnG@wQ2IcEH6_f>^lK@vYrDzfez z;FamyA8Y~b=9!OmJ3)_~TZI04LZK3tA-OA~C!dk-U#3)mK}oyP2)s8mEB#VJAA zs1ZkkF=EjcRA?ZeR~cpAuMAG0V}3o+GAE03y#+kULRd1&L4bj|b)LplI-0{o;wbFU zPi_o^GcaPVFBn$M6K%6HQj{N2DabP)Xr7u*s6(blSvabIZ0e;)nUDT{;_RF>gvAzUS{szn`eO1-{hs+NC}b5`05w7NNO>GKXckJ;+sJ1fgg24&9CNci=gL zbC5U^Ipfmb4J&e}#+P#k$NZ}LD zwv}aij|j%E&)G)|-QZ`Oi)H5!!B0GCVTeFKzB9npyV*< zANT$caA(r_KNwYK!ZI~@krjF+2j7Q14j>YLVLwfudm6%(66ETya{e8)gZRHl{ENiD z+3|0k*eS^WBJnR0a!^0_+bqg^qw%d7xCV@I(tJq+HFf^#9lf+G~_vHr@-Sz)cTfSVcQ%!y)f1`H7% z?cPU>&n#$WSf9B}cN32=K(hY-&?bSl2ky^Guc49tOb~;#fq(19Qrto3dU3l6{aa%Q zwO4=Z#xyQT9>TdC!H_1}@e9+Hd{`w&eUm8Dx-eE3n< zH=Yv$0rUI9uY&hqy#rk)3(x4%OUUG^-|>LUZ{Nj2d~LwZ<8qin~4`|TuU81F+~nDHOq_-xLd3vA-$ zYk>osEPUUvQo%W~Q2x~PCnsQ6a(`d!uH*c5o=vEg+aHVFyg~ z%g!mIpa=S%?;CX?$Np>7L6;>a(_#!dB7jAqV*3U}^?wfta9OMCoU-{sI1AuWwSVSo z;G8ghmdwjSs1FL1-G}IX{iua=qKP!JmJSN-=$(KBpMNO`tT=yhrL>Wqd!G(f4M(Yc zoy`WV@qdllzw-c>18xY(b#>c9aEpQV{>1d8G z#}@RJ6Na#Tt!j!hJ3}htz>Kc^qXc09BdO9+?hNxyJut>#|1dWIjPz2clw4p& z1@OY3^`8~<1}GAROxZKgW@6!^ebr{f#ko16(fNff+i(bkml5H<;pGd$>-*D%v^7Lp zAP4pm?95SsVy7lm(&v)l91IRN zP*sXlUB2V9aS>dk*;hFg0uT<88A)zshFdhcFTr$!v;SmL3$V>_sVCpmM{j|w#5ujc zTyh|n%#dH*b<;_8G>;#&g92@1g3?elPa1KZfVOsUtb!y2A+i7b}@E^o(xc#>ixBuAxilYtBMIcz!kbwSy64+1e{TXCf z-6fwI(x z#Qh!Ig&aRD7y5Igqom+A%P?O6to|S z6EChMm{%!haT`=;rd~bBojxQUPH@x~3kgO*J(OD3N&i?V_~i8juZ%0_7gGEwQ0H<; z6AGo|4i^a+v;?-uQ!r@p)uRY#iYzn$w1M2qI0ujW8^JN`eEi5A7|@5enIAx1L~@(^ zeVCk%?F!){1AhezVC{7rVcp{O5Mj;w30wo3>55Y$$k#Lr>Y_gqDg zYqy@>LRdHXNh7RTDNh5|KW+ooL1z%w4MDO9YnB*r4X~!I)<(#=Ohf@|eU(! zfP7@Uh6&`0zR?Vdz7!?oEK>AwM+dY0HXvJY9a(#vG;eNB2&oa zX^enh5hdT0W9?je&@N2jUJaBKYTgQY2(nLQ=^@AC$oe-s!{D=NG)JI^94*B`=CTio zL5^whlXZcworzvV9OJ58jF3N8WE@w1`3?(MKYxm_c6wfpTvK~=9cJxw&KDs+RB|X1 zJ%npKSptR-&)p zAcLhbk_5S-eEIve|FCm}Iq%z%ZOvuk6wcE@@b1iUe{1Qnxr{hQZ%O}Cce~yK?kL&) zJocaHH}uG$X9NFsT-@)ijFEkaQ+R79Vq_CLD5^#mKFJ| z@;NDYSV-UqKb2!-w_A;9Gq=}4yVJ=n=EZ-oGn`xe9<{?C`af*Hcf@M#SIYwSdp|AZ zJ_YVymcIi0FP6We@oy0Qf`;9{+4Bn;|1XvepYZrvC!Y>g<*|^5=QuZqWTA2j1plUY6~v12{cHwll~n z*1>eJ5qOV6YV}TKNzy8zGV6}K6q>i-=UtB1T+`~D;hd^fY?Mbx#D>4@Xsz{W z!&7tVFXb3-dfuR>dl z8{17fMb^kaC~|fwLK3aw0L7ht{K9v86okJ}5YGMs!s?$g{2$^M`t4EJ|3X1LKj?po^EV31k1z$_MOXxmNoL=!42a^Wi0(gS zC^X;~2Boy{UqUFPGJAI^`~k(Ezf*9YBKU6<)(T4hltIl*P#BiNe(^FQgC(Zxlz2VTwx>2n9tZ`X3bc{wbsH8$n@I3i}QP;V%^aK*l3W?tfC$HxLxYrm$az zZeM_7BddE)#^RvA^zRg3kK+F~3Na_zf6DL>#V<@qVW+r?$mq`M+LhrCWbpX^M)67q zrno|hP*i7i{)2+#pE4fD;TI;Su!UkgaYrM zGMJ7M6sD%I?@$E)Lg5c&T*&%Q6qL{&GdNtc+IM9@6sODAQg*8klIM_&%oKJiYJ@^R zt8JHp7(3{H?0-yguzg}b8M!I!*JuzK;#sY`GW>xIi~li&(O4&tv9V;TF@7!DyjuEP z;tb9)9$n9G2;aJoy7Y)BFg3lB3_0Rcz(cFlVJN8??e+xKD&|lRj4n)Jr=deek!CgT zDnz_I=&!a?`5SvN9^J?v+w9$y_SicC_A<%bzp*b$VW-_5wUODh%ibTbzkev_H})<( zx+x9Y?A`9|vG)M%O)Gw`zqI0FF+1Iuqe0^$Yk{K?lJ@vHGT~{J1VdlEgO0k2DyrHy zoWqY_7Vrl9bG;u^W;r87%Y(yG+mQIv=56vd^ zIQ7SY>kA3umB=Uo+ApaHA$Xb8TRuz5yVb)9dfI=zSU@xY^>;1HlN*kd0J*bCP8|HfXbwj;L)VZYFKYmfc7r{-npsp{XfUrIRcvdx}o z8oEgh9d@!MfW1I7`ZxAZYdZ?dkU^$>e0%ICJvGs^N`c<=QyDQVQo>Amy3s$h9B|bp z6$1T`x!sQPktX5;@U=k~o4G10b=}|mTE(kN$Z`PYUuQqD9d95ivm`?-;|=s>(^Gpw zYQ#v37ryu(jXXnUm!+xyObby*(I{}IpG#%Nma`Z(>;G=;a)RrzuK@L>r>lN*)@s6WSD=1t%3*NV5P22=h$?K&s@%;O;*CN7 z5m9pu^?PemV^vKL#4rJ$uPgTban7dYZ3%eN0vx>)UFv(DcsW;P@`?60Pq^^uN|_*@ zn0fx?8%ziVh7f@2Ylru5P-%pweTLpk0gh#MIfd=<0<hQ=TgQu1PhKI>LMTy!oD?Av`9vZu-CB62!LiGfBO= zU5|HRx0tJ1gU zu#e(9Kkc-9UhZ#-mxd_+u6Wwklr!{5J2@&9s-_yFSDJkgX0^qnFg12YS0adCV z6eoCSrCh{+oHAv?@WhP-0)Kcu<~F9$wN03^5n7yo6|4Kv_~3el{mD{Xr`2FX#wv5J zZU5{z7~BrxoYbDP2XEc53=AUrY(SG!LeBQtaGRGQ;PsghrLxD%2tm|J%iJ4S2@w=?~zaiYGz@+>+uEsoFACR`Zdv26QDbvJ}B z%w1VoOc^r?y*5HcLn0&--09$1X~+z>JufPxTQ>P7Bu29+jqWtOzsN|_#I_RQkfE8F z+ALkl@fX5wD|CVu`2=QILNrBzEtAbO#n5{}naJ3<`7mRH6>$x?1H|{Q=m;J0*$|f- zs+LqF9DMHD!A_n&GnXL45jZ-tgz)IKHL}^wm~UHbb8D>)BYaX{j!3h;i{m1o8S&|P zh6L)n&j}mP4LZADDECfA-Qf(8r8Zm;!Aq*?aC^}h)V;kPUY9gT+E&g^_C>*+mmBw2 z2hA()yoxKiFEes;sB10|i8j*f-f8^R6jmfj$ASV=>B>@=xw-PXe*~ta$Mnz%b09Sr z$JWSdPdP00+=N`inqtrC=?CEvJWT3j-V$F5N)cZy0qq`>b+)6ld#l16ZjznpXqw17 z8xopkLrTS&#ewLwY+tztT`+-%YJoeteLdZXK=jPj_tf*Trp6n*2zKm}>Ql9IB_+eo zgjAG?RkLADB?hfZ7O0l=^q_&>mTl}L8TO1_%Deq?g9jxev9|W3n^E>ObyU^Qj;uwj zADk1NAi4M}lsY>YC4+oYSxYybSgk4R_4O%qcALI^N`g!ocDBZrd*)7^nVZO{=ZHGk zc5d1rEkNv&3|UK!ftoWC%fV32A8c!~wds!vYv!Dm?L-@O;Hu+~a((~mibPu>e^$obZq+XAO$^8)Ullp!OM+*MB*sApBw?(z8EuuB+; zaaWwVK;;9IPRrCv!mm|++Z`WL}h&aUA1Y+os9Z4z2H)>_Oe$g>~o1yJpFT)123MiiP-vPg4O9i-`q&qj*(^O_`PUZ z#Vt$fxy^qz@TpbyV!+j`Ki}uZhID_&M-)^73YNZ;C3`A2I1^@NoY2Y>HWk~hPih)W z5x5OrK~~nTGpKD}t}oFqkc8h{a#Z@F_>nHG%z3<>bn-e}2GXB`n&*75m^1wjeoYp4 z$((KG*V)*yDZd3zaf`9CXauufLxV5KConU-4<#?KIkNFk?IU4BqEF(xv-bz?EUuqr z-wr+~*Y3RUxVUz?bhwN3>0&`=yJgdIy4Y$vd+zfmk_a24@723iPjqTxAOjPo>g;SR zm|dKGrXJmDA;XvFa2&~wikNRpj%5$etE&#z`K>)E+8|GiZN!RC`Y$xPT1*#(>}bfa zr=ci0(C`rHMY>Aj*_LrxK`Ye(nU#ed4dX*9I(jZis{6S5Q#@rDsjm3Cq&lU~tMfAO z@P;)t8CUXEgk@%L|8C5Dnwy&Kuei5YfcUXWq8^ zb6y|T=}NtDZ>xS79eFrYx6bhFfYUtJwqIy}QSxXgS%J+Tq*t%iT$+`oA$n%TUtqpC zZxzb{`$d);Opv#}WV3R!lzw_79!T_TsGz;uy6K?#@zrjFE_1beJ3!{`0omO+;EM@8 zP&~+a6?~VqY2m&hTul>AfsfzlsXtGDi+?Zc96M9l58H2fYq2NO+kLS=W2d)kJws;3 zUeH)st}m^aM7ax;7R}%E|424o4bR&$66#Zi_rtE$qU&y6B1+LXyt1J>X~?hhR(a{F z+PUK6+r{7vRu)kY%#kt#AA0y+x}EVD?X}pFc4v6C3M=p)4+J&2erLVTDwLo4F)U}%EpU@?2#M^t=x^*>!rt>Q zSJeA*67Psl_1H2}jr<(P{J3+ddUM08a4YMROOK1WB0s{!nfCqQTrt&NA%{gk|BOj6HY{CAsN_aJEW2T?-HI@tVtamO$V}Uf&vIL{M~h`y zaW$3MXUd;=Mic#|9UkVagA~ZCQVJxSYp6TwWF@H1+jF(J-qlGbNLbde6eehcD{EL) z&cyA#>&)JU-4wsNQ9s*FRKpn8EQ5NKdQCyAZnB3!J3Pwu$sX620%_lFVdL+Zx~ue> zRe!u3&II6OQ2(BRdj0zCqHG5NV*Mi{?cK@Y6sTrFmncbFCi@ej;)F2 zo}TN&%PpP5?zVmpl#-L%64hRL&wDy7+^-k0f?~!6MB&n`H z=h2uHm#ISa%|Q9n$t~e{rzM7-n9cX$HZtkkN)mM`>^8K6e4OaHJIhu`)0X-75=aMr86_i}#Nd0>&FdM%$}CVIiml;d@AQ<5t- z_a97&?HOZp6)#`X7Rl=u!|Dh%GgirkOo@#7p&l#m0$^*RzUTSnev1u}`I00&Y3uux z49%_)4~|QZSak@B>;P*FfL#pA8fjHYboWS&P&12Gx)XW++A(?3sRvWBuWyR~N4_g} z=3A2Rc#`s|yHUyR_!aZKx)HG+50Q+@0)dZeXlrz4JbPC}@%~qy#=LJgNl#PKNh~E; zJSuh%q3PU>sqKAe@S8*BR?l-+LoDZ84>j;#BlI7W==MAN;-Ga?@y#f{?;JTbzFgkb zl^>O@*;GX9)&my(4VsVZgkOK6pX^wC;NDwSnVlqE_axbKS1wU$JjTCqlT*m}z*;{& zE}quodxccW7X-%%ty3nfKTEae(UuPp4GdioPs+N~SY2_6{v5NAlav@~b{is(N>=I6+phBzE<@aDA@ntj|jxMs0&`@oDBa7&#H{Uw*P3nLkpN|dS>vz={DV$z?V_$)b7{bl~D#Lzn@P4=$~olYVw zc!qdpF(^SI2WmX2yjXITCG~rscBT>j%;Y`eQAW8-A2~Osj8sSh2NDlkb(Yk)U^{NS zYoc1#Xk9rKV_a0k5-7hqRTSm#V6L7m!x!QD!_O>SrTGKndfcaqomv|DNPf4VT*>25 zu`ahRX+1=?@Rb*>lkBUnS8WmRYJb<}wc(3kMnf9MV?1A7KZVwa1;|-Gja53HYZ!T5 zLm}Gy_%rF3^$*m!5pT~(G9+v}-cI%-nk0$$8Q;*vp95D3)h$` zE5jd6v6kLg_3UN=0dfbi;;8AZo7`RHGaGoO!H`qDN>VS{v!FwK?B+~$o$r_ zX|DLdpX?4d--=dA{G8?%RD*OUiR5Pe#JUo|1SvP_I?LGfg>~6{T{Kaw?Y{|V3 zezm~zychUR8RsS~X*G);=?z|Z7}^`CJaR9f;=#|F)kek*1B0fZaVwT?-2r`ChX=m% z*7~X+N#Z7Va&s_yFEBxWfOZ5Dz*$OpW}vf?i(b$C`C|bh{t4JCW6bQX8Ea88}uX`x3%qNUu}n;xxsGeB}N%yg~&2{8L!Vhsg9H5 zocJ_xBk5G-JNbTyku|Iq`bZQ#gIE`a4OQ?7d(%V7XSAl@+~6Tg4Ki9W{6XLFi~Svq{aN&j2BYKr%JU z$YCB=8w%l-u&TNJl=%jfsU=yv>3=s_d*kSQmG*gRPRABPYZkM-*Pp9`Om4=NP4Z!1 zxi5O7=2@3qFDz!+GLkx>b{uc`tK(HT+;}jR40|qn#)uUP8L?;fulVzL+<7PFUzC{-h!|2% zAxtn_xcFdpz~=sNg5Wm1&Xs$9YOl=m7+DDui~c5HA14%16~1_|M@%_MjfQ0;H(JZG zb@Jc@3GZF$bqjJYPTG^(!1jOJsi|$EOU9Tk^}f5`_=N*oljwdmq%yRkj)^FDvy7r( z2|(gXc7^6;EH$1XY z)uJGVQQVY{cC!>|thKrL%qDVJu>F9wWmD^B-lX4uQYn+s_P)lGyf{JoY@vwBj5jYe zCg`Hg>1}DGN^_&eTKP^eht=DQrAcCM`u{w&kAJQJ|Bz*jV;Gqu#1rJafo)}NSfyM1 zDQ0IIbA0%`zdo%YIBVHo`YWR$kANLl+h!*0Oxx)na}9WmtT@>^i(cMwqLgucwrAF= zbcq`$zx<#R`IE?<)0C)r~QQ7uV9uWRL<0tv42&45FsK% zp|I3>bJwP}Fvp6}?!TEdaCsY>|JB}ChE=s~e{YWpq9_Uqf+!-=dO$+DyHP^vkdzLA z4H5$4K|!UIE(vMr?rs4|>4r^r^Ix#m-kWo-_uP2Dz0X}Ad=#d?IeLyU)?9Pq*rGk# z*VchD?YzED$kQ~c$2EBwf`6hVoew8~r|^gr$0*8whm;I;sTeN{T~9zRn2@@62iDidhhChItGtF}R>xX@ZUM5_~md&4_jnFoiWhLuK<9fxxqJ9N`77j>|nPdC+ zktyU}06_fp8t3@Q@h$wx;UKr=SP-=T{EpNtQGLeH zrJbOZ%)r6ywS+1RF8PDGlJ!>~PrVM0p>ecRpQw8@w6mFE1Z_au8c9Vv+k)xhoYctX zjNV3)CsTsa-9{&lY5klQV9!u{JnoG(`E3O=uH};cbEnU9i7D(X6*c&LDOq3C?G^<| zS*lb+N5uYt!QPOH#g68=CwPXByG1|k+dw`SD?|QpI$AlZX&E{w_E1qoV)mhUapW;b%h-_Dwz@^@Xfw0}I1Inc zW5_bh0Lx(hwPo0D#4YVwGwyZ@2LE98)h)fb#;BqX?7Hcd^K6DEuk|`2PLuw>iCq^E z`&4?n{$>h}J4#S8feY@~tN)Fhl-Ua@Eg2;Z)@~n5{C_~du%-XWs7&!+`P+XfBLy<6 zp+CEu(ac*#2fp zA)I~yi*Qop7a7y|!bZ#BRi_A3z0$v?77jF&QgHt6er!AEIm$n-*P|BYihm->;IaZqMsc0a;#AZAhZ2j za^m{pcO#oDex>aC!s0J1uki{fKF|vNV@m24$2p=QZ|Q**u%Msl2)xiFCis_l zr?!d@K;hH*xAh9k&mvddR~XFRl8&Y1P|h?X$7axkm#C*7_a1w9CzM$7 zsG{2=VnHqRKEwnq#rfVdJq6NFUdzN;ebOkVWB}6J>5a(2l4D z%G^Yt%ncTfD;dH?W#Gqh&196Ew&pmlll5N2ObSBzGRcWj`!3M(xy7>O#-JusFaMV+ z^++siG6un6TKw@pff{wujX|FriUJxZ*r``v2rIl7>UVF&f6!GIj=_9U%CWE%!Gc641|(3BtQR9`QP6@?Uk(AvC}z0_=5>o7p0+XIX3+kyx=(f zK-ombe?>~&D$rGWq!!L6MfPX|RowCfSYdEQ8Q6PZ#j*pA3;CH)*PR9Jm!5pE3L zXFHyAIoLe^{6tJSesBzI9+b+p2F^(5lW z(CDa7KljyI!J^MKftYayi)$6g&0o*~ZM2uPmGgqduORDZIoXgqGP!9t21ADfBxapkB4c#bGfg< zmO+X(O}v*qf3qt#-t&R_Q8xyX#(zpi9iG0EtX_Gh`gx&czMv26$0o1%ARy>V3y#`l$6Cap4$QH}K{;kP)Y;9CYbi zZeup?)9mbaCmlk73!xzc+0TWXJu;(bV^tMGg8kr9}55EI$8QeeSSW5J;OP6tzd1KZ`GOvB^rfrElK9WSKV&nGKr#U_pYNtDZ`IhY`;~IvNDbQqgw-xpPa|(gE!!MV_oKap;z`@ ziwEx#erE{&LM#3StnQiRJf(hO>JBE=%RWd6zP#wSrm){2o5a}P)Io^ULJjII*tY=S zMwL2&BQ0RC>>p9ojzfmO=7s} zeQ$fu>$)RXx3smiN4^D!GrZW3dP$^0-3RE|raf2GR76RYzGv3NEB2<@WRDpRq~}g~ z?bTar5f=a&_m64(FiRV7M5EOhh*ma)e&w0-IBVzz+_-VloL;m!_w4L>VWVQn^o-E~ z;@x@VDiI=XJbV+6PJ$syL&+mCN;f>*H#%*y;gxg)JqvR8NZ2mA{Dx#e5rfl zsWQDX;>91j7tLx7#M@^;8TQI+pEkP=SNn*y-oW55b$@xu|FYx#?q(}R4+jgP4v5CX zkqUH#>I8yH{>8$|^6M{#n#9bm^01RtC3_=4X|ut~NHp9r0A6sVr`%Qo7?5M#90LGcn|}MY&B_mVO+ocRlP95R?99>iHAfFY zKWY<#N`eXyQ}b<{S%ZgFb~i^9sZaGGxTMgC4GC3x>g*fs=Zum%^}mJ=?8;^Sw#Gac zG0}vb+rIW1BJzSMY6n8fj}+i#pK1Xw@g-TnvwwIjD^gFf-ao?Vjjis`Q9%S3R+8Zs&ii<;a zUl59ajK#Ag55+SVwb9J1)mWzSXN^z40L{mmCOzu&#gd&Z-Rc4cd7PzYPs8}lP6YAz zIJRv?7W9Rhi$p4#^Q);q0-}~9*l%TLTX`cT9<>`^Ls3lYWB%D zicB~Y)O59+r+2aD&dn(sTVSQ#=OB_*Vi`CTd3dM=M7;DsK_#j-Et;3&Ko>0>zCts3|wXu5!*bug2@-as3#M0)}aPn~&L{8LGSd zq1_)USq^+qn^!eyF9KyP*&vDCp?^{7X}I|YNvrc#)7$6?%)57|Mcd}VrKnL}yVBWN zuj7I3dxsZg{@9ySJ5yF9+?kP@Kb6)MN_Jy~~?Szld|C{7R5B z#>)7XGuHB+1J64GV`os8?P3n1ARxz4G!n$ralx}hzjI~ z5Y8sOBokm2mxHR4Eqznee(sd4<=fJiOVl4@^iRBgXLz(BD@ z!z+M9EQrGmIs7u#cq`Om=_g~2jveO&23{h0*lI=tC4->f+Bj$tF3w|pXxHrkOgAuO zih$Enty=kF=P@GO!wICZFAmq?6bs{3PKNw;gaClZj8Mi4Mk2app%5odAa(;>G1Z2X-C|2x>-R;_KF8#>(;_A0qTHWN>e#U? zW7?mO)0JYK(hZQ&Ifr5B33@*4um$yL#%F;RpvKJl;3$y@j0Rbwf6#bq=JII>$rE`~2{ien(B*Oy$!*7(s)G}I#0EVZ{ zrtbv?Zcb3ACB3{Ya8E=8vbrri0_3NbWs1Q7!?g#F|nx@lJ`gi3CBS>+-9NjU0 z^qk2nKrIv*+5n(lUl<;6Iuow6m>{2g$s9g{eUSTWyzHOBffBOV`?vY~k8z0oM+S`Y zd~%aCE$8AzbmW7=wU!ULLF}@Nsj1-KfbA9clmPPyzE@nC@gApTX2#E=VXX4q>3bH( zX`BgAo~4ngIeYfwVd~m#-WfG4JRgVYY$GTfFhlqo^(+|(!}~`eEd;1Z`wnpDT0NSt z-@cCd$=T1wgsv>j&B7!=b*liy*=}8Sw7^D?8z4@?wr?h9JN$UqNn;z9u#fKr1aQi1 z^H5(T=41e6g{5im+uw}XxjAAIq#7RJw5D=7dxQRm0Kyj;yo;%h=LO&|i)7cc(=_?E z6cqIIpYHHLn_SJ`ouCc@P)8a6)w48utb;7LVVrn%dU|xV8!{eCK-s=Jj}Ba)9kDCU z&$oO2QT9i#>z z1qy*b(_Kl-Ed4ZMQPbrrbW>4&+tOneV)F9j25JFm*m*G~>Zj>iq(Z0OLJKk1z}LN5d)DPgyR-<;8Qap1#J# z{wCdcRxEQT5VQ$7z$SQDF4n0MYYBR&Xf5a&(QQQv(u+6*1Q9AmKwvC+B`7U201it; zmP)!LH^ap~m2SKQAKUQ-v8(_r0TwUOm;4@uaMQCYvP+6@Zm{9Y2L)=aZ-cTjcSE3s ze!9zhQ837FBfp<03{UCdUcZlHHR$(`0N0FpU}nkx9*gjnVDR=ko3!%z+dVEf_<}?k}W4>V%04;YZGsABrGUi+;O3uzEPX`=P~DvDo5p?QP&4aFE96 z0aE3Wp`8og2HWf|^1i}6Y~G9rxq1KP{K57$dLeKqclB9(2$>gCW#B>a=@kZ-JIes7 zOmhx?sr})WZxA^+AY$~l3((NW&kEzt9ffkA?9yT zMfY9ygo@(1^dg%( z#p~v<=Rg-;u}A`(prra5l5m)n+vTwZchWnM7@U-7xLTD(K9-oK}l-)06#ZpH>G*ziz5JX!4rc9d6eFO~5U@8!jJ~-U+iWg0E{_=qyo3yqFg} zP+4rW^fJIHGjeJZo#KMbNXRq;nhz$ezdxA4T6SwM+NT9M&%6E;^EB-2R}kaPo?Z&p zV9J1h0RP`h-w>o7xO7MRU$~(6t+r8V&gNNNLY&(bYSgULS&zF!BVPB zB)gb3OatIsBJ?PdE#;~+|2XPg<2cw-|; ziI|i|D#qo8(Ney%X~uNVluw^FZ0Vy06E1455Y*vou!XsD{e$BAs`*`NHke%v9T8TM zAV^V3b1c%wVTakk7sb^;4kN88H<9We9H8cgcT&_?Pl&P`?HpuGJNub)`gmxn?(gRbDGG{<+g#@_BZi2u4B36wUdOkzsU^! z41r>(njjUsG&b{guhi^mDSS4u)HEm%7#tiC&LXppSiUw0x!(=*Y?Lj1c=B$AS@^xS z0u?Me*eUivgTwaY*h6fAQ)}i{haA_a;!Hw&E-{{^nn4ufeIIqbu(OKyCBmIZ3bgLq zuLe*`ac0(?MNGbYYoTyT_6PIV24S9aLct(`yuUS~B|Y=Dlc0GA_cY?S$T-8t3f@ka z-daQ6e(n>BV@`vH&Th$FT!9OxBV&x726#DPC!&Vspoh)A?IMueyZlVzbY!%lvVxb> z`NS*;4I4d-m`N8g6tYb!+>OD@*Ij0Bv?d@M=M73%=Nsw(&*87M>W4Mc`j=@ipQ?A) z**{xjL=AKQHiQhN!(va$4!WjAwtRtc8r|Oun0Kyx?GORs_YQ zubVly>D@VKXEyKo3%?^(t8N`TM~P!XCwm9BSwQjG!iN{yXDg~ziPBP1PUL=n)I9my zGsDu|a}4*o;-O`~>Kp15)nUOW?ZByS8+UYnGfy$HC%l%_0W}vbpF+nV0v8y?(HimC z>No`PpUV5e4BSXoZAcDM!Zw$OB#E^fKQDqUqgXZpraBX>Ra4cl1}(?8ZB&tiRHw!J zWp4JUCq9L>WH&z$&{hiuGbP^35-8?=&#qpeyktzL_&Y4VPdMmGI#n}dIG*=`niYIl z`g}J#CbK`&UU!i*8EbNR>T3f^`eW56luvP(jO-dZ>nMHGfk|gwWE#`r>w~7dYJ{3@ z!6c$sBg+^TZo<=+7aaw{>!hQO3LXv{sN8JCzf|ToKuJVk4O|%mJTCX})xeR!1>3o{ zTTT;wr&#+OqAjFlKt-N=)`nCBZ*|wmZgvvpuqMK@hFS{z@og{E>Buml8*dgrAHra_ zOgP(Eqmn?}nDkks=|q}#&pB4Gz?KZUJ!`PMApma$lrSQCnCwYbNnv~GGlFBUA#D>sI8n`hu5{R<- z-maSoLubp(Zb&g*$|5{QaN*5C31Kf@%5}3>1GB9AA)dF0{l((}ytff3F;n@lV!ANJ zae#As&Y_^e9{_*yvr<9r3e=Bamn)FRrlEi4a`{pN`d`rB+|6a7cU9*Qxe*{U{>#IA4tWIIiC_GWL`WFFl;ZM*nNX_<>}5Nyqfuf)(t@e{ny&u` DunHuA literal 0 HcmV?d00001 diff --git a/precision_results/FP64_precision.png b/precision_results/FP64_precision.png new file mode 100644 index 0000000000000000000000000000000000000000..20e6e4ec85d539f8ae1ccd10c895dcc290bb2a91 GIT binary patch literal 1870964 zcmeGF2RxPU{|AmA4HD5p2rVI@%xop3WQ1gIlD)^lQ7RRsvbPo@J9|d~)ND zob$iV@ve+_>VTaNn=jb-iBC*SzlgKDURm(h_@iQ|*R8AbTV)UAzW? zh|5AC#~F8R2S>umUBV%d?GRZh1u^g|1i}k}=t3YE2rn;$R~N$T1<}=o=%#_A*aO(1 z%c~2%ym-MuFE3s%@P9L4(B%bRxHGz7ch_(lD52FWzP^-R3m#<<$&MV9$Vo0VkU= z7z~g#O&1Vhn$s}gD2@Yn7^ltO|NbKI+X$G3fBFoF2`w%uTSFk3Uf6$l)rcH6aFD=8 z@~RlY5FzazTJ|?`6O*_@VmEBg+uGbTw}QM)sJ;Xa5!--67xk@mt&A*ejLgj-2MCWI z2gi3~kBgdHI9eGQ-n43$3?cT6yt#pmy|$G; zMBM^|B`3m7Ze*=%q76u`AQ^@4y}{vK*uzTNR%S+KhLA$)ArEkjV2$6_N>?AUfN>xD zN+xPMv^5S^~htTm(JVMAB;=&}y5SR>y z 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

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

  • J7 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ξ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

    Z^~TkaOBMcHNP?$Cd{Q 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

    1$J(?`?jp6+EsD8clWSJZSR`Hso);>zIHfxg_e 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

    (H(C*BeP}Nmq-?U_4Zx9yF)m)ilN-- z({3x<^-QTM@+R$iRJE58$OE%unE(BN(?`{Ys7nW=TkST_GUS_TwQXD}1QF{uSHsmbn&)RXG)r-{jt@(+ zw+r!j@4Tcr(A#J-7B*zMPe^-b0fym`w@{ANZ7nTFg|g;ujZQ(UFAL!y^SOv@{EOZg zgS26{&SW&)rsAdfJ+zY9J5f=#NVBI@2QB7dm`mb{I0o7vyKg-#tTj1HUe0zV`5?9$ zxu<;d9}vBRB4zmnH#-*Lqf45xL65jjC-C$+8ve<5ouwK4G2JlJj`nN2Jdi)0mXDgq zQF!>Ubmd}f(% z(>3HZ-mi6Qo29?Ccx2i27C5`-%s!{7*?KKpH{S{b&SjLrSOWWQl6@&IjAXhp&D+I} z`gdGNR`Roa4#sgA;ivf?@5{hUr22vg*S@m=>5XTMZ78j1q?DG#VS`CqvbAiX0P%g_ zH%0u?;Vn-r4-iR%m&rX$p{c}%t{g4_z~asTb#M`vo7}_=Bg;E%uU3$BJ;1xqUnJBp zoVq1L%Q?|^=Rv9lvRb#Q?`JqQzC=8>H|AR)G()KOwG5wEXcUM+PYR_ec{Z=i^FF`x ze#auo@QWv;smqV@AS)P$)?+-2yb2-cmXEUD@#N@Pexd4dBh{V8gO0&7*E_9N1&n;t zGx^$&dQ}PoNx4Gt-#VCQk_E5i!8zU!FoBIp=qEisN&u^&QjW*B+v7OX`r%jM zQPF`3_H>2(8y=;jeK5b_$8o>)y_D8I6p|ga&PB5=Qvl!*4CVxe8veV}y;a|&tR6{^sKzkiuZ*YI0giQ2ls z(5vdn!Z2H0V688!(`;8wT6I{+{eG(3ZVdvYnrZsN6PXSSIUNSicSO*a<4HwX8Uai$ z2hvGp!@*n&)^jOznC6F_@gchV=fjZBpyNHw)>(%LBKRu+0!2#aID7mv+;RC@XlX_h2a?gUJ%u6V-MR@le=bfFW41@z9tYu1w za>NKC;rFhr^jhHX)Vd;)EQi3K*-^<)yj6;IjX>!-bn9f-C|ATTiReU!&TC|25vBAb zaHODMsR$-U^I!=6-DYC{F|Ax4!P-S6omj+=5LOEe(G0X&j27IhHvipP_DDm4)BLNR zZq<|QVYc|dx&YSSGkpbV-@|^~FG(A8z8e+F*vCR?um2U=QRWrDc8T(h*LW%F8Ag~7p@+6I0>1p-mSgKW{Qz!jO(0hu4WRwLM{p?mGtS<@x8Tm|Mbwe=^ytyaWg ztSOxVuWABfwgMbUp%$Y8&i0fe%#V5kRc@g`qfsbmJ+QLbhlS%A(&aUyVq-Ybf<-fi zP#1TcevpawD4sfQ>zKXtjjH)WlhO2z`YO8{oTDR8RV=&L5B$y^Dc}IR{l~7iPSmp! zL_ZHBLH;vzJcfK?XF~}zkhUFB{Aw>Ufc@IQB3njOfC(jp;>sGpl;8o(hKk3T?p%B3 z%c+i{to{sL{0!ri=}c>UkYO+s>VY&YQc^n!ssZ<o!@+|$1!w(j2DHk@0C2_L@w zc;CRbuD!F61)12xR=1x2%EeLyJQH}jGF{J9t3R05shzJiXiq>)a8OoM0aLV@i#oLo zX6{S%(Bu85CUG>NZ!YxoV2bhf3$8GDl!|JK1Pg}Lyu7PG~Z4M5>z?@ zWzFb4OQ_Y*cc7%BF2MXwrEpyn2h*-d)v9as^x)m=JtJ4ZPx#_R1^e06Q?{IS5v=P^ z%}njt)|8>7!>T1}iux++I{2bQG|8HV)evr?cZSt>bPX2C1LXKiTCgQHk z-xcEm$U8fGKb_H+-Of~P(Yn3GBI|jv0YkvS>8URlnIa`OPGjqj;)}(XCJLK7!@TMn z9L1>b-~b&6{S4jO1Q}Y+JS~^KQ|$^%GIIJ&y!&wiO~4Al_$!Xf$;X6yx%yq%3kRqE zR~6^*lM%WIKRd@dQpO0kSdVJGBJC*qI9Nzs;I!xjMfnA?TX*Z?3(*}@QiS?3V;ys} zQM#(O`pk`MsCUY%NLgmkM4_Usfy7eCHb;uaO^YxWRwfl`R`S4(_g?N)U%EZf^qx2E z-R?9NrDhcl5y<#uhH>;ZMbEkMiV4%Bo_cpUY2fTgSSWLy>pf{mCUS{z_$|HfOZRl|C;Ikl4H;v?;& zLV=-bep@hb+JEPMoRbIeI0g>ROBoDeF^lYi|jw(}rm+nl%C%b>v^H zQ~Yd_0Zi-_TI;vw^`SeQD%h=cHheMa;NyR;TgPKW2T)jM|WQ4rlOo0O^;$= zM#>ggmz^3T*6B*XsqEnS<47rHdad$u#V#Hf96dHV(Jv`{Vo(E-0RUv8rW|EWRk8CK zp5}!^{EGgaLi$4|W@)y;NLGRo*+yg#IBonmkvov0HY@b$cR%$<+m8O>ZyHUq@nlJh z;!bBrWfsTX!VJEQZqC!9&Q4Tzcyslb&cv=`$JCe+iH+r@yM|36ga!YkxZx#&`Ry}`mo>=-GHHjUjkec6td|!< z%IlDItx@ZHEX|t^61i_gusY)$$;i|-p72P{g}eh&aEZo70GL$EV)S|0Yf5boC9|485O(%5I}om9=!-Kugl~y@UL?2r=lyI!tm) z&$cbaaJz~s8W#tc^f`FMGS$WAt4=`mqo}QW$Z5#^2B3|A4B!Y%3If_xL;k{06e;@$ z=(lOV^`ESTtr7HzR@!dv>R9{rjRphT%fp?u(yH<$31oBH9;!tzuGB%mBJN8=c5J@E z$te9g<|hhqSkDe@2|OMUSqF}R&|`2#B?IfFx@7)dFCQ~yOV*R0k%UlYf>mLm@SYrC zPbZ-asCRAd;7;Q{7U^jK>GChyX=G{irXuP~B9;27?4y&HHo&tIBm(L$xToF#)ZsLJ z0ovV{`a*9ZjeE)9394+`hA?+KG^&MBAiNE!_@wr!F)P%@=5{b8KXg*ek$~wKkX5UA zfUGLu*2)iL)kMa_Mp!6Q`T9d$_6N++pe0FQAa@rJeoHV8zTuIfj9xGF9`bB@A@5JF zz|e<coKj(8t=#h#l7!#LSa3{YkiNFJ89eMoc(^V*)O*YuMT5?_h*&BL|qe%9#fzppMBBgPG47vdAlx#kW9t+!6RMH2VGd0KVLUj#OtLO zj6(=RY@LmA3%A@})!Em*eqh!ZzBX*pOriU6mwtq)NKny5Qrps>Hgh!Hc@xdU;ZiJO zs)x9ojFkTe2Y5++Ehv6-k+ea_Z*meH=OySc2mdLaMEI0p-u7xoj1J!FY`5Gf@E92O z>&N$JmP%EJ%#F9Z7egqSC5veReqQu~F=c<1wz=DMSGVEkP|m?*e6cqcU;T?yVt-N- zxj~PrMn(In>TZs(E|HI{|J`MR-KhN(ko8f8Wuh` zyX)F{c>6Z8lY~?;QTX1`_z|dVWPB-jHTj7%LfUQY-Xlce6aa1ACPXZl|6RU zY^z;$=YuPSxcj)AhNxqSKyxcVl@x6;DreRy{1Qx^j1Szx)6_abzL?=PEV(f_E30L5 zMYSh{wgA-z3Oq075+WK{SFJf*OHQmAN#iI^xNe?7?t1-YxE0#a|5s>yRSo1-Qr^79 z7N8gIfGRmTHm~xS(sRt0la)VP_i=E%n;gyax$>1H-IMF$bAyO8wBziDrwEsc^P}2g z@(0?>%)AJ~BLv(*yiE{Bvy=U52mpS@f59Zq($MqTdRT0fIQn$8Lo=&lSFw)j zM_A9C(XK1%rh5vPhvSQ#@dFU&C>EZuhob+&b31R6ZQ(rt&qzDwUwBB40C*5wxpk%< zuF==4ix`qIJw^_F5Dr;D1KelAY_DXlZFon%O#a-8O-&f!;k_H}gcLSlO03}0p!g4}jRoAH;sGtCqU2B0XzHqB#oqe*X2bi6D~A1JVXhC!aHP zRIp$KoS&l)xVbRo%CBZo;ebs}I6}LP$&v6YSpW>QJ-`O^2PCaoUZ<^bh|V<|nQ_@3 z5vPgQ#5_Ew^6@VpWo4C3#=mj}hiF^U@^S$|f;15)WaRw^a329I0sY9zdf zH!5bI%&4L7AuGV z;jD7wGX(SC?K#XtGdr@&D9Zs3FYc#+GcE0m136(B>rBD@CPds!lRuB(_pUiK_A49| ziEhbb?)e$QZZcn>&3O!8D4So&_cw-WptCROyUU&XqUxUpZir>N7=%UJmaoHxzS1oU zqOg3m2i()Z6IF4|H}c}gG%YkpLtEC%_HF*c1dZM_YjbKq~Sz+j|G$))z6Mn{r4;;wY zYUQvxm@PeSTTHXWov>EUNV7zvXe=v`NcU5iS8BBE!)-Yp)A{3VuXu`Bxn^OPBMa*E z9#uMUs(o5w#O+tI5?NT1PkuOei0=ndU7L>|HtJuluwf@CK^C>``4()BQ9u@ORMvwX z0$f&wlX~eP6Drq$CpS1UUR^H%DZ? zz1}YQU7=A~Y+RgJIKL8tKLiY~3{~+B`Saw)+|l`#bme02&bR+p7Ykwyp0M7{VS>Cw z=*d(*cTtV!G6YcL4C7Gx$XYX6X%|xKZQ|aXy5Y+w1SJ5Q184zkz8Z1?u=yK63uxVY??^ibl`dc6K5L`VIholbfsU>}Ku|16 zTukN%+3`;8$o>Wyqoc98OtUMoAJEzTgve_n(%%fWOMmkaRu-GSN-V;H0X+V5vG*Y0 z_-Gch<#9Pb+IVrm25eY%?9TfR+&}$dIr~JaxG%Z>ir(*Y2k=utuJ)bd;D|psF23s~ z>#8uU63fQ3YT|`1EW4NJQx?VoibFGecwFAH660;(m5YSY%aYb*t%r^jD!!T;yQ255 z+usHgesK1ou=K9vcJF|6@1``FL>*OmNkVceN6%D!QkUhVW~aX87y4WtNtk-SFPGK3 z*;wdM~x9!s|VsHu7)M_d&#r1H?jdj=X;-r2a8xp$)93A zfsUJCI!9R{q>-bioHGY)zW+8lbchCQ>f3*es*J)Tc#O*;vY6rgz_G^WtNdNzWRDBa z(ES6)u&*PQJ%(4*ek-{#B@%wMXc?gPTUctpj-<8A>x^8Z2vMncRd%E1bV)w-Q`$Wd zwHNXU{Wki%ix3fxnxB*qqi@<;Hgjzj5yl2vy0RJ22HadP?IK}k?JtG41&vXBwEyK+ zj*ljzI(>OXpi^#@UM6HTAH&}*Puk!ERob)uP0|Ti+F(1RpgtArS2SjBx)E$cbS6Wa z4o?#ZHxHL~iR-n17?c`0AfYV}y>4E}7uU-(Zr0`Nnn}i*4v20MLTkfz42YpE>;0phdx}mlz`Nv`5)JZ(hqNv zCd1MO+U*PKQ?UO!wFU66BWQgt~(M!n@;d+R2+V1GVIARIHrMZ)SC##uh{NlzR4G zt;g@=@~!+$`yoN`YY>u#+(O=imno}2+OPfvEGPB9+dbM?O6)9_EUVRFSTv@9Md_#H zUf$k7#g)I{;OxJhMXBZaB;amwmu{%J=G(`yw4nLq*0>Mse!k;0MoP<0mOa^83!Vsk z`-iVzIM`kBwK=ZdYOQgKWgx0~xuOACdCKM0OdbAg<^c{xbl1eL@^bmF0wOhRNHIzV z9a*|9VtXa5DX*)HtctxQsg80E9YhgY9|AMb<^s62o>b1FelK4D*&fY|ECjOs=c4uE zTd3P6U5J<3fQEeaAnp-URMGS0WO51ynhuDQIOuOI=@R`XmReHO7EyOU2{#_2TIzvO zvbrY->Ax*QoreR8^<6(kb%x{90=Xc74|${jLu5PfJt0jBF+U&teP+!J7M;>qEJoi0 zmmHU~Y;R!y1~kAmKm(|3vj$IDn}nEaPcrF$ggFkER~*<)z2kI3(uz)&B>@l(1_u2f zATmj{JVAX}{#Jl&JN3X7d(Hg|Hi_(BF25)sQpci0C;4`p?_YG1-vHI zj{crBo`ofA?1234hCaC)`j5!;gSegI!5NxHJ3S7ek7G~kS^PCm+CD6qTu zm43$3t$?u0JpLp4K^;>aHv_-nMa9U#9DjVoDtF^>%Ir7J9@2xqy&WFuu6XNL4u^&}g&wn%y;xu$=5@@Qd`^zd5Q)3kfFLVJ~QV;%y1KbH;A z-@U(WT6@_!QH(1}AMpyS$$k}=i**$K0Y$95ExGtTVNAx|7|uCH-^Tn$1+wxoxzK%< zG^&dp^-VUi>2=ggTH2fPk^a-~;*f@6F}bBcjwI>CVnX|dlEI}B149IuG5{5Lcwt13 z4kGdjk2`EnvEBlFDcGjh>I~hxGv${)L=-mU=J-wrJ<)=%M96_w#nehrSfx4F6q>LC z|Jwhau05Lh`|zNj`)vK(><=t=KgnRzHI5*4Ld9ZIuVu3)V+OX4(ERvtyKfD3u;085 z;co&|v);i+(JiGDKN~kx-Bq8PuBwc zmagYJ9}V}VyOn+Lne;(<#)*AglOXdPR?Rq7swXiE5KW*q>lTL2HTL|66#3GZXK4O( zvu&U2Wqary3(8OQSBU3s@FS_;?O_)lZ*vBiGt5UGvClsFvGK#(?@Gz2c>cOtGXrq% zT`ZGavIb9Dnv7+wXiUD)4}&>I3|p^`f4^@2Lso9-8_Sndc-muw-;q~!7LSwZRh{*c zreATEVp5n{Yv#2BGt9P7>S%}mz;c+jJVSUsh6~JJ zzWitvK4blBJ=02TaxSq9kbFclz&sv()A`)zw@eM#(QWlZ;~L(pOz zvJ_AFxXE>*UN1LLP^nP)3_Sa^V5q-58hGU-JmUYNQekXV?E%s?9iUY1jYdqTdO;MF zC%@$FxWH{*i%cATa~`Z_vd)z}4$p>;u-yf+s^-i!FU&7=Gp&_Bc}{8fXDeZ#$MzI5 zyrdZZk+<>l@<$+qwjA{+ThT9;+FxMjm!C*8?;GM9kxHD6leA_75tRM=id8(4W(#2Q zPnEKmtL?=Re`f(qx#DeUup#uO`Rw1$CXOXm{@!#|7!!>JRx=V!+h~o;c8jQ^ZZg@} zxT=TgO1cIYSDI^1qY1O{d;j;ss?Ipk5{fOXz9QpKL%ptJ6LqBSm{L#gSUkKq31vC2 z*{O@oMgo#q>izk4z{KfItonU`)&$h=AK&TzSj1|J^&K8I{9t3-J?X!`qb=j1J*X16 zL9W16Y-II2TrNdu{cYyO?=@qRg~sr~{AEe}D};ox2z?L)5DNPbLX`g^L@bTJZ-H+_ zB{4Zp(o*ynq5a8P;k3|G%%D{`DMspmxHW zjhHU>GL-u^nY_IF*K;_LFoM2%V(D3Vy*qw%=j4&p9&OjOFawLtFM(zSox0mVijG^I zetr-16l&eE{Yy!)hmGg*bVc1@-PqsmJ#ZIdMEslZcIEGb!SXMT&y^>gTxAH3fTw8c zU?8fSu|YebRB;@YCLMRL67<*KKdxS{1@L+Dw+!$5|Emm-o6TFQuzB;a1o<-1wtZ_x z7(r9W(xW(`ln5i!iL4YU4&N$hadEscz!xLSS=Ou<3{HdhmVZDp{! z>g|*NGv)s^c1_oBDth;980c(Kp2NBnt9dsZdK1j07bD}B@Rka1j%3-Z!m@;zcBb^D zb_27+<$Zd1Tx+fq-5PyR{_N5|PI6qv#RR>xmca{N1Lra}ex{#ht4Iv9Xoda_9e-)1 za@S46Ab;<}-JZT~Z0tAzuSx@#hg7DW*n@8aH;8mw4fofzv7wWAbB6C<<|$w?JX^PJe; zpE6Cq#xljUaP0r={h{@|=w=?Mw|&}C^-6|a6N4w!@|7QNcrlHy+wHaN%LGx~NJa4; z*V}%W+$7~3nAhrCoBu>>n0e7+i+=bqz-_gQzONomQTt_2YftkT8UDW>V;|%I2RsJ4 zdmoYD$gnwpHjqdXl611dus;Agq>RH5ZhCEsz6)!YS59f&2@}MP!|ypKh!gay>#BX| zZ`EmMS3k!hE;l*W$`59E%Q4i}B5>x#8Y>BTMddQph2rM2H#VSqtTdAT&QVkj7B2wK>YT*l;S@|FMxAwFEeeek@P z8mzXl{Pp`=yd;ob)f7L)7Fxj=3prlrTtIl4&SS% z)J2amTbn15?*%aPKIwOu!F>lxm7@%OmwDb8+mZdkOMx9D8%&bmmlTFQyDXs)E9D-{ z>!MZY$nxU8`kwsXGmY@W@e>f|)tN@bLt#9U8eyjP`ou zem0V{(${eTKH0PK22XnEbooz^e#s019W)~W@=Lvcs+0Sz(w-Ufd8P@*@iStPV&o|~=*lTrLG1_<+j-&WV%RQb# zqMNW+{-`u18)Iiu1yz^UXRU0vOVe+_|YxB->CqF%EtCstMmXoTT7Y!QCd?I%a0~G5lL=d=+ zmu`l1qL$h``l$t0x$anG7u>_Q4!6Hvq$(0*N_`DgKRU461@xCHkB@+*i0 zx;)r{o?qScuhxb9a3IpRLQ-O>@hyYrELN^}EANZa;C#Q{Y%_%ejBthdwt?W>9txuH z>?_=FFqsesqMSp^!jpaG>STyLz})J<(fbwTTe_gtz?l2@%6t_nDwsv#!nJDs=Xw-hJeYlAHYs&m7t5y)EBsjwypp1dBM6cF^xOVUvLy~{Kyu^uLgX=niV zXc#Rla5NaeA5)yI%+l~RH}d{|VeH~g_!f(ec$n6s;)gdAm__n47n21Zu1C@N9R>_p z!=5MbtOY+IXcEB_{p0K9lWcK+e7&c-UJ~o;uYc4dU9%cUE1eyGVtw5SPr7;cUtcHB z`T`^*<_y5sVJgd=xV=VFTen+{51P$@(|bA&w*f=ok(C+(gIJ;+wu+K4%GR6<^9O8z z(yaqEs@$=ph~4|tKk=c}hs76ywp&br5(5pXj)%Z`4c6Dq=}|zhx20I@tRDHXhoN%a zRpg3o)&H=qPSSd~EY4fGKy>vDU{;ItB&+~py&2H2!C&!rtG9mtwF zG+}9_y4V3OM5@c%#|=%Oj;Ft{U&2p|T26|pLma=%2gT)ckQTeDVzT2O3=>1O zLlN+m{&x;;nZodadYOCqc3RSY_HSw?K9K3blW2DCPNA1MZlQEezxEJvy?F0I3N zLo8cml;08o7C}V%IQe}zbrXAr(2{yQgU%s+Utfa$lEpi{brU!lmKv(e3m zoB4HszD~)&RqdY`cIuc#Tgf{SLf<6F4+x>*#;faYA3m>v8C#1?{SDO; z&$cGD@r{f)gaj{}GicymV(V5%7KF#4U2menI6DalEDfWbqV# z{x`vq=cUobdIq1E(e`CpwaR+ry#gCQ1O27Y^!Iw4PBsyIgQ+lfOt4j2uxmaw3Z5_e zJkmoklX>6LWFZT>7oSDx2hw(3D)7t<%h0shK@6Y` zg9em8uwSO`-?>fQZ^UOYbxfro^>3rEj$g?yth*>;2KP(vToMQ)B zx{%HL_DT;Je4*bQ(b_(-LD%cfIy+wjMlMvmVpc6Fxc0*aXBYTtD@Yp}Oe)KITgU)W zw{RPHBh`eD~&Sz{9A6%VmF8F%hji5>VY%nm#~aU18&5{Lh230YOs z;mEM*{?r7JF%}e+5*Fst4#iNmT$@}1+KiFVp@IVOm}1^DjSIl0qWZEjy-*v_mu-zT zQCrs>Vx2UZMZ<^r1x^F`)#bkbG-K__>=pq>&Vue5A{A{;$W!8l-aQZ^TbZum zA{#$_KKH4_IEkpLY*F2t%9J7mnl%)urjl+c697sh@vRhowb)1FaWG!DyPR(jdXS`V zkkGoeaMkl+zU$EVEC`sM(WbJ@e;(0=KfFru36MsuJ8)Kr=eD2f!zIn+?oZ+6VnelB zGk%;#_3Sj8Be%T*mTaQH8WF!KvyyHaUkJr;5i4&oYvpj}!HdB@dp8er&nG*+`xs4M zE*=Kc+jLj7o`vq6U^J6r7uEB7Em}`C)B9=|l5O|owWIPKZOwgful-cdAb%N0pJ+eA zp%D2Pb8xT8%$1}(*6pVDD$p8|>j1Wl#u_)Au2U)UVNT*tlhQFW4CXW;7(sn}Z0#ma zd)SBz+}`~@&$;Lmj)UVU+#N}-J%97IVJpEjy8cZ*O*%&z^Fe^RLYrTMA=ej*Gi3)i zlxdFJnoX1$p>k7JXIf33yjxf@DB2^3plm54w?n9NCB}Akn^8tpkea)33ZGhpZo{Kt zHuY@bbQUiaID6&!kYB+`)=SFht0I#CEmT{g5p$mA`h06RqCEeuRMKKcrkD26^N>W0 za+mF(i*J)3LI%vlG8GW{0uAYKbK&-Y7PWcPncM8hXc6reZi6jvqbj$&I7NWv(X}r( zq;8}z#2$?AzS$FdL{XpN#g13_Qq)F9QVd=e{x%1DU}76Mu}Laj3h029dG5fEPW}Oc z<;`z^*-1fw9j||$@sKta%~9AMa zU0v3ktXVW40|q$`kdLJdI?`PK+kiFbE=uzH;y&k zZSAN%G}6bV!F=(bHyL4Ry9;G~f=jEnEIj=X;*S{0}uM1=XE7DgOYb|=^PNigXtH*h3!&Q`5)7wjUXqqp<{ zwC|hPy+SmI;!gCIP&c&~F7sIGoQ~cB747;<`13nhD6zeoWl>6rjy~FP4mcU=_o(IB zBK}}@he0E)T0w1-KU8rbK`-Lv7t5TEvY_$4Z*@x*vnOV-oKrIe%OVC<{^VLkZS(pV z&diqyV+SE|J3Ly_umLbT73HF1+){AHo>GNO`Fu3z){c;vMYi?zw4e|?r5izMS)43d z(h|cLlk2OWf#QT=+FybUC{D~oRkW1xBgpT{jsBzm%MhYBlzEh-YTkSClSG)3%N2w1 zycY1W!Dit^6CClzDA_B*#+Vnc5srR(wsyg`tSYQ-3NM~cPk+9u>cYX3^*lX^V^7z` zk~NF>^2Ekx6G(TAt{)lX%k$!0^ zXurgtglIVJrL!aqxyP-0>ng&yFaAWB6vt*Q5MioA_61hAVNSyD`AUgA+}Nl>0FE?q zDEK5we6;v!l0I-t!H8|O%C(fT;#5oC_48}$_yQkeg(IDI<~1#FFvywFE%Jp= zKAHW6Kyd!7OQv$CmkgWYFX^O(<5eoBYpT*teia0DeU?4U34!cXqy8_}^L?w>_V$ac+W7Fgp)wVq=F|l&>2<2P^)?aFa8Y|%ZFs(Y8RfPNc90QLvm5Ia zylSM+IbA$|4Dcppi1myEE>5+kf4K!SP#rP4sWt>t<}Z)PikiB*D2Z+aS0g-V#Tavy z+8D{B>@`bACQ>uCaq-FARn?w7kE&h z7fd~|NE!+$IJ=9RxtjkzC4CmZ1+Cw~ulN+r7*(2qYWn**6!GWkDid+>&tm!usfljn zr2Ayr6+DpHE7H*5m}7LLuDod!=fO7o2ygb8q6&%VE7@a?io*3eLQp1|h*E>e;aMIk zEO5+$2cb?uyxFX|gxknAEX*o^SZkA`vp64)6gVPOH-Hr1T;9_?L76iSpUHp&fH#aE zoPQm@_4@8b1lw0lh=0OSptUd2fipM3=Q%^~i-j@Tv5^_A3H)0uabpJS5ie)i zpJo|XBt4&+5zZ((s0Zx3_t(Dtd*V;L{0EXv;p%XSpP-zX7^>)o=D0ZjNCtr;G{z_* z-81tP(W8*i6Lp?fqpZ;zjYuzC-eYMn=uGvMeHG{YG*y357^zdjhb%f!X;--VXK)Ty5-C(llvdXTF+Cu_n1b zaf*$^6QKNWzUiLC1Q5uVa5t1pbu&GtF<|#Am#%KBL^w(>yi*T`T+^yflR^8e@#In~ zd_yZN4Hjq__&ps8ZT?}%5E0Wdx`F zM(lWKIQQm=4$Xz{Y^CisOz{Q9RF*M!GS9Rzc|h|=hHsC_smApI%uJV&4uZ`ArtkyNf<*tw7uS7EO0U7{r^_8@aoI^Go)N(mycT-djB;a7HhB zc!{0b-lPhwe;PLY^|3)MF8RRdH7n_{HG<~)K!RG^>F9DHcXDeTdyCsgd=K*N{2Yz% zwF$d~+NOJ6Xi;bPG2AZH&3Kk%^ld58HqQ1TzZR^@Og>|qoo07-!;RI??J}X6J}sZh zH|frxt=N{rdP3jjk37`|qojn61Xc9j2}xra6A``t^DJsbx(HOUGiCi*35)B8DAYo+ zNyMzwl-XFg+r1`({e-e;FTHrI$Wa}8$EiAtkIcBa+*zmQZtd!ZwI=ps$0w|x21IGj zVO#IY=|9Fi_uEHA9t^wK0;;BXN&CfCO$DdQHasD(~RyNgfQjdj*curKWf~$ z_AB<{GT$Y~xmeb?=7)=swW}7a#Qj}9>6(CMv@3L}=IpBhh3|}f%EPSC_~OikxQclL zMU#}W*5Dm(6IYj{4Ib;Vu`-CL@R5=;zOrIl&3 zO_M=Z3#UhY+?UEAnSlVTds$Z5lhJTs8^xRIb$?;z?;TNGK^I(7w@ZPr)sm+uQ(Q!k9izf zUwX|D3bC#6n}=Vm(iGN^a>@(c7Wu#GFGW7>QjXg=yOjM@JPfHSMM2E_^U3%=G{^Wj z?^M);s7nohj~={O8?9vXOT%>c$3}iMZHX}@I-+X37ndBt7C%hhuB<<@W| zvZ~}}R$9$sg{t7C&7&AgqL0JAvS~)u*nqNmD4@U<6S$mSBzUIX358W+M11{c5hi+w2buF{=ePw_5E^j#>+nIl-?w0I=XEj&p`Sp^M;^)cUZX5rPiur(-vz|<3q zS;xWN5UA}dh}w3bcX+V;sUowA-??L|ULzj?efCNwaXZsIsHdGlkKa6$@RxP>N-o#9 z?Vwqyd2ImMtb*fFwlj%y+|D$HGVA5`TslLC*N?NQJ?)fStAAEr_7a3`<02{e& zeMrfVh!o#nbBXQNv0iSCEnj+APX zYcoH{!n~KXM?`;}!(`=C)gNl?0SWCFHlYge7zH2aPPG|m?E2GgYF=k;{~ zi(S0ybBAjtPK?fndB}o0P8A~$fOo63A4td=6G=P`Gz#RN`TDj#gS;@#GM30Fo>FkR z$ze_Q#r-IgE-SM9Pf$H)#krgh?$CNQ@ZD#?L|I+{Mt1PNfIo4bjT=ff9R8oJp}DW& zRY1qQSAJ&V3B>enQQOWKa@pxBi{+xHnA&<=R?}=9>kVjDtGv@kh+ZK0gtQtIIT5tq zA_9(#<`p;f!ha~+k2egiF&SEKz1L%tx2cmU1L--fZ3e6k%X$K#6~e0Lo?WJb_6y4l z)U4$9SIv^;gLWFmz6kAkH=LL0^@4emfCE~dn4|ITWaj8`=3OcmmFi>zH&O#e!=3ra z&xGdAstL*X?-fy?Ir_3EDscl#jIwvtO$xKTKIsB?v}>27lm2-}<9b#}sA(*iY&M)@ zN~Mn2hbk!)MFN-qY^H7rs8dkAUzuJe39eZ27Kn$9PG7G4X>Q<}@IqWVj^80ZD4hOEm0Y+QJ8ZBR92{76O9`T%z^5^BFGw5jw z|6FikW93*4>cr?`n2W67%3MI3M*D$+tS*tl(?H{wpl2T)7&Oxq@#=!TgHmtQ=A7y9 zO9pe~+2>Da*~l{nB?OOa9V$Ww()+KQr(KwdsV}WJJ{bBYY7UbH-})P3Tq8Ozy7I>9-;_r;4tEL7p-%y032M zuuC$q&8Q903ufj+s0#R(Aec1HM?!m^E~a=eL^GXk`TmsFjepJMoU+j(-!Zb}fg)*N zx1L&=`4eOUQ5PW3$+_QuX92kTvRf&rb1@}HWhW|5pAt~BmZ@)eYSw#eH5%r6%KMV& z2P}8w(R)PeAg|m_ifBBUx`z~Pg2~H?#C zse&*SIlbtf%iX-R@#qL3Z>gzj!z>P>;GPEzW&FXay8%XM5P1%nR{^3OYgfbA0Bj$;b} zeri7|E7w$io$z@eea&BWzJTKF*^ZVbp(`o)?|v(}T@aGCr!9HQrPr&ot!+ zDh>)@!dMQOK9qV6Q_+e@IVihZBbX$k8Km&}snFa;Kjh9)P3PVgC5!hk%^I}Mxu9S< zqRlUg5DmPUU>Fdg3TqwhVm%dDmuyVwSdty8??- zG_-8Bh@M=2Y$I-}a1M-D6kN9-yY=1&7pk2)Sa9#4O$;QL=L)tZf(C0u=d-i`xF+O% z{V!Y()?`!7ygr35ti-$Wlpbpw7CqJ~`Vln4r6jZVveoLjU>}9IAr_Y_>QF0f$nD(^Q59;sNU%yih~(3es@aLi+Cx zt)hqb)J=M&B3#Wx}qn) zJt#a1Vk!na8CEOUeJ5BG33CfUwXAj&gVZ@HJanB~fcbD$nNuGo@X=cKTYrbH&-#OC z+V4>O)>4gp_Fo*ThU#|TA_Sk^l>5A;NSLlKyj`^1X{8dk1J(^#)SzT`Do6P}G_~FP zlomSkHbSMa4c(=J6j+!6oS4TOm-DUx;KWG!Z%51=*U#Kmlb%mz3M)4c0x9~g?~?YY z=)gIlG;r~%_GW?Rpp7~A5U$_Ar6Jq1FMphPNeImI-<+6X<fATcYNi>n~sIWP7BMIk26f!P@n!Aq_SMU{u`vX zU{3e|qzr!{y)&=<2hwF20BP|Rq_@bxA4l`)Z}!!?d?U#cy?nU~R)KaWzC&1ZE{?K@VM4$wqdEC8}}Ot`e( zDD=rFg1PVR`29usD%YY7mZGK(O9#Kr*lsa}kCRVsY$f+~?2RIP8)po%q(2NZI#qBc zTfc8u2|z4IUrC))+r3m+(&eJ6NI4CauF_kb+T{#TZ=I8Euv`ZS&h9k{A9=MAGLh+5kM8AI2w?3dm<`nT&R)^Q%Tl_Rd4Q(m(gf$+GSRrGf+AKF3l1Dvh*W*71i+z7u z!-8-qfJf%AYZt@H9_Jz$c=aqP9)2j5^2kZ*+v%&-lFxWpc zxE$|oJ$?lV7yJPIe>i)qxGLAM>lZON%sJ_jM(LJr zkZzD}*blC?-nI7oefwn36A%1(;Qt=ixW=8&4PEky#x!s3;TKdFPM6<0XK$S?#8EEv zF2?(EKFbD_YUD}0>zV8j$G$^)J~i1=dn zk<@2<07-gA>``O?q~5_U;P}K$Dw{uw?lktaMu3rX^Fk z)I1L;!fW0|wiG^R_>J!lRZvt5(7y^64Sh*)mU25s@jrY{8~T*$>VNDy)_zxxHLcqe z*qM~{zh6j-%FIXNlJ8bYq;1WdpW9tvl51h4^ z%_kUVgym;*UfiDr&;s`{Y&tRcVQCP`87Ty`s2VT#nDcI27J)RKL%5X`2-WZCBm2}6 zb*iag@j6|e$k zi~_I)|6$8&_&3|#rg!^7c%}vSJG^8vtwFny${0rp3~0cyDkAD}NW92x1H&R;Ukn~( zN|k19FZ7Qw zbWWQ3mpU1MdIfSAAGLD_(F&Ztgh9UmBWfq3H^DLj(y<9c5}~Raza;RI%5VT`;$XZ? zQl0J;()GyW`QyWlz2CKZ`PkzCaQ$ts?e_7(*jX`Nd4IOY>VLk)!Nt1w)U=2#mXPsv zA=qkbYQVJdY4LM{mD1Zz%&g`ztxZ`_0Qh!lsaAOI_LV*&;TEqg-A8>XYrsqGFY!2s@wOBoH;y4f)ue zHM6RX7p4%@0@T+lC1yZ-2)q%&g?vkY5PVI#wqAp?BEX7O+h3E4_RDE5kW;Z$a zBNQWn8-JFnmcH+HI~r5k8ee|9NCaCPK!yd6HQ`9ADVgCmt_###4azFP!n+BDTBAl? zR<%ft`nwd)PfI7@i@7m>7FT$Q{pviNSvAWCA-qtG0pz&oF_R6Grw-Nea&}Em+GJQj zAfltplVBcU=l7NR;cRw40Y#;R6;wTwo+tVJfl@W{4W^*x-+k%VqxsQb6}hGheX4aA z-{Hp-rY*su%iQBn)4a^@^RKJlBAt5=9pkTpxy+1evj#|6t&Elw(P9mzUvDr+X zeooaU_|WtGQmt6RtL2*R{BjK{gEy%~8dmqnd5>jR7RP*S1$nnEg7;p4 zWEi=CG6(NB1+S6oNb=sjLXCt>OZTesd;T^^`9;m0%%BI|EID zr;X^6Im8`J#{DFvj!CZY3kv5Z6?Ok(a_7HqW0;_C%_p1`@&G9G#dS&hQJIPjR z2)Cb54K|}E6T5{-a;ZY$8A)*vYp!}rphCT|qhb*Ms&17UcJK(3dY#=)^OtWZrljPc zn!y!ogf;^>jK;rjWInOlZ?8!MR)cX#SB}G>WMxH3SB?e_e&1F(GzlBC6`DS3CO59ZR#Z_Iw)9n9jhdVXq{y4mFuc zGFN7Jtr&;VB;QEECR+W5lJOpYKNi!eF6J*0JmNYnG$Wy)Tsb7lO3}#AbeK>^EJ2re zgRDodrm~xN1FeZmMaMgy={oHRM*1odXN z@WWX3(&kYFPye}u%_2#qjk0I7Y9nnYG%}N2EryF;MFcV7gSvm_` zHmABLm~&dN_eXW?AEbPIQWI$)TGFDU7Y;cQh^E-TL_q0bU4bkZX>*D=#2$OGZ=*@2 z>+2qPz;OZA9s;P`J6}*tzy5!V2UdrAtwU`T#-Lc^_3QFu^3Trzj&gAx*!PrR8^Icsu3S67so4Ij3L2 zgKv5wP2L|YkA+zsL#iy4dbZe|I@HzOpodr@!(MCmX2sY}^M11zxc#C!)T|Z4R_3kH3{fa1KG~a+@`oc=+b4Rn2O0U83hRHOQdxLkEP8!9ZU#oPW_myLi zjYjp5=OcJ!H|0a=(TbKQ8aE=-O6Ma@;I$8=_qoQIG_ulz{=TdE1dZVR))L_6T)DG& zfSV($t(m>>7j01&Nr0E5 zJzXgEkBp|oNAL%V&`_{n2Uu~vyHPbFUpUTAS22ioOpZwGS~*M8st@fxpcEgT_^5Bx z1M>ZTv(85UkHDS`oaPd^l+}(tGzA#ASp_~7VBiuH3v<-GlsWaV{BwIl`X#|Hs#r{w ztV5~i9&im$y{XjuQryo~U%TWC-kIO@xPGN6&pGZE!^omZBhsP9bjlgbuC?}OUm2=M zcitXUt)ngQ;jh%&U4>yTrgK)0J59f6Wi62$bNn*zSW@YNUpy@E+7MiLmOk#~K{Y#O zUABQZ#){?kmyNR(>*-Rrf+_PZUR;dFWsnTXyVp6>gS0CUFjZPkz%cSyObfbBI|8ME zS7qq3JUJCI;8gr~*jtrg57*v67UCO^7;Utlc^ZGSD*TI;JK2q*5yjGJHWbSs`cv}P z#K09<1EWRCRK5IFgvK~ty^_*)_c)$EFFOB)Yrj3h>&d@GSMY)y4A|v; z87X^s&zkA9HlnL)OCLk+lf!oz;^$O5C+lq#&Ck7J^cbH(S zG4UjwftClY#TRT+;|sG{oV&JAp@5%qVtgD)I=R+pbV@9hGS!!dCO19>2js=X2|kIo zBeW@0tAw|MzqJ`R>KNfBXJ3$_P9|hMX^mdnbEuY3$Tev7No(SfpAotMt(lJkTI==I zs$}iFMjAuCGzTPR@yep}QZ4D?GEZMemyP z%jpYS)l~dyM)75}mSkEaT9G>Pm;RmC9J6es%ueP5B|UFWtSI1TJ*neYv$d;=CVNv$ z=0IwIW;$K>CmmjE+&r;Mqs9J9bSbpX>KLbl53Rgf$`D1biXZk33Gtq}qwFH^}BJs`J!cli7! z0=tpU(j&@mIRi>F`G)V!O1)0M?P3sZ^{cPc5KGbFotEZmn;n;lsMCqQmX!NYx#Zn=Q7E za=ERdDwYCO>u~C+2Lf5OuOrB0Y_xc9?Cpp?8Gn`PliA6gz~WK2Nn z%j51ZTgVm))fd3-oyG~A19PkX=<>IVXH&os) z2lYXg8p+4sd@FrvfOjBCPoBZ6Z%ARC4)JDrPd$K^v1d0!9Ie}ZC;nH~1Z(>;Hqa7G zUj1naSHfrEox)+K!VQ|ivQ?_M;-9w?sx~5VWRHX-T}I_o+$s=RIT-%!2Pq-5e@KBE zSy7GuH>p`{_dhl_GGb~fRWyaKn14@}3JuA`matG_VOtvH`PCDWzycZ*gLv`KVpajg zswO6iiQO%$Edy8`A9rNNB7~}mG7|UT&EXDIie)KGt%pQAcMFp?G?UH)i-WH(o-VAG z<2~BzFL@$v6ci&!M@^90E6wPibhC~$wUhXe0f87Jy3@|5nk||g+bc1pD!~im2Wpm- z9d-^2sM)#kD$=|!x0VgV3Y%0M+CHkKf{e-kRILn-?;#)afPi!6Xd8}xsywPf_~b6h zjBjll666~p#LW)x&02wcn4ieVYroi^JAZ|?R`mOK$1$ru3XW5T@ivoz=qubgb{_G- zOfMGc6b;9)yYN2&gq3;rPXJMN4>6?Ih{OaEzOfZ>YKbU*QX94jBl_Yg<8OS20&_Gi zvalLIk$CLy)hCDyQV2b18ZQEvVGC>uokxQ-I%IzBC-`xLmTxYM8F(J%!(<$HioO6O9!Y~B#&YDEmumc1vYwDbu=$P0jiFAwZK}i7flW;;x84iYf9RbYF|R^^*q}Gy-Uz zs+AH2_z&Yk)n0wSfZWS!bZuy~I1RMFVe(PB!}JWg3jZoc{Fk`}ZeJo!D@B!^aw9Nt zNUG_+LC?h8<@j#$8jgK3P|$ewJHE{9f4<~lK)E^h6mfC;hu=paKpbG}c9|pQY+cnt zB$k-*TF$dN%Lem&BCDhKHF|p!luG$?xo&aUG!3&RMT^y0_?BvTUPl@xBC~W!KvI{l zWInPMcxk)#!qf* zr)_&#eO0Ux4|~4tWTu#Z=2+!gBO#hLvM|ZVl*{A&cI62oI~4v2;_UxGG{h!`0~lsL zF?5Xu<@{0(kc2)loZS_PRlLo+Ety4{wuVm^AXVI=V$=Q#?$*a{7{Wl{F!|GcM}J&q zP?;?TixUQNPCi6fw!7sA8$2F7NE-Y>8|oL4EFk&N6GwvyeEWqBh7#%_^s-% zHObz3^mJZMT~c?KP5jL^WCUPKl}mlg`8QitrPuaKM2J1_rNlt1x%W)=49D`5%*u^L z1?Zut?)i_Qa%sH4ddFdU(2(6gyl#AVI0KyDt&=^3++RO~Sj68Wf2M=IZSeG{h<wQ^G)~tqGyRX%I2G&MF zO5j9;nj>ygXdm(|lu{%EL*na&yYj9OUyuszAQsU9`{vJutD^oibw*O_N7V#@}=TeDVHL6AACux#Y!3GWS(Ir;o>p6|_e-rJ{0B3G`mhR$=&xdKQnDuV*uaCCzHkmMJ z{jZo`08`;rM#p0}-I$oIDoHSM2jUa+@0%ic#o+hPl>ZOpg+`fwkQeQ~enQ@340*d) zytoMQ04z8nGf(p>gQk3gyg0TQ^25 zSd~#6UCN6ZjC4wU=+^NSF_+5hkrp6|6*cWQqarP0uAaXzna)2pIu##kX^k`S#rAyz zUl>b8&>ZdL8d?O8SG&G%+wzz|J~sTuA7RR~;}vjCqWp*S^r@;?#Vh}S;3evg3xs1( zHf&ZnbI~GqnD6pAw9;zfEnDv&)}toGy^3m{R!@-$fPFq$mC=a`PYkT~0kHY4{(&7S za8<=)Y5wK}6U3l2ad5P{P)GxJ%Pcl|dplzD3|JEiIQl66{o$4fw;!?PO!9Pjlyy*_ zTm|;n7!6UF{Y{xeLu`Moy^R@GW&n&-fWS4if@#sm2{*Bme^8m5> zq#(*m4Qpk2srtTgti7Zc3adQ{PP|YQoe$$>;S4BIGLgEhc}L2_OT@IW1?5;{u&;8j z&7&8{HLKqW^QR6JgiM5Kc~AG?-4jL`NGZVIl|O5riXpQ<>N(?8Q*zhd&Chi z**@3mK_YQ)+qMYEy6NS-p}?C*xaJ9xHtCXUk4x6Nhs;QtqE5n{C9FG4e(MN)hdcBm z^Pwjr;Z5C#;|5EO3_W!{FhfhL7Du&0P@E6~N4AMePA>%Pa6VUY>yqGhGi;G1RJMJ1 zxMS{MH{WsO_bl6Qs`a=?N2_-6Kn#R!DR>#-L(R^4t6Y`t%$ScZwqF1VK$1&e6tHCW zhlRE+d)?to-7`(U>OEHS%gXrq+qbG+g>i9QbJ6g+py%vFm(hI1Dm1*TWmR&#Kn*h3 zLtMmN!BmWJPQ=LZVQqsiR+dHejhF%g++Gr=Dt9%U3$~fT)c%(pP@U6%<^n1*)lYK) z{P$jt9ILYshvD=&u!MkBy@wX$Vx0(cT6=4hsL8L1>fOtFLItZk$eN3cPGOA|#ms)2 zc^7gP_I0(+*MrB58ryFzUw~>xwo!$s%oVMaxG7Fqq;T!mRCS7 ztvqM2IuPBM5Nz`COEvcy-D7DVYAK6b_YL%=-Y0v7Barx8Zy4+)-_HUb0!?I+&#ifh zmc`dDR8IJbAJ-so6v7aHy%hEZUr{wMe7R{p#Z&fak5P7vaz4U&2+ibIisbUlSmkJB zNXF+^XPbS2kCm92{xqZ2(e~u8wJ|S1-S~{UFVqG2y}Ih!?zvr^!vbfg^7}c~A-Dt` z!I;fD{$|71pY3WR%adIl+&mS{#O6kbw7t<9_dd+G-SyqVSZitC&?b!T*e6JaBdHkN z-Y;$FYFxJI2xRvREcm#IbliT2Rd0}yr*iI5Y(pqZws+)4;gptfmW^I@E}5h~br7~i z+eZNlyL}0tRY-bwb{fl%p^De_jTDXbEC$7tmi4{$#rHFr`G$XUv;m{p?EE)w?M1I= z?H{-Kxp|LgCb=ApY$wTxYUgE2)qGB(cKAvdYam61i{(6)eq(i3`fCwnud;L{`kcVQ zN_5}N9{HFUAkF41bgAaLnig7=q}Hd8U{h5SHUCnpNp5tr-EmjmIlcYZ26Q>ld*%L~ z9bm+y%{nj_WE~=~?@KgF?~7*(?kqFU#YQ4`)D%xGWhpEZ!tQ>~Na*Fp@Kf}MzRPP& z?>mrO^(o4XRJ5zNF1nQ2^9aPPP5RsvtnyITthm{#rz2nurA{76%Zg=xDWJHO03zE7 zm%C(a5R@)P@3D*V`OvhXl(!YZbt@G4ZLHc!?r0;!M!LKuiHJTi2P?*(fm%bC`UGsH z)3OAule-Oa4-@k#^!OS#K=ot6RebpoR;X>Rds@2b8*dAB73twt6obHvmW`Y>{fBj* zuk5AtI4$7)3t-R^46cDeQ&4{zwAe_h>&tN@Tm5A}6FSZsLDZcjdF=TC^_GahAPSam zQ4)r&XI3uP-*P!#T)$S z(8m3DD zH|Kkn(-1q7POcn8k`a=E8ov1hUt1d(w*DxGAPh53)Id@nM3tB9FGA=fAqkfqhQuDB zA~%Ftn7&Zh71U5x_m8~h^#tgFGV-SfWxq+)Pg{88l;XYaj43IAu-W?)mm-wsE1?YV1)4i^4R?^_RW z1nHog!s3aU)s{@l&>qlUE~8Dpp!^xJ&psbIf&ZH3{Z_7FR?2Cfs*@Vq$W7I!YR?)* z_LHL`qgmz>RRf4y$(V0hbLQ8?$sz^ zphm0!j2L{&>$COwDsh^l;0~TcoG*8M!>5DGvLWUl)7zHwom`jwFf|Hn5PPVbd#_6> zlZiq2)tu62zK-^N9^?9~cJ@lUr%iQ4h@Qr;Q7owJTks6GK7xb1b$*}h6f2s3^|HSc zfK+}rtfCkas2~A5uir_T=nwv|MRD1CRJ|wcuUPRiMJQz)DNW6&y5T=6)uPjD;Ug$UnwvI8bPD>C`@MrR3F1;LB?;&J+l(tLI4KhxlN|BP|X zZx6S;Fu#(E&PLbNjD4q7!{S2}n=*K{PU#bM4mKn|$ktSk*Fy&KTb|{Um6-9yX+KlK zt}}UG`C437bChpyP$ch0Zi<3KAd5Fj>8e_$)~axZCW-dIJp8v?WL?(Q)c7dq*L#9J zv^-WZpBqyzh=3q|U_GleO6GbY*>fr|aOK*`s z@}U&=`%2YuL0vxh;PXJ9F`YtS4D zhu8hcpQl?emcsvuHq}v=^|`CW)hig(R7Ole#BMc`u=6-@Hw2#u=Fx|s7WMyA`_oL>1QEMZ*BBrXF4 zG?`NlW3=(_kDq^T05y30CtsKtY&oNqJ>H?gaGi$Wc+ObK94Lonn5U^4P1qH+sPTWN zoc8n_Q?P5(v2v$u>B5VR&6_ktg0z$8()BkhJhIm2wzGz}`fE{ZmMA0J(W$PI`Z zC#TBV)>XmU3k-pJ1kHrTBcC3QXiTTGIv1*GwVp|M?;xS=0cyI!qlBk&X zC_mf*?-<9?@$*?0*ZaEOxI(Jk5hM3%Jr^G)KZmXHe=swwhhDK1gI=$m<=I6wHg3P^ z)Et*dMrPqJMYD0C?V>0e(y7nNL=>htx7ervt)xNbuk@xofWM&)Z*30pRc}D8S{Ie@ z9L#8Fd-p?bFSiVGXj(Xdv4+g8SD~YyBhWIt`#`#r}1{CJ}V?s$-n$&H3x6` z*MOaFeVP^W;T_SeFHK$AiF~=d$84nQXEph{D7@&`x7OFe33~}TwCi=$OK2|WpIzPh`t0@0F#66!D?VIt zayN-)147Bpylz9Y|A{0KRT;}mW%*|oq!yW;;P}6vNqp*xPs7#W@c1-bm>xf^29Hj` zYBQ$wnEH$EI3bc{rty7{FLH@`B=62~4TJtfw?N z`FZG^rAv`c`u8C7shg+=2bvkxkd*2=Axs29}o5=0!@8gVblf&4%{M zR39qYCB!Zv0cWmIhAtmo^Ju|qK=%@vU%8yRme$C@-|<1BJNs&@F7lTp-(gqlCl+kkpGEU%b1WepdOJ9Wc*w7$@}- zJKOqociRdpDF5l!mt#Net6M2kX0KnW3+r>{+him#@3B+;aC3fnu7=p~Ju(sNxJauB z3(LQN7N9@&lj-`gSselOMDQRll{;~9!pyu|ECl;1E9j?EB$L}&TpWLu3Z7WLz1zwO zLO+#D`nP^I8GiU*LD>$Q**uE>rWFH@3MZa7kA8kHVEE#;pxx*MiB|9A7F4BKg*&T- zWE>L(5L(U;0F=en@qmP91$r0rTGRLX& zy?$TqRK7(b!b(10KNp+_x!az=$ocY~?Ypiw=toG8S(H&WCPdZDAq6oQxDJ*&Gstqj!9x7Zv=XsvoEOj2< zl+$DV1=IKt6um}-sPY`6AUA~{QH4!k4X1WaCSXJ1(OUFX9aU6sclG1hceQ#0Y?ZSf zQrvzEwXAN7@Se2C>Nx7!7Vp6*9=6v5)#mT&K4Q`m+2$KZ(*yOhJFnSr_xpyMsHlwP zmD9*GF0$=3&0@L#9KT6H+fPTMSQTuCgL&JhtY+LNS8f$)8{+g#dYBMz1eW<2-%sFP zK*Exmi-*?_si|Dvh-@?F3}lAC@1t$@F2yP*GEkZYeYnbG(zEyV^~< zjv<83K5IFX!X*Z|?Qv^h_wsSyR2=_c$L!U{%#?TYn$5bTL9|=|Y*wi|zj3UYzQvje zm02CW3l&75h3du?VYk|gnAmcU7>*>l(@3{G!VjEQ?^kpr?DufjFdd;LOa8)kw2;bw zzre~N?Ra>HzpeN31D9=9D{&|Nf*N3d+RPTFerA&~Pxe>SdRC(12#&eUb@#1c_1@)% z5j%sFYJYBkU@0!RaqAJJzi}FI)~-xelq#V%dj*SK>Xs;3$`Wh9jrxc`8gvv&R&~5D z=u>8rWBe$kkI5kZ^V@)INN}$qg zwjl?j9Yp6EyXOpH3r2{?=efRk>!rMUEcnnGIxx;kGNj_??T5W*dUc7(VXoxj*u|{2 z%0gg79@?A&YIyWf0!GfdiH=D={o(Ra=dzD*DqcUlrJ1^F>}L5Zi1fbhq;t+VbMjX; zcDXtI0T25;m&&IJ@5Nm?H6I-Lvjfx#^GgBW@hL%6C5Knx4lVEdlv|oxPVbkeeOQ7C zOlw4Z55!I&40FH9-?ykR*t0I-wV311`XUq^jMrBOB+i2?SG=giOZP{h_&4sysOd?# z0a6q_$d>eBMK37)hN9u2z;wFtso2nKeWurHzgsY04o3S(B4QN8rSN}LS9B;^TXBa`*0$+n+&BamG#DIjTXLVKr)OS&(BatnWq|5I*Ie;&TqJ$co{I+--8 zQE$g8B;siE5HAjjbzHZxlzHUzOi3xTp8pmf<2Y5w_|HZnOdaLw)0nllesuFv-D~d1 z%!1++e~mQ%o-*7_S}{eCmeD|~Ij4nbd9l|ZAUTq(9j9FB%tjEJ`{6dvyYhDfOSWW; zI)4_0Y9{2j*^f+3$>IGeuct~f<1lfI>kR{Ccx^a2me!S-xK!*$A%CbcA{@9$6o(%3 zN6nsD9IGw#iI+3z0(WDqPsr`$;YA4|NK~D4)7zr-d6Dz>pFOi-Qbl=gz!cR~bYu=s zSFdW^aVd_fJxi>~ezvnp^9{I+=$ZmJ6_$}bbpk_|-QUEh#R z&b+lf{wNu$G(XToTD%5l$j5X2y$htgZb1U?MGmBMgXO5Pjo{(;d245?W=0p9Fig*N zSurPf{@vJtF)$Z-np?r_OaBxvI7S?nSCdvD2{CW@Ll!6f9WSeDRZX?p1U<*Evdsl7 z+HREF_{h*V8^~hsGe=z2P9|yZJQzFDkerOfxLLK2Xrn4IK(n7qB*|#ZzAr#Bd1iDq%2mC5)@m~@P0UXE$d~V z;^ybixq7g_DhWB{Ifs$e>>%AiM?P=rs{|{pzO8k!{+94;Y*6aU5zz`K?KxOE(`bhU zY)0R&50X&vO_Ionpa#on)m3%PG z3vV``@lW>}`V3A#-C3Dz6_5^jCgcB@MWNUGCo7%G69?>?sS9h$FXN;qu#LO^OIqs5 z(5HlnNDx>1N}|gKp%@Y`LjREdddrc-$ZHe#FKLmnC(=(ZCH?c`pxpf940WQmDm?T3 z)4Hy{EJ%iY(p}D*ul*~24Ob#pvkuYeFKOnQppMaJ5NZB=uo{-l@vg`fBw!BRFE*Z( z=uj7u+pVRAdSpJcr-W)^Zw^|uLb$r6Y|Iuh;}IzaX|;GR=kQmyMCTGITOu0ke^fw= zdywzJtu2UI@JghPH{gqHtA}p22Ar!TwK3fUgg8LP{lvA)w@4j>&yv7^j2oISD zvF@9ODs^>Pf4>WN2mZ_RK)!->Xdo}i{gzKogvuGL6O2);Ya>`Ms7y(O8=a%E*DHwl zW0U$z>VXE1-k`bV5sUyBR^V8AC~-c&gD6MlL(wZq7bi$|MG*m=qj#z$Z|b>3Zl&Pd z>gX5S()?va)?767&fmWVgQrck0`vUy_ha+=sekwoSSJ&6^ms=pYkEZl^XB z%RRk^^Uv=V$EpygjtT!{qkf9>$?>a<7;5 zkM~0YF4UbI(Yii#O}a%(+V$YYpE%Uvj2Y;ro$#S7$-IfD9R`j1ssl-LW-!Q<{h3^{ zaJ~CsE&C5SNhh|n+jlPZfexCZQIVOE5wp+HxqVb`OBY~m^mnN{jb5!7(FN&eBE%Fo zu>7#E)t^V|fIdsA`rlw>-!%RK`?zGetii;1IDq0I#jTFwC35qMG2t2g54q{dfk!&K z8Cr_*5Bk((wWE3Gd>he(A3bqjWgESXak7o!tPLK)$b~t7eplVed6LORN+AC*A6(oB zQvLbuCVw4Nm#5|D9ywtVF7XPsHp819o{040+IP?^rh#T;i5Ez-WMV)Jx#gH-6tsxj zA*8Bg!9$UG-i|By4^rUI_O#+hm{%|`O&Ha3QF@vvBl3mWA?BczVI9)f6Z70^Vy=bm zYXi4Z-H1bNnjCxFf@|fQ`-D;wwBRF*`2Hw5+Qo5tN(N?pdXLN(_LMfdvr0MQ}$$NTZt96KGhDcs!{$1$A34;7- zGsTQ}oWehs);U4J`!c`#A0uuVtsU9v~<{?o1@NCU6TtZrfu4W7(AhI>V&tFaZ?Yeo+fR+*O%Rq$%ramTHLd}Q#5RLPY&7El zD1xudX-VUl6C>q(hiO2Nl;~??pGKm?+s%8?pKUSLa zEX2BZAftEkvBKX2S)NVW^u>!;eM+yoSz_Kfn1LJTqid%m7x_Xm!n!i_l_sY@9pvqd z1@yXMsJ`J_3|-`d{)XvEL~fE!3lYEU#^fIwOl5YCSMZP+*5x(Y-m066*HDEI8j7p~ z^$UW24^B(4ZY(c8B6}gB!ZI+Em1m3}{F8WJh?nnAsf+RP-2Arzq77BC+ej zPZ5A_^U6g}1!WQDJ?$K%EKyiYB#SgTq;!4CQ|Mix{+5~82Jz@5-($8)0OiKXyA0FI zJt_Bj(RsO#i2$jt(eZAB`XnMd#rk&H-A5OuK)7lVtM5K6uSm>WdsJgQuU~4XoIbHk zUJyLmMXW&hNDF|3v1O(cBq-wjCnO-C>H{Ictj6!=n|(GJZvXgDqLi;$aXmFyG6G(O zbk|wAZ@pXv*>ob1CFry0tl=qx%iW$HZ#K);+&kd@&>RSBjSx)<@k#?7??Bc7E=|N-#)w(e%{qqM^eZ0Mhf^d76PX?a=d=)=x< ztACUZ^(z{6+G|kG1Gt!i`HezI{%9mce5(>o0y=L0n^knP;J*5qq&9%WZi9DEjmy-nbj*ENZ{P=n5z8 zo-Q=^;F?(ZMdf0H^1B4Ghzm87 zg%3sW&b>!B11h*G5|{bE)F~n%TII+E(2N9x1g#8z6-X;g-&uSrek9r5(N{7JyI{QiEZ#$ct-ipE1ji(_KHqf4xxyGU>> z`Q!|~sD-6npKJB9jFZG4E7K@LF%_VH%m3OcI!^9dKcya-az!mEkw7g9j&Lw0RZpd`oi zBq&VBtEmH~6G(D&j0vH?n3&}QR^XTtu8(wn`s=Z21vSCDRuNA0l{Wp;6s9A-0M;9y>dKczPJo5lwz@;Tbprx zdL=6Tq&61SA2zkuWBT5-&?-m(%xUs`$kV~(Yh}7}tec%;4JoGc@Nt7q7c;l> zkioPTAm7;U^@(tVP>8YWsLhQt!G_nG;$g{HGWqM&*+$7;&2cR9 z(rPr8;sg6XMFvk!Q2D@L}8ze3f4XvfvE9AQ3x6Mrjd+b`K9oFQ4{R$dMcpHF+i7=_rEuXfQfrL=w^wswUO2_n{{R#A}MA70ud8!pNSpIbY zm^zAmV1oPm`6qG8_~rQbESP%9PpvU%A$4(ZeY@Pf$zQ%5Yp?Lv}!){ihK)%4%z60T2(w; zIa4NomAZo{-Kz!mML{}^h9{oW=6C&iy6hkBo1$)`$j%Z@U?{R!u{>=d-Yk9qnW5k%iO)tppLHUxV z*4O=%<4OdSId@3*2PPB2>t5y4OvR}G1#_C~@s|oFx15EkR1zpkg3Kagwpb4DKQ!kt zE{K0+p;etCev*3P={XJXw4~zLT$J<1ljEUBpQf@wt=D2U|5DRGWo!}2kqhLhVm?9K zlA|z+=!0)WPBXPQ!9!nYQk4;G^QsI6NG5rUgfi$j(!EJp4J%oyT8)h43R?pkqcj=WD>whHGzhgpX_`n}Pgr_O73eRQfBPRrQryWIADcBB8J$twC zC>2WrhQt;qH$?%=`rQ42+xGR=Y4EVcqCX!HxoAFg8tdnDuBszX_rBlwq5mzG$LsjP&%oVR4X+LM3(k;UKLYxGAu97_5N>n@bt@s7W zYp*-eGa?U`byGN45340sFmqGus4%@3Igp_EmSwJewatlBZSi{~OJ({+Fi%XLFS6oI z;{Cre6dM6PxK<8n?Cjkqr6+>o^wz0?V{)Hun23JfSC)_$P)B2 zQ4~y-AiEYld~s8`6^#lKPW{=oDsOf8$r}sd@31Gvnd;3=W5HVUhiv-T1SR^zQ(8x zmKR-)-4an`e-{%>DNukvjzY-LSt$`fo7a0Pt9}Grnr4kGYVd|*4mbow>_+^1`T?eb zA(iOmq!!ilP)`glx_C(~@efn%Ln1(Ff114hY%xuPmG1iH^ZU3D8E;O6=GMT>MOtJv zdReDdERad(8Xrn+j#&?t4@i`X;+R6-zwhbuw{+kAx+)=+4Y-k`WX8l7PgILode(O? zCyT#=+iwDuYkN3Cwn-8>zp&jfD}Ydp>18uipcz9hFxOC+to(-!@N!6dXIW>$Q$7hw z*}@CIJS2JlIgw|*1i0B9Bie_X4+Nv_WtRoFH*+0*9#z<_9p$BnuMku^&c4+folJp4 zPF$Xo56iJGBlL)aoyt@R@I#%rK8l`>ys~waJ{C28sjOvT(oQd0pSgQ7%WO1?k9+>^ zxz#J;&{ndMz+5Y#cdul#&b%`|ry)-tlZ zJKZr-!OLry8yBrM6-yDl*SjXNOK7)1Q4CYq{kIB!gk&hjCoiFN3WvlZ^faX4F5yJ% zJU1c7MW=YNyFiv>$oPEQr2r^`z?51Vq`3nIP2p<Eq?oFTw% z&POZhNUD(WB1RaL;CRsPBOO%z*}~+aSdIom#5V;+3btyFgxI#?lwDpmhm-Q-D7+eP zIgFFkh7cO*j9LcQpV%H-7w~K)#&Z2Xlzmf}olCTB(l*j|+DxZy+cwg+owlvCZQHhO z+qT_(SF-oHJLkULm-V{7Z;Vl6%&Iy6sz6_fT<+55u+p{{%=|iQX)nbnkt@X+7OHamgWH z*#>#WImo{kveqs;W^tSpc=R2a^^e~n(_dE)Q0i1}s zkEsO3B1BvG0YQFmzEadz60oSi{3-W>?E1c&D17Z*EQ&AYf9J6Kz0fBCqe(K_IEfpiNw9uM# zpTfakV=i9qQC22}N^Dqz^Uq}YkfermLnFqs(K+9NU=DviZ<^16U4i|;0GHa!rV%7db`h#ZN z$QJ?(keY(p!*p|QQ*T9^@FQHBpuFVWs!Jo#lKS7>sOzu~ONAedbRVB7GzZ)RvjDG> zuH^Mf8&hcm4X%fiC8gF46ZfN~Ilgjk2>k&Q?GKpmBgI3T%PplkV9*JdIDD}uMbsJJ zpq0uvcAjb`{ppgEKSy!U-?8o`YHc491aMxX_@NK8)Wtcg znn|UHHRqTXN&Ph(`{{*XV@9UTp6*w9-;^ZE_^5t#!c=9QWV?(DM9A|X0L*}N2N7Y! zF;dR~z{?Htp=*(zrD4G>MNKyvi>rlmAy{h2;8tx0qn&e1l!^6>a8A2K8nU}C+%Feg zM1#@I%R7*x0$x*}<4_2h*()}QbAkvTL0XmQY4BSx?B1ca1tQ|=1KpotObD5BQAZW z9awfqBJND?3lE^^!L4@U7b7t!yEe8FD!}y|X_%^tI!;Xx+{T8pjryoIrE9!@=h)** zDv^qukF5J1o0Y-Z4l1zW7djOS1F@IXG*LA0iYbgmdm5Di*oV8%fQ}*|Xw&TMDv=mg zi8|9Ar&HvyssH7R=3(~Y{B`3)Jl#q{oa!u$F`_?&fR&kx$kFh5wHC`9g#lU=!X61t zI*+kgB}2+;e$m)`C7TOjS3`%?W8W7_Dsk}EUXI5(`)RaGWUi>s_Cd*YGPW?N8Tk-;+1y zBg~f}m@jr00WSgt`IvS6!;{tQ;4u1m)Xo&yH9mk#Q&cdX+73gHi=&>LO6+kSa02BF zv&{>>aC=vIVPvW?=j+qWQ)HkU*)Lx$xTWA=6^%P%OSSO^f1(}qRAWT{;ab2rs=tNY zDjejeq@GR8-GEb3!YGr@Cb>NorruG}pA8ouzpYZ?S zsp&!q=z|q7WvXI*m#nCX4r)++8d?5EO zYRlXi^&43TA#Pt(-}*pDy#%9~(z+bro($9Y+;3|m1*_*PY}_dz%IQs#0Y|U-O*FIbDNmPy*P5w!A6^a_zpmmG8u3mld=m69|&KRdtE|sW{LZSi)5A5kq0sv?o$VNbW zuSZ`GVt2jRgunj-ZMFLhiUiUoSE`Ku*-g#T!G2B(c-%K=Cd%|p(Zz0&8@Ic0PH_Wa*+Y|F1A=i|LqS0b zNs+@j-rTycv$9a&ZUxe85AB#)3E#p6^N63^=}xMh>^CDCNM92-Ji90zY36{=-W6*K z1>057H#*xx9bwp(`kYMNwHy(R_( z0Sz|#X{t$w7^z+9skSjk9-e!DWotpqVI0_I7yU>uIxms5>< zzD*{;b^jF=(H)JNPnGIxve7t?lq6iCy*<(x?hzo#*O)cCN5(c-`r?{Yt$uV8Q7z8= zhvue430DmRORPg?bxiV9hRIts%4G3$d&3TF^Hj*;WahohnNW>d{$b*N_9_|d4^yrNWFrtkYrOQ&`>eENI_;*oO^oIk(tnh-g+ zyBuT~+7eRUa&*%nny^)*ciSN(Pqdtg*wG&L#D@PQmiY~6)Hkg!p%mhc(qN~74WtB> zZExEPr`o1_OGvq?oN>u)wa)S|7@k@d(cHg$f6FzFRF{R41;M3&naTS*|MNo@;T#IV z&4t1d+c`VB?>u(j8i%Jd`-c{*fG`LJ?QLbd{`LZe-dVj%zdkSP@V8Y#i*bIN5ZGZ5 z2)?_UV;*zaI&8NO_~(?c;i0u?)$dPb!?A~LsdDS@7TPr?Y3#Igq0xFH3Dp zU&QG*)XFgQ`7AXI9I1=|s8gmcMBl1@L*3836V@7yV^AE zSsf~f1=>(#aaKY}G!*URRv#DFz$iLZY`GC%J`Meh5EyY*C}O9?Zs4UU>=4eEP5|Cyk6kUYa~8sE|C&4euV&OD8OUJT=2qv9evoAtm35+eG#J9(%h zP2BY#f`)G-twz=|2L zpCw_E`ZF1YZN86jpHqJrflVQLi@|V~eoqRgj(wsDw}*C;O}SA?Rr8hmtSj^0`b=D( zpM2l(PWmJ%bhKwURGRRrWH59)=S?}DPTQB#e>4@a#g{Z=eH;ggJ4Ro^dlgr`di)a) zx<=RqP~$&Hx~Nz__luTGjQbz~?`!wv|J9C*)V<)mUX2Jab&tW{fRZaiPNf}9JRX(f z6^Y@AWs6H&4fBvbswnePifd?xRc<6|nLELCC(}^ge!Qb9>>e**PART-5T2Cd5n^-m z@Y5XIkE{GyCFSAa@vF6IudKExiOzCZfs}7z@heeZ)Yikk29wW7XyvMW(6B)5RjOLZ zL|0$2`qrFvDKB?C53ydv4St%dbhtpdHk3NJ>#%G|CBQDmTi{PQ5xuX+66#IC>3iJi zmXR?GrStM3_>UP>N1}07zh#0*5=%~hhv&C5tmOFzaWsObe-V$AdAd<}h`kV4%TzU) zo==gAUl~Xiq-Wq)$b@o-KUvvyRN?*<8gi25DUbB%BE&f!i1n>;9l_u}ro*3ZYFH3Cea@@AHk22JSHBB11V(J6f(9IZIXs z-Ca^%a_6zOS^BV)qY(FAs<~ioaqG(+i|*c1nbN}{uPnTPjpNvy_KluaKXeWbGyC>9 z>R!Fojd6;m8XPW}RjTc9IZg$q&aJNB9O7C1mO4k+SaAJq55%xQqciV#H?k{ihXuGw zGiEsBQBORB$E<}=uANm`)Zv`C&c#5!tzV?gyT`uWFJ_sECh+yQ(-Ic-zTtIIRx7VH zYoZ~p11Lrm^lDPPXbgRg0xt@NxY!>un*j%-+8DRzR^~t%(XSW$Ncbg_L2U0X0j5i; z&Ad(1L}kor?6j6oY28FJRv*37B)fN=Z%)?~i=o~HjErnx0S$>r99)03P z_s|hcP*~}@<4PKFLh#LqAr4$mK~*kJ5lfA#mk3^G*jTc0xurnqeGRyV*ZQAXfD4bT z(E(zJPaZ$@e+$1q2?w8ZaG?87@i!d$vuX&7w3&`mTnaYPn{fs6zcl6WhkcM)?~1UY zy&n5IC)S1dmWnY>r3k9*!{+-DG_g(p{NQ*^m8-b-R?&xB?6*eY5DACu$P2=}VGmkQ zF`IDXT}7b)N;zL!Pu1dH(vfd)GBOpv3QwLiV=IN|&+9Cv};lorElewIc7$E#Pk=NzC%0~mmr&jn-zQBU6hP~0w8v>83 zi|NlDZ>QC!WduiNOa9KHZVE@+Y^haS=WgC_F+A-KyI}ADuIAf$iLQ;&-EA-Zy`U`A|qth zySbFJENs!gV`B;{1`fgh@q5tbL_ z7lXpKNyVV@D`EvKh{)Uv{u+Wm3&PFMa*4H>w{1GNlo=0jREPI48oF=dgYA2zLb>z9 zi4d!6F}&^3XS9-2KlUt}?cjQj%{OZVWY@`^jyWt zP{1lVV-XvdlZ?QUBj+cgm+;k~>86Vt^?wY6Sxt|~$umpczbk%b(x2=9D|Dr`M>u08 zD^)c>99JrWJ;o)3I$TrL%QKpJ7vI`0mPr`Y(NT9W`DtD%yGLJV znDt}biN1tDF(5p_2m~uV)U))28F)CbF3UaR`%}^rg;Dm4v7?{c(Lz-)1!B@`Fd^Fr zeu)i62VYJF6}=bXaDl3_V?Za7I-+MXSq^#Hr+LVgb`Rez)f6k)K`*qvme9W%E#y9O zDj6uw39B_r&|zKqVz+)?bTjdq+X0f$E@Rl@sksR6LP|{?n}h|>yI5j!56R_`$P*s} zZ8cPQ;m(BcVSHK+)-0uDzst?|K(J7|6f4r$3tNxs zu*3L{4F#+?1cdK9?44!Bgmm}G(KF%2+vlkjCTSyarM9e#<8(BuQfA6Ot`8T9%kX&v zFS-Mwvj*Td)|^}kOIuv1e>Uv2{me%OMMYSot{=spu&Pb<{_=b9$^+bC>P50~pS62& z-9(0&;Jj{xK!QR1xC}&Ai{+3r1!qMQsPExx#j$0vAw(sJcby48-4_;(Uenpu)p=5@ z25<0kmgm>1Vd&$V=K4^8v()171Qlc*)v~NJLJ?i-SZ6V|ZL>nC!ZH;=oLQWacBzD_ z6t^_3$g++Fp5^uxmA_ee9Hd_rl|?l&PMSEu5TcBy26F7De@L9S0X~2YRFvlWHWF{i zDsTJZ$;L_Sv)9O3s53%)6SG04H)MQC#UgVHQRuZE9ExR--*01B`K5fn64H(COFQD& z*vCm^Gt*YV@2G|M%;98$;Vq(h(&mcU zr4p!Ka$(9kR%(&Sue)Z(IW#45M6p*JH_GjHuK6{zdXq6!Cok>EtbVsU(`alGPmhC# zC%#IiH>wVO(~4)L^^lG3Pn?rgv&p|qmP}qI^-;<#kh9A1XOk%&3L( zvO%dh<+$SWYis2reKSl&;=Eub{0dL^0TrXyWX2|8;nb@^#wSH~tX0zvc7x=lo!8a9 zp2>{Z7NbNhdzeTwpHph?;)qws9)d9hriMSm!Po)}MDgG_IH1?Mhx zt(b?X5JX&zzo3g;Yo0I@0s!|N0B%=EiOMe9lGG z=vw{clxdv4KS+xn26%A7UwINn472MWM_Cki=%=?nh7pHE_i0ea2-@4c8|WxouXm+| z`5C&Y2QX$EZofX;HS5LFJO_G=NURUohPlvZ570O0XlqtUvN%cjq_9s!P0Ns9x zg=)ikr!$R5=j5vTRMk`aj5F1mpQcoF)ffy6OL-kM%;{%Q|o_stLXbF_O;`!;qvc6#h+TLtgZes@wBC% zNW?V0W%rc2X?5ThrAnO#leM&*G!40BokDZ7agB$D`lfy1P^wfb*UJ-!@u&xWg3c&Q z!2&r01E* zWbWpf2gxAdk%;vx4OSLKASx7;o5GC)MByW4MS*M|m%o z2KerZ&Q}hofAd@kOqcbm#{z4sO2EgLB-JR=n(3M!*RXcKOGN21=fX>Xl?(u^&sU zpOtOr_8I9 zD7)_f0Gf|tz^AX2-3q+7rf>FhSy0L`m4qrI3`Q1f-x5FMb3@-u|H_Na4);8kf$nV5 z6WKjHrW@cwbVk_@*%DCpCr(XqB$0P8zF_W&U)B;(7c0|sxrp+G;(gq@@Iu*-a-o~E3aFJAH zHOurLOcl&=Ewf^1s{_1Sp<{KDYcOb*JE%~HN81qhWTr*l&y7FwzxAu{X+pwrQJBZB}z@W zrjRpv|2oR$IKhhEVzo*L8ODMjQQiC7s_y#b$SKDaj~I~>304;4=V-qI#uK9Nz=*sO z-^TOUIwc8cp^A)aNCqt%tTZ}=5K)hny4|=?!sQ+<-216^;cG_1? zvMTWyP*{cpJU2&A-ComGbDcc(kRIL0HVWr#+ft<#?;#8I#$-2kzDnDZNC=0`yy9u8 zN=hZ6jUg#vf9;=z?e_S^X{2CX;gW-|N@cX2dT}!{Mz%^Z;woaI-VMcR)$e zp?2|-az_jpMe=<`wS^l!naZ1^U1rA6)&k%!@EiZUKlq2)OODSI#4yRc@)rY{_bs3O zg@64nqAR&K=$O#U64M4Z>ckU7DJbdUD>>lONh4)_+H!J#(7d9?qDjUP5O9Y8QL{}VYLecqXcsB?@q#Q*19pWLfZ>klHzxTpU*syHc+#?+Ki3+So1Q~{w0cRn<<9rDvFAKoeyCq?9BLLiT(rL4C zb|3jH-*PS$BtJ)AKEBm$f*D@^r|1@!saiJCn|Qc4-CU-nYcR`I}D!#m6c-T z_XThKP{4y|>w5wx9n-y5&^T)F`R6Thj2zRc7#Ma4>)`A_z@pcfbJy-8*)uXGGG9&C zF09rQE@{_=%uv7II0y9{O=Zo|qif~!qzEekPh9~1)PzY?S`(e0GiDq$sn&ZNPYy+! za^BMFKjBvr!Y@fe!X(zOPE^0V7d4VVPcAtkaBb+(vPU2>6 z39J^-YY~>shXpvkCg9n5Bp0hP(<*?V#HY-%#Ze%y40DMbM^*9Y5Jl+`%iLogPaf;w z={X>bwvrZh9dLW60s(^F7d#HzmQCOJ94Ri~{lg7p?<`2Wev!@ihz<-PguE&M-*>m) z)$QvvO3*>&*}VtFDY!GJ6y3x|;7+GP>p0amUlNLJt87W03u{_sp7lc2cI~-CEV~%a z@l2o3t@9t*M>zi@`@Tik?BB9ivMzG2!4bFGU>o1!ls7W(2RFqzfP^7xu`;e1({iHb zjsd)CVY4sy%ruqScVgeZW9?#ZdHI}No%iw|0^-jt|0W=E zNgDF@4*_rQMUVU7C!L>3Ttn6l$xBKXO;z|qPDIr#>2*vJbbk)TKy@sXzlzFN{Cd?V z&rzRa;+{ILGM$Y4g{o1ot)SZY0-(U;zOWH~ru@v3#L*eH+StWlZoj;&BG6VCxRql{+kel)DaJAZ@4jOoM2CIkLz zBV+u2{peK_N(H)~_&8!;HDU%b(oDpz)u#K}(eL}$a=6`xA((eH-H}p{Ub4C?F1$cD zSY1~0mbMHiSN!i?toctb*4T-`8}y;B*jGQXw*hs#4D$hDJ;*uRJoZ9c7*vqF_px>r zgFE%d1+!8h|M{PlAVS;ldnH7BxsI(6(%w4e-f+Z0I^*RzrjpY9+HKc4t@l`cdTm{= z{n6I`&@h-Fe9*;bhH7QP-Me+I0@^O&%@kQ0VA=7q{C{KjxEuW_>9%gT6n6GKtoV~_ zmA%tn6(p=|s%&9ARDj-+4fhn-E5Pq?N`b5ncgg3+V;Plnm`kzt_G;JVv`rJ#{t%&9 z@tcUr#1~cV7418x<=lxB6ypJrlQMamVUAUfd&6-SR{{NRcNBOPMtd0aa~U*Oz%;SG zx~-q{OpP9sX?!&Hf}my29b?3lcd;8j58(_G*L80$@Q_cV&@QIqro8RkEMd~;WF$o? zPTpb}eH;7OnBY=getGNIF#D|6Rn1d3#W7;dwPh1YJ{S(nWx*8X)BN=$Giww>2)Tc? z7(7faW%E|2PzgWap?qb&s&XMf!x?s*W{f)unc@?($A%cd9whw$o|I%czL8Z(+U8Ko zR_=;}@}&ehPR``n?H#_Nlq7I9bRUuu4ng-EjF)>5kiZ>rt%T8}Kgj5tmTl5IMWSB< z=vN+X4z6pa0Y_(WX;#2vs;$xo>~IMK6qg22wa)sC_AhG-xT1!EFDi+W)ADHjJQKMk z2Kg58fa`FQ`{`BE{&(#YbR5f9r$U3>6Y&!4xXF!lv8xUHllMTX&XJ_Fl43-st*|&h zPwBH+2QonvN8Y9MZrsHM3Y;A`w0Vhz=>oc;i^VgmLA;N=(e`l-t5t}E=$rj5Wos)k zIh~=LyA+Tj*pYDwFYT&dR}MF%9UkX5CU;Zrs$Ar@ z4d(>VTo+moEd1?D#4T3nEe{)xT-+7RWm94gLKvEI{_PxWp5JN>s~FQNSW40s6)q$Xz1?Lf@qQhRaMUxL!97lC;O7Bo4P70Q7aYw|ppeLzaliDZL*(m1vbOhqCH6#&Lo^=^j5%e z+*uTzmQ<@N|KY98JxhvG4C*^&{ID`n2mX=NXax550UO75w>*?%irjWrDYRNWlAtlV zn)YMF%3?SJIZ{UV%s9%%BBOX7!_egn(R%n6v|yOO$INb7Usdi2pN`@tcQ}?3toXE_ z@H^<0HanBmIktqo{!9M>wO?;)yAA75e;&Iw>gr)_U3!>iQ?6AJg1D0Tk8|n$qR}u9 z!~O-n8Q0jfj_C{508=8XSd*2Pc>8R#uA0YHSxyOS?j0Kk`M37qu@z7oht=au{BI=j z==xhFfr^l6J1t$siSyZ96`T!izJCxODofwtCo;h7^nV}XHwV%JzYkaYHaYReuJEC% zg;N55`UCK07QLxb=$&yas}cPC4q$$m#}H3MIFZ5aq4#qQN>o34L%JPw&_ZI=Ev>2W zGZ3NZIp(_Q&OzGR)QP6qvX>EH;^hif~bI~v}dUjuWpL3r#{&Mn!6 zk>bRwd40WK{D^+uRT8B6$~R!m&lL_##IKxpRqh069Nor`SMA$lql4I7Bcybq`8a1N zjX?9*_0KC0yl$-rz&#ur&X%H{Orh^$p$&Weq{HIn=v@9{r%ASRpOHyRc%(NQaSJLG zy~@-&*FVADlEY1}L6&2k;F={t$RKUG%JL0%$@!SyKh5jnJ; z0?-lP5958I+&HGG|Wqq9}UEXk=lxtHSkq~;wS zNT*bRo^p&LBbH0LN{S>Z$Y_r&u=pt8bdowf(GhXi-qv3{S&LBlni}j3T?^-&%VLX= z(m+`Z#X9Hn&XqJ|87m7KCuy9CXlauzS@fv4y*1acyOilOL6g!)I5qaP#NSgn8s4yncpqCX z-UR&1NQ>Ch|HDYEUh^-sGq74Gewv+rKV3Qs0&BQ zNVDS^v4eM+mek_aYt7d8k|~CkSV3Yto9RBpqKO~ickpA3SwPaVw&hf@qn21oALqyn zIC>Hpy@ga3YJBX5-RK(#NfMHg2d0B{_f zcGmxSjgZ`cHH>-mP7M)43{w-IHEp1ZmD1F9s8H3j{h+MAt-ol)U+(5JlCNUN1{b#F zs1~>W9xl0w#NR4jk_Vc}u186}vj}bQT9WcF3m2abKBW#8_9?HVfg@-h83+4v2F9T^ zuWD{XUgA|$P3-QiYNLtQh+5_Y*yN*~mPfgJidUIFx6BsK$B@yAsBoeCo0(d{86)bKA^LjI!&vaK z9gF1xj`Q-@bPa+1vxsJ~`1qe!W#Q+I~s- z=D={;i0|}{p@b6&%&$F;tBdp~MpVjs^P7f3-TH_P_-M`Pd844o+@>_t_+Pk8&-MG@ zpF+ZPPfI_&mD|_$&Kb)<5MZa{un2ajh*Bq9&)+=feX z&0^Xp_Z-@=+wDw01id8a&rcJj0q1mk$C212Ihs^s)K36=3Ip78F`wKLRm==n421uy zBfj|Mj@+NqQ5lH%`s{w@tjCiCzs6_0;M!P)y@>XhiS}_~Wad+KLL6}dUDIKa{>tOy zV2K_-bCE->kk(i5V7rPy=SZRl_`RGgs!=y(LZ z1M{heZT1$jz|TCB3-L>%+Q8Lo8Hr{|NO)nq)jPWxQ?gDg$*TJ!^aIGl!eR)%K&x9c zEq78Zoy+;^@g=iTqF1E;f4Goz8Q`!iUrl!t*e~;L7E=Ro0ohBfpKAU@Wk9}&Wm#5p zdDj=ufq8F~2W`Mmu+#aqu_tg5r2Wej<)i@F#NxH!=)%8d*3=6_{e#oR4NOn&eh3i=}QpWyClF;%sA>H^m4>)~T zy{n|5`V5M&D2vWR~1|=n=u{RL6S

    KQO@MYWr$=x!ntXDv2D5L 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

    xoCBMcqWr>o4dbu; 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≫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

    +I##ugnm_si7T_NCzj;uuTIpr$c^FV*tq9|1g6a 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
      @qhxmnUR^h-);wDA5jq@$5V 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
      kn%x&)b+0MBW z@i(e5gjYz3Ss2Wb7C$w4w-{d@6n^R>30{B?HumbBiTO*#ew+ob`ij*q(n?66Knr#~ zV-vw3yJQTwP#MkZ{ZOFzX|}=@n5*#qm2G1ntz4e__b9skD_J`*e>Z&*ephGKb+@P& zEV%l$&JXn+3>OwM6?}yqIkm?RP@DsDYTb^wf{)A>Q0r0&mYR^~?(D>g%}j#1q%sw9 zEXQK`p1d{313#8i4zZ}-g>?(_gBA)l`t4JdO6e*W)1~qs!MY?AdJ`M;X1^cBu0^0x zhb-A?n;7j}rq8hm6snocC%U5NEHsnRzn#u~qM8Z74?vk%#3 zc%1d#t;?q-Ev|ds*l@Rd_G<3iof|pdnw)!lIT;Wc81dS1Fn`m#cj0h%r@@z@S*(rY zA>NQ0r?NO;gVrc1%Rgyg zzBGVIP!+eIpuWd|VXuuUiKrJ+o3cFu%yLK*i^ISF6s=mEphpsLbRV+1Y(#14C;(m> z!-g@;O}pX;%*}ITN`o65JTJ+bO!;h&Rg~FEL-M9xf&fB)U3O!>M>DP=O4V7|mf#n5 z(7#V3H9+CUC*bFwMKaYo#O%$8X=5kowW`3@zt}7Pps2SEZaf}9%RG9CgQG3|ul2iU z=yEIEY63PRge2moUO(i zZSKS`xqi1Njk6fTC7{i7I#P&bEZhg&L+5rDgZ0DRxcJ}N-n6KMRoDhN92*%A7l1Y} zYRi^dZ?a5Q!P?NIRe!UZivY#N$j;!F1}&$R;K{CSO|h{m*jgt?1s4XB^Qs^_k5UWu zQQ7tNCq>9~>WQ~>$OtDlHd9JR?kN$hhj)Bn&(*pq8(mylz2kK5^;Q&pfW@WDFQLXi zGA2^RvkWUMSekB|bQPo5&V+3-;olXSao%&iwR_4Q)3!l~KT6})W#>cJr z(kR^fN;~YH|LN&dmtZbtAO2E{Zii<0rKeo4THHS_AIy8zQ?CB)?*!Rxv1L~@70@J1 z>P8hTlp)N^6R@T=(#--HUgKHpZ=e$%LjL|QNN1l!$3?`hL+5KG9Q+*#Cq=#3Hb~_x zUAx@P=Jq!KLfzS-0#~*}y*EEFm?R5srO)1?w$@XatBdiZbZ1~r#_~JI`y7r5qOIb} z(-oJ-wy-GE$5q3L9gS)Sd&PwM%Z%bt!Wfa7dg|0mLgt(J-hiZ%`0jM5VhOCukYJ%L zONsH=VcF+{h%iG_t2xoKTHly6gM!fS*?P`OwUrIj7R}ZxbP?*J9M{EFw!01nfz+Z% z2l8I4_K#0r_snsUwZLz-uyG_3EZ(~%vc=N`oALB4?BP+f? zwFyZ;TEvQr<>udRg=0TQ<7Yfgr_U=mSrRQqn9#=sh^TVQ7`zGvdVok5rvDXb2vDCB z6UV$fs4@;WzWL#8nLiMJcQxK7m9uhbYnGlnIQ$E7zjpUj<<7gp`GGV+uBa)HrLQLi zGaTm!W@>@H=n`;c~WeO*6y*d5LaDswK6_1p#vyWrM;J% zUM$Yytz3AF?6a~LZf+R|ozLma(;|^l^|L5;{v2U8Wico6Q;l4zx-tE{Yf2)o(HWB> z-nGU+()noGM`EORF{kK$=HOHj(2?fyMqorQg=+AwX34exd3p!o-g42hBOnXaLp8v7 zIRIDlOFYVLkRb;WKd&7$8<$zP(!WHNwvQ9GBFgr!nG31{3GbS%0t zOO3cc@INhc%lEFP+6c%mw#e%Vvx4(xeyzs%H_&a*Y_UR2YWjIa&_tvaLANS`?cGA$ z;zVV6uSS;IA?e1jZuP1k^8wR40B$g+#eZx@jt-LG82b>{^RaEfvMZ9(6#U`4t7A0O z!y_ryb>M-TdTEPedPU@2Pg3ffx!)=ZK7kR-XjPn>pFLp#=zN&u9K%f0NC|TEcMNH= z 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ΨzZoi@L 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�@hPA=fO$ZJv}$7_Tv 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 z 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 literal 0 HcmV?d00001 diff --git a/vkFFT/vkFFT.h b/vkFFT/vkFFT.h index ccfeca2e..12d551af 100644 --- a/vkFFT/vkFFT.h +++ b/vkFFT/vkFFT.h @@ -58,6 +58,13 @@ #endif #elif(VKFFT_BACKEND==4) #include +#elif(VKFFT_BACKEND==5) +#define NS_PRIVATE_IMPLEMENTATION +#define CA_PRIVATE_IMPLEMENTATION +#define MTL_PRIVATE_IMPLEMENTATION +#include "Foundation/Foundation.hpp" +#include "QuartzCore/QuartzCore.hpp" +#include "Metal/Metal.hpp" #endif #ifdef VkFFT_use_FP128_Bluestein_RaderFFT #include "fftw3.h" @@ -95,6 +102,9 @@ typedef struct { ze_context_handle_t* context; ze_command_queue_handle_t* commandQueue; uint32_t commandQueueID; +#elif(VKFFT_BACKEND==5) + MTL::Device* device; + MTL::CommandQueue* queue; #endif //data parameters: @@ -143,6 +153,12 @@ typedef struct { void** inputBuffer;//pointer to device buffer used to read data from if isInputFormatted is enabled void** outputBuffer;//pointer to device buffer used to read data from if isOutputFormatted is enabled void** kernel;//pointer to device buffer used to read kernel data from if performConvolution is enabled +#elif(VKFFT_BACKEND==5) + MTL::Buffer** buffer;//pointer to device buffer used for computations + MTL::Buffer** tempBuffer;//needed if reorderFourStep is enabled to transpose the array. Same size as buffer. Default 0. Setting to non zero value enables manual user allocation + MTL::Buffer** inputBuffer;//pointer to device buffer used to read data from if isInputFormatted is enabled + MTL::Buffer** outputBuffer;//pointer to device buffer used to read data from if isOutputFormatted is enabled + MTL::Buffer** kernel;//pointer to device buffer used to read kernel data from if performConvolution is enabled #endif uint64_t bufferOffset;//specify if VkFFT has to offset the first element position inside the buffer. In bytes. Default 0 uint64_t tempBufferOffset;//specify if VkFFT has to offset the first element position inside the temp buffer. In bytes. Default 0 @@ -188,9 +204,9 @@ typedef struct { uint64_t keepShaderCode;//will keep shader code and print all executed shaders during the plan execution in order (0 - off, 1 - on) uint64_t printMemoryLayout;//will print order of buffers used in shaders (0 - off, 1 - on) - uint64_t saveApplicationToString;//will save all compiled binaries to VkFFTApplication.saveApplicationString (will be allocated by VkFFT, deallocated with deleteVkFFT call). (0 - off, 1 - on) + uint64_t saveApplicationToString;//will save all compiled binaries to VkFFTApplication.saveApplicationString (will be allocated by VkFFT, deallocated with deleteVkFFT call). Currently disabled in Metal backend. (0 - off, 1 - on) - uint64_t loadApplicationFromString;//will load all binaries from loadApplicationString instead of recompiling them (must be allocated by user, must contain what saveApplicationToString call generated previously in VkFFTApplication.saveApplicationString). (0 - off, 1 - on). Mutually exclusive with saveApplicationToString + uint64_t loadApplicationFromString;//will load all binaries from loadApplicationString instead of recompiling them (must be allocated by user, must contain what saveApplicationToString call generated previously in VkFFTApplication.saveApplicationString). Currently disabled in Metal backend. (0 - off, 1 - on). Mutually exclusive with saveApplicationToString void* loadApplicationString;//memory binary array through which user can load VkFFT binaries, must be provided by user if loadApplicationFromString = 1. Use rb/wb flags to load/save. uint64_t disableSetLocale;//disables all VkFFT attempts to set locale to C - user must ensure that VkFFT has C locale during the plan initialization. This option is needed for multithreading. Default 0. @@ -269,6 +285,9 @@ typedef struct { cl_command_queue* commandQueue; #elif(VKFFT_BACKEND==4) ze_command_list_handle_t* commandList;//Filled at app execution +#elif(VKFFT_BACKEND==5) + MTL::CommandBuffer* commandBuffer;//Filled at app execution + MTL::ComputeCommandEncoder* commandEncoder;//Filled at app execution #endif } VkFFTConfiguration;//parameters specified at plan creation @@ -309,6 +328,15 @@ typedef struct { void** inputBuffer;//pointer to device buffer used to read data from if isInputFormatted is enabled void** outputBuffer;//pointer to device buffer used to read data from if isOutputFormatted is enabled void** kernel;//pointer to device buffer used to read kernel data from if performConvolution is enabled +#elif(VKFFT_BACKEND==5) + MTL::CommandBuffer* commandBuffer;//commandBuffer to which FFT is appended + MTL::ComputeCommandEncoder* commandEncoder;//encoder associated with commandBuffer + + MTL::Buffer** buffer;//pointer to array of buffers (or one buffer) used for computations + MTL::Buffer** tempBuffer;//needed if reorderFourStep is enabled to transpose the array. Same sum size or bigger as buffer (can be split in multiple). Default 0. Setting to non zero value enables manual user allocation + MTL::Buffer** inputBuffer;//pointer to array of input buffers (or one buffer) used to read data from if isInputFormatted is enabled + MTL::Buffer** outputBuffer;//pointer to array of output buffers (or one buffer) used for write data to if isOutputFormatted is enabled + MTL::Buffer** kernel;//pointer to array of kernel buffers (or one buffer) used for read kernel data from if performConvolution is enabled #endif //following parameters can be specified during kernels launch, if specifyOffsetsAtLaunch parameter was enabled during the initializeVkFFT call uint64_t bufferOffset;//specify if VkFFT has to offset the first element position inside the buffer. In bytes. Default 0 @@ -826,6 +854,9 @@ typedef struct { typedef struct { uint32_t dataUint32[10]; uint64_t dataUint64[10]; +#if(VKFFT_BACKEND == 5) + MTL::Buffer* dataUintBuffer; +#endif //specify what can be in layout uint64_t performWorkGroupShift[3]; uint64_t workGroupShift[3]; @@ -903,6 +934,15 @@ typedef struct { void* bufferRaderUintLUT; void** bufferBluestein; void** bufferBluesteinFFT; +#elif(VKFFT_BACKEND==5) + MTL::Buffer** inputBuffer; + MTL::Buffer** outputBuffer; + MTL::Library* library; + MTL::ComputePipelineState* pipeline; + MTL::Buffer* bufferLUT; + MTL::Buffer* bufferRaderUintLUT; + MTL::Buffer** bufferBluestein; + MTL::Buffer** bufferBluesteinFFT; #endif void* binary; @@ -963,6 +1003,11 @@ typedef struct { void* bufferBluestein[3]; void* bufferBluesteinFFT[3]; void* bufferBluesteinIFFT[3]; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* bufferRaderUintLUT[3][4]; + MTL::Buffer* bufferBluestein[3]; + MTL::Buffer* bufferBluesteinFFT[3]; + MTL::Buffer* bufferBluesteinIFFT[3]; #endif uint64_t bufferRaderUintLUTSize[3][4]; uint64_t bufferBluesteinSize[3]; @@ -1183,8 +1228,8 @@ static inline VkFFTResult VkFMA3Complex_const_w(VkFFTSpecializationConstantsLayo static inline VkFFTResult VkFMAComplex(VkFFTSpecializationConstantsLayout* sc, const char* out, const char* in_1, const char* in_num, const char* in_2) { VkFFTResult res = VKFFT_SUCCESS; sc->tempLen = sprintf(sc->tempStr, "\ - %s.x = fma(%s.x, %s, %s.x);\n\ - %s.y = fma(%s.y, %s, %s.y);\n", out, in_1, in_num, in_2, out, in_1, in_num, in_2); + %s.x = fma(%s.x, %s, %s.x);\n\ + %s.y = fma(%s.y, %s, %s.y);\n", out, in_1, in_num, in_2, out, in_1, in_num, in_2); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; return res; @@ -1192,7 +1237,7 @@ static inline VkFFTResult VkFMAComplex(VkFFTSpecializationConstantsLayout* sc, c static inline VkFFTResult VkFMAReal(VkFFTSpecializationConstantsLayout* sc, const char* out, const char* in_1, const char* in_num, const char* in_2) { VkFFTResult res = VKFFT_SUCCESS; sc->tempLen = sprintf(sc->tempStr, "\ - %s = fma(%s, %s, %s);\n", out, in_1, in_num, in_2); + %s = fma(%s, %s, %s);\n", out, in_1, in_num, in_2); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; return res; @@ -1511,6 +1556,12 @@ static inline VkFFTResult appendExtensions(VkFFTSpecializationConstantsLayout* s res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "\ +#include \n\ +using namespace metal;\n"); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #endif return res; } @@ -1532,6 +1583,10 @@ static inline VkFFTResult appendConstant(VkFFTSpecializationConstantsLayout* sc, sc->tempLen = sprintf(sc->tempStr, "__constant %s %s = %s%s;\n", type, name, defaultVal, LFending); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "constant %s %s = %s%s;\n", type, name, defaultVal, LFending); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #else sc->tempLen = sprintf(sc->tempStr, "const %s %s = %s%s;\n", type, name, defaultVal, LFending); res = VkAppendLine(sc); @@ -1567,6 +1622,10 @@ static inline VkFFTResult appendBarrierVkFFT(VkFFTSpecializationConstantsLayout* sc->tempLen = sprintf(sc->tempStr, "%sbarrier(CLK_LOCAL_MEM_FENCE);\n\n", tabs); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "%sthreadgroup_barrier(mem_flags::mem_none);\n\n", tabs); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #endif return res; } @@ -1590,6 +1649,10 @@ static inline VkFFTResult appendPushConstantsVkFFT(VkFFTSpecializationConstantsL sc->tempLen = sprintf(sc->tempStr, " typedef struct {\n"); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, " typedef struct {\n"); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #endif if (sc->performWorkGroupShift[0]) { res = appendPushConstant(sc, uintType, "workGroupShiftX"); @@ -1637,6 +1700,10 @@ static inline VkFFTResult appendPushConstantsVkFFT(VkFFTSpecializationConstantsL sc->tempLen = sprintf(sc->tempStr, " }PushConsts;\n"); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, " }PushConsts;\n"); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #endif return res; } @@ -1657,12 +1724,15 @@ static inline VkFFTResult appendConstantsVkFFT(VkFFTSpecializationConstantsLayou #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(uintType_32, "unsigned int"); //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); + sprintf(uintType_32, "uint"); #endif - res = appendConstant(sc, floatType, "loc_PI", "3.1415926535897932384626433832795", LFending); - if (res != VKFFT_SUCCESS) return res; - res = appendConstant(sc, floatType, "loc_SQRT1_2", "0.70710678118654752440084436210485", LFending); - if (res != VKFFT_SUCCESS) return res; + //res = appendConstant(sc, floatType, "loc_PI", "3.1415926535897932384626433832795", LFending); + //if (res != VKFFT_SUCCESS) return res; + //res = appendConstant(sc, floatType, "loc_SQRT1_2", "0.70710678118654752440084436210485", LFending); + //if (res != VKFFT_SUCCESS) return res; if (sc->useRader) { for (uint64_t i = 0; i < sc->numRaderPrimes; i++) { if (sc->raderContainer[i].prime > 0) { @@ -1672,6 +1742,10 @@ static inline VkFFTResult appendConstantsVkFFT(VkFFTSpecializationConstantsLayou sc->tempLen = sprintf(sc->tempStr, "__constant %s g_pow_%" PRIu64 "[%" PRIu64 "]= {1", uintType_32, sc->raderContainer[i].prime, sc->raderContainer[i].prime); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "constant %s g_pow_%" PRIu64 "[%" PRIu64 "]= {1", uintType_32, sc->raderContainer[i].prime, sc->raderContainer[i].prime); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #else sc->tempLen = sprintf(sc->tempStr, "const %s g_pow_%" PRIu64 "[%" PRIu64 "]= {1", uintType_32, sc->raderContainer[i].prime, sc->raderContainer[i].prime); res = VkAppendLine(sc); @@ -1692,6 +1766,10 @@ static inline VkFFTResult appendConstantsVkFFT(VkFFTSpecializationConstantsLayou sc->tempLen = sprintf(sc->tempStr, "__constant %s r_rader_kernel_%" PRIu64 "[%" PRIu64 "]= {", floatType, sc->raderContainer[i].prime, sc->raderContainer[i].prime - 1); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "constant %s r_rader_kernel_%" PRIu64 "[%" PRIu64 "]= {", floatType, sc->raderContainer[i].prime, sc->raderContainer[i].prime - 1); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #else sc->tempLen = sprintf(sc->tempStr, "const %s r_rader_kernel_%" PRIu64 "[%" PRIu64 "]= {", floatType, sc->raderContainer[i].prime, sc->raderContainer[i].prime - 1); res = VkAppendLine(sc); @@ -1758,6 +1836,10 @@ static inline VkFFTResult appendConstantsVkFFT(VkFFTSpecializationConstantsLayou sc->tempLen = sprintf(sc->tempStr, "__constant %s i_rader_kernel_%" PRIu64 "[%" PRIu64 "]= {", floatType, sc->raderContainer[i].prime, sc->raderContainer[i].prime - 1); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "constant %s i_rader_kernel_%" PRIu64 "[%" PRIu64 "]= {", floatType, sc->raderContainer[i].prime, sc->raderContainer[i].prime - 1); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; #else sc->tempLen = sprintf(sc->tempStr, "const %s i_rader_kernel_%" PRIu64 "[%" PRIu64 "]= {", floatType, sc->raderContainer[i].prime, sc->raderContainer[i].prime - 1); res = VkAppendLine(sc); @@ -1856,6 +1938,11 @@ static inline VkFFTResult appendSinCos20(VkFFTSpecializationConstantsLayout* sc, if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); sprintf(functionDefinitions, "static __inline__ "); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "half")) sprintf(vecType, "half2"); + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif res = appendConstant(sc, floatType, "loc_2_PI", "0.63661977236758134307553505349006", LFending); if (res != VKFFT_SUCCESS) return res; @@ -2020,6 +2107,19 @@ layout(std430, binding = %" PRIu64 ") buffer DataIn{\n\ sc->inputNumberByteSize = 2 * sizeof(double); sprintf(vecType, "double2"); } +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatTypeMemory, "half")) { + sc->inputNumberByteSize = 2 * 2; + sprintf(vecType, "half2"); + } + if (!strcmp(floatTypeMemory, "float")) { + sc->inputNumberByteSize = 2 * sizeof(float); + sprintf(vecType, "float2"); + } + if (!strcmp(floatTypeMemory, "double")) { + sc->inputNumberByteSize = 2 * sizeof(double); + sprintf(vecType, "double2"); + } #endif break; } @@ -2133,6 +2233,19 @@ layout(std430, binding = %" PRIu64 ") buffer DataOut{\n\ sc->outputNumberByteSize = 2 * sizeof(double); sprintf(vecType, "double2"); } +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatTypeMemory, "half")) { + sc->outputNumberByteSize = 2 * 2; + sprintf(vecType, "half2"); + } + if (!strcmp(floatTypeMemory, "float")) { + sc->outputNumberByteSize = 2 * sizeof(float); + sprintf(vecType, "float2"); + } + if (!strcmp(floatTypeMemory, "double")) { + sc->outputNumberByteSize = 2 * sizeof(double); + sprintf(vecType, "double2"); + } #endif break; } @@ -2244,6 +2357,19 @@ layout(std430, binding = %" PRIu64 ") buffer Kernel_FFT{\n\ sc->kernelNumberByteSize = 2 * sizeof(double); sprintf(vecType, "double2"); } +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatTypeMemory, "half")) { + sc->kernelNumberByteSize = 2 * 2; + sprintf(vecType, "half2"); + } + if (!strcmp(floatTypeMemory, "float")) { + sc->kernelNumberByteSize = 2 * sizeof(float); + sprintf(vecType, "float2"); + } + if (!strcmp(floatTypeMemory, "double")) { + sc->kernelNumberByteSize = 2 * sizeof(double); + sprintf(vecType, "double2"); + } #endif return res; } @@ -2268,6 +2394,9 @@ layout(std430, binding = %" PRIu64 ") readonly buffer DataLUT {\n\ #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); #endif return res; } @@ -2288,6 +2417,8 @@ layout(std430, binding = %" PRIu64 ") readonly buffer DataRaderUintLUT {\n\ sprintf(uintType_32, "unsigned int"); #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(uintType_32, "unsigned int"); +#elif(VKFFT_BACKEND==5) + sprintf(uintType_32, "uint"); #endif return res; } @@ -2325,6 +2456,9 @@ layout(std430, binding = %" PRIu64 ") readonly buffer DataBluesteinMultiplicatio #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); #endif return res; } @@ -2648,6 +2782,12 @@ static inline VkFFTResult inlineRadixKernelVkFFT(VkFFTSpecializationConstantsLay char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char* temp = sc->temp; //sprintf(temp, "loc_0"); @@ -4059,18 +4199,18 @@ temp.y = temp%s.y * iw.x + temp%s.x * iw.y;\n\ temp%s = temp%s - temp;\n\ temp%s = temp%s + temp;\n\n", regID[3], regID[3], regID[3], regID[3], regID[3], regID[2], regID[2], regID[2]);*/ if (stageAngle < 0) { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 + %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e + %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 - %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e - %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 - %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e - %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 + %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e + %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } @@ -6600,18 +6740,18 @@ temp%s = temp;\n\ if (res != VKFFT_SUCCESS) return res; } if (stageAngle < 0) { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 + %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e + %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 - %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e - %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 - %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e - %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 + %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e + %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } @@ -6731,18 +6871,18 @@ temp%s = temp;\n\ if (stageAngle < 0) { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 + %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e + %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 - %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e - %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 - %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e - %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 + %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e + %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } @@ -7098,18 +7238,18 @@ temp%s = temp;\n\ if (res != VKFFT_SUCCESS) return res; } if (stageAngle < 0) { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 + %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e + %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 - %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e - %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 - %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e - %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 + %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e + %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } @@ -7229,18 +7369,18 @@ temp%s = temp;\n\ if (stageAngle < 0) { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 + %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e + %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 - %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e - %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 - %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e - %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 + %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e + %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } @@ -7418,18 +7558,18 @@ temp%s = temp;\n\ if (stageAngle < 0) { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 + %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e + %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 - %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e - %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * loc_SQRT1_2 - %s.y * loc_SQRT1_2;\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.x = %s.x * %.17e - %s.y * %.17e;\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; - sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * loc_SQRT1_2 + %s.x * loc_SQRT1_2;\n\n", iw, w, w); + sc->tempLen = sprintf(sc->tempStr, " %s.y = %s.y * %.17e + %s.x * %.17e;\n\n", iw, w, 0.70710678118654752440084436210485, w, 0.70710678118654752440084436210485); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } @@ -7715,6 +7855,9 @@ static inline VkFFTResult appendSharedMemoryVkFFT(VkFFTSpecializationConstantsLa #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(vecType, "float2"); sprintf(sharedDefinitions, "__local"); +#elif(VKFFT_BACKEND==5) + sprintf(vecType, "float2"); + sprintf(sharedDefinitions, "shared"); #endif vecSize = 8; } @@ -7731,6 +7874,9 @@ static inline VkFFTResult appendSharedMemoryVkFFT(VkFFTSpecializationConstantsLa #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(vecType, "double2"); sprintf(sharedDefinitions, "__local"); +#elif(VKFFT_BACKEND==5) + sprintf(vecType, "double2"); + sprintf(sharedDefinitions, "shared"); #endif vecSize = 16; } @@ -7885,6 +8031,10 @@ static inline VkFFTResult appendInitialization(VkFFTSpecializationConstantsLayou if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); sprintf(uintType_32, "unsigned int"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + sprintf(uintType_32, "uint"); #endif //sc->tempLen = sprintf(sc->tempStr, " uint dum=gl_LocalInvocationID.x;\n"); uint64_t logicalStoragePerThread = sc->registers_per_thread * sc->registerBoost; @@ -8851,6 +9001,14 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout sprintf(uintType_32, "unsigned int"); char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; +#elif(VKFFT_BACKEND==5) + sprintf(inputsStruct, "inputs"); + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); + sprintf(uintType_32, "uint"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; #endif char convTypeLeft[20] = ""; char convTypeRight[20] = ""; @@ -8868,6 +9026,9 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "(float)"); //sprintf(convTypeRight, ""); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "float("); + sprintf(convTypeRight, ")"); #endif } else { @@ -8883,6 +9044,9 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "conv_float2("); sprintf(convTypeRight, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "conv_float2("); + sprintf(convTypeRight, ")"); #endif } } @@ -8900,6 +9064,9 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "(double)"); //sprintf(convTypeRight, ""); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "double("); + sprintf(convTypeRight, ")"); #endif } else { @@ -8915,6 +9082,9 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "conv_double2("); sprintf(convTypeRight, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "conv_double2("); + sprintf(convTypeRight, ")"); #endif } } @@ -12370,7 +12540,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout if (res != VKFFT_SUCCESS) return res; res = appendZeropadStartReadWriteStage(sc, 1); if (res != VKFFT_SUCCESS) return res; -#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)))//OpenCL and Level Zero are not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)))//OpenCL, Level Zero and Metal are not handling barrier with thread-conditional writes to local memory - so this is a work-around if (sc->inputBufferBlockNum == 1) sc->tempLen = sprintf(sc->tempStr, " %s.x = %s%s[%s]%s;\n", sc->regIDs[0], convTypeLeft, inputsStruct, sc->inoutID, convTypeRight); else @@ -12395,7 +12565,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout if (res != VKFFT_SUCCESS) return res; } #endif -#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)))//OpenCL and Level Zero are not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)))//OpenCL, Level Zero and Metal are not handling barrier with thread-conditional writes to local memory - so this is a work-around if (sc->axisSwapped) { //sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (1-2*((combinedID %% %" PRIu64 ") %% 2)) * ((combinedID %% %" PRIu64 ")/2)) * sharedStride + (combinedID / %" PRIu64 ");\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); sc->tempLen = sprintf(sc->tempStr, " sdataID = ((combinedID %% %" PRIu64 ")/2) * sharedStride + (combinedID / %" PRIu64 ");\n", 2 * sc->fftDim, 2 * sc->fftDim); @@ -12496,7 +12666,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout } } } -#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4))//OpenCL is not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5))//OpenCL is not handling barrier with thread-conditional writes to local memory - so this is a work-around for (uint64_t k = 0; k < sc->registerBoost; k++) { for (uint64_t i = 0; i < 2 * used_registers_read; i++) { @@ -12976,7 +13146,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout sc->tempLen = sprintf(sc->tempStr, " sdata[sdataID].x = %s.x;\n", sc->regIDs[i + k * sc->registers_per_thread]); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; -#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)))//OpenCL and Level Zero are not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)))//OpenCL, Level Zero and Metal are not handling barrier with thread-conditional writes to local memory - so this is a work-around if (sc->axisSwapped) { sc->tempLen = sprintf(sc->tempStr, " sdataID = (%" PRIu64 " - combinedID %% %" PRIu64 ") * sharedStride + (combinedID / %" PRIu64 ");\n", sc->fftDim, sc->fftDim, sc->fftDim); } @@ -13026,7 +13196,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout if (res != VKFFT_SUCCESS) return res; res = appendBarrierVkFFT(sc, 1); if (res != VKFFT_SUCCESS) return res; -#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) +#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)) res = appendZeropadStart(sc); if (res != VKFFT_SUCCESS) return res; for (uint64_t k = 0; k < sc->registerBoost; k++) { @@ -13301,7 +13471,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout res = appendZeropadStartReadWriteStage(sc, 1); if (res != VKFFT_SUCCESS) return res; -#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)))//OpenCL and Level Zero are not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)))//OpenCL, Level Zero and Metal are not handling barrier with thread-conditional writes to local memory - so this is a work-around if (sc->inputBufferBlockNum == 1) sc->tempLen = sprintf(sc->tempStr, " %s.x = %s%s[%s]%s;\n", sc->regIDs[0], convTypeLeft, inputsStruct, sc->inoutID, convTypeRight); else @@ -13326,7 +13496,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout if (res != VKFFT_SUCCESS) return res; } #endif -#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)))//OpenCL and Level Zero are not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)))//OpenCL, Level Zero and Metal are not handling barrier with thread-conditional writes to local memory - so this is a work-around sc->tempLen = sprintf(sc->tempStr, " sdataID = ((combinedID / %" PRIu64 ")/2) * sharedStride + (combinedID %% %" PRIu64 ");\n", sc->localSize[0], sc->localSize[0]); res = VkAppendLine(sc); @@ -13393,7 +13563,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout } } } -#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4))//OpenCL is not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5))//OpenCL is not handling barrier with thread-conditional writes to local memory - so this is a work-around for (uint64_t k = 0; k < sc->registerBoost; k++) { for (uint64_t i = 0; i < 2 * used_registers_read; i++) { @@ -13734,7 +13904,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout sc->tempLen = sprintf(sc->tempStr, " sdata[sdataID].x = %s.x;\n", sc->regIDs[i + k * sc->registers_per_thread]); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; -#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)))//OpenCL and Level Zero are not handling barrier with thread-conditional writes to local memory - so this is a work-around +#if(!((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)))//OpenCL, Level Zero and Metal are not handling barrier with thread-conditional writes to local memory - so this is a work-around sc->tempLen = sprintf(sc->tempStr, " sdataID = (%" PRIu64 " - combinedID / %" PRIu64 ") * sharedStride + (combinedID %% %" PRIu64 ");\n", sc->fftDim, sc->localSize[0], sc->localSize[0]); res = VkAppendLine(sc); @@ -13768,7 +13938,7 @@ static inline VkFFTResult appendReadDataVkFFT(VkFFTSpecializationConstantsLayout if (res != VKFFT_SUCCESS) return res; res = appendBarrierVkFFT(sc, 1); if (res != VKFFT_SUCCESS) return res; -#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) +#if((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)||(VKFFT_BACKEND==5)) res = appendZeropadStart(sc); if (res != VKFFT_SUCCESS) return res; for (uint64_t k = 0; k < sc->registerBoost; k++) { @@ -14582,6 +14752,12 @@ static inline VkFFTResult appendReorder4StepRead(VkFFTSpecializationConstantsLay char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif uint64_t logicalRegistersPerThread = (sc->rader_generator[0] > 0) ? sc->min_registers_per_thread : sc->registers_per_thread_per_radix[sc->stageRadix[0]];// (sc->registers_per_thread % sc->stageRadix[sc->numStages - 1] == 0) ? sc->registers_per_thread : sc->min_registers_per_thread; @@ -14624,7 +14800,7 @@ static inline VkFFTResult appendReorder4StepRead(VkFFTSpecializationConstantsLay } } else { - sc->tempLen = sprintf(sc->tempStr, " angle = 2 * loc_PI * ((((%s%s) / %" PRIu64 ") %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s;\n", sc->gl_GlobalInvocationID_x, shiftX, sc->fft_dim_x, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); + sc->tempLen = sprintf(sc->tempStr, " angle = 2 * %.17e * ((((%s%s) / %" PRIu64 ") %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s;\n", 3.1415926535897932384626433832795, sc->gl_GlobalInvocationID_x, shiftX, sc->fft_dim_x, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; if (!strcmp(floatType, "float")) { @@ -14727,7 +14903,7 @@ static inline VkFFTResult appendReorder4StepRead(VkFFTSpecializationConstantsLay } } else { - sc->tempLen = sprintf(sc->tempStr, " angle = 2 * loc_PI * ((((%s%s) %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s);\n", sc->gl_GlobalInvocationID_x, shiftX, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); + sc->tempLen = sprintf(sc->tempStr, " angle = 2 * %.17e * ((((%s%s) %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s);\n", 3.1415926535897932384626433832795, sc->gl_GlobalInvocationID_x, shiftX, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; @@ -14826,6 +15002,13 @@ static inline VkFFTResult appendReorder4StepWrite(VkFFTSpecializationConstantsLa char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); + #endif uint64_t logicalRegistersPerThread = (sc->rader_generator[sc->numStages - 1] > 0) ? sc->min_registers_per_thread : sc->registers_per_thread_per_radix[sc->stageRadix[sc->numStages - 1]];// (sc->registers_per_thread % sc->stageRadix[sc->numStages - 1] == 0) ? sc->registers_per_thread : sc->min_registers_per_thread; @@ -14868,7 +15051,7 @@ static inline VkFFTResult appendReorder4StepWrite(VkFFTSpecializationConstantsLa } } else { - sc->tempLen = sprintf(sc->tempStr, " angle = 2 * loc_PI * ((((%s%s) / %" PRIu64 ") %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s;\n", sc->gl_GlobalInvocationID_x, shiftX, sc->fft_dim_x, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); + sc->tempLen = sprintf(sc->tempStr, " angle = 2 * %.17e * ((((%s%s) / %" PRIu64 ") %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s;\n", 3.1415926535897932384626433832795, sc->gl_GlobalInvocationID_x, shiftX, sc->fft_dim_x, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; if (sc->inverse) { @@ -14989,7 +15172,7 @@ static inline VkFFTResult appendReorder4StepWrite(VkFFTSpecializationConstantsLa } } else { - sc->tempLen = sprintf(sc->tempStr, " angle = 2 * loc_PI * ((((%s%s) %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s);\n", sc->gl_GlobalInvocationID_x, shiftX, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); + sc->tempLen = sprintf(sc->tempStr, " angle = 2 * %.17e * ((((%s%s) %% (%" PRIu64 ")) * (%s + %" PRIu64 ")) / %f%s);\n", 3.1415926535897932384626433832795, sc->gl_GlobalInvocationID_x, shiftX, sc->stageStartSize, sc->gl_LocalInvocationID_y, i * sc->localSize[1], (double)(sc->stageStartSize * sc->fftDim), LFending); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; if (sc->inverse) { @@ -15106,6 +15289,12 @@ static inline VkFFTResult appendBluesteinMultiplication(VkFFTSpecializationConst //char cosDef[20] = "native_cos"; //char sinDef[20] = "native_sin"; //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + //char cosDef[20] = "cos"; + //char sinDef[20] = "sin"; + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char shiftX[500] = ""; if (sc->performWorkGroupShift[0]) @@ -15308,6 +15497,12 @@ static inline VkFFTResult appendFFTRaderStage(VkFFTSpecializationConstantsLayout char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char stageNormalization[50] = ""; uint64_t normalizationValue = 1; @@ -16773,6 +16968,12 @@ static inline VkFFTResult appendMultRaderStage(VkFFTSpecializationConstantsLayou char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char stageNormalization[50] = ""; uint64_t normalizationValue = 1; @@ -18126,6 +18327,10 @@ static inline VkFFTResult appendRadixStageNonStrided(VkFFTSpecializationConstant if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char convolutionInverse[10] = ""; @@ -18463,6 +18668,10 @@ static inline VkFFTResult appendRadixStageStrided(VkFFTSpecializationConstantsLa if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char convolutionInverse[10] = ""; @@ -18847,6 +19056,10 @@ static inline VkFFTResult appendRadixShuffleNonStrided(VkFFTSpecializationConsta #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char stageNormalization[50] = ""; uint64_t normalizationValue = 1; @@ -19234,6 +19447,10 @@ static inline VkFFTResult appendRadixShuffleStrided(VkFFTSpecializationConstants #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); #endif char tempNum[50] = ""; @@ -20194,6 +20411,9 @@ static inline VkFFTResult appendPreparationBatchedKernelConvolution(VkFFTSpecial #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); +#elif(VKFFT_BACKEND==5) + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); #endif char separateRegisterStore[100] = "_store"; @@ -20376,6 +20596,9 @@ static inline VkFFTResult appendKernelConvolution(VkFFTSpecializationConstantsLa #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "(float)"); //sprintf(convTypeRight, ""); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "float("); + sprintf(convTypeRight, ")"); #endif } if ((!strcmp(floatType, "double")) && (strcmp(floatTypeMemory, "double"))) { @@ -20391,6 +20614,9 @@ static inline VkFFTResult appendKernelConvolution(VkFFTSpecializationConstantsLa #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "(double)"); //sprintf(convTypeRight, ""); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "double("); + sprintf(convTypeRight, ")"); #endif } @@ -20620,6 +20846,8 @@ static inline VkFFTResult appendKernelConvolution(VkFFTSpecializationConstantsLa sc->tempLen = sprintf(sc->tempStr, " w.x = rsqrt(temp_real0*temp_real0+temp_imag0*temp_imag0);\n"); #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sc->tempLen = sprintf(sc->tempStr, " w.x = rsqrt(temp_real0*temp_real0+temp_imag0*temp_imag0);\n"); +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, " w.x = rsqrt(temp_real0*temp_real0+temp_imag0*temp_imag0);\n"); #endif res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; @@ -20648,6 +20876,8 @@ static inline VkFFTResult appendKernelConvolution(VkFFTSpecializationConstantsLa sc->tempLen = sprintf(sc->tempStr, " w.x = rsqrt(temp_real%" PRIu64 "*temp_real%" PRIu64 "+temp_imag%" PRIu64 "*temp_imag%" PRIu64 ");\n", l, l, l, l); #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sc->tempLen = sprintf(sc->tempStr, " w.x = rsqrt(temp_real%" PRIu64 "*temp_real%" PRIu64 "+temp_imag%" PRIu64 "*temp_imag%" PRIu64 ");\n", l, l, l, l); +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, " w.x = rsqrt(temp_real%" PRIu64 "*temp_real%" PRIu64 "+temp_imag%" PRIu64 "*temp_imag%" PRIu64 ");\n", l, l, l, l); #endif res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; @@ -20846,6 +21076,13 @@ static inline VkFFTResult appendWriteDataVkFFT(VkFFTSpecializationConstantsLayou //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; +#elif(VKFFT_BACKEND==5) + sprintf(outputsStruct, "outputs"); + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; #endif char convTypeLeft[20] = ""; char convTypeRight[20] = ""; @@ -20873,6 +21110,9 @@ static inline VkFFTResult appendWriteDataVkFFT(VkFFTSpecializationConstantsLayou #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "(float)"); //sprintf(convTypeRight, ""); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "float("); + sprintf(convTypeRight, ")"); #endif } else { @@ -20888,6 +21128,9 @@ static inline VkFFTResult appendWriteDataVkFFT(VkFFTSpecializationConstantsLayou #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "conv_float2("); sprintf(convTypeRight, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "conv_float2("); + sprintf(convTypeRight, ")"); #endif } } @@ -20905,6 +21148,9 @@ static inline VkFFTResult appendWriteDataVkFFT(VkFFTSpecializationConstantsLayou #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "(double)"); //sprintf(convTypeRight, ""); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "double("); + sprintf(convTypeRight, ")"); #endif } else { @@ -20920,6 +21166,9 @@ static inline VkFFTResult appendWriteDataVkFFT(VkFFTSpecializationConstantsLayou #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeft, "conv_double2("); sprintf(convTypeRight, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeft, "conv_double2("); + sprintf(convTypeRight, ")"); #endif } } @@ -23334,12 +23583,12 @@ if (%s==%" PRIu64 ") \n\ if (res != VKFFT_SUCCESS) return res; if (sc->mergeSequencesR2C) { if (sc->axisSwapped) { - sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (1-2*((combinedID %% %" PRIu64 ") %% 2)) * ((combinedID %% %" PRIu64 ")/2)) * sharedStride + (combinedID / %" PRIu64 ");\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); + sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (-2*((combinedID %% %" PRIu64 ") %% 2)+1) * ((combinedID %% %" PRIu64 ")/2)) * sharedStride + (combinedID / %" PRIu64 ");\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (1-2*((combinedID %% %" PRIu64 ") %% 2)) * ((combinedID %% %" PRIu64 ")/2)) + (combinedID / %" PRIu64 ")* sharedStride;\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); + sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (-2*((combinedID %% %" PRIu64 ") %% 2)+1) * ((combinedID %% %" PRIu64 ")/2)) + (combinedID / %" PRIu64 ")* sharedStride;\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; } @@ -23362,7 +23611,7 @@ if (%s==%" PRIu64 ") \n\ } else { if (!sc->axisSwapped) { - sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (1-2*((combinedID %% %" PRIu64 ") %% 2)) * ((combinedID %% %" PRIu64 ")/2)) + (combinedID / %" PRIu64 ") * sharedStride;\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); + sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (-2*((combinedID %% %" PRIu64 ") %% 2)+1) * ((combinedID %% %" PRIu64 ")/2)) + (combinedID / %" PRIu64 ") * sharedStride;\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; if (sc->outputBufferBlockNum == 1) @@ -23373,7 +23622,7 @@ if (%s==%" PRIu64 ") \n\ if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (1-2*((combinedID %% %" PRIu64 ") %% 2)) * ((combinedID %% %" PRIu64 ")/2)) * sharedStride + (combinedID / %" PRIu64 ");\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); + sc->tempLen = sprintf(sc->tempStr, " sdataID = (((combinedID %% %" PRIu64 ") %% 2) * %" PRIu64 " + (-2*((combinedID %% %" PRIu64 ") %% 2)+1) * ((combinedID %% %" PRIu64 ")/2)) * sharedStride + (combinedID / %" PRIu64 ");\n", sc->fftDim, sc->fftDim - 1, sc->fftDim, sc->fftDim, sc->fftDim); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; if (sc->outputBufferBlockNum == 1) @@ -25348,7 +25597,9 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp char outputsStruct[20] = ""; char LFending[4] = ""; if (!strcmp(floatType, "float")) sprintf(LFending, "f"); + char uintType_32[30]; #if(VKFFT_BACKEND==0) + sprintf(uintType_32, "unsigned int"); if (sc->inputBufferBlockNum == 1) sprintf(inputsStruct, "inputs"); else @@ -25404,6 +25655,7 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp char cosDef[20] = "cos"; char sinDef[20] = "sin"; #elif(VKFFT_BACKEND==1) + sprintf(uintType_32, "unsigned int"); sprintf(inputsStruct, "inputs"); sprintf(outputsStruct, "outputs"); if (!strcmp(floatType, "half")) sprintf(vecType, "f16vec2"); @@ -25453,6 +25705,7 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp char cosDef[20] = "__cosf"; char sinDef[20] = "__sinf"; #elif(VKFFT_BACKEND==2) + sprintf(uintType_32, "unsigned int"); sprintf(inputsStruct, "inputs"); sprintf(outputsStruct, "outputs"); if (!strcmp(floatType, "half")) sprintf(vecType, "f16vec2"); @@ -25502,6 +25755,7 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp char cosDef[20] = "__cosf"; char sinDef[20] = "__sinf"; #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) + sprintf(uintType_32, "unsigned int"); sprintf(inputsStruct, "inputs"); sprintf(outputsStruct, "outputs"); if (!strcmp(floatType, "half")) sprintf(vecType, "f16vec2"); @@ -25548,6 +25802,56 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp //if (!strcmp(floatType, "double")) sprintf(LFending, "l"); char cosDef[20] = "native_cos"; char sinDef[20] = "native_sin"; +#elif(VKFFT_BACKEND==5) + sprintf(uintType_32, "uint"); + sprintf(inputsStruct, "inputs"); + sprintf(outputsStruct, "outputs"); + if (!strcmp(floatType, "half")) sprintf(vecType, "half2"); + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatTypeInputMemory, "half")) sprintf(vecTypeInput, "half2"); + if (!strcmp(floatTypeInputMemory, "float")) sprintf(vecTypeInput, "float2"); + if (!strcmp(floatTypeInputMemory, "double")) sprintf(vecTypeInput, "double2"); + if (!strcmp(floatTypeOutputMemory, "half")) sprintf(vecTypeOutput, "half2"); + if (!strcmp(floatTypeOutputMemory, "float")) sprintf(vecTypeOutput, "float2"); + if (!strcmp(floatTypeOutputMemory, "double")) sprintf(vecTypeOutput, "double2"); + sprintf(sc->gl_LocalInvocationID_x, "thread_position_in_threadgroup.x"); + sprintf(sc->gl_LocalInvocationID_y, "thread_position_in_threadgroup.y"); + sprintf(sc->gl_LocalInvocationID_z, "thread_position_in_threadgroup.z"); + switch (sc->swapComputeWorkGroupID) { + case 0: + sprintf(sc->gl_GlobalInvocationID_x, "thread_position_in_grid.x"); + sprintf(sc->gl_GlobalInvocationID_y, "thread_position_in_grid.y"); + sprintf(sc->gl_GlobalInvocationID_z, "thread_position_in_grid.z"); + sprintf(sc->gl_WorkGroupID_x, "threadgroup_position_in_grid.x"); + sprintf(sc->gl_WorkGroupID_y, "threadgroup_position_in_grid.y"); + sprintf(sc->gl_WorkGroupID_z, "threadgroup_position_in_grid.z"); + break; + case 1: + sprintf(sc->gl_GlobalInvocationID_x, "(thread_position_in_threadgroup.x + threadgroup_position_in_grid.y * %" PRIu64 ")", sc->localSize[0]); + sprintf(sc->gl_GlobalInvocationID_y, "(thread_position_in_threadgroup.y + threadgroup_position_in_grid.x * %" PRIu64 ")", sc->localSize[1]); + sprintf(sc->gl_GlobalInvocationID_z, "thread_position_in_threadgroup.z"); + sprintf(sc->gl_WorkGroupID_x, "threadgroup_position_in_grid.y"); + sprintf(sc->gl_WorkGroupID_y, "threadgroup_position_in_grid.x"); + sprintf(sc->gl_WorkGroupID_z, "threadgroup_position_in_grid.z"); + break; + case 2: + sprintf(sc->gl_GlobalInvocationID_x, "(thread_position_in_threadgroup.x + threadgroup_position_in_grid.z * %" PRIu64 ")", sc->localSize[0]); + sprintf(sc->gl_GlobalInvocationID_y, "thread_position_in_threadgroup.y"); + sprintf(sc->gl_GlobalInvocationID_z, "(thread_position_in_threadgroup.z + threadgroup_position_in_grid.x * %" PRIu64 ")", sc->localSize[2]); + sprintf(sc->gl_WorkGroupID_x, "threadgroup_position_in_grid.z"); + sprintf(sc->gl_WorkGroupID_y, "threadgroup_position_in_grid.y"); + sprintf(sc->gl_WorkGroupID_z, "threadgroup_position_in_grid.x"); + break; + } + sprintf(sc->gl_WorkGroupSize_x, "%" PRIu64 "", sc->localSize[0]); + sprintf(sc->gl_WorkGroupSize_y, "%" PRIu64 "", sc->localSize[1]); + sprintf(sc->gl_WorkGroupSize_z, "%" PRIu64 "", sc->localSize[2]); + //sprintf(sc->gl_SubgroupInvocationID, "gl_SubgroupInvocationID"); + //sprintf(sc->gl_SubgroupID, "gl_SubgroupID"); + if (!strcmp(floatType, "double")) sprintf(LFending, "LF"); + char cosDef[20] = "cos"; + char sinDef[20] = "sin"; #endif sprintf(sc->stageInvocationID, "stageInvocationID"); sprintf(sc->blockInvocationID, "blockInvocationID"); @@ -25572,6 +25876,9 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeftInput, "conv_float2("); sprintf(convTypeRightInput, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeftInput, "conv_float2("); + sprintf(convTypeRightInput, ")"); #endif } if ((!strcmp(floatType, "double")) && (strcmp(floatTypeInputMemory, "double"))) { @@ -25587,6 +25894,9 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeftInput, "conv_double2("); sprintf(convTypeRightInput, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeftInput, "conv_double2("); + sprintf(convTypeRightInput, ")"); #endif } @@ -25601,12 +25911,17 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp sprintf(convTypeLeftOutput, "vec2("); sprintf(convTypeRightOutput, ")"); #elif(VKFFT_BACKEND==1) - sprintf(convTypeLeftOutput, "(float2)"); + sprintf(convTypeLeftOutput, "conv_float2"); + sprintf(convTypeRightOutput, ")"); #elif(VKFFT_BACKEND==2) - sprintf(convTypeLeftOutput, "(float2)"); + sprintf(convTypeLeftOutput, "conv_float2"); + sprintf(convTypeRightOutput, ")"); #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeftOutput, "conv_float2("); sprintf(convTypeRightOutput, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeftOutput, "conv_float2("); + sprintf(convTypeRightOutput, ")"); #endif } if ((!strcmp(floatTypeOutputMemory, "double")) && (strcmp(floatType, "double"))) { @@ -25614,12 +25929,17 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp sprintf(convTypeLeftOutput, "dvec2("); sprintf(convTypeRightOutput, ")"); #elif(VKFFT_BACKEND==1) - sprintf(convTypeLeftOutput, "(double2)"); + sprintf(convTypeLeftOutput, "conv_double2("); + sprintf(convTypeRightOutput, ")"); #elif(VKFFT_BACKEND==2) - sprintf(convTypeLeftOutput, "(double2)"); + sprintf(convTypeLeftOutput, "conv_double2("); + sprintf(convTypeRightOutput, ")"); #elif((VKFFT_BACKEND==3)||(VKFFT_BACKEND==4)) sprintf(convTypeLeftOutput, "conv_double2("); sprintf(convTypeRightOutput, ")"); +#elif(VKFFT_BACKEND==5) + sprintf(convTypeLeftOutput, "conv_double2("); + sprintf(convTypeRightOutput, ")"); #endif } //sprintf(sc->tempReg, "temp"); @@ -25743,6 +26063,45 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; //sc->tempLen = sprintf(sc->tempStr, ", const PushConsts consts) {\n"); +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "kernel void VkFFT_main_R2C "); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "(%s3 thread_position_in_grid [[thread_position_in_grid]], ", uintType_32); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "%s3 threadgroup_position_in_grid [[threadgroup_position_in_grid]], ", uintType_32); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "%s3 thread_position_in_threadgroup [[thread_position_in_threadgroup]], ", uintType_32); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", vecTypeInput, vecTypeOutput); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + int args_id = 2; + if (sc->convolutionStep) { + sc->tempLen = sprintf(sc->tempStr, ", constant %s* kernel_obj[[buffer(%d)]]", vecType, args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + args_id++; + } + if (sc->LUT) { + sc->tempLen = sprintf(sc->tempStr, ", constant %s* twiddleLUT[[buffer(%d)]]", vecType, args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + args_id++; + } + if (sc->pushConstantsStructSize > 0) { + sc->tempLen = sprintf(sc->tempStr, ", constant PushConsts& consts[[buffer(%d)]]", args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + args_id++; + } + sc->tempLen = sprintf(sc->tempStr, ") {\n"); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + //sc->tempLen = sprintf(sc->tempStr, ", const PushConsts consts) {\n"); #endif char index_x[2000] = ""; char idX[500] = ""; @@ -25975,7 +26334,7 @@ static inline VkFFTResult shaderGenVkFFT_R2C_decomposition(char* output, VkFFTSp if (res != VKFFT_SUCCESS) return res; } else { - sc->tempLen = sprintf(sc->tempStr, " %s angle = (loc_PI*id_x)/%" PRIu64 ";\n", floatType, sc->size[0] / 2); + sc->tempLen = sprintf(sc->tempStr, " %s angle = (%.17e*id_x)/%" PRIu64 ";\n", floatType, 3.1415926535897932384626433832795, sc->size[0] / 2); res = VkAppendLine(sc); if (res != VKFFT_SUCCESS) return res; if (!strcmp(floatType, "float")) { @@ -26296,6 +26655,51 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta sprintf(sc->gl_WorkGroupSize_x, "get_local_size(0)"); sprintf(sc->gl_WorkGroupSize_y, "get_local_size(1)"); sprintf(sc->gl_WorkGroupSize_z, "get_local_size(2)"); +#elif(VKFFT_BACKEND==5) + sprintf(uintType_32, "uint"); + if (!strcmp(floatType, "half")) sprintf(vecType, "f16vec2"); + if (!strcmp(floatType, "float")) sprintf(vecType, "float2"); + if (!strcmp(floatType, "double")) sprintf(vecType, "double2"); + if (!strcmp(floatTypeInputMemory, "half")) sprintf(vecTypeInput, "half2"); + if (!strcmp(floatTypeInputMemory, "float")) sprintf(vecTypeInput, "float2"); + if (!strcmp(floatTypeInputMemory, "double")) sprintf(vecTypeInput, "double2"); + if (!strcmp(floatTypeOutputMemory, "half")) sprintf(vecTypeOutput, "half2"); + if (!strcmp(floatTypeOutputMemory, "float")) sprintf(vecTypeOutput, "float2"); + if (!strcmp(floatTypeOutputMemory, "double")) sprintf(vecTypeOutput, "double2"); + sprintf(sc->gl_LocalInvocationID_x, "thread_position_in_threadgroup.x"); + sprintf(sc->gl_LocalInvocationID_y, "thread_position_in_threadgroup.y"); + sprintf(sc->gl_LocalInvocationID_z, "thread_position_in_threadgroup.z"); + switch (sc->swapComputeWorkGroupID) { + case 0: + sprintf(sc->gl_GlobalInvocationID_x, "thread_position_in_grid.x"); + sprintf(sc->gl_GlobalInvocationID_y, "thread_position_in_grid.y"); + sprintf(sc->gl_GlobalInvocationID_z, "thread_position_in_grid.z"); + sprintf(sc->gl_WorkGroupID_x, "threadgroup_position_in_grid.x"); + sprintf(sc->gl_WorkGroupID_y, "threadgroup_position_in_grid.y"); + sprintf(sc->gl_WorkGroupID_z, "threadgroup_position_in_grid.z"); + break; + case 1: + sprintf(sc->gl_GlobalInvocationID_x, "(thread_position_in_threadgroup.x + threadgroup_position_in_grid.y * %" PRIu64 ")", sc->localSize[0]); + sprintf(sc->gl_GlobalInvocationID_y, "(thread_position_in_threadgroup.y + threadgroup_position_in_grid.x * %" PRIu64 ")", sc->localSize[1]); + sprintf(sc->gl_GlobalInvocationID_z, "thread_position_in_threadgroup.z"); + sprintf(sc->gl_WorkGroupID_x, "threadgroup_position_in_grid.y"); + sprintf(sc->gl_WorkGroupID_y, "threadgroup_position_in_grid.x"); + sprintf(sc->gl_WorkGroupID_z, "threadgroup_position_in_grid.z"); + break; + case 2: + sprintf(sc->gl_GlobalInvocationID_x, "(thread_position_in_threadgroup.x + threadgroup_position_in_grid.z * %" PRIu64 ")", sc->localSize[0]); + sprintf(sc->gl_GlobalInvocationID_y, "thread_position_in_threadgroup.y"); + sprintf(sc->gl_GlobalInvocationID_z, "(thread_position_in_threadgroup.z + threadgroup_position_in_grid.x * %" PRIu64 ")", sc->localSize[2]); + sprintf(sc->gl_WorkGroupID_x, "threadgroup_position_in_grid.z"); + sprintf(sc->gl_WorkGroupID_y, "threadgroup_position_in_grid.y"); + sprintf(sc->gl_WorkGroupID_z, "threadgroup_position_in_grid.x"); + break; + } + sprintf(sc->gl_WorkGroupSize_x, "%" PRIu64 "", sc->localSize[0]); + sprintf(sc->gl_WorkGroupSize_y, "%" PRIu64 "", sc->localSize[1]); + sprintf(sc->gl_WorkGroupSize_z, "%" PRIu64 "", sc->localSize[2]); + //sprintf(sc->gl_SubgroupInvocationID, "gl_SubgroupInvocationID"); + //sprintf(sc->gl_SubgroupID, "gl_SubgroupID"); #endif sprintf(sc->stageInvocationID, "stageInvocationID"); sprintf(sc->blockInvocationID, "blockInvocationID"); @@ -26820,6 +27224,7 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta freeShaderGenVkFFT(sc); return res; } + int args_id = 2; if (sc->convolutionStep) { sc->tempLen = sprintf(sc->tempStr, ", __global %s* kernel_obj", vecType); res = VkAppendLine(sc); @@ -26827,6 +27232,7 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta freeShaderGenVkFFT(sc); return res; } + args_id++; } if (sc->LUT) { sc->tempLen = sprintf(sc->tempStr, ", __global %s* twiddleLUT", vecType); @@ -26835,6 +27241,7 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta freeShaderGenVkFFT(sc); return res; } + args_id++; } if (sc->raderUintLUT) { sc->tempLen = sprintf(sc->tempStr, ", __global %s* g_pow", uintType_32); @@ -26843,6 +27250,7 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta freeShaderGenVkFFT(sc); return res; } + args_id++; } if (sc->BluesteinConvolutionStep) { sc->tempLen = sprintf(sc->tempStr, ", __global %s* BluesteinConvolutionKernel", vecType); @@ -26851,6 +27259,7 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta freeShaderGenVkFFT(sc); return res; } + args_id++; } if (sc->BluesteinPreMultiplication || sc->BluesteinPostMultiplication) { sc->tempLen = sprintf(sc->tempStr, ", __global %s* BluesteinMultiplication", vecType); @@ -26859,6 +27268,7 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta freeShaderGenVkFFT(sc); return res; } + args_id++; } if (sc->pushConstantsStructSize > 0) { sc->tempLen = sprintf(sc->tempStr, ", PushConsts consts"); @@ -26880,6 +27290,168 @@ static inline VkFFTResult shaderGenVkFFT(char* output, VkFFTSpecializationConsta freeShaderGenVkFFT(sc); return res; } +#elif(VKFFT_BACKEND==5) + sc->tempLen = sprintf(sc->tempStr, "kernel void VkFFT_main "); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "(%s3 thread_position_in_grid [[thread_position_in_grid]], ", uintType_32); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "%s3 threadgroup_position_in_grid [[threadgroup_position_in_grid]], ", uintType_32); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "%s3 thread_position_in_threadgroup [[thread_position_in_threadgroup]], ", uintType_32); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + sc->tempLen = sprintf(sc->tempStr, "threadgroup %s* sdata [[threadgroup(0)]], ", vecType); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } + switch (type) { + case 5: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, vecTypeOutput); + break; + } + case 6: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", vecTypeInput, floatTypeOutputMemory); + break; + } + case 110: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 111: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 120: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 121: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 130: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 131: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 140: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 141: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 142: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 143: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 144: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + case 145: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", floatTypeInputMemory, floatTypeOutputMemory); + break; + } + default: + { + sc->tempLen = sprintf(sc->tempStr, "device %s* inputs[[buffer(0)]], device %s* outputs[[buffer(1)]]", vecTypeInput, vecTypeOutput); + break; + } + } + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } + int args_id = 2; + if (sc->convolutionStep) { + sc->tempLen = sprintf(sc->tempStr, ", constant %s* kernel_obj[[buffer(%d)]]", vecType, args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } + args_id++; + } + if (sc->LUT) { + sc->tempLen = sprintf(sc->tempStr, ", constant %s* twiddleLUT[[buffer(%d)]]", vecType, args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } + args_id++; + } + if (sc->raderUintLUT) { + sc->tempLen = sprintf(sc->tempStr, ", constant %s* g_pow[[buffer(%d)]]", uintType_32, args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } + args_id++; + } + if (sc->BluesteinConvolutionStep) { + sc->tempLen = sprintf(sc->tempStr, ", constant %s* BluesteinConvolutionKernel[[buffer(%d)]]", vecType, args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } + args_id++; + } + if (sc->BluesteinPreMultiplication || sc->BluesteinPostMultiplication) { + sc->tempLen = sprintf(sc->tempStr, ", constant %s* BluesteinMultiplication[[buffer(%d)]]", vecType, args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } + args_id++; + } + if (sc->pushConstantsStructSize > 0) { + sc->tempLen = sprintf(sc->tempStr, ", constant PushConsts& consts[[buffer(%d)]]", args_id); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + args_id++; + } + sc->tempLen = sprintf(sc->tempStr, ") {\n"); + res = VkAppendLine(sc); + if (res != VKFFT_SUCCESS) return res; + //sc->tempLen = sprintf(sc->tempStr, ", const PushConsts consts) {\n"); + res = appendSharedMemoryVkFFT(sc, floatType, uintType, locType); + if (res != VKFFT_SUCCESS) { + freeShaderGenVkFFT(sc); + return res; + } #endif //if (type==0) sc->tempLen = sprintf(sc->tempStr, "return;\n"); res = appendInitialization(sc, floatType, uintType, type); @@ -27262,7 +27834,7 @@ static inline VkFFTResult allocateFFTBuffer(VkFFTApplication* app, VkBuffer* buf return resFFT; } #endif -static inline VkFFTResult VkFFT_transferDataFromCPU(VkFFTApplication* app, void* arr, void* input_buffer, uint64_t transferSize) { +static inline VkFFTResult VkFFT_transferDataFromCPU(VkFFTApplication* app, void* cpu_arr, void* input_buffer, uint64_t transferSize) { VkFFTResult resFFT = VKFFT_SUCCESS; #if(VKFFT_BACKEND==0) VkBuffer* buffer = (VkBuffer*)input_buffer; @@ -27276,7 +27848,7 @@ static inline VkFFTResult VkFFT_transferDataFromCPU(VkFFTApplication* app, void* void* data; res = vkMapMemory(app->configuration.device[0], stagingBufferMemory, 0, stagingBufferSize, 0, &data); if (res != VK_SUCCESS) return VKFFT_ERROR_FAILED_TO_MAP_MEMORY; - memcpy(data, arr, stagingBufferSize); + memcpy(data, cpu_arr, stagingBufferSize); vkUnmapMemory(app->configuration.device[0], stagingBufferMemory); VkCommandBufferAllocateInfo commandBufferAllocateInfo = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO }; commandBufferAllocateInfo.commandPool = app->configuration.commandPool[0]; @@ -27312,14 +27884,14 @@ static inline VkFFTResult VkFFT_transferDataFromCPU(VkFFTApplication* app, void* #elif(VKFFT_BACKEND==1) cudaError_t res = cudaSuccess; void* buffer = ((void**)input_buffer)[0]; - res = cudaMemcpy(buffer, arr, transferSize, cudaMemcpyHostToDevice); + res = cudaMemcpy(buffer, cpu_arr, transferSize, cudaMemcpyHostToDevice); if (res != cudaSuccess) { return VKFFT_ERROR_FAILED_TO_COPY; } #elif(VKFFT_BACKEND==2) hipError_t res = hipSuccess; void* buffer = ((void**)input_buffer)[0]; - res = hipMemcpy(buffer, arr, transferSize, hipMemcpyHostToDevice); + res = hipMemcpy(buffer, cpu_arr, transferSize, hipMemcpyHostToDevice); if (res != hipSuccess) { return VKFFT_ERROR_FAILED_TO_COPY; } @@ -27328,7 +27900,7 @@ static inline VkFFTResult VkFFT_transferDataFromCPU(VkFFTApplication* app, void* cl_mem* buffer = (cl_mem*)input_buffer; cl_command_queue commandQueue = clCreateCommandQueue(app->configuration.context[0], app->configuration.device[0], 0, &res); if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_QUEUE; - res = clEnqueueWriteBuffer(commandQueue, buffer[0], CL_TRUE, 0, transferSize, arr, 0, NULL, NULL); + res = clEnqueueWriteBuffer(commandQueue, buffer[0], CL_TRUE, 0, transferSize, cpu_arr, 0, NULL, NULL); if (res != CL_SUCCESS) { return VKFFT_ERROR_FAILED_TO_COPY; } @@ -27351,7 +27923,7 @@ static inline VkFFTResult VkFFT_transferDataFromCPU(VkFFTApplication* app, void* if (res != ZE_RESULT_SUCCESS) { return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; } - res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, arr, transferSize, 0, 0, 0); + res = zeCommandListAppendMemoryCopy(copyCommandList, buffer, cpu_arr, transferSize, 0, 0, 0); if (res != ZE_RESULT_SUCCESS) { return VKFFT_ERROR_FAILED_TO_COPY; } @@ -27359,10 +27931,24 @@ static inline VkFFTResult VkFFT_transferDataFromCPU(VkFFTApplication* app, void* if (res != ZE_RESULT_SUCCESS) { return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; } +#elif(VKFFT_BACKEND==5) + MTL::Buffer* stagingBuffer = app->configuration.device->newBuffer(cpu_arr, transferSize, MTL::ResourceStorageModeShared); + MTL::CommandBuffer* copyCommandBuffer = app->configuration.queue->commandBuffer(); + if (copyCommandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::BlitCommandEncoder* blitCommandEncoder = copyCommandBuffer->blitCommandEncoder(); + if (blitCommandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::Buffer* buffer = ((MTL::Buffer**)input_buffer)[0]; + blitCommandEncoder->copyFromBuffer((MTL::Buffer*)stagingBuffer, 0, (MTL::Buffer*)buffer, 0, transferSize); + blitCommandEncoder->endEncoding(); + copyCommandBuffer->commit(); + copyCommandBuffer->waitUntilCompleted(); + blitCommandEncoder->release(); + copyCommandBuffer->release(); + stagingBuffer->release(); #endif return resFFT; } -static inline VkFFTResult VkFFT_transferDataToCPU(VkFFTApplication* app, void* arr, void* output_buffer, uint64_t transferSize) { +static inline VkFFTResult VkFFT_transferDataToCPU(VkFFTApplication* app, void* cpu_arr, void* output_buffer, uint64_t transferSize) { VkFFTResult resFFT = VKFFT_SUCCESS; #if(VKFFT_BACKEND==0) VkBuffer* buffer = (VkBuffer*)output_buffer; @@ -27404,21 +27990,21 @@ static inline VkFFTResult VkFFT_transferDataToCPU(VkFFTApplication* app, void* a void* data; res = vkMapMemory(app->configuration.device[0], stagingBufferMemory, 0, stagingBufferSize, 0, &data); if (resFFT != VKFFT_SUCCESS) return resFFT; - memcpy(arr, data, stagingBufferSize); + memcpy(cpu_arr, data, stagingBufferSize); vkUnmapMemory(app->configuration.device[0], stagingBufferMemory); vkDestroyBuffer(app->configuration.device[0], stagingBuffer, 0); vkFreeMemory(app->configuration.device[0], stagingBufferMemory, 0); #elif(VKFFT_BACKEND==1) cudaError_t res = cudaSuccess; void* buffer = ((void**)output_buffer)[0]; - res = cudaMemcpy(arr, buffer, transferSize, cudaMemcpyDeviceToHost); + res = cudaMemcpy(cpu_arr, buffer, transferSize, cudaMemcpyDeviceToHost); if (res != cudaSuccess) { return VKFFT_ERROR_FAILED_TO_COPY; } #elif(VKFFT_BACKEND==2) hipError_t res = hipSuccess; void* buffer = ((void**)output_buffer)[0]; - res = hipMemcpy(arr, buffer, transferSize, hipMemcpyDeviceToHost); + res = hipMemcpy(cpu_arr, buffer, transferSize, hipMemcpyDeviceToHost); if (res != hipSuccess) { return VKFFT_ERROR_FAILED_TO_COPY; } @@ -27427,7 +28013,7 @@ static inline VkFFTResult VkFFT_transferDataToCPU(VkFFTApplication* app, void* a cl_mem* buffer = (cl_mem*)output_buffer; cl_command_queue commandQueue = clCreateCommandQueue(app->configuration.context[0], app->configuration.device[0], 0, &res); if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_QUEUE; - res = clEnqueueReadBuffer(commandQueue, buffer[0], CL_TRUE, 0, transferSize, arr, 0, NULL, NULL); + res = clEnqueueReadBuffer(commandQueue, buffer[0], CL_TRUE, 0, transferSize, cpu_arr, 0, NULL, NULL); if (res != CL_SUCCESS) { return VKFFT_ERROR_FAILED_TO_COPY; } @@ -27450,7 +28036,7 @@ static inline VkFFTResult VkFFT_transferDataToCPU(VkFFTApplication* app, void* a if (res != ZE_RESULT_SUCCESS) { return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; } - res = zeCommandListAppendMemoryCopy(copyCommandList, arr, buffer, transferSize, 0, 0, 0); + res = zeCommandListAppendMemoryCopy(copyCommandList, cpu_arr, buffer, transferSize, 0, 0, 0); if (res != ZE_RESULT_SUCCESS) { return VKFFT_ERROR_FAILED_TO_COPY; } @@ -27458,6 +28044,21 @@ static inline VkFFTResult VkFFT_transferDataToCPU(VkFFTApplication* app, void* a if (res != ZE_RESULT_SUCCESS) { return VKFFT_ERROR_FAILED_TO_SYNCHRONIZE; } +#elif(VKFFT_BACKEND==5) + MTL::Buffer* stagingBuffer = app->configuration.device->newBuffer(transferSize, MTL::ResourceStorageModeShared); + MTL::CommandBuffer* copyCommandBuffer = app->configuration.queue->commandBuffer(); + if (copyCommandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::BlitCommandEncoder* blitCommandEncoder = copyCommandBuffer->blitCommandEncoder(); + if (blitCommandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::Buffer* buffer = ((MTL::Buffer**)output_buffer)[0]; + blitCommandEncoder->copyFromBuffer((MTL::Buffer*)buffer, 0, (MTL::Buffer*)stagingBuffer, 0, transferSize); + blitCommandEncoder->endEncoding(); + copyCommandBuffer->commit(); + copyCommandBuffer->waitUntilCompleted(); + blitCommandEncoder->release(); + copyCommandBuffer->release(); + memcpy(cpu_arr, stagingBuffer->contents(), transferSize); + stagingBuffer->release(); #endif return resFFT; } @@ -27538,6 +28139,26 @@ static inline void deleteAxis(VkFFTApplication* app, VkFFTAxis* axis) { res = zeKernelDestroy(axis->VkFFTKernel); if (res == ZE_RESULT_SUCCESS)axis->VkFFTKernel = 0; } +#elif(VKFFT_BACKEND==5) + if (axis->pushConstants.dataUintBuffer) { + axis->pushConstants.dataUintBuffer->release(); + axis->pushConstants.dataUintBuffer = 0; + } + if ((app->configuration.useLUT) && (!axis->referenceLUT) && (axis->bufferLUT != 0)) { + ((MTL::Buffer*)axis->bufferLUT)->release(); + //free(axis->bufferLUT); + axis->bufferLUT = 0; + } + if (axis->pipeline != 0) { + axis->pipeline->release(); + //free(axis->pipeline); + axis->pipeline = 0; + } + if (axis->library != 0) { + axis->library->release(); + //free(axis->library); + axis->library = 0; + } #endif if (app->configuration.saveApplicationToString) { if (axis->binary != 0) { @@ -27623,6 +28244,10 @@ static inline void deleteVkFFT(VkFFTApplication* app) { res = zeMemFree(app->configuration.context[0], app->configuration.tempBuffer[0]); if (res == ZE_RESULT_SUCCESS) app->configuration.tempBuffer[0] = 0; } +#elif(VKFFT_BACKEND==5) + if (app->configuration.tempBuffer[0] != 0) { + ((MTL::Buffer*)app->configuration.tempBuffer[0])->release(); + } #endif if (app->configuration.tempBuffer != 0) { free(app->configuration.tempBuffer); @@ -27659,6 +28284,12 @@ static inline void deleteVkFFT(VkFFTApplication* app) { ze_result_t res = ZE_RESULT_SUCCESS; res = zeMemFree(app->configuration.context[0], app->bufferRaderUintLUT[i][j]); if (res == ZE_RESULT_SUCCESS) app->bufferRaderUintLUT[i][j] = 0; +#elif(VKFFT_BACKEND==5) + if (app->bufferRaderUintLUT[i][j] != 0) { + ((MTL::Buffer*)app->bufferRaderUintLUT[i][j])->release(); + //free(app->bufferRaderUintLUT[i][j]); + app->bufferRaderUintLUT[i][j] = 0; + } #endif } } @@ -27745,6 +28376,22 @@ static inline void deleteVkFFT(VkFFTApplication* app) { res = zeMemFree(app->configuration.context[0], app->bufferBluesteinIFFT[i]); if (res == ZE_RESULT_SUCCESS) app->bufferBluesteinIFFT[i] = 0; } +#elif(VKFFT_BACKEND==5) + if (app->bufferBluestein[i] != 0) { + ((MTL::Buffer*)app->bufferBluestein[i])->release(); + //free(app->bufferBluestein[i]); + app->bufferBluestein[i] = 0; + } + if (app->bufferBluesteinFFT[i] != 0) { + ((MTL::Buffer*)app->bufferBluesteinFFT[i])->release(); + //free(app->bufferBluesteinFFT[i]); + app->bufferBluesteinFFT[i] = 0; + } + if (app->bufferBluesteinIFFT[i] != 0) { + ((MTL::Buffer*)app->bufferBluesteinIFFT[i])->release(); + //free(app->bufferBluesteinIFFT[i]); + app->bufferBluesteinIFFT[i] = 0; + } #endif } } @@ -29833,6 +30480,9 @@ static inline VkFFTResult VkFFTScheduler(VkFFTApplication* app, VkFFTPlan* FFTPl } } tempSequence *= tempSequence_temp; + uint64_t maxRaderPrimeFromThreadNumCoalesced = (app->configuration.maxThreadsNum / (app->configuration.coalescedMemory / complexSize)) * 2 - 1; + if (maxRaderPrimeFromThreadNumCoalesced < app->configuration.fixMaxRaderPrimeMult) app->configuration.fixMaxRaderPrimeMult = maxRaderPrimeFromThreadNumCoalesced; + for (uint64_t i = app->configuration.fixMinRaderPrimeMult; i < app->configuration.fixMaxRaderPrimeMult; i++) { if (tempSequence % i == 0) { tempSequence /= i; @@ -30817,6 +31467,15 @@ static inline VkFFTResult VkFFTGeneratePhaseVectors(VkFFTApplication* app, VkFFT res = zeMemAllocDevice(app->configuration.context[0], &device_desc, bufferSize, sizeof(float), app->configuration.device[0], &app->bufferBluesteinIFFT[axis_id]); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; } +#elif(VKFFT_BACKEND==5) + app->bufferBluestein[axis_id] = app->configuration.device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + + if (!app->configuration.makeInversePlanOnly) { + app->bufferBluesteinFFT[axis_id] = app->configuration.device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + } + if (!app->configuration.makeForwardPlanOnly) { + app->bufferBluesteinIFFT[axis_id] = app->configuration.device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); + } #endif #ifdef VkFFT_use_FP128_Bluestein_RaderFFT if (app->configuration.doublePrecision || app->configuration.doublePrecisionFloatMemory) { @@ -30982,6 +31641,9 @@ static inline VkFFTResult VkFFTGeneratePhaseVectors(VkFFTApplication* app, VkFFT kernelPreparationConfiguration.context = app->configuration.context; kernelPreparationConfiguration.commandQueue = app->configuration.commandQueue; kernelPreparationConfiguration.commandQueueID = app->configuration.commandQueueID; +#elif(VKFFT_BACKEND==5) + kernelPreparationConfiguration.device = app->configuration.device; + kernelPreparationConfiguration.queue = app->configuration.queue; #endif kernelPreparationConfiguration.inputBufferSize = &app->bufferBluesteinSize[axis_id]; @@ -31185,6 +31847,28 @@ static inline VkFFTResult VkFFTGeneratePhaseVectors(VkFFTApplication* app, VkFFT deleteVkFFT(&kernelPreparationApplication); return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; } +#elif(VKFFT_BACKEND==5) + VkFFTLaunchParams launchParams = {}; + MTL::CommandBuffer* commandBuffer = app->configuration.queue->commandBuffer(); + if (commandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::ComputeCommandEncoder* commandEncoder = commandBuffer->computeCommandEncoder(); + if (commandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + + launchParams.commandBuffer = commandBuffer; + launchParams.commandEncoder = commandEncoder; + launchParams.inputBuffer = &app->bufferBluestein[axis_id]; + launchParams.buffer = &app->bufferBluesteinIFFT[axis_id]; + resFFT = VkFFTAppend(&kernelPreparationApplication, -1, &launchParams); + if (resFFT != VKFFT_SUCCESS) { + free(phaseVectors); + deleteVkFFT(&kernelPreparationApplication); + return resFFT; + } + commandEncoder->endEncoding(); + commandBuffer->commit(); + commandBuffer->waitUntilCompleted(); + commandEncoder->release(); + commandBuffer->release(); #endif } if ((FFTPlan->numAxisUploads[axis_id] > 1) && (!app->configuration.makeForwardPlanOnly)) { @@ -31536,6 +32220,51 @@ static inline VkFFTResult VkFFTGeneratePhaseVectors(VkFFTApplication* app, VkFFT deleteVkFFT(&kernelPreparationApplication); return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; } +#elif(VKFFT_BACKEND==5) + VkFFTLaunchParams launchParams = {}; + launchParams.inputBuffer = &app->bufferBluestein[axis_id]; + if (!app->configuration.makeInversePlanOnly) { + MTL::CommandBuffer* commandBuffer = app->configuration.queue->commandBuffer(); + if (commandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::ComputeCommandEncoder* commandEncoder = commandBuffer->computeCommandEncoder(); + if (commandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + + launchParams.commandBuffer = commandBuffer; + launchParams.commandEncoder = commandEncoder; + launchParams.buffer = &app->bufferBluesteinFFT[axis_id]; + resFFT = VkFFTAppend(&kernelPreparationApplication, -1, &launchParams); + if (resFFT != VKFFT_SUCCESS) { + free(phaseVectors); + deleteVkFFT(&kernelPreparationApplication); + return resFFT; + } + commandEncoder->endEncoding(); + commandBuffer->commit(); + commandBuffer->waitUntilCompleted(); + commandEncoder->release(); + commandBuffer->release(); + } + if ((FFTPlan->numAxisUploads[axis_id] == 1) && (!app->configuration.makeForwardPlanOnly)) { + MTL::CommandBuffer* commandBuffer = app->configuration.queue->commandBuffer(); + if (commandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::ComputeCommandEncoder* commandEncoder = commandBuffer->computeCommandEncoder(); + if (commandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + + launchParams.commandBuffer = commandBuffer; + launchParams.commandEncoder = commandEncoder; + launchParams.buffer = &app->bufferBluesteinIFFT[axis_id]; + resFFT = VkFFTAppend(&kernelPreparationApplication, 1, &launchParams); + if (resFFT != VKFFT_SUCCESS) { + free(phaseVectors); + deleteVkFFT(&kernelPreparationApplication); + return resFFT; + } + commandEncoder->endEncoding(); + commandBuffer->commit(); + commandBuffer->waitUntilCompleted(); + commandEncoder->release(); + commandBuffer->release(); + } #endif #if(VKFFT_BACKEND==0) kernelPreparationApplication.configuration.isCompilerInitialized = 0; @@ -31670,6 +32399,9 @@ static inline VkFFTResult VkFFTGenerateRaderFFTKernel(VkFFTApplication* app, VkF kernelPreparationConfiguration.context = app->configuration.context; kernelPreparationConfiguration.commandQueue = app->configuration.commandQueue; kernelPreparationConfiguration.commandQueueID = app->configuration.commandQueueID; +#elif(VKFFT_BACKEND==5) + kernelPreparationConfiguration.device = app->configuration.device; + kernelPreparationConfiguration.queue = app->configuration.queue; #endif uint64_t bufferSize = (uint64_t)sizeof(float) * 2 * kernelPreparationConfiguration.size[0] * kernelPreparationConfiguration.size[1] * kernelPreparationConfiguration.size[2]; @@ -31690,6 +32422,8 @@ static inline VkFFTResult VkFFTGenerateRaderFFTKernel(VkFFTApplication* app, VkF cl_mem bufferRaderFFT; #elif(VKFFT_BACKEND==4) void* bufferRaderFFT; +#elif(VKFFT_BACKEND==5) + MTL::Buffer* bufferRaderFFT; #endif #if(VKFFT_BACKEND==0) VkResult res = VK_SUCCESS; @@ -31715,6 +32449,8 @@ static inline VkFFTResult VkFFTGenerateRaderFFTKernel(VkFFTApplication* app, VkF device_desc.stype = ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC; res = zeMemAllocDevice(app->configuration.context[0], &device_desc, bufferSize, sizeof(float), app->configuration.device[0], &bufferRaderFFT); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_ALLOCATE; +#elif(VKFFT_BACKEND==5) + bufferRaderFFT = app->configuration.device->newBuffer(bufferSize, MTL::ResourceStorageModePrivate); #endif resFFT = VkFFT_transferDataFromCPU(app, axis->specializationConstants.raderContainer[i].raderFFTkernel, &bufferRaderFFT, bufferSize); @@ -31868,6 +32604,27 @@ static inline VkFFTResult VkFFTGenerateRaderFFTKernel(VkFFTApplication* app, VkF deleteVkFFT(&kernelPreparationApplication); return VKFFT_ERROR_FAILED_TO_DESTROY_COMMAND_LIST; } +#elif(VKFFT_BACKEND==5) + VkFFTLaunchParams launchParams = {}; + MTL::CommandBuffer* commandBuffer = app->configuration.queue->commandBuffer(); + if (commandBuffer == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + MTL::ComputeCommandEncoder* commandEncoder = commandBuffer->computeCommandEncoder(); + if (commandEncoder == 0) return VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_LIST; + + launchParams.commandBuffer = commandBuffer; + launchParams.commandEncoder = commandEncoder; + launchParams.buffer = &bufferRaderFFT; + resFFT = VkFFTAppend(&kernelPreparationApplication, -1, &launchParams); + if (resFFT != VKFFT_SUCCESS) { + free(axis->specializationConstants.raderContainer[i].raderFFTkernel); + deleteVkFFT(&kernelPreparationApplication); + return resFFT; + } + commandEncoder->endEncoding(); + commandBuffer->commit(); + commandBuffer->waitUntilCompleted(); + commandEncoder->release(); + commandBuffer->release(); #endif resFFT = VkFFT_transferDataToCPU(&kernelPreparationApplication, axis->specializationConstants.raderContainer[i].raderFFTkernel, &bufferRaderFFT, bufferSize); if (resFFT != VKFFT_SUCCESS) { @@ -31881,6 +32638,20 @@ static inline VkFFTResult VkFFTGenerateRaderFFTKernel(VkFFTApplication* app, VkF #elif(VKFFT_BACKEND==3) res = clReleaseCommandQueue(commandQueue); if (res != CL_SUCCESS) return VKFFT_ERROR_FAILED_TO_RELEASE_COMMAND_QUEUE; +#endif +#if(VKFFT_BACKEND==0) + vkDestroyBuffer(app->configuration.device[0], bufferRaderFFT, 0); + vkFreeMemory(app->configuration.device[0], bufferRaderFFTDeviceMemory, 0); +#elif(VKFFT_BACKEND==1) + cudaFree(bufferRaderFFT); +#elif(VKFFT_BACKEND==2) + hipFree(bufferRaderFFT); +#elif(VKFFT_BACKEND==3) + clReleaseMemObject(bufferRaderFFT); +#elif(VKFFT_BACKEND==4) + zeMemFree(app->configuration.context[0], bufferRaderFFT); +#elif(VKFFT_BACKEND==5) + bufferRaderFFT->release(); #endif deleteVkFFT(&kernelPreparationApplication); } @@ -31901,7 +32672,7 @@ static inline VkFFTResult VkFFTGenerateRaderFFTKernel(VkFFTApplication* app, VkF memcpy(app->raderFFTkernel[i], (char*)app->configuration.loadApplicationString + app->applicationStringOffsetRader + offset, current_size); } for (uint64_t j = 0; j < axis->specializationConstants.numRaderPrimes; j++) { - if ((app->rader_primes[i] == axis->specializationConstants.raderContainer[j].prime)&&(axis->specializationConstants.raderContainer[j].type==0)) + if ((app->rader_primes[i] == axis->specializationConstants.raderContainer[j].prime) && (axis->specializationConstants.raderContainer[j].type == 0)) axis->specializationConstants.raderContainer[j].raderFFTkernel = app->raderFFTkernel[i]; } offset += current_size; @@ -32887,6 +33658,7 @@ static inline VkFFTResult VkFFTPlanR2CMultiUploadDecomposition(VkFFTApplication* cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif VkFFTAxis* axis = &FFTPlan->R2Cdecomposition; axis->specializationConstants.warpSize = app->configuration.warpSize; @@ -32974,12 +33746,12 @@ static inline VkFFTResult VkFFTPlanR2CMultiUploadDecomposition(VkFFTApplication* tempLUT = 0; return VKFFT_ERROR_FAILED_TO_ALLOCATE; } - res = hipMemcpy(axis->bufferLUT, tempLUT, axis->bufferLUTSize, hipMemcpyHostToDevice); - if (res != hipSuccess) { + resFFT = VkFFT_transferDataFromCPU(app, tempLUT, &axis->bufferLUT, axis->bufferLUTSize); + if (resFFT != VKFFT_SUCCESS) { deleteVkFFT(app); free(tempLUT); tempLUT = 0; - return VKFFT_ERROR_FAILED_TO_ALLOCATE; + return resFFT; } #elif(VKFFT_BACKEND==3) axis->bufferLUT = clCreateBuffer(app->configuration.context[0], CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, axis->bufferLUTSize, tempLUT, &res); @@ -32999,6 +33771,16 @@ static inline VkFFTResult VkFFTPlanR2CMultiUploadDecomposition(VkFFTApplication* tempLUT = 0; return VKFFT_ERROR_FAILED_TO_ALLOCATE; } + resFFT = VkFFT_transferDataFromCPU(app, tempLUT, &axis->bufferLUT, axis->bufferLUTSize); + if (resFFT != VKFFT_SUCCESS) { + deleteVkFFT(app); + free(tempLUT); + tempLUT = 0; + return resFFT; + } +#elif(VKFFT_BACKEND==5) + axis->bufferLUT = app->configuration.device->newBuffer(axis->bufferLUTSize, MTL::ResourceStorageModePrivate); + resFFT = VkFFT_transferDataFromCPU(app, tempLUT, &axis->bufferLUT, axis->bufferLUTSize); if (resFFT != VKFFT_SUCCESS) { deleteVkFFT(app); @@ -33097,6 +33879,16 @@ static inline VkFFTResult VkFFTPlanR2CMultiUploadDecomposition(VkFFTApplication* tempLUT = 0; return VKFFT_ERROR_FAILED_TO_ALLOCATE; } + resFFT = VkFFT_transferDataFromCPU(app, tempLUT, &axis->bufferLUT, axis->bufferLUTSize); + if (resFFT != VKFFT_SUCCESS) { + deleteVkFFT(app); + free(tempLUT); + tempLUT = 0; + return resFFT; + } +#elif(VKFFT_BACKEND==5) + axis->bufferLUT = app->configuration.device->newBuffer(axis->bufferLUTSize, MTL::ResourceStorageModePrivate); + resFFT = VkFFT_transferDataFromCPU(app, tempLUT, &axis->bufferLUT, axis->bufferLUTSize); if (resFFT != VKFFT_SUCCESS) { deleteVkFFT(app); @@ -33621,6 +34413,8 @@ static inline VkFFTResult VkFFTPlanR2CMultiUploadDecomposition(VkFFTApplication* sprintf(uintType, "unsigned int"); #elif(VKFFT_BACKEND==4) sprintf(uintType, "unsigned int"); +#elif(VKFFT_BACKEND==5) + sprintf(uintType, "uint"); #endif } else { @@ -33634,6 +34428,8 @@ static inline VkFFTResult VkFFTPlanR2CMultiUploadDecomposition(VkFFTApplication* sprintf(uintType, "unsigned long"); #elif(VKFFT_BACKEND==4) sprintf(uintType, "unsigned long"); +#elif(VKFFT_BACKEND==5) + sprintf(uintType, "ulong"); #endif } { @@ -34528,6 +35324,53 @@ static inline VkFFTResult VkFFTPlanR2CMultiUploadDecomposition(VkFFTApplication* deleteVkFFT(app); return VKFFT_ERROR_FAILED_TO_CREATE_SHADER_MODULE; } +#elif(VKFFT_BACKEND==5) + NS::Error* error; + if (app->configuration.loadApplicationFromString) { + char* code; + uint64_t codeSize; + char* localStrPointer = (char*)app->configuration.loadApplicationString + app->currentApplicationStringPos; + memcpy(&codeSize, localStrPointer, sizeof(uint64_t)); + size_t codeSize_size_t = (size_t)codeSize; + code = (char*)malloc(codeSize); + if (!code) { + free(code0); + code0 = 0; + deleteVkFFT(app); + return VKFFT_ERROR_MALLOC_FAILED; + } + memcpy(code, localStrPointer + sizeof(uint64_t), codeSize); + app->currentApplicationStringPos += codeSize + sizeof(uint64_t); + dispatch_data_t data = dispatch_data_create(code, codeSize, 0, 0); + axis->library = app->configuration.device->newLibrary(data, &error); + free(code); + code = 0; + } + else { + size_t codelen = strlen(code0); + MTL::CompileOptions* compileOptions = MTL::CompileOptions::alloc(); + compileOptions->setFastMathEnabled(true); + NS::String* str = NS::String::string(code0, NS::UTF8StringEncoding); + axis->library = app->configuration.device->newLibrary(str, compileOptions, &error); + if (error) { + printf("%s\n%s\n", error->debugDescription()->cString(NS::ASCIIStringEncoding), error->localizedDescription()->cString(NS::ASCIIStringEncoding)); + free(code0); + code0 = 0; + deleteVkFFT(app); + return VKFFT_ERROR_FAILED_TO_COMPILE_PROGRAM; + } + compileOptions->release(); + if (app->configuration.saveApplicationToString) { + + } + str->release(); + } + const char function_name[20] = "VkFFT_main_R2C"; + NS::String* str = NS::String::string(function_name, NS::UTF8StringEncoding); + MTL::Function* function = axis->library->newFunction(str); + axis->pipeline = app->configuration.device->newComputePipelineState(function, &error); + function->release(); + str->release(); #endif if (!app->configuration.keepShaderCode) { free(code0); @@ -34550,6 +35393,7 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla cl_int res = CL_SUCCESS; #elif(VKFFT_BACKEND==4) ze_result_t res = ZE_RESULT_SUCCESS; +#elif(VKFFT_BACKEND==5) #endif VkFFTAxis* axis = (reverseBluesteinMultiUpload) ? &FFTPlan->inverseBluesteinAxes[axis_id][axis_upload_id] : &FFTPlan->axes[axis_id][axis_upload_id]; @@ -34735,6 +35579,13 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla deleteVkFFT(app); return VKFFT_ERROR_FAILED_TO_ALLOCATE; } +#elif(VKFFT_BACKEND==5) + app->configuration.tempBuffer = (MTL::Buffer**)malloc(sizeof(MTL::Buffer*)); + if (!app->configuration.tempBuffer) { + deleteVkFFT(app); + return VKFFT_ERROR_MALLOC_FAILED; + } + app->configuration.tempBuffer[0] = app->configuration.device->newBuffer(app->configuration.tempBufferSize[0], MTL::ResourceStorageModePrivate); #endif } //generate Rader Kernels @@ -35237,6 +36088,15 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla tempLUT = 0; return resFFT; } +#elif(VKFFT_BACKEND==5) + axis->bufferLUT = app->configuration.device->newBuffer(axis->bufferLUTSize, MTL::ResourceStorageModePrivate); + resFFT = VkFFT_transferDataFromCPU(app, tempLUT, &axis->bufferLUT, axis->bufferLUTSize); + if (resFFT != VKFFT_SUCCESS) { + deleteVkFFT(app); + free(tempLUT); + tempLUT = 0; + return resFFT; + } #endif } } @@ -35538,6 +36398,15 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla tempLUT = 0; return resFFT; } +#elif(VKFFT_BACKEND==5) + axis->bufferLUT = app->configuration.device->newBuffer(axis->bufferLUTSize, MTL::ResourceStorageModePrivate); + resFFT = VkFFT_transferDataFromCPU(app, tempLUT, &axis->bufferLUT, axis->bufferLUTSize); + if (resFFT != VKFFT_SUCCESS) { + deleteVkFFT(app); + free(tempLUT); + tempLUT = 0; + return resFFT; + } #endif } } @@ -35646,10 +36515,29 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla tempRaderUintLUT = 0; return resFFT; } +#elif(VKFFT_BACKEND==5) + app->bufferRaderUintLUT[axis_id][axis_upload_id] = app->configuration.device->newBuffer(app->bufferRaderUintLUTSize[axis_id][axis_upload_id], MTL::ResourceStorageModePrivate); + resFFT = VkFFT_transferDataFromCPU(app, tempRaderUintLUT, &app->bufferRaderUintLUT[axis_id][axis_upload_id], app->bufferRaderUintLUTSize[axis_id][axis_upload_id]); + if (resFFT != VKFFT_SUCCESS) { + deleteVkFFT(app); + free(tempRaderUintLUT); + tempRaderUintLUT = 0; + return resFFT; + } #endif free(tempRaderUintLUT); tempRaderUintLUT = 0; } + else { + uint64_t current_offset = 0; + for (uint64_t i = 0; i < axis->specializationConstants.numRaderPrimes; i++) { + if (axis->specializationConstants.raderContainer[i].prime > 0) { + axis->specializationConstants.raderContainer[i].raderUintLUToffset = current_offset; + uint64_t g_pow = 1; + current_offset += axis->specializationConstants.raderContainer[i].prime; + } + } + } axis->bufferRaderUintLUT = app->bufferRaderUintLUT[axis_id][axis_upload_id]; #if(VKFFT_BACKEND==0) @@ -36175,7 +37063,7 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla axis->groupedBatch = (uint64_t)ceil(axis->groupedBatch / 2.0); if (axis->groupedBatch > app->configuration.warpSize) axis->groupedBatch = (axis->groupedBatch / app->configuration.warpSize) * app->configuration.warpSize; if (axis->groupedBatch > 2 * maxBatchCoalesced) axis->groupedBatch = (axis->groupedBatch / (2 * maxBatchCoalesced)) * (2 * maxBatchCoalesced); - if (axis->groupedBatch > 4 * maxBatchCoalesced) axis->groupedBatch = (axis->groupedBatch / (4 * maxBatchCoalesced)) * (2 * maxBatchCoalesced); + if (axis->groupedBatch > 4 * maxBatchCoalesced) axis->groupedBatch = (axis->groupedBatch / (4 * maxBatchCoalesced)) * (4 * maxBatchCoalesced); //uint64_t maxThreadNum = (axis_id) ? (maxSingleSizeStrided * app->configuration.coalescedMemory / complexSize) / (axis->specializationConstants.min_registers_per_thread * axis->specializationConstants.registerBoost) : maxSequenceLengthSharedMemory / (axis->specializationConstants.min_registers_per_thread * axis->specializationConstants.registerBoost); //if (maxThreadNum > app->configuration.maxThreadsNum) maxThreadNum = app->configuration.maxThreadsNum; uint64_t maxThreadNum = app->configuration.maxThreadsNum; @@ -36347,6 +37235,12 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla if (axis->specializationConstants.useRaderFFT) { if (axis->axisBlock[1] < axis->specializationConstants.minRaderFFTThreadNum) axis->axisBlock[1] = axis->specializationConstants.minRaderFFTThreadNum; } + if (app->configuration.vendorID == 0x10DE) { + while ((((FFTPlan->actualFFTSizePerAxis[axis_id][0] / (double)axis->groupedBatch) > 1) && ((FFTPlan->actualFFTSizePerAxis[axis_id][0] / (double)axis->groupedBatch) < 4)) && (axis->groupedBatch > maxBatchCoalesced)) { + axis->groupedBatch /= 2; + if (axis->groupedBatch < maxBatchCoalesced) axis->groupedBatch = maxBatchCoalesced; + } + } axis->axisBlock[0] = (FFTPlan->actualFFTSizePerAxis[axis_id][0] > axis->groupedBatch) ? axis->groupedBatch : FFTPlan->actualFFTSizePerAxis[axis_id][0]; if (axis->axisBlock[0] > app->configuration.maxComputeWorkGroupSize[0]) axis->axisBlock[0] = app->configuration.maxComputeWorkGroupSize[0]; if (axis->axisBlock[0] * axis->axisBlock[1] > maxThreadNum) { @@ -36387,6 +37281,12 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla if (axis->specializationConstants.useRaderFFT) { if (axis->axisBlock[1] < axis->specializationConstants.minRaderFFTThreadNum) axis->axisBlock[1] = axis->specializationConstants.minRaderFFTThreadNum; } + if (app->configuration.vendorID == 0x10DE) { + while ((((FFTPlan->actualFFTSizePerAxis[axis_id][0] / (double)axis->groupedBatch) > 1) && ((FFTPlan->actualFFTSizePerAxis[axis_id][0] / (double)axis->groupedBatch) < 4)) && (axis->groupedBatch > maxBatchCoalesced)) { + axis->groupedBatch /= 2; + if (axis->groupedBatch < maxBatchCoalesced) axis->groupedBatch = maxBatchCoalesced; + } + } axis->axisBlock[0] = (FFTPlan->actualFFTSizePerAxis[axis_id][0] > axis->groupedBatch) ? axis->groupedBatch : FFTPlan->actualFFTSizePerAxis[axis_id][0]; if (axis->axisBlock[0] > app->configuration.maxComputeWorkGroupSize[0]) axis->axisBlock[0] = app->configuration.maxComputeWorkGroupSize[0]; @@ -36626,6 +37526,8 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla sprintf(uintType, "unsigned int"); #elif(VKFFT_BACKEND==4) sprintf(uintType, "unsigned int"); +#elif(VKFFT_BACKEND==5) + sprintf(uintType, "uint"); #endif } else { @@ -36639,6 +37541,8 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla sprintf(uintType, "unsigned long"); #elif(VKFFT_BACKEND==4) sprintf(uintType, "unsigned long"); +#elif(VKFFT_BACKEND==5) + sprintf(uintType, "ulong"); #endif } { @@ -36701,6 +37605,8 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla axis->specializationConstants.cacheShuffle = 0; #elif(VKFFT_BACKEND==4) axis->specializationConstants.cacheShuffle = 0; +#elif(VKFFT_BACKEND==5) + axis->specializationConstants.cacheShuffle = 0; #endif axis->specializationConstants.maxCodeLength = app->configuration.maxCodeLength; axis->specializationConstants.maxTempLength = app->configuration.maxTempLength; @@ -37581,6 +38487,54 @@ static inline VkFFTResult VkFFTPlanAxis(VkFFTApplication* app, VkFFTPlan* FFTPla deleteVkFFT(app); return VKFFT_ERROR_FAILED_TO_CREATE_SHADER_MODULE; } +#elif(VKFFT_BACKEND==5) + NS::Error* error; + if (app->configuration.loadApplicationFromString) { + char* code; + uint64_t codeSize; + char* localStrPointer = (char*)app->configuration.loadApplicationString + app->currentApplicationStringPos; + memcpy(&codeSize, localStrPointer, sizeof(uint64_t)); + size_t codeSize_size_t = (size_t)codeSize; + code = (char*)malloc(codeSize); + if (!code) { + free(code0); + code0 = 0; + deleteVkFFT(app); + return VKFFT_ERROR_MALLOC_FAILED; + } + memcpy(code, localStrPointer + sizeof(uint64_t), codeSize); + app->currentApplicationStringPos += codeSize + sizeof(uint64_t); + dispatch_data_t data = dispatch_data_create(code, codeSize, 0, 0); + axis->library = app->configuration.device->newLibrary(data, &error); + if (error)std::cout << error->debugDescription()->cString(NS::ASCIIStringEncoding) << error->localizedDescription()->cString(NS::ASCIIStringEncoding) << std::endl; + free(code); + code = 0; + } + else { + size_t codelen = strlen(code0); + MTL::CompileOptions* compileOptions = MTL::CompileOptions::alloc(); + compileOptions->setFastMathEnabled(true); + NS::String* str = NS::String::string(code0, NS::UTF8StringEncoding); + axis->library = app->configuration.device->newLibrary(str, compileOptions, &error); + if (error) { + printf("%s\n%s\n", error->debugDescription()->cString(NS::ASCIIStringEncoding), error->localizedDescription()->cString(NS::ASCIIStringEncoding)); + free(code0); + code0 = 0; + deleteVkFFT(app); + return VKFFT_ERROR_FAILED_TO_COMPILE_PROGRAM; + } + compileOptions->release(); + if (app->configuration.saveApplicationToString) { + + } + str->release(); + } + const char function_name[20] = "VkFFT_main"; + NS::String* str = NS::String::string(function_name, NS::UTF8StringEncoding); + MTL::Function* function = axis->library->newFunction(str); + axis->pipeline = app->configuration.device->newComputePipelineState(function, &error); + function->release(); + str->release(); #endif if (!app->configuration.keepShaderCode) { free(code0); @@ -38459,6 +39413,72 @@ static inline VkFFTResult initializeVkFFT(VkFFTApplication* app, VkFFTConfigurat app->configuration.swapTo3Stage4Step = 0; app->configuration.vendorID = 0x8086; app->configuration.useRaderUintLUT = 1; +#elif(VKFFT_BACKEND==5) + if (inputLaunchConfiguration.device == 0) { + deleteVkFFT(app); + return VKFFT_ERROR_INVALID_DEVICE; + } + app->configuration.device = inputLaunchConfiguration.device; + + if (inputLaunchConfiguration.queue == 0) { + deleteVkFFT(app); + return VKFFT_ERROR_INVALID_QUEUE; + } + app->configuration.queue = inputLaunchConfiguration.queue; + + const char dummy_kernel[50] = "kernel void VkFFT_dummy (){}"; + const char function_name[20] = "VkFFT_dummy"; + + NS::Error* error; + MTL::CompileOptions* compileOptions = MTL::CompileOptions::alloc(); + NS::String* str_code = NS::String::string(dummy_kernel, NS::UTF8StringEncoding); + MTL::Library* dummy_library = app->configuration.device->newLibrary(str_code, compileOptions, &error); + NS::String* str_name = NS::String::string(function_name, NS::UTF8StringEncoding); + MTL::Function* function = dummy_library->newFunction(str_name); + MTL::ComputePipelineState* dummy_state = app->configuration.device->newComputePipelineState(function, &error); + + MTL::Size size = app->configuration.device->maxThreadsPerThreadgroup(); + app->configuration.maxThreadsNum = dummy_state->maxTotalThreadsPerThreadgroup(); + + app->configuration.maxComputeWorkGroupSize[0] = size.width; + app->configuration.maxComputeWorkGroupSize[1] = size.height; + app->configuration.maxComputeWorkGroupSize[2] = size.depth; + + if (app->configuration.maxThreadsNum > 256) { + app->configuration.maxThreadsNum = 256; + + app->configuration.maxComputeWorkGroupSize[0] = 256; + app->configuration.maxComputeWorkGroupSize[1] = 256; + app->configuration.maxComputeWorkGroupSize[2] = 256; + //The dummy kernel approach (above) does not work for some DCT-IV kernels (like 256x256x256). They refuse to have more than 256 threads. I will just force OpenCL thread limits for now. + } + + app->configuration.maxComputeWorkGroupCount[0] = -1; + app->configuration.maxComputeWorkGroupCount[1] = -1; + app->configuration.maxComputeWorkGroupCount[2] = -1; + + app->configuration.sharedMemorySizeStatic = app->configuration.device->maxThreadgroupMemoryLength(); + app->configuration.sharedMemorySize = app->configuration.device->maxThreadgroupMemoryLength(); + + app->configuration.warpSize = dummy_state->threadExecutionWidth(); + + app->configuration.sharedMemorySizePow2 = (uint64_t)pow(2, (uint64_t)log2(app->configuration.sharedMemorySize)); + app->configuration.useRaderUintLUT = 1; + + app->configuration.coalescedMemory = (app->configuration.halfPrecision) ? 128 : 64;//the coalesced memory is equal to 64 bytes between L2 and VRAM. + app->configuration.useLUT = (app->configuration.doublePrecision || app->configuration.doublePrecisionFloatMemory) ? 1 : 0; + app->configuration.registerBoostNonPow2 = 0; + app->configuration.registerBoost = 1; + app->configuration.registerBoost4Step = 1; + app->configuration.swapTo3Stage4Step = 0; + app->configuration.vendorID = 0x1027f00; + + dummy_state->release(); + function->release(); + str_name->release(); + dummy_library->release(); + str_code->release(); + compileOptions->release(); #endif resFFT = initializeBluesteinAutoPadding(app); @@ -38712,14 +39732,21 @@ static inline VkFFTResult initializeVkFFT(VkFFTApplication* app, VkFFTConfigurat if (inputLaunchConfiguration.forceBluesteinSequenceSize != 0) app->configuration.forceBluesteinSequenceSize = inputLaunchConfiguration.forceBluesteinSequenceSize; app->configuration.fixMinRaderPrimeMult = 17; - app->configuration.fixMaxRaderPrimeMult = 89; + switch (app->configuration.vendorID) { + case 0x10DE://NVIDIA + app->configuration.fixMaxRaderPrimeMult = 89; + break; + case 0x1002://AMD profile + app->configuration.fixMaxRaderPrimeMult = 89; + break; + default: + app->configuration.fixMaxRaderPrimeMult = 17; + break; + } if (inputLaunchConfiguration.fixMinRaderPrimeMult != 0) app->configuration.fixMinRaderPrimeMult = inputLaunchConfiguration.fixMinRaderPrimeMult; if (inputLaunchConfiguration.fixMaxRaderPrimeMult != 0) app->configuration.fixMaxRaderPrimeMult = inputLaunchConfiguration.fixMaxRaderPrimeMult; switch (app->configuration.vendorID) { - case 0x10DE://NVIDIA - app->configuration.fixMinRaderPrimeFFT = 17; - break; case 0x1002://AMD profile app->configuration.fixMinRaderPrimeFFT = 29; break; @@ -38847,9 +39874,10 @@ static inline VkFFTResult initializeVkFFT(VkFFTApplication* app, VkFFTConfigurat if (inputLaunchConfiguration.keepShaderCode != 0) app->configuration.keepShaderCode = inputLaunchConfiguration.keepShaderCode; if (inputLaunchConfiguration.printMemoryLayout != 0) app->configuration.printMemoryLayout = inputLaunchConfiguration.printMemoryLayout; if (inputLaunchConfiguration.considerAllAxesStrided != 0) app->configuration.considerAllAxesStrided = inputLaunchConfiguration.considerAllAxesStrided; - +#if(VKFFT_BACKEND!=5) if (inputLaunchConfiguration.loadApplicationString != 0) app->configuration.loadApplicationString = inputLaunchConfiguration.loadApplicationString; if (inputLaunchConfiguration.saveApplicationToString != 0) app->configuration.saveApplicationToString = inputLaunchConfiguration.saveApplicationToString; +#endif if (inputLaunchConfiguration.disableSetLocale != 0) app->configuration.disableSetLocale = inputLaunchConfiguration.disableSetLocale; if (inputLaunchConfiguration.loadApplicationFromString != 0) { @@ -39553,6 +40581,70 @@ static inline VkFFTResult dispatchEnhanced(VkFFTApplication* app, VkFFTAxis* axi if (result != ZE_RESULT_SUCCESS) { return VKFFT_ERROR_FAILED_TO_LAUNCH_KERNEL; } +#elif(VKFFT_BACKEND==5) + app->configuration.commandEncoder->setComputePipelineState(axis->pipeline); + void* args[10]; + app->configuration.commandEncoder->setBuffer(axis->inputBuffer[0], 0, 0); + app->configuration.commandEncoder->setBuffer(axis->outputBuffer[0], 0, 1); + app->configuration.commandEncoder->setThreadgroupMemoryLength((uint64_t)ceil(axis->specializationConstants.usedSharedMemory / 16.0) * 16, 0); + + uint64_t args_id = 2; + if (axis->specializationConstants.convolutionStep) { + app->configuration.commandEncoder->setBuffer(app->configuration.kernel[0], 0, args_id); + args_id++; + } + if (axis->specializationConstants.LUT) { + app->configuration.commandEncoder->setBuffer(axis->bufferLUT, 0, args_id); + args_id++; + } + if (axis->specializationConstants.raderUintLUT) { + app->configuration.commandEncoder->setBuffer(axis->bufferRaderUintLUT, 0, args_id); + args_id++; + } + if (axis->specializationConstants.useBluesteinFFT && axis->specializationConstants.BluesteinConvolutionStep) { + if (axis->specializationConstants.inverseBluestein) + app->configuration.commandEncoder->setBuffer(app->bufferBluesteinIFFT[axis->specializationConstants.axis_id], 0, args_id); + else + app->configuration.commandEncoder->setBuffer(app->bufferBluesteinFFT[axis->specializationConstants.axis_id], 0, args_id); + args_id++; + } + if (axis->specializationConstants.useBluesteinFFT && (axis->specializationConstants.BluesteinPreMultiplication || axis->specializationConstants.BluesteinPostMultiplication)) { + app->configuration.commandEncoder->setBuffer(app->bufferBluestein[axis->specializationConstants.axis_id], 0, args_id); + args_id++; + } + //args[args_id] = &axis->pushConstants; + if (axis->pushConstants.structSize > 0) { + if (app->configuration.useUint64) { + if (!axis->pushConstants.dataUintBuffer) { + axis->pushConstants.dataUintBuffer = app->configuration.device->newBuffer(axis->pushConstants.structSize, MTL::ResourceStorageModeShared); + memcpy(axis->pushConstants.dataUintBuffer->contents(), axis->pushConstants.dataUint64, axis->pushConstants.structSize); + axis->updatePushConstants = 0; + } + else if (axis->updatePushConstants) { + memcpy(axis->pushConstants.dataUintBuffer->contents(), axis->pushConstants.dataUint64, axis->pushConstants.structSize); + axis->updatePushConstants = 0; + } + app->configuration.commandEncoder->setBuffer(axis->pushConstants.dataUintBuffer, 0, args_id); + } + else { + if (!axis->pushConstants.dataUintBuffer) { + axis->pushConstants.dataUintBuffer = app->configuration.device->newBuffer(axis->pushConstants.structSize, MTL::ResourceStorageModeShared); + memcpy(axis->pushConstants.dataUintBuffer->contents(), axis->pushConstants.dataUint32, axis->pushConstants.structSize); + axis->updatePushConstants = 0; + } + else if (axis->updatePushConstants) { + memcpy(axis->pushConstants.dataUintBuffer->contents(), axis->pushConstants.dataUint32, axis->pushConstants.structSize); + axis->updatePushConstants = 0; + } + app->configuration.commandEncoder->setBuffer(axis->pushConstants.dataUintBuffer, 0, args_id); + } + args_id++; + } + MTL::Size threadsPerGrid = { dispatchSize[0] * axis->specializationConstants.localSize[0], dispatchSize[1] * axis->specializationConstants.localSize[1],dispatchSize[2] * axis->specializationConstants.localSize[2] }; + MTL::Size threadsPerThreadgroup = { axis->specializationConstants.localSize[0],axis->specializationConstants.localSize[1], axis->specializationConstants.localSize[2] }; + + app->configuration.commandEncoder->dispatchThreads(threadsPerGrid, threadsPerThreadgroup); + #endif } } @@ -39585,6 +40677,7 @@ static inline VkFFTResult VkFFTSync(VkFFTApplication* app) { ze_result_t res = ZE_RESULT_SUCCESS; res = zeCommandListAppendBarrier(app->configuration.commandList[0], nullptr, 0, nullptr); if (res != ZE_RESULT_SUCCESS) return VKFFT_ERROR_FAILED_TO_SUBMIT_BARRIER; +#elif(VKFFT_BACKEND==5) #endif return VKFFT_SUCCESS; } @@ -39628,6 +40721,9 @@ static inline VkFFTResult VkFFTAppend(VkFFTApplication* app, int inverse, VkFFTL app->configuration.commandQueue = launchParams->commandQueue; #elif(VKFFT_BACKEND==4) app->configuration.commandList = launchParams->commandList; +#elif(VKFFT_BACKEND==5) + app->configuration.commandBuffer = launchParams->commandBuffer; + app->configuration.commandEncoder = launchParams->commandEncoder; #endif uint64_t localSize0[3]; if ((inverse != 1) && (app->configuration.makeInversePlanOnly)) return VKFFT_ERROR_ONLY_INVERSE_FFT_INITIALIZED; @@ -40298,6 +41394,6 @@ static inline VkFFTResult VkFFTAppend(VkFFTApplication* app, int inverse, VkFFTL return resFFT; } static inline int VkFFTGetVersion() { - return 10229; //X.XX.XX format + return 10230; //X.XX.XX format } #endif \ No newline at end of file

    y%)EdVJR_LJh^+y%b7Dr% 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и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