yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
master
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// Metal/MTLRenderCommandEncoder.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 "MTLBuffer.hpp" 30#include "MTLCommandEncoder.hpp" 31#include "MTLHeap.hpp" 32#include "MTLIntersectionFunctionTable.hpp" 33#include "MTLRenderCommandEncoder.hpp" 34#include "MTLRenderPass.hpp" 35#include "MTLResource.hpp" 36#include "MTLSampler.hpp" 37#include "MTLStageInputOutputDescriptor.hpp" 38#include "MTLTexture.hpp" 39#include "MTLTypes.hpp" 40#include "MTLVisibleFunctionTable.hpp" 41 42namespace MTL 43{ 44_MTL_ENUM (NS ::UInteger ,PrimitiveType ) { 45PrimitiveTypePoint = 0 , 46PrimitiveTypeLine = 1 , 47PrimitiveTypeLineStrip = 2 , 48PrimitiveTypeTriangle = 3 , 49PrimitiveTypeTriangleStrip = 4 , 50}; 51 52_MTL_ENUM (NS ::UInteger ,VisibilityResultMode ) { 53VisibilityResultModeDisabled = 0 , 54VisibilityResultModeBoolean = 1 , 55VisibilityResultModeCounting = 2 , 56}; 57 58struct ScissorRect 59{ 60NS ::UInteger x ; 61NS ::UInteger y ; 62NS ::UInteger width ; 63NS ::UInteger height ; 64}_MTL_PACKED ; 65 66struct Viewport 67{ 68double originX ; 69double originY ; 70double width ; 71double height ; 72double znear ; 73double zfar ; 74}_MTL_PACKED ; 75 76_MTL_ENUM (NS ::UInteger ,CullMode ) { 77CullModeNone = 0 , 78CullModeFront = 1 , 79CullModeBack = 2 , 80}; 81 82_MTL_ENUM (NS ::UInteger ,Winding ) { 83WindingClockwise = 0 , 84WindingCounterClockwise = 1 , 85}; 86 87_MTL_ENUM (NS ::UInteger ,DepthClipMode ) { 88DepthClipModeClip = 0 , 89DepthClipModeClamp = 1 , 90}; 91 92_MTL_ENUM (NS ::UInteger ,TriangleFillMode ) { 93TriangleFillModeFill = 0 , 94TriangleFillModeLines = 1 , 95}; 96 97struct DrawPrimitivesIndirectArguments 98{ 99uint32_t vertexCount ; 100uint32_t instanceCount ; 101uint32_t vertexStart ; 102uint32_t baseInstance ; 103}_MTL_PACKED ; 104 105struct DrawIndexedPrimitivesIndirectArguments 106{ 107uint32_t indexCount ; 108uint32_t instanceCount ; 109uint32_t indexStart ; 110int32_t baseVertex ; 111uint32_t baseInstance ; 112}_MTL_PACKED ; 113 114struct VertexAmplificationViewMapping 115{ 116uint32_t viewportArrayIndexOffset ; 117uint32_t renderTargetArrayIndexOffset ; 118}_MTL_PACKED ; 119 120struct DrawPatchIndirectArguments 121{ 122uint32_t patchCount ; 123uint32_t instanceCount ; 124uint32_t patchStart ; 125uint32_t baseInstance ; 126}_MTL_PACKED ; 127 128struct QuadTessellationFactorsHalf 129{ 130uint16_t edgeTessellationFactor [4 ]; 131uint16_t insideTessellationFactor [2 ]; 132}_MTL_PACKED ; 133 134struct TriangleTessellationFactorsHalf 135{ 136uint16_t edgeTessellationFactor [3 ]; 137uint16_t insideTessellationFactor ; 138}_MTL_PACKED ; 139 140_MTL_OPTIONS (NS ::UInteger ,RenderStages ) { 141RenderStageVertex = 1 , 142RenderStageFragment = 2 , 143RenderStageTile = 4 , 144}; 145 146class RenderCommandEncoder :public NS ::Referencing < RenderCommandEncoder ,CommandEncoder > 147{ 148public : 149void setRenderPipelineState (const class RenderPipelineState * pipelineState ); 150 151void setVertexBytes (const void * bytes ,NS ::UInteger length ,NS ::UInteger index ); 152 153void setVertexBuffer (const class Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger index ); 154 155void setVertexBufferOffset (NS ::UInteger offset ,NS ::UInteger index ); 156 157void setVertexBuffers (MTL ::Buffer * buffers [],const NS ::UInteger offsets [],NS ::Range range ); 158 159void setVertexTexture (const class Texture * texture ,NS ::UInteger index ); 160 161void setVertexTextures (MTL ::Texture * textures [],NS ::Range range ); 162 163void setVertexSamplerState (const class SamplerState * sampler ,NS ::UInteger index ); 164 165void setVertexSamplerStates (MTL ::SamplerState * samplers [],NS ::Range range ); 166 167void setVertexSamplerState (const class SamplerState * sampler ,float lodMinClamp ,float lodMaxClamp ,NS ::UInteger index ); 168 169void setVertexSamplerStates (MTL ::SamplerState * samplers [],const float lodMinClamps [],const float lodMaxClamps [],NS ::Range range ); 170 171void setVertexVisibleFunctionTable (const class VisibleFunctionTable * functionTable ,NS ::UInteger bufferIndex ); 172 173void setVertexVisibleFunctionTables (const class VisibleFunctionTable * functionTables [],NS ::Range range ); 174 175void setVertexIntersectionFunctionTable (const class IntersectionFunctionTable * intersectionFunctionTable ,NS ::UInteger bufferIndex ); 176 177void setVertexIntersectionFunctionTables (const class IntersectionFunctionTable * intersectionFunctionTables [],NS ::Range range ); 178 179void setVertexAccelerationStructure (const class AccelerationStructure * accelerationStructure ,NS ::UInteger bufferIndex ); 180 181void setViewport (MTL ::Viewport viewport ); 182 183void setViewports (const MTL ::Viewport * viewports ,NS ::UInteger count ); 184 185void setFrontFacingWinding (MTL ::Winding frontFacingWinding ); 186 187void setVertexAmplificationCount (NS ::UInteger count ,const MTL ::VertexAmplificationViewMapping * viewMappings ); 188 189void setCullMode (MTL ::CullMode cullMode ); 190 191void setDepthClipMode (MTL ::DepthClipMode depthClipMode ); 192 193void setDepthBias (float depthBias ,float slopeScale ,float clamp ); 194 195void setScissorRect (MTL ::ScissorRect rect ); 196 197void setScissorRects (const MTL ::ScissorRect * scissorRects ,NS ::UInteger count ); 198 199void setTriangleFillMode (MTL ::TriangleFillMode fillMode ); 200 201void setFragmentBytes (const void * bytes ,NS ::UInteger length ,NS ::UInteger index ); 202 203void setFragmentBuffer (const class Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger index ); 204 205void setFragmentBufferOffset (NS ::UInteger offset ,NS ::UInteger index ); 206 207void setFragmentBuffers (MTL ::Buffer * buffers [],const NS ::UInteger offsets [],NS ::Range range ); 208 209void setFragmentTexture (const class Texture * texture ,NS ::UInteger index ); 210 211void setFragmentTextures (MTL ::Texture * textures [],NS ::Range range ); 212 213void setFragmentSamplerState (const class SamplerState * sampler ,NS ::UInteger index ); 214 215void setFragmentSamplerStates (MTL ::SamplerState * samplers [],NS ::Range range ); 216 217void setFragmentSamplerState (const class SamplerState * sampler ,float lodMinClamp ,float lodMaxClamp ,NS ::UInteger index ); 218 219void setFragmentSamplerStates (MTL ::SamplerState * samplers [],const float lodMinClamps [],const float lodMaxClamps [],NS ::Range range ); 220 221void setFragmentVisibleFunctionTable (const class VisibleFunctionTable * functionTable ,NS ::UInteger bufferIndex ); 222 223void setFragmentVisibleFunctionTables (const VisibleFunctionTable * functionTables [],NS ::Range range ); 224 225void setFragmentIntersectionFunctionTable (const class IntersectionFunctionTable * intersectionFunctionTable ,NS ::UInteger bufferIndex ); 226 227void setFragmentIntersectionFunctionTables (const class IntersectionFunctionTable * intersectionFunctionTables [],NS ::Range range ); 228 229void setFragmentAccelerationStructure (const class AccelerationStructure * accelerationStructure ,NS ::UInteger bufferIndex ); 230 231void setBlendColorRed (float red ,float green ,float blue ,float alpha ); 232 233void setDepthStencilState (const class DepthStencilState * depthStencilState ); 234 235void setStencilReferenceValue (uint32_t referenceValue ); 236 237void setStencilFrontReferenceValue (uint32_t frontReferenceValue ,uint32_t backReferenceValue ); 238 239void setVisibilityResultMode (MTL ::VisibilityResultMode mode ,NS ::UInteger offset ); 240 241void setColorStoreAction (MTL ::StoreAction storeAction ,NS ::UInteger colorAttachmentIndex ); 242 243void setDepthStoreAction (MTL ::StoreAction storeAction ); 244 245void setStencilStoreAction (MTL ::StoreAction storeAction ); 246 247void setColorStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ,NS ::UInteger colorAttachmentIndex ); 248 249void setDepthStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ); 250 251void setStencilStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ); 252 253void drawPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger vertexStart ,NS ::UInteger vertexCount ,NS ::UInteger instanceCount ); 254 255void drawPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger vertexStart ,NS ::UInteger vertexCount ); 256 257void drawIndexedPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger indexCount ,MTL ::IndexType indexType ,const class Buffer * indexBuffer ,NS ::UInteger indexBufferOffset ,NS ::UInteger instanceCount ); 258 259void drawIndexedPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger indexCount ,MTL ::IndexType indexType ,const class Buffer * indexBuffer ,NS ::UInteger indexBufferOffset ); 260 261void drawPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger vertexStart ,NS ::UInteger vertexCount ,NS ::UInteger instanceCount ,NS ::UInteger baseInstance ); 262 263void 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 ); 264 265void drawPrimitives (MTL ::PrimitiveType primitiveType ,const class Buffer * indirectBuffer ,NS ::UInteger indirectBufferOffset ); 266 267void drawIndexedPrimitives (MTL ::PrimitiveType primitiveType ,MTL ::IndexType indexType ,const class Buffer * indexBuffer ,NS ::UInteger indexBufferOffset ,const class Buffer * indirectBuffer ,NS ::UInteger indirectBufferOffset ); 268 269void textureBarrier (); 270 271void updateFence (const class Fence * fence ,MTL ::RenderStages stages ); 272 273void waitForFence (const class Fence * fence ,MTL ::RenderStages stages ); 274 275void setTessellationFactorBuffer (const class Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger instanceStride ); 276 277void setTessellationFactorScale (float scale ); 278 279void drawPatches (NS ::UInteger numberOfPatchControlPoints ,NS ::UInteger patchStart ,NS ::UInteger patchCount ,const class Buffer * patchIndexBuffer ,NS ::UInteger patchIndexBufferOffset ,NS ::UInteger instanceCount ,NS ::UInteger baseInstance ); 280 281void drawPatches (NS ::UInteger numberOfPatchControlPoints ,const class Buffer * patchIndexBuffer ,NS ::UInteger patchIndexBufferOffset ,const class Buffer * indirectBuffer ,NS ::UInteger indirectBufferOffset ); 282 283void 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 ); 284 285void 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 ); 286 287NS ::UInteger tileWidth ()const ; 288 289NS ::UInteger tileHeight ()const ; 290 291void setTileBytes (const void * bytes ,NS ::UInteger length ,NS ::UInteger index ); 292 293void setTileBuffer (const class Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger index ); 294 295void setTileBufferOffset (NS ::UInteger offset ,NS ::UInteger index ); 296 297void setTileBuffers (MTL ::Buffer * buffers ,const NS ::UInteger * offsets ,NS ::Range range ); 298 299void setTileTexture (const class Texture * texture ,NS ::UInteger index ); 300 301void setTileTextures (MTL ::Texture * textures [],NS ::Range range ); 302 303void setTileSamplerState (const class SamplerState * sampler ,NS ::UInteger index ); 304 305void setTileSamplerStates (MTL ::SamplerState * samplers [],NS ::Range range ); 306 307void setTileSamplerState (const class SamplerState * sampler ,float lodMinClamp ,float lodMaxClamp ,NS ::UInteger index ); 308 309void setTileSamplerStates (MTL ::SamplerState * samplers [],const float lodMinClamps [],const float lodMaxClamps [],NS ::Range range ); 310 311void setTileVisibleFunctionTable (const class VisibleFunctionTable * functionTable ,NS ::UInteger bufferIndex ); 312 313void setTileVisibleFunctionTables (const class VisibleFunctionTable * functionTables [],NS ::Range range ); 314 315void setTileIntersectionFunctionTable (const class IntersectionFunctionTable * intersectionFunctionTable ,NS ::UInteger bufferIndex ); 316 317void setTileIntersectionFunctionTables (const class IntersectionFunctionTable * intersectionFunctionTables [],NS ::Range range ); 318 319void setTileAccelerationStructure (const class AccelerationStructure * accelerationStructure ,NS ::UInteger bufferIndex ); 320 321void dispatchThreadsPerTile (MTL ::Size threadsPerTile ); 322 323void setThreadgroupMemoryLength (NS ::UInteger length ,NS ::UInteger offset ,NS ::UInteger index ); 324 325void useResource (const class Resource * resource ,MTL ::ResourceUsage usage ); 326 327void useResources (MTL ::Resource * resources [],NS ::UInteger count ,MTL ::ResourceUsage usage ); 328 329void useResource (const class Resource * resource ,MTL ::ResourceUsage usage ,MTL ::RenderStages stages ); 330 331void useResources (MTL ::Resource * resources ,NS ::UInteger count ,MTL ::ResourceUsage usage ,MTL ::RenderStages stages ); 332 333void useHeap (const class Heap * heap ); 334 335void useHeaps (MTL ::Heap * heaps [],NS ::UInteger count ); 336 337void useHeap (const class Heap * heap ,MTL ::RenderStages stages ); 338 339void useHeaps (MTL ::Heap * heaps [],NS ::UInteger count ,MTL ::RenderStages stages ); 340 341void executeCommandsInBuffer (const class IndirectCommandBuffer * indirectCommandBuffer ,NS ::Range executionRange ); 342 343void executeCommandsInBuffer (const class IndirectCommandBuffer * indirectCommandbuffer ,const class Buffer * indirectRangeBuffer ,NS ::UInteger indirectBufferOffset ); 344 345void memoryBarrier (MTL ::BarrierScope scope ,MTL ::RenderStages after ,MTL ::RenderStages before ); 346 347void memoryBarrier (MTL ::Resource * resources [],NS ::UInteger count ,MTL ::RenderStages after ,MTL ::RenderStages before ); 348 349void sampleCountersInBuffer (const class CounterSampleBuffer * sampleBuffer ,NS ::UInteger sampleIndex ,bool barrier ); 350}; 351 352} 353 354// method: setRenderPipelineState: 355_MTL_INLINE voidMTL ::RenderCommandEncoder ::setRenderPipelineState (const MTL ::RenderPipelineState * pipelineState ) 356{ 357Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setRenderPipelineState_ ),pipelineState ); 358} 359 360// method: setVertexBytes:length:atIndex: 361_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexBytes (const void * bytes ,NS ::UInteger length ,NS ::UInteger index ) 362{ 363Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexBytes_length_atIndex_ ),bytes ,length ,index ); 364} 365 366// method: setVertexBuffer:offset:atIndex: 367_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexBuffer (const MTL ::Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger index ) 368{ 369Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexBuffer_offset_atIndex_ ),buffer ,offset ,index ); 370} 371 372// method: setVertexBufferOffset:atIndex: 373_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexBufferOffset (NS ::UInteger offset ,NS ::UInteger index ) 374{ 375Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexBufferOffset_atIndex_ ),offset ,index ); 376} 377 378// method: setVertexBuffers:offsets:withRange: 379_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexBuffers (MTL ::Buffer * buffers [],const NS ::UInteger offsets [],NS ::Range range ) 380{ 381Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexBuffers_offsets_withRange_ ),buffers ,offsets ,range ); 382} 383 384// method: setVertexTexture:atIndex: 385_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexTexture (const MTL ::Texture * texture ,NS ::UInteger index ) 386{ 387Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexTexture_atIndex_ ),texture ,index ); 388} 389 390// method: setVertexTextures:withRange: 391_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexTextures (MTL ::Texture * textures [],NS ::Range range ) 392{ 393Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexTextures_withRange_ ),textures ,range ); 394} 395 396// method: setVertexSamplerState:atIndex: 397_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexSamplerState (const MTL ::SamplerState * sampler ,NS ::UInteger index ) 398{ 399Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexSamplerState_atIndex_ ),sampler ,index ); 400} 401 402// method: setVertexSamplerStates:withRange: 403_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexSamplerStates (MTL ::SamplerState * samplers [],NS ::Range range ) 404{ 405Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexSamplerStates_withRange_ ),samplers ,range ); 406} 407 408// method: setVertexSamplerState:lodMinClamp:lodMaxClamp:atIndex: 409_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexSamplerState (const MTL ::SamplerState * sampler ,float lodMinClamp ,float lodMaxClamp ,NS ::UInteger index ) 410{ 411Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexSamplerState_lodMinClamp_lodMaxClamp_atIndex_ ),sampler ,lodMinClamp ,lodMaxClamp ,index ); 412} 413 414// method: setVertexSamplerStates:lodMinClamps:lodMaxClamps:withRange: 415_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexSamplerStates (MTL ::SamplerState * samplers [],const float lodMinClamps [],const float lodMaxClamps [],NS ::Range range ) 416{ 417Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexSamplerStates_lodMinClamps_lodMaxClamps_withRange_ ),samplers ,lodMinClamps ,lodMaxClamps ,range ); 418} 419 420// method: setVertexVisibleFunctionTable:atBufferIndex: 421_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexVisibleFunctionTable (const MTL ::VisibleFunctionTable * functionTable ,NS ::UInteger bufferIndex ) 422{ 423Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexVisibleFunctionTable_atBufferIndex_ ),functionTable ,bufferIndex ); 424} 425 426// method: setVertexVisibleFunctionTables:withBufferRange: 427_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexVisibleFunctionTables (const MTL ::VisibleFunctionTable * functionTables [],NS ::Range range ) 428{ 429Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexVisibleFunctionTables_withBufferRange_ ),functionTables ,range ); 430} 431 432// method: setVertexIntersectionFunctionTable:atBufferIndex: 433_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexIntersectionFunctionTable (const MTL ::IntersectionFunctionTable * intersectionFunctionTable ,NS ::UInteger bufferIndex ) 434{ 435Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexIntersectionFunctionTable_atBufferIndex_ ),intersectionFunctionTable ,bufferIndex ); 436} 437 438// method: setVertexIntersectionFunctionTables:withBufferRange: 439_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexIntersectionFunctionTables (const MTL ::IntersectionFunctionTable * intersectionFunctionTables [],NS ::Range range ) 440{ 441Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexIntersectionFunctionTables_withBufferRange_ ),intersectionFunctionTables ,range ); 442} 443 444// method: setVertexAccelerationStructure:atBufferIndex: 445_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexAccelerationStructure (const MTL ::AccelerationStructure * accelerationStructure ,NS ::UInteger bufferIndex ) 446{ 447Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexAccelerationStructure_atBufferIndex_ ),accelerationStructure ,bufferIndex ); 448} 449 450// method: setViewport: 451_MTL_INLINE voidMTL ::RenderCommandEncoder ::setViewport (MTL ::Viewport viewport ) 452{ 453Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setViewport_ ),viewport ); 454} 455 456// method: setViewports:count: 457_MTL_INLINE voidMTL ::RenderCommandEncoder ::setViewports (const MTL ::Viewport * viewports ,NS ::UInteger count ) 458{ 459Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setViewports_count_ ),viewports ,count ); 460} 461 462// method: setFrontFacingWinding: 463_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFrontFacingWinding (MTL ::Winding frontFacingWinding ) 464{ 465Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFrontFacingWinding_ ),frontFacingWinding ); 466} 467 468// method: setVertexAmplificationCount:viewMappings: 469_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVertexAmplificationCount (NS ::UInteger count ,const MTL ::VertexAmplificationViewMapping * viewMappings ) 470{ 471Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexAmplificationCount_viewMappings_ ),count ,viewMappings ); 472} 473 474// method: setCullMode: 475_MTL_INLINE voidMTL ::RenderCommandEncoder ::setCullMode (MTL ::CullMode cullMode ) 476{ 477Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setCullMode_ ),cullMode ); 478} 479 480// method: setDepthClipMode: 481_MTL_INLINE voidMTL ::RenderCommandEncoder ::setDepthClipMode (MTL ::DepthClipMode depthClipMode ) 482{ 483Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthClipMode_ ),depthClipMode ); 484} 485 486// method: setDepthBias:slopeScale:clamp: 487_MTL_INLINE voidMTL ::RenderCommandEncoder ::setDepthBias (float depthBias ,float slopeScale ,float clamp ) 488{ 489Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthBias_slopeScale_clamp_ ),depthBias ,slopeScale ,clamp ); 490} 491 492// method: setScissorRect: 493_MTL_INLINE voidMTL ::RenderCommandEncoder ::setScissorRect (MTL ::ScissorRect rect ) 494{ 495Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setScissorRect_ ),rect ); 496} 497 498// method: setScissorRects:count: 499_MTL_INLINE voidMTL ::RenderCommandEncoder ::setScissorRects (const MTL ::ScissorRect * scissorRects ,NS ::UInteger count ) 500{ 501Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setScissorRects_count_ ),scissorRects ,count ); 502} 503 504// method: setTriangleFillMode: 505_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTriangleFillMode (MTL ::TriangleFillMode fillMode ) 506{ 507Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTriangleFillMode_ ),fillMode ); 508} 509 510// method: setFragmentBytes:length:atIndex: 511_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentBytes (const void * bytes ,NS ::UInteger length ,NS ::UInteger index ) 512{ 513Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentBytes_length_atIndex_ ),bytes ,length ,index ); 514} 515 516// method: setFragmentBuffer:offset:atIndex: 517_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentBuffer (const MTL ::Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger index ) 518{ 519Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentBuffer_offset_atIndex_ ),buffer ,offset ,index ); 520} 521 522// method: setFragmentBufferOffset:atIndex: 523_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentBufferOffset (NS ::UInteger offset ,NS ::UInteger index ) 524{ 525Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentBufferOffset_atIndex_ ),offset ,index ); 526} 527 528// method: setFragmentBuffers:offsets:withRange: 529_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentBuffers (MTL ::Buffer * buffers [],const NS ::UInteger offsets [],NS ::Range range ) 530{ 531Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentBuffers_offsets_withRange_ ),buffers ,offsets ,range ); 532} 533 534// method: setFragmentTexture:atIndex: 535_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentTexture (const MTL ::Texture * texture ,NS ::UInteger index ) 536{ 537Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentTexture_atIndex_ ),texture ,index ); 538} 539 540// method: setFragmentTextures:withRange: 541_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentTextures (MTL ::Texture * textures [],NS ::Range range ) 542{ 543Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentTextures_withRange_ ),textures ,range ); 544} 545 546// method: setFragmentSamplerState:atIndex: 547_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentSamplerState (const MTL ::SamplerState * sampler ,NS ::UInteger index ) 548{ 549Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentSamplerState_atIndex_ ),sampler ,index ); 550} 551 552// method: setFragmentSamplerStates:withRange: 553_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentSamplerStates (MTL ::SamplerState * samplers [],NS ::Range range ) 554{ 555Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentSamplerStates_withRange_ ),samplers ,range ); 556} 557 558// method: setFragmentSamplerState:lodMinClamp:lodMaxClamp:atIndex: 559_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentSamplerState (const MTL ::SamplerState * sampler ,float lodMinClamp ,float lodMaxClamp ,NS ::UInteger index ) 560{ 561Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentSamplerState_lodMinClamp_lodMaxClamp_atIndex_ ),sampler ,lodMinClamp ,lodMaxClamp ,index ); 562} 563 564// method: setFragmentSamplerStates:lodMinClamps:lodMaxClamps:withRange: 565_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentSamplerStates (MTL ::SamplerState * samplers [],const float lodMinClamps [],const float lodMaxClamps [],NS ::Range range ) 566{ 567Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentSamplerStates_lodMinClamps_lodMaxClamps_withRange_ ),samplers ,lodMinClamps ,lodMaxClamps ,range ); 568} 569 570// method: setFragmentVisibleFunctionTable:atBufferIndex: 571_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentVisibleFunctionTable (const MTL ::VisibleFunctionTable * functionTable ,NS ::UInteger bufferIndex ) 572{ 573Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentVisibleFunctionTable_atBufferIndex_ ),functionTable ,bufferIndex ); 574} 575 576// method: setFragmentVisibleFunctionTables:withBufferRange: 577_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentVisibleFunctionTables (const MTL ::VisibleFunctionTable * functionTables [],NS ::Range range ) 578{ 579Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentVisibleFunctionTables_withBufferRange_ ),functionTables ,range ); 580} 581 582// method: setFragmentIntersectionFunctionTable:atBufferIndex: 583_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentIntersectionFunctionTable (const MTL ::IntersectionFunctionTable * intersectionFunctionTable ,NS ::UInteger bufferIndex ) 584{ 585Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentIntersectionFunctionTable_atBufferIndex_ ),intersectionFunctionTable ,bufferIndex ); 586} 587 588// method: setFragmentIntersectionFunctionTables:withBufferRange: 589_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentIntersectionFunctionTables (const MTL ::IntersectionFunctionTable * intersectionFunctionTables [],NS ::Range range ) 590{ 591Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentIntersectionFunctionTables_withBufferRange_ ),intersectionFunctionTables ,range ); 592} 593 594// method: setFragmentAccelerationStructure:atBufferIndex: 595_MTL_INLINE voidMTL ::RenderCommandEncoder ::setFragmentAccelerationStructure (const MTL ::AccelerationStructure * accelerationStructure ,NS ::UInteger bufferIndex ) 596{ 597Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFragmentAccelerationStructure_atBufferIndex_ ),accelerationStructure ,bufferIndex ); 598} 599 600// method: setBlendColorRed:green:blue:alpha: 601_MTL_INLINE voidMTL ::RenderCommandEncoder ::setBlendColorRed (float red ,float green ,float blue ,float alpha ) 602{ 603Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBlendColorRed_green_blue_alpha_ ),red ,green ,blue ,alpha ); 604} 605 606// method: setDepthStencilState: 607_MTL_INLINE voidMTL ::RenderCommandEncoder ::setDepthStencilState (const MTL ::DepthStencilState * depthStencilState ) 608{ 609Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthStencilState_ ),depthStencilState ); 610} 611 612// method: setStencilReferenceValue: 613_MTL_INLINE voidMTL ::RenderCommandEncoder ::setStencilReferenceValue (uint32_t referenceValue ) 614{ 615Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilReferenceValue_ ),referenceValue ); 616} 617 618// method: setStencilFrontReferenceValue:backReferenceValue: 619_MTL_INLINE voidMTL ::RenderCommandEncoder ::setStencilFrontReferenceValue (uint32_t frontReferenceValue ,uint32_t backReferenceValue ) 620{ 621Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilFrontReferenceValue_backReferenceValue_ ),frontReferenceValue ,backReferenceValue ); 622} 623 624// method: setVisibilityResultMode:offset: 625_MTL_INLINE voidMTL ::RenderCommandEncoder ::setVisibilityResultMode (MTL ::VisibilityResultMode mode ,NS ::UInteger offset ) 626{ 627Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVisibilityResultMode_offset_ ),mode ,offset ); 628} 629 630// method: setColorStoreAction:atIndex: 631_MTL_INLINE voidMTL ::RenderCommandEncoder ::setColorStoreAction (MTL ::StoreAction storeAction ,NS ::UInteger colorAttachmentIndex ) 632{ 633Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setColorStoreAction_atIndex_ ),storeAction ,colorAttachmentIndex ); 634} 635 636// method: setDepthStoreAction: 637_MTL_INLINE voidMTL ::RenderCommandEncoder ::setDepthStoreAction (MTL ::StoreAction storeAction ) 638{ 639Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthStoreAction_ ),storeAction ); 640} 641 642// method: setStencilStoreAction: 643_MTL_INLINE voidMTL ::RenderCommandEncoder ::setStencilStoreAction (MTL ::StoreAction storeAction ) 644{ 645Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilStoreAction_ ),storeAction ); 646} 647 648// method: setColorStoreActionOptions:atIndex: 649_MTL_INLINE voidMTL ::RenderCommandEncoder ::setColorStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ,NS ::UInteger colorAttachmentIndex ) 650{ 651Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setColorStoreActionOptions_atIndex_ ),storeActionOptions ,colorAttachmentIndex ); 652} 653 654// method: setDepthStoreActionOptions: 655_MTL_INLINE voidMTL ::RenderCommandEncoder ::setDepthStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ) 656{ 657Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setDepthStoreActionOptions_ ),storeActionOptions ); 658} 659 660// method: setStencilStoreActionOptions: 661_MTL_INLINE voidMTL ::RenderCommandEncoder ::setStencilStoreActionOptions (MTL ::StoreActionOptions storeActionOptions ) 662{ 663Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setStencilStoreActionOptions_ ),storeActionOptions ); 664} 665 666// method: drawPrimitives:vertexStart:vertexCount:instanceCount: 667_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger vertexStart ,NS ::UInteger vertexCount ,NS ::UInteger instanceCount ) 668{ 669Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawPrimitives_vertexStart_vertexCount_instanceCount_ ),primitiveType ,vertexStart ,vertexCount ,instanceCount ); 670} 671 672// method: drawPrimitives:vertexStart:vertexCount: 673_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger vertexStart ,NS ::UInteger vertexCount ) 674{ 675Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawPrimitives_vertexStart_vertexCount_ ),primitiveType ,vertexStart ,vertexCount ); 676} 677 678// method: drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount: 679_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawIndexedPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger indexCount ,MTL ::IndexType indexType ,const MTL ::Buffer * indexBuffer ,NS ::UInteger indexBufferOffset ,NS ::UInteger instanceCount ) 680{ 681Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_ ),primitiveType ,indexCount ,indexType ,indexBuffer ,indexBufferOffset ,instanceCount ); 682} 683 684// method: drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset: 685_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawIndexedPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger indexCount ,MTL ::IndexType indexType ,const MTL ::Buffer * indexBuffer ,NS ::UInteger indexBufferOffset ) 686{ 687Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_ ),primitiveType ,indexCount ,indexType ,indexBuffer ,indexBufferOffset ); 688} 689 690// method: drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance: 691_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawPrimitives (MTL ::PrimitiveType primitiveType ,NS ::UInteger vertexStart ,NS ::UInteger vertexCount ,NS ::UInteger instanceCount ,NS ::UInteger baseInstance ) 692{ 693Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawPrimitives_vertexStart_vertexCount_instanceCount_baseInstance_ ),primitiveType ,vertexStart ,vertexCount ,instanceCount ,baseInstance ); 694} 695 696// method: drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:baseVertex:baseInstance: 697_MTL_INLINE voidMTL ::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 ) 698{ 699Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_baseVertex_baseInstance_ ),primitiveType ,indexCount ,indexType ,indexBuffer ,indexBufferOffset ,instanceCount ,baseVertex ,baseInstance ); 700} 701 702// method: drawPrimitives:indirectBuffer:indirectBufferOffset: 703_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawPrimitives (MTL ::PrimitiveType primitiveType ,const MTL ::Buffer * indirectBuffer ,NS ::UInteger indirectBufferOffset ) 704{ 705Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawPrimitives_indirectBuffer_indirectBufferOffset_ ),primitiveType ,indirectBuffer ,indirectBufferOffset ); 706} 707 708// method: drawIndexedPrimitives:indexType:indexBuffer:indexBufferOffset:indirectBuffer:indirectBufferOffset: 709_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawIndexedPrimitives (MTL ::PrimitiveType primitiveType ,MTL ::IndexType indexType ,const MTL ::Buffer * indexBuffer ,NS ::UInteger indexBufferOffset ,const MTL ::Buffer * indirectBuffer ,NS ::UInteger indirectBufferOffset ) 710{ 711Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawIndexedPrimitives_indexType_indexBuffer_indexBufferOffset_indirectBuffer_indirectBufferOffset_ ),primitiveType ,indexType ,indexBuffer ,indexBufferOffset ,indirectBuffer ,indirectBufferOffset ); 712} 713 714// method: textureBarrier 715_MTL_INLINE voidMTL ::RenderCommandEncoder ::textureBarrier () 716{ 717Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (textureBarrier )); 718} 719 720// method: updateFence:afterStages: 721_MTL_INLINE voidMTL ::RenderCommandEncoder ::updateFence (const MTL ::Fence * fence ,MTL ::RenderStages stages ) 722{ 723Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (updateFence_afterStages_ ),fence ,stages ); 724} 725 726// method: waitForFence:beforeStages: 727_MTL_INLINE voidMTL ::RenderCommandEncoder ::waitForFence (const MTL ::Fence * fence ,MTL ::RenderStages stages ) 728{ 729Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (waitForFence_beforeStages_ ),fence ,stages ); 730} 731 732// method: setTessellationFactorBuffer:offset:instanceStride: 733_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTessellationFactorBuffer (const MTL ::Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger instanceStride ) 734{ 735Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTessellationFactorBuffer_offset_instanceStride_ ),buffer ,offset ,instanceStride ); 736} 737 738// method: setTessellationFactorScale: 739_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTessellationFactorScale (float scale ) 740{ 741Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTessellationFactorScale_ ),scale ); 742} 743 744// method: drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance: 745_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawPatches (NS ::UInteger numberOfPatchControlPoints ,NS ::UInteger patchStart ,NS ::UInteger patchCount ,const MTL ::Buffer * patchIndexBuffer ,NS ::UInteger patchIndexBufferOffset ,NS ::UInteger instanceCount ,NS ::UInteger baseInstance ) 746{ 747Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_ ),numberOfPatchControlPoints ,patchStart ,patchCount ,patchIndexBuffer ,patchIndexBufferOffset ,instanceCount ,baseInstance ); 748} 749 750// method: drawPatches:patchIndexBuffer:patchIndexBufferOffset:indirectBuffer:indirectBufferOffset: 751_MTL_INLINE voidMTL ::RenderCommandEncoder ::drawPatches (NS ::UInteger numberOfPatchControlPoints ,const MTL ::Buffer * patchIndexBuffer ,NS ::UInteger patchIndexBufferOffset ,const MTL ::Buffer * indirectBuffer ,NS ::UInteger indirectBufferOffset ) 752{ 753Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawPatches_patchIndexBuffer_patchIndexBufferOffset_indirectBuffer_indirectBufferOffset_ ),numberOfPatchControlPoints ,patchIndexBuffer ,patchIndexBufferOffset ,indirectBuffer ,indirectBufferOffset ); 754} 755 756// method: drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance: 757_MTL_INLINE voidMTL ::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 ) 758{ 759Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_ ),numberOfPatchControlPoints ,patchStart ,patchCount ,patchIndexBuffer ,patchIndexBufferOffset ,controlPointIndexBuffer ,controlPointIndexBufferOffset ,instanceCount ,baseInstance ); 760} 761 762// method: drawIndexedPatches:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:indirectBuffer:indirectBufferOffset: 763_MTL_INLINE voidMTL ::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 ) 764{ 765Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (drawIndexedPatches_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_indirectBuffer_indirectBufferOffset_ ),numberOfPatchControlPoints ,patchIndexBuffer ,patchIndexBufferOffset ,controlPointIndexBuffer ,controlPointIndexBufferOffset ,indirectBuffer ,indirectBufferOffset ); 766} 767 768// property: tileWidth 769_MTL_INLINE NS ::UInteger MTL ::RenderCommandEncoder ::tileWidth ()const 770{ 771return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (tileWidth )); 772} 773 774// property: tileHeight 775_MTL_INLINE NS ::UInteger MTL ::RenderCommandEncoder ::tileHeight ()const 776{ 777return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (tileHeight )); 778} 779 780// method: setTileBytes:length:atIndex: 781_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileBytes (const void * bytes ,NS ::UInteger length ,NS ::UInteger index ) 782{ 783Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileBytes_length_atIndex_ ),bytes ,length ,index ); 784} 785 786// method: setTileBuffer:offset:atIndex: 787_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileBuffer (const MTL ::Buffer * buffer ,NS ::UInteger offset ,NS ::UInteger index ) 788{ 789Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileBuffer_offset_atIndex_ ),buffer ,offset ,index ); 790} 791 792// method: setTileBufferOffset:atIndex: 793_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileBufferOffset (NS ::UInteger offset ,NS ::UInteger index ) 794{ 795Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileBufferOffset_atIndex_ ),offset ,index ); 796} 797 798// method: setTileBuffers:offsets:withRange: 799_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileBuffers (MTL ::Buffer * buffers ,const NS ::UInteger * offsets ,NS ::Range range ) 800{ 801Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileBuffers_offsets_withRange_ ),buffers ,offsets ,range ); 802} 803 804// method: setTileTexture:atIndex: 805_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileTexture (const MTL ::Texture * texture ,NS ::UInteger index ) 806{ 807Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileTexture_atIndex_ ),texture ,index ); 808} 809 810// method: setTileTextures:withRange: 811_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileTextures (MTL ::Texture * textures [],NS ::Range range ) 812{ 813Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileTextures_withRange_ ),textures ,range ); 814} 815 816// method: setTileSamplerState:atIndex: 817_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileSamplerState (const MTL ::SamplerState * sampler ,NS ::UInteger index ) 818{ 819Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileSamplerState_atIndex_ ),sampler ,index ); 820} 821 822// method: setTileSamplerStates:withRange: 823_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileSamplerStates (MTL ::SamplerState * samplers [],NS ::Range range ) 824{ 825Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileSamplerStates_withRange_ ),samplers ,range ); 826} 827 828// method: setTileSamplerState:lodMinClamp:lodMaxClamp:atIndex: 829_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileSamplerState (const MTL ::SamplerState * sampler ,float lodMinClamp ,float lodMaxClamp ,NS ::UInteger index ) 830{ 831Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileSamplerState_lodMinClamp_lodMaxClamp_atIndex_ ),sampler ,lodMinClamp ,lodMaxClamp ,index ); 832} 833 834// method: setTileSamplerStates:lodMinClamps:lodMaxClamps:withRange: 835_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileSamplerStates (MTL ::SamplerState * samplers [],const float lodMinClamps [],const float lodMaxClamps [],NS ::Range range ) 836{ 837Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileSamplerStates_lodMinClamps_lodMaxClamps_withRange_ ),samplers ,lodMinClamps ,lodMaxClamps ,range ); 838} 839 840// method: setTileVisibleFunctionTable:atBufferIndex: 841_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileVisibleFunctionTable (const MTL ::VisibleFunctionTable * functionTable ,NS ::UInteger bufferIndex ) 842{ 843Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileVisibleFunctionTable_atBufferIndex_ ),functionTable ,bufferIndex ); 844} 845 846// method: setTileVisibleFunctionTables:withBufferRange: 847_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileVisibleFunctionTables (const MTL ::VisibleFunctionTable * functionTables [],NS ::Range range ) 848{ 849Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileVisibleFunctionTables_withBufferRange_ ),functionTables ,range ); 850} 851 852// method: setTileIntersectionFunctionTable:atBufferIndex: 853_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileIntersectionFunctionTable (const MTL ::IntersectionFunctionTable * intersectionFunctionTable ,NS ::UInteger bufferIndex ) 854{ 855Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileIntersectionFunctionTable_atBufferIndex_ ),intersectionFunctionTable ,bufferIndex ); 856} 857 858// method: setTileIntersectionFunctionTables:withBufferRange: 859_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileIntersectionFunctionTables (const MTL ::IntersectionFunctionTable * intersectionFunctionTables [],NS ::Range range ) 860{ 861Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileIntersectionFunctionTables_withBufferRange_ ),intersectionFunctionTables ,range ); 862} 863 864// method: setTileAccelerationStructure:atBufferIndex: 865_MTL_INLINE voidMTL ::RenderCommandEncoder ::setTileAccelerationStructure (const MTL ::AccelerationStructure * accelerationStructure ,NS ::UInteger bufferIndex ) 866{ 867Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTileAccelerationStructure_atBufferIndex_ ),accelerationStructure ,bufferIndex ); 868} 869 870// method: dispatchThreadsPerTile: 871_MTL_INLINE voidMTL ::RenderCommandEncoder ::dispatchThreadsPerTile (MTL ::Size threadsPerTile ) 872{ 873Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (dispatchThreadsPerTile_ ),threadsPerTile ); 874} 875 876// method: setThreadgroupMemoryLength:offset:atIndex: 877_MTL_INLINE voidMTL ::RenderCommandEncoder ::setThreadgroupMemoryLength (NS ::UInteger length ,NS ::UInteger offset ,NS ::UInteger index ) 878{ 879Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setThreadgroupMemoryLength_offset_atIndex_ ),length ,offset ,index ); 880} 881 882// method: useResource:usage: 883_MTL_INLINE voidMTL ::RenderCommandEncoder ::useResource (const MTL ::Resource * resource ,MTL ::ResourceUsage usage ) 884{ 885Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useResource_usage_ ),resource ,usage ); 886} 887 888// method: useResources:count:usage: 889_MTL_INLINE voidMTL ::RenderCommandEncoder ::useResources (MTL ::Resource * resources [],NS ::UInteger count ,MTL ::ResourceUsage usage ) 890{ 891Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useResources_count_usage_ ),resources ,count ,usage ); 892} 893 894// method: useResource:usage:stages: 895_MTL_INLINE voidMTL ::RenderCommandEncoder ::useResource (const MTL ::Resource * resource ,MTL ::ResourceUsage usage ,MTL ::RenderStages stages ) 896{ 897Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useResource_usage_stages_ ),resource ,usage ,stages ); 898} 899 900// method: useResources:count:usage:stages: 901_MTL_INLINE voidMTL ::RenderCommandEncoder ::useResources (MTL ::Resource * resources ,NS ::UInteger count ,MTL ::ResourceUsage usage ,MTL ::RenderStages stages ) 902{ 903Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useResources_count_usage_stages_ ),resources ,count ,usage ,stages ); 904} 905 906// method: useHeap: 907_MTL_INLINE voidMTL ::RenderCommandEncoder ::useHeap (const MTL ::Heap * heap ) 908{ 909Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useHeap_ ),heap ); 910} 911 912// method: useHeaps:count: 913_MTL_INLINE voidMTL ::RenderCommandEncoder ::useHeaps (MTL ::Heap * heaps [],NS ::UInteger count ) 914{ 915Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useHeaps_count_ ),heaps ,count ); 916} 917 918// method: useHeap:stages: 919_MTL_INLINE voidMTL ::RenderCommandEncoder ::useHeap (const MTL ::Heap * heap ,MTL ::RenderStages stages ) 920{ 921Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useHeap_stages_ ),heap ,stages ); 922} 923 924// method: useHeaps:count:stages: 925_MTL_INLINE voidMTL ::RenderCommandEncoder ::useHeaps (MTL ::Heap * heaps [],NS ::UInteger count ,MTL ::RenderStages stages ) 926{ 927Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (useHeaps_count_stages_ ),heaps ,count ,stages ); 928} 929 930// method: executeCommandsInBuffer:withRange: 931_MTL_INLINE voidMTL ::RenderCommandEncoder ::executeCommandsInBuffer (const MTL ::IndirectCommandBuffer * indirectCommandBuffer ,NS ::Range executionRange ) 932{ 933Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (executeCommandsInBuffer_withRange_ ),indirectCommandBuffer ,executionRange ); 934} 935 936// method: executeCommandsInBuffer:indirectBuffer:indirectBufferOffset: 937_MTL_INLINE voidMTL ::RenderCommandEncoder ::executeCommandsInBuffer (const MTL ::IndirectCommandBuffer * indirectCommandbuffer ,const MTL ::Buffer * indirectRangeBuffer ,NS ::UInteger indirectBufferOffset ) 938{ 939Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (executeCommandsInBuffer_indirectBuffer_indirectBufferOffset_ ),indirectCommandbuffer ,indirectRangeBuffer ,indirectBufferOffset ); 940} 941 942// method: memoryBarrierWithScope:afterStages:beforeStages: 943_MTL_INLINE voidMTL ::RenderCommandEncoder ::memoryBarrier (MTL ::BarrierScope scope ,MTL ::RenderStages after ,MTL ::RenderStages before ) 944{ 945Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (memoryBarrierWithScope_afterStages_beforeStages_ ),scope ,after ,before ); 946} 947 948// method: memoryBarrierWithResources:count:afterStages:beforeStages: 949_MTL_INLINE voidMTL ::RenderCommandEncoder ::memoryBarrier (MTL ::Resource * resources [],NS ::UInteger count ,MTL ::RenderStages after ,MTL ::RenderStages before ) 950{ 951Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (memoryBarrierWithResources_count_afterStages_beforeStages_ ),resources ,count ,after ,before ); 952} 953 954// method: sampleCountersInBuffer:atSampleIndex:withBarrier: 955_MTL_INLINE voidMTL ::RenderCommandEncoder ::sampleCountersInBuffer (const MTL ::CounterSampleBuffer * sampleBuffer ,NS ::UInteger sampleIndex ,bool barrier ) 956{ 957Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (sampleCountersInBuffer_atSampleIndex_withBarrier_ ),sampleBuffer ,sampleIndex ,barrier ); 958}