yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
master
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// Metal/MTLCaptureScope.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//------------------------------------------------------------------------------------------------------------------------------------------------------------- 24 25#include "MTLDefines.hpp" 26#include "MTLPrivate.hpp" 27 28#include "../Foundation/NSObject.hpp" 29#include "../Foundation/NSString.hpp" 30 31//------------------------------------------------------------------------------------------------------------------------------------------------------------- 32 33namespace MTL 34{ 35class CaptureScope :public NS ::Referencing < CaptureScope > 36{ 37public : 38class Device * device ()const ; 39 40NS ::String * label ()const ; 41void setLabel (const NS ::String * pLabel ); 42 43class CommandQueue * commandQueue ()const ; 44 45void beginScope (); 46void endScope (); 47}; 48} 49 50//------------------------------------------------------------------------------------------------------------------------------------------------------------- 51 52_MTL_INLINE MTL ::Device * MTL ::CaptureScope ::device ()const 53{ 54return Object ::sendMessage < Device *> (this ,_MTL_PRIVATE_SEL (device )); 55} 56 57//------------------------------------------------------------------------------------------------------------------------------------------------------------- 58 59_MTL_INLINE NS ::String * MTL ::CaptureScope ::label ()const 60{ 61return Object ::sendMessage < NS ::String *> (this ,_MTL_PRIVATE_SEL (label )); 62} 63 64//------------------------------------------------------------------------------------------------------------------------------------------------------------- 65 66_MTL_INLINE voidMTL ::CaptureScope ::setLabel (const NS ::String * pLabel ) 67{ 68Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setLabel_ ),pLabel ); 69} 70 71//------------------------------------------------------------------------------------------------------------------------------------------------------------- 72 73_MTL_INLINE MTL ::CommandQueue * MTL ::CaptureScope ::commandQueue ()const 74{ 75return Object ::sendMessage < CommandQueue *> (this ,_MTL_PRIVATE_SEL (commandQueue )); 76} 77 78//------------------------------------------------------------------------------------------------------------------------------------------------------------- 79 80_MTL_INLINE voidMTL ::CaptureScope ::beginScope () 81{ 82return Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (beginScope )); 83} 84 85//------------------------------------------------------------------------------------------------------------------------------------------------------------- 86 87_MTL_INLINE voidMTL ::CaptureScope ::endScope () 88{ 89return Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (endScope )); 90} 91 92//-------------------------------------------------------------------------------------------------------------------------------------------------------------