yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
develop
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// Metal/MTLRenderPass.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 "MTLRenderPass.hpp" 30 31namespace MTL 32{ 33_MTL_ENUM (NS ::UInteger ,LoadAction ) { 34LoadActionDontCare = 0 , 35LoadActionLoad = 1 , 36LoadActionClear = 2 , 37}; 38 39_MTL_ENUM (NS ::UInteger ,StoreAction ) { 40StoreActionDontCare = 0 , 41StoreActionStore = 1 , 42StoreActionMultisampleResolve = 2 , 43StoreActionStoreAndMultisampleResolve = 3 , 44StoreActionUnknown = 4 , 45StoreActionCustomSampleDepthStore = 5 , 46}; 47 48_MTL_OPTIONS (NS ::UInteger ,StoreActionOptions ) { 49StoreActionOptionNone = 0 , 50StoreActionOptionValidMask = 1 , 51StoreActionOptionCustomSamplePositions = 1 , 52}; 53 54struct ClearColor 55{ 56static ClearColor Make (double red ,double green ,double blue ,double alpha ); 57 58ClearColor ()= default ; 59 60ClearColor (double red ,double green ,double blue ,double alpha ); 61 62double red ; 63double green ; 64double blue ; 65double alpha ; 66}_MTL_PACKED ; 67 68class RenderPassAttachmentDescriptor :public NS ::Copying < RenderPassAttachmentDescriptor > 69{ 70public : 71static class RenderPassAttachmentDescriptor * alloc (); 72 73class RenderPassAttachmentDescriptor * init (); 74 75class Texture * texture ()const ; 76void setTexture (const class Texture * texture ); 77 78NS ::UInteger level ()const ; 79void setLevel (NS ::UInteger level ); 80 81NS ::UInteger slice ()const ; 82void setSlice (NS ::UInteger slice ); 83 84NS ::UInteger depthPlane ()const ; 85void setDepthPlane (NS ::UInteger depthPlane ); 86 87class Texture * resolveTexture ()const ; 88void setResolveTexture (const class Texture * resolveTexture ); 89 90NS ::UInteger resolveLevel ()const ; 91void setResolveLevel (NS ::UInteger resolveLevel ); 92 93NS ::UInteger resolveSlice ()const ; 94void setResolveSlice (NS ::UInteger resolveSlice ); 95 96NS ::UInteger resolveDepthPlane ()const ; 97void setResolveDepthPlane (NS ::UInteger resolveDepthPlane ); 98 99MTL ::LoadAction loadAction ()const ; 100void setLoadAction (MTL ::LoadAction loadAction ); 101 102MTL ::StoreAction storeAction ()const ; 103void setStoreAction (MTL ::StoreAction storeAction ); 104 105MTL ::StoreActionOptions storeActionOptions ()const ; 106void setStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ); 107}; 108 109class RenderPassColorAttachmentDescriptor :public NS ::Copying < RenderPassColorAttachmentDescriptor ,MTL ::RenderPassAttachmentDescriptor > 110{ 111public : 112static class RenderPassColorAttachmentDescriptor * alloc (); 113 114class RenderPassColorAttachmentDescriptor * init (); 115 116MTL ::ClearColor clearColor ()const ; 117void setClearColor (MTL ::ClearColor clearColor ); 118}; 119 120_MTL_ENUM (NS ::UInteger ,MultisampleDepthResolveFilter ) { 121MultisampleDepthResolveFilterSample0 = 0 , 122MultisampleDepthResolveFilterMin = 1 , 123MultisampleDepthResolveFilterMax = 2 , 124}; 125 126class RenderPassDepthAttachmentDescriptor :public NS ::Copying < RenderPassDepthAttachmentDescriptor ,MTL ::RenderPassAttachmentDescriptor > 127{ 128public : 129static class RenderPassDepthAttachmentDescriptor * alloc (); 130 131class RenderPassDepthAttachmentDescriptor * init (); 132 133double clearDepth ()const ; 134void setClearDepth (double clearDepth ); 135 136MTL ::MultisampleDepthResolveFilter depthResolveFilter ()const ; 137void setDepthResolveFilter (MTL ::MultisampleDepthResolveFilter depthResolveFilter ); 138}; 139 140_MTL_ENUM (NS ::UInteger ,MultisampleStencilResolveFilter ) { 141MultisampleStencilResolveFilterSample0 = 0 , 142MultisampleStencilResolveFilterDepthResolvedSample = 1 , 143}; 144 145class RenderPassStencilAttachmentDescriptor :public NS ::Copying < RenderPassStencilAttachmentDescriptor ,MTL ::RenderPassAttachmentDescriptor > 146{ 147public : 148static class RenderPassStencilAttachmentDescriptor * alloc (); 149 150class RenderPassStencilAttachmentDescriptor * init (); 151 152uint32_t clearStencil ()const ; 153void setClearStencil (uint32_t clearStencil ); 154 155MTL ::MultisampleStencilResolveFilter stencilResolveFilter ()const ; 156void setStencilResolveFilter (MTL ::MultisampleStencilResolveFilter stencilResolveFilter ); 157}; 158 159class RenderPassColorAttachmentDescriptorArray :public NS ::Referencing < RenderPassColorAttachmentDescriptorArray > 160{ 161public : 162static class RenderPassColorAttachmentDescriptorArray * alloc (); 163 164class RenderPassColorAttachmentDescriptorArray * init (); 165 166class RenderPassColorAttachmentDescriptor * object (NS ::UInteger attachmentIndex ); 167 168void setObject (const class RenderPassColorAttachmentDescriptor * attachment ,NS ::UInteger attachmentIndex ); 169}; 170 171class RenderPassSampleBufferAttachmentDescriptor :public NS ::Copying < RenderPassSampleBufferAttachmentDescriptor > 172{ 173public : 174static class RenderPassSampleBufferAttachmentDescriptor * alloc (); 175 176class RenderPassSampleBufferAttachmentDescriptor * init (); 177 178class CounterSampleBuffer * sampleBuffer ()const ; 179void setSampleBuffer (const class CounterSampleBuffer * sampleBuffer ); 180 181NS ::UInteger startOfVertexSampleIndex ()const ; 182void setStartOfVertexSampleIndex (NS ::UInteger startOfVertexSampleIndex ); 183 184NS ::UInteger endOfVertexSampleIndex ()const ; 185void setEndOfVertexSampleIndex (NS ::UInteger endOfVertexSampleIndex ); 186 187NS ::UInteger startOfFragmentSampleIndex ()const ; 188void setStartOfFragmentSampleIndex (NS ::UInteger startOfFragmentSampleIndex ); 189 190NS ::UInteger endOfFragmentSampleIndex ()const ; 191void setEndOfFragmentSampleIndex (NS ::UInteger endOfFragmentSampleIndex ); 192}; 193 194class RenderPassSampleBufferAttachmentDescriptorArray :public NS ::Referencing < RenderPassSampleBufferAttachmentDescriptorArray > 195{ 196public : 197static class RenderPassSampleBufferAttachmentDescriptorArray * alloc (); 198 199class RenderPassSampleBufferAttachmentDescriptorArray * init (); 200 201class RenderPassSampleBufferAttachmentDescriptor * object (NS ::UInteger attachmentIndex ); 202 203void setObject (const class RenderPassSampleBufferAttachmentDescriptor * attachment ,NS ::UInteger attachmentIndex ); 204}; 205 206class RenderPassDescriptor :public NS ::Copying < RenderPassDescriptor > 207{ 208public : 209static class RenderPassDescriptor * alloc (); 210 211class RenderPassDescriptor * init (); 212 213static class RenderPassDescriptor * renderPassDescriptor (); 214 215class RenderPassColorAttachmentDescriptorArray * colorAttachments ()const ; 216 217class RenderPassDepthAttachmentDescriptor * depthAttachment ()const ; 218void setDepthAttachment (const class RenderPassDepthAttachmentDescriptor * depthAttachment ); 219 220class RenderPassStencilAttachmentDescriptor * stencilAttachment ()const ; 221void setStencilAttachment (const class RenderPassStencilAttachmentDescriptor * stencilAttachment ); 222 223class Buffer * visibilityResultBuffer ()const ; 224void setVisibilityResultBuffer (const class Buffer * visibilityResultBuffer ); 225 226NS ::UInteger renderTargetArrayLength ()const ; 227void setRenderTargetArrayLength (NS ::UInteger renderTargetArrayLength ); 228 229NS ::UInteger imageblockSampleLength ()const ; 230void setImageblockSampleLength (NS ::UInteger imageblockSampleLength ); 231 232NS ::UInteger threadgroupMemoryLength ()const ; 233void setThreadgroupMemoryLength (NS ::UInteger threadgroupMemoryLength ); 234 235NS ::UInteger tileWidth ()const ; 236void setTileWidth (NS ::UInteger tileWidth ); 237 238NS ::UInteger tileHeight ()const ; 239void setTileHeight (NS ::UInteger tileHeight ); 240 241NS ::UInteger defaultRasterSampleCount ()const ; 242void setDefaultRasterSampleCount (NS ::UInteger defaultRasterSampleCount ); 243 244NS ::UInteger renderTargetWidth ()const ; 245void setRenderTargetWidth (NS ::UInteger renderTargetWidth ); 246 247NS ::UInteger renderTargetHeight ()const ; 248void setRenderTargetHeight (NS ::UInteger renderTargetHeight ); 249 250void setSamplePositions (const MTL ::SamplePosition * positions ,NS ::UInteger count ); 251 252NS ::UInteger getSamplePositions (MTL ::SamplePosition * positions ,NS ::UInteger count ); 253 254class RasterizationRateMap * rasterizationRateMap ()const ; 255void setRasterizationRateMap (const class RasterizationRateMap * rasterizationRateMap ); 256 257class RenderPassSampleBufferAttachmentDescriptorArray * sampleBufferAttachments ()const ; 258}; 259 260} 261 262_MTL_INLINE MTL ::ClearColor MTL ::ClearColor ::Make (double red ,double green ,double blue ,double alpha ) 263{ 264return ClearColor (red ,green ,blue ,alpha ); 265} 266 267_MTL_INLINE MTL ::ClearColor ::ClearColor (double _red ,double _green ,double _blue ,double _alpha ) 268 :red (_red ) 269 ,green (_green ) 270 ,blue (_blue ) 271 ,alpha (_alpha ) 272{ 273} 274 275// static method: alloc 276_MTL_INLINE MTL ::RenderPassAttachmentDescriptor * MTL ::RenderPassAttachmentDescriptor ::alloc () 277{ 278return NS ::Object ::alloc < MTL ::RenderPassAttachmentDescriptor > (_MTL_PRIVATE_CLS (MTLRenderPassAttachmentDescriptor )); 279} 280 281// method: init 282_MTL_INLINE MTL ::RenderPassAttachmentDescriptor * MTL ::RenderPassAttachmentDescriptor ::init () 283{ 284return NS ::Object ::init < MTL ::RenderPassAttachmentDescriptor > (); 285} 286 287// property: texture 288_MTL_INLINE MTL ::Texture * MTL ::RenderPassAttachmentDescriptor ::texture ()const 289{ 290return Object ::sendMessage < MTL ::Texture *> (this ,_MTL_PRIVATE_SEL (texture )); 291} 292 293_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setTexture (const MTL ::Texture * texture ) 294{ 295Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTexture_ ),texture ); 296} 297 298// property: level 299_MTL_INLINE NS ::UInteger MTL ::RenderPassAttachmentDescriptor ::level ()const 300{ 301return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (level )); 302} 303 304_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setLevel (NS ::UInteger level ) 305{ 306Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setLevel_ ),level ); 307} 308 309// property: slice 310_MTL_INLINE NS ::UInteger MTL ::RenderPassAttachmentDescriptor ::slice ()const 311{ 312return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (slice )); 313} 314 315_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setSlice (NS ::UInteger slice ) 316{ 317Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setSlice_ ),slice ); 318} 319 320// property: depthPlane 321_MTL_INLINE NS ::UInteger MTL ::RenderPassAttachmentDescriptor ::depthPlane ()const 322{ 323return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (depthPlane )); 324} 325 326_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setDepthPlane (NS ::UInteger depthPlane ) 327{ 328Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthPlane_ ),depthPlane ); 329} 330 331// property: resolveTexture 332_MTL_INLINE MTL ::Texture * MTL ::RenderPassAttachmentDescriptor ::resolveTexture ()const 333{ 334return Object ::sendMessage < MTL ::Texture *> (this ,_MTL_PRIVATE_SEL (resolveTexture )); 335} 336 337_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setResolveTexture (const MTL ::Texture * resolveTexture ) 338{ 339Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setResolveTexture_ ),resolveTexture ); 340} 341 342// property: resolveLevel 343_MTL_INLINE NS ::UInteger MTL ::RenderPassAttachmentDescriptor ::resolveLevel ()const 344{ 345return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (resolveLevel )); 346} 347 348_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setResolveLevel (NS ::UInteger resolveLevel ) 349{ 350Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setResolveLevel_ ),resolveLevel ); 351} 352 353// property: resolveSlice 354_MTL_INLINE NS ::UInteger MTL ::RenderPassAttachmentDescriptor ::resolveSlice ()const 355{ 356return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (resolveSlice )); 357} 358 359_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setResolveSlice (NS ::UInteger resolveSlice ) 360{ 361Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setResolveSlice_ ),resolveSlice ); 362} 363 364// property: resolveDepthPlane 365_MTL_INLINE NS ::UInteger MTL ::RenderPassAttachmentDescriptor ::resolveDepthPlane ()const 366{ 367return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (resolveDepthPlane )); 368} 369 370_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setResolveDepthPlane (NS ::UInteger resolveDepthPlane ) 371{ 372Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setResolveDepthPlane_ ),resolveDepthPlane ); 373} 374 375// property: loadAction 376_MTL_INLINE MTL ::LoadAction MTL ::RenderPassAttachmentDescriptor ::loadAction ()const 377{ 378return Object ::sendMessage < MTL ::LoadAction > (this ,_MTL_PRIVATE_SEL (loadAction )); 379} 380 381_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setLoadAction (MTL ::LoadAction loadAction ) 382{ 383Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setLoadAction_ ),loadAction ); 384} 385 386// property: storeAction 387_MTL_INLINE MTL ::StoreAction MTL ::RenderPassAttachmentDescriptor ::storeAction ()const 388{ 389return Object ::sendMessage < MTL ::StoreAction > (this ,_MTL_PRIVATE_SEL (storeAction )); 390} 391 392_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setStoreAction (MTL ::StoreAction storeAction ) 393{ 394Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStoreAction_ ),storeAction ); 395} 396 397// property: storeActionOptions 398_MTL_INLINE MTL ::StoreActionOptions MTL ::RenderPassAttachmentDescriptor ::storeActionOptions ()const 399{ 400return Object ::sendMessage < MTL ::StoreActionOptions > (this ,_MTL_PRIVATE_SEL (storeActionOptions )); 401} 402 403_MTL_INLINE voidMTL ::RenderPassAttachmentDescriptor ::setStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ) 404{ 405Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStoreActionOptions_ ),storeActionOptions ); 406} 407 408// static method: alloc 409_MTL_INLINE MTL ::RenderPassColorAttachmentDescriptor * MTL ::RenderPassColorAttachmentDescriptor ::alloc () 410{ 411return NS ::Object ::alloc < MTL ::RenderPassColorAttachmentDescriptor > (_MTL_PRIVATE_CLS (MTLRenderPassColorAttachmentDescriptor )); 412} 413 414// method: init 415_MTL_INLINE MTL ::RenderPassColorAttachmentDescriptor * MTL ::RenderPassColorAttachmentDescriptor ::init () 416{ 417return NS ::Object ::init < MTL ::RenderPassColorAttachmentDescriptor > (); 418} 419 420// property: clearColor 421_MTL_INLINE MTL ::ClearColor MTL ::RenderPassColorAttachmentDescriptor ::clearColor ()const 422{ 423return Object ::sendMessage < MTL ::ClearColor > (this ,_MTL_PRIVATE_SEL (clearColor )); 424} 425 426_MTL_INLINE voidMTL ::RenderPassColorAttachmentDescriptor ::setClearColor (MTL ::ClearColor clearColor ) 427{ 428Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setClearColor_ ),clearColor ); 429} 430 431// static method: alloc 432_MTL_INLINE MTL ::RenderPassDepthAttachmentDescriptor * MTL ::RenderPassDepthAttachmentDescriptor ::alloc () 433{ 434return NS ::Object ::alloc < MTL ::RenderPassDepthAttachmentDescriptor > (_MTL_PRIVATE_CLS (MTLRenderPassDepthAttachmentDescriptor )); 435} 436 437// method: init 438_MTL_INLINE MTL ::RenderPassDepthAttachmentDescriptor * MTL ::RenderPassDepthAttachmentDescriptor ::init () 439{ 440return NS ::Object ::init < MTL ::RenderPassDepthAttachmentDescriptor > (); 441} 442 443// property: clearDepth 444_MTL_INLINE doubleMTL ::RenderPassDepthAttachmentDescriptor ::clearDepth ()const 445{ 446return Object ::sendMessage < double > (this ,_MTL_PRIVATE_SEL (clearDepth )); 447} 448 449_MTL_INLINE voidMTL ::RenderPassDepthAttachmentDescriptor ::setClearDepth (double clearDepth ) 450{ 451Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setClearDepth_ ),clearDepth ); 452} 453 454// property: depthResolveFilter 455_MTL_INLINE MTL ::MultisampleDepthResolveFilter MTL ::RenderPassDepthAttachmentDescriptor ::depthResolveFilter ()const 456{ 457return Object ::sendMessage < MTL ::MultisampleDepthResolveFilter > (this ,_MTL_PRIVATE_SEL (depthResolveFilter )); 458} 459 460_MTL_INLINE voidMTL ::RenderPassDepthAttachmentDescriptor ::setDepthResolveFilter (MTL ::MultisampleDepthResolveFilter depthResolveFilter ) 461{ 462Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthResolveFilter_ ),depthResolveFilter ); 463} 464 465// static method: alloc 466_MTL_INLINE MTL ::RenderPassStencilAttachmentDescriptor * MTL ::RenderPassStencilAttachmentDescriptor ::alloc () 467{ 468return NS ::Object ::alloc < MTL ::RenderPassStencilAttachmentDescriptor > (_MTL_PRIVATE_CLS (MTLRenderPassStencilAttachmentDescriptor )); 469} 470 471// method: init 472_MTL_INLINE MTL ::RenderPassStencilAttachmentDescriptor * MTL ::RenderPassStencilAttachmentDescriptor ::init () 473{ 474return NS ::Object ::init < MTL ::RenderPassStencilAttachmentDescriptor > (); 475} 476 477// property: clearStencil 478_MTL_INLINE uint32_tMTL ::RenderPassStencilAttachmentDescriptor ::clearStencil ()const 479{ 480return Object ::sendMessage < uint32_t > (this ,_MTL_PRIVATE_SEL (clearStencil )); 481} 482 483_MTL_INLINE voidMTL ::RenderPassStencilAttachmentDescriptor ::setClearStencil (uint32_t clearStencil ) 484{ 485Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setClearStencil_ ),clearStencil ); 486} 487 488// property: stencilResolveFilter 489_MTL_INLINE MTL ::MultisampleStencilResolveFilter MTL ::RenderPassStencilAttachmentDescriptor ::stencilResolveFilter ()const 490{ 491return Object ::sendMessage < MTL ::MultisampleStencilResolveFilter > (this ,_MTL_PRIVATE_SEL (stencilResolveFilter )); 492} 493 494_MTL_INLINE voidMTL ::RenderPassStencilAttachmentDescriptor ::setStencilResolveFilter (MTL ::MultisampleStencilResolveFilter stencilResolveFilter ) 495{ 496Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilResolveFilter_ ),stencilResolveFilter ); 497} 498 499// static method: alloc 500_MTL_INLINE MTL ::RenderPassColorAttachmentDescriptorArray * MTL ::RenderPassColorAttachmentDescriptorArray ::alloc () 501{ 502return NS ::Object ::alloc < MTL ::RenderPassColorAttachmentDescriptorArray > (_MTL_PRIVATE_CLS (MTLRenderPassColorAttachmentDescriptorArray )); 503} 504 505// method: init 506_MTL_INLINE MTL ::RenderPassColorAttachmentDescriptorArray * MTL ::RenderPassColorAttachmentDescriptorArray ::init () 507{ 508return NS ::Object ::init < MTL ::RenderPassColorAttachmentDescriptorArray > (); 509} 510 511// method: objectAtIndexedSubscript: 512_MTL_INLINE MTL ::RenderPassColorAttachmentDescriptor * MTL ::RenderPassColorAttachmentDescriptorArray ::object (NS ::UInteger attachmentIndex ) 513{ 514return Object ::sendMessage < MTL ::RenderPassColorAttachmentDescriptor *> (this ,_MTL_PRIVATE_SEL (objectAtIndexedSubscript_ ),attachmentIndex ); 515} 516 517// method: setObject:atIndexedSubscript: 518_MTL_INLINE voidMTL ::RenderPassColorAttachmentDescriptorArray ::setObject (const MTL ::RenderPassColorAttachmentDescriptor * attachment ,NS ::UInteger attachmentIndex ) 519{ 520Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setObject_atIndexedSubscript_ ),attachment ,attachmentIndex ); 521} 522 523// static method: alloc 524_MTL_INLINE MTL ::RenderPassSampleBufferAttachmentDescriptor * MTL ::RenderPassSampleBufferAttachmentDescriptor ::alloc () 525{ 526return NS ::Object ::alloc < MTL ::RenderPassSampleBufferAttachmentDescriptor > (_MTL_PRIVATE_CLS (MTLRenderPassSampleBufferAttachmentDescriptor )); 527} 528 529// method: init 530_MTL_INLINE MTL ::RenderPassSampleBufferAttachmentDescriptor * MTL ::RenderPassSampleBufferAttachmentDescriptor ::init () 531{ 532return NS ::Object ::init < MTL ::RenderPassSampleBufferAttachmentDescriptor > (); 533} 534 535// property: sampleBuffer 536_MTL_INLINE MTL ::CounterSampleBuffer * MTL ::RenderPassSampleBufferAttachmentDescriptor ::sampleBuffer ()const 537{ 538return Object ::sendMessage < MTL ::CounterSampleBuffer *> (this ,_MTL_PRIVATE_SEL (sampleBuffer )); 539} 540 541_MTL_INLINE voidMTL ::RenderPassSampleBufferAttachmentDescriptor ::setSampleBuffer (const MTL ::CounterSampleBuffer * sampleBuffer ) 542{ 543Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setSampleBuffer_ ),sampleBuffer ); 544} 545 546// property: startOfVertexSampleIndex 547_MTL_INLINE NS ::UInteger MTL ::RenderPassSampleBufferAttachmentDescriptor ::startOfVertexSampleIndex ()const 548{ 549return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (startOfVertexSampleIndex )); 550} 551 552_MTL_INLINE voidMTL ::RenderPassSampleBufferAttachmentDescriptor ::setStartOfVertexSampleIndex (NS ::UInteger startOfVertexSampleIndex ) 553{ 554Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStartOfVertexSampleIndex_ ),startOfVertexSampleIndex ); 555} 556 557// property: endOfVertexSampleIndex 558_MTL_INLINE NS ::UInteger MTL ::RenderPassSampleBufferAttachmentDescriptor ::endOfVertexSampleIndex ()const 559{ 560return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (endOfVertexSampleIndex )); 561} 562 563_MTL_INLINE voidMTL ::RenderPassSampleBufferAttachmentDescriptor ::setEndOfVertexSampleIndex (NS ::UInteger endOfVertexSampleIndex ) 564{ 565Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setEndOfVertexSampleIndex_ ),endOfVertexSampleIndex ); 566} 567 568// property: startOfFragmentSampleIndex 569_MTL_INLINE NS ::UInteger MTL ::RenderPassSampleBufferAttachmentDescriptor ::startOfFragmentSampleIndex ()const 570{ 571return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (startOfFragmentSampleIndex )); 572} 573 574_MTL_INLINE voidMTL ::RenderPassSampleBufferAttachmentDescriptor ::setStartOfFragmentSampleIndex (NS ::UInteger startOfFragmentSampleIndex ) 575{ 576Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStartOfFragmentSampleIndex_ ),startOfFragmentSampleIndex ); 577} 578 579// property: endOfFragmentSampleIndex 580_MTL_INLINE NS ::UInteger MTL ::RenderPassSampleBufferAttachmentDescriptor ::endOfFragmentSampleIndex ()const 581{ 582return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (endOfFragmentSampleIndex )); 583} 584 585_MTL_INLINE voidMTL ::RenderPassSampleBufferAttachmentDescriptor ::setEndOfFragmentSampleIndex (NS ::UInteger endOfFragmentSampleIndex ) 586{ 587Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setEndOfFragmentSampleIndex_ ),endOfFragmentSampleIndex ); 588} 589 590// static method: alloc 591_MTL_INLINE MTL ::RenderPassSampleBufferAttachmentDescriptorArray * MTL ::RenderPassSampleBufferAttachmentDescriptorArray ::alloc () 592{ 593return NS ::Object ::alloc < MTL ::RenderPassSampleBufferAttachmentDescriptorArray > (_MTL_PRIVATE_CLS (MTLRenderPassSampleBufferAttachmentDescriptorArray )); 594} 595 596// method: init 597_MTL_INLINE MTL ::RenderPassSampleBufferAttachmentDescriptorArray * MTL ::RenderPassSampleBufferAttachmentDescriptorArray ::init () 598{ 599return NS ::Object ::init < MTL ::RenderPassSampleBufferAttachmentDescriptorArray > (); 600} 601 602// method: objectAtIndexedSubscript: 603_MTL_INLINE MTL ::RenderPassSampleBufferAttachmentDescriptor * MTL ::RenderPassSampleBufferAttachmentDescriptorArray ::object (NS ::UInteger attachmentIndex ) 604{ 605return Object ::sendMessage < MTL ::RenderPassSampleBufferAttachmentDescriptor *> (this ,_MTL_PRIVATE_SEL (objectAtIndexedSubscript_ ),attachmentIndex ); 606} 607 608// method: setObject:atIndexedSubscript: 609_MTL_INLINE voidMTL ::RenderPassSampleBufferAttachmentDescriptorArray ::setObject (const MTL ::RenderPassSampleBufferAttachmentDescriptor * attachment ,NS ::UInteger attachmentIndex ) 610{ 611Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setObject_atIndexedSubscript_ ),attachment ,attachmentIndex ); 612} 613 614// static method: alloc 615_MTL_INLINE MTL ::RenderPassDescriptor * MTL ::RenderPassDescriptor ::alloc () 616{ 617return NS ::Object ::alloc < MTL ::RenderPassDescriptor > (_MTL_PRIVATE_CLS (MTLRenderPassDescriptor )); 618} 619 620// method: init 621_MTL_INLINE MTL ::RenderPassDescriptor * MTL ::RenderPassDescriptor ::init () 622{ 623return NS ::Object ::init < MTL ::RenderPassDescriptor > (); 624} 625 626// static method: renderPassDescriptor 627_MTL_INLINE MTL ::RenderPassDescriptor * MTL ::RenderPassDescriptor ::renderPassDescriptor () 628{ 629return Object ::sendMessage < MTL ::RenderPassDescriptor *> (_MTL_PRIVATE_CLS (MTLRenderPassDescriptor ),_MTL_PRIVATE_SEL (renderPassDescriptor )); 630} 631 632// property: colorAttachments 633_MTL_INLINE MTL ::RenderPassColorAttachmentDescriptorArray * MTL ::RenderPassDescriptor ::colorAttachments ()const 634{ 635return Object ::sendMessage < MTL ::RenderPassColorAttachmentDescriptorArray *> (this ,_MTL_PRIVATE_SEL (colorAttachments )); 636} 637 638// property: depthAttachment 639_MTL_INLINE MTL ::RenderPassDepthAttachmentDescriptor * MTL ::RenderPassDescriptor ::depthAttachment ()const 640{ 641return Object ::sendMessage < MTL ::RenderPassDepthAttachmentDescriptor *> (this ,_MTL_PRIVATE_SEL (depthAttachment )); 642} 643 644_MTL_INLINE voidMTL ::RenderPassDescriptor ::setDepthAttachment (const MTL ::RenderPassDepthAttachmentDescriptor * depthAttachment ) 645{ 646Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthAttachment_ ),depthAttachment ); 647} 648 649// property: stencilAttachment 650_MTL_INLINE MTL ::RenderPassStencilAttachmentDescriptor * MTL ::RenderPassDescriptor ::stencilAttachment ()const 651{ 652return Object ::sendMessage < MTL ::RenderPassStencilAttachmentDescriptor *> (this ,_MTL_PRIVATE_SEL (stencilAttachment )); 653} 654 655_MTL_INLINE voidMTL ::RenderPassDescriptor ::setStencilAttachment (const MTL ::RenderPassStencilAttachmentDescriptor * stencilAttachment ) 656{ 657Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilAttachment_ ),stencilAttachment ); 658} 659 660// property: visibilityResultBuffer 661_MTL_INLINE MTL ::Buffer * MTL ::RenderPassDescriptor ::visibilityResultBuffer ()const 662{ 663return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (visibilityResultBuffer )); 664} 665 666_MTL_INLINE voidMTL ::RenderPassDescriptor ::setVisibilityResultBuffer (const MTL ::Buffer * visibilityResultBuffer ) 667{ 668Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVisibilityResultBuffer_ ),visibilityResultBuffer ); 669} 670 671// property: renderTargetArrayLength 672_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::renderTargetArrayLength ()const 673{ 674return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (renderTargetArrayLength )); 675} 676 677_MTL_INLINE voidMTL ::RenderPassDescriptor ::setRenderTargetArrayLength (NS ::UInteger renderTargetArrayLength ) 678{ 679Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setRenderTargetArrayLength_ ),renderTargetArrayLength ); 680} 681 682// property: imageblockSampleLength 683_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::imageblockSampleLength ()const 684{ 685return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (imageblockSampleLength )); 686} 687 688_MTL_INLINE voidMTL ::RenderPassDescriptor ::setImageblockSampleLength (NS ::UInteger imageblockSampleLength ) 689{ 690Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setImageblockSampleLength_ ),imageblockSampleLength ); 691} 692 693// property: threadgroupMemoryLength 694_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::threadgroupMemoryLength ()const 695{ 696return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (threadgroupMemoryLength )); 697} 698 699_MTL_INLINE voidMTL ::RenderPassDescriptor ::setThreadgroupMemoryLength (NS ::UInteger threadgroupMemoryLength ) 700{ 701Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setThreadgroupMemoryLength_ ),threadgroupMemoryLength ); 702} 703 704// property: tileWidth 705_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::tileWidth ()const 706{ 707return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (tileWidth )); 708} 709 710_MTL_INLINE voidMTL ::RenderPassDescriptor ::setTileWidth (NS ::UInteger tileWidth ) 711{ 712Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileWidth_ ),tileWidth ); 713} 714 715// property: tileHeight 716_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::tileHeight ()const 717{ 718return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (tileHeight )); 719} 720 721_MTL_INLINE voidMTL ::RenderPassDescriptor ::setTileHeight (NS ::UInteger tileHeight ) 722{ 723Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileHeight_ ),tileHeight ); 724} 725 726// property: defaultRasterSampleCount 727_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::defaultRasterSampleCount ()const 728{ 729return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (defaultRasterSampleCount )); 730} 731 732_MTL_INLINE voidMTL ::RenderPassDescriptor ::setDefaultRasterSampleCount (NS ::UInteger defaultRasterSampleCount ) 733{ 734Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDefaultRasterSampleCount_ ),defaultRasterSampleCount ); 735} 736 737// property: renderTargetWidth 738_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::renderTargetWidth ()const 739{ 740return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (renderTargetWidth )); 741} 742 743_MTL_INLINE voidMTL ::RenderPassDescriptor ::setRenderTargetWidth (NS ::UInteger renderTargetWidth ) 744{ 745Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setRenderTargetWidth_ ),renderTargetWidth ); 746} 747 748// property: renderTargetHeight 749_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::renderTargetHeight ()const 750{ 751return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (renderTargetHeight )); 752} 753 754_MTL_INLINE voidMTL ::RenderPassDescriptor ::setRenderTargetHeight (NS ::UInteger renderTargetHeight ) 755{ 756Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setRenderTargetHeight_ ),renderTargetHeight ); 757} 758 759// method: setSamplePositions:count: 760_MTL_INLINE voidMTL ::RenderPassDescriptor ::setSamplePositions (const MTL ::SamplePosition * positions ,NS ::UInteger count ) 761{ 762Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setSamplePositions_count_ ),positions ,count ); 763} 764 765// method: getSamplePositions:count: 766_MTL_INLINE NS ::UInteger MTL ::RenderPassDescriptor ::getSamplePositions (MTL ::SamplePosition * positions ,NS ::UInteger count ) 767{ 768return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (getSamplePositions_count_ ),positions ,count ); 769} 770 771// property: rasterizationRateMap 772_MTL_INLINE MTL ::RasterizationRateMap * MTL ::RenderPassDescriptor ::rasterizationRateMap ()const 773{ 774return Object ::sendMessage < MTL ::RasterizationRateMap *> (this ,_MTL_PRIVATE_SEL (rasterizationRateMap )); 775} 776 777_MTL_INLINE voidMTL ::RenderPassDescriptor ::setRasterizationRateMap (const MTL ::RasterizationRateMap * rasterizationRateMap ) 778{ 779Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setRasterizationRateMap_ ),rasterizationRateMap ); 780} 781 782// property: sampleBufferAttachments 783_MTL_INLINE MTL ::RenderPassSampleBufferAttachmentDescriptorArray * MTL ::RenderPassDescriptor ::sampleBufferAttachments ()const 784{ 785return Object ::sendMessage < MTL ::RenderPassSampleBufferAttachmentDescriptorArray *> (this ,_MTL_PRIVATE_SEL (sampleBufferAttachments )); 786}