yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
master
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// Metal/MTLParallelRenderCommandEncoder.hpp 4// 5// Copyright 2020-2021 Apple Inc. 6// 7// Licensed under the Apache License, Version 2.0 (the "License"); 8// you may not use this file except in compliance with the License. 9// You may obtain a copy of the License at 10// 11// http://www.apache.org/licenses/LICENSE-2.0 12// 13// Unless required by applicable law or agreed to in writing, software 14// distributed under the License is distributed on an "AS IS" BASIS, 15// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16// See the License for the specific language governing permissions and 17// limitations under the License. 18// 19//------------------------------------------------------------------------------------------------------------------------------------------------------------- 20 21#pragma once 22 23#include "MTLDefines.hpp" 24#include "MTLHeaderBridge.hpp" 25#include "MTLPrivate.hpp" 26 27#include <Foundation/Foundation.hpp> 28 29#include "MTLCommandEncoder.hpp" 30#include "MTLRenderPass.hpp" 31 32namespace MTL 33{ 34class ParallelRenderCommandEncoder :public NS ::Referencing < ParallelRenderCommandEncoder ,CommandEncoder > 35{ 36public : 37class RenderCommandEncoder * renderCommandEncoder (); 38 39void setColorStoreAction (MTL ::StoreAction storeAction ,NS ::UInteger colorAttachmentIndex ); 40 41void setDepthStoreAction (MTL ::StoreAction storeAction ); 42 43void setStencilStoreAction (MTL ::StoreAction storeAction ); 44 45void setColorStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ,NS ::UInteger colorAttachmentIndex ); 46 47void setDepthStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ); 48 49void setStencilStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ); 50}; 51 52} 53 54// method: renderCommandEncoder 55_MTL_INLINE MTL ::RenderCommandEncoder * MTL ::ParallelRenderCommandEncoder ::renderCommandEncoder () 56{ 57return Object ::sendMessage < MTL ::RenderCommandEncoder *> (this ,_MTL_PRIVATE_SEL (renderCommandEncoder )); 58} 59 60// method: setColorStoreAction:atIndex: 61_MTL_INLINE voidMTL ::ParallelRenderCommandEncoder ::setColorStoreAction (MTL ::StoreAction storeAction ,NS ::UInteger colorAttachmentIndex ) 62{ 63Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setColorStoreAction_atIndex_ ),storeAction ,colorAttachmentIndex ); 64} 65 66// method: setDepthStoreAction: 67_MTL_INLINE voidMTL ::ParallelRenderCommandEncoder ::setDepthStoreAction (MTL ::StoreAction storeAction ) 68{ 69Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthStoreAction_ ),storeAction ); 70} 71 72// method: setStencilStoreAction: 73_MTL_INLINE voidMTL ::ParallelRenderCommandEncoder ::setStencilStoreAction (MTL ::StoreAction storeAction ) 74{ 75Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilStoreAction_ ),storeAction ); 76} 77 78// method: setColorStoreActionOptions:atIndex: 79_MTL_INLINE voidMTL ::ParallelRenderCommandEncoder ::setColorStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ,NS ::UInteger colorAttachmentIndex ) 80{ 81Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setColorStoreActionOptions_atIndex_ ),storeActionOptions ,colorAttachmentIndex ); 82} 83 84// method: setDepthStoreActionOptions: 85_MTL_INLINE voidMTL ::ParallelRenderCommandEncoder ::setDepthStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ) 86{ 87Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthStoreActionOptions_ ),storeActionOptions ); 88} 89 90// method: setStencilStoreActionOptions: 91_MTL_INLINE voidMTL ::ParallelRenderCommandEncoder ::setStencilStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ) 92{ 93Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilStoreActionOptions_ ),storeActionOptions ); 94}