Path: blob/master/thirdparty/metal-cpp/MetalFX/MTLFXPrivate.hpp
21344 views
//-------------------------------------------------------------------------------------------------------------------------------------------------------------1//2// MetalFX/MTLFXPrivate.hpp3//4// Copyright 2020-2024 Apple Inc.5//6// Licensed under the Apache License, Version 2.0 (the "License");7// you may not use this file except in compliance with the License.8// You may obtain a copy of the License at9//10// http://www.apache.org/licenses/LICENSE-2.011//12// Unless required by applicable law or agreed to in writing, software13// distributed under the License is distributed on an "AS IS" BASIS,14// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15// See the License for the specific language governing permissions and16// limitations under the License.17//18//-------------------------------------------------------------------------------------------------------------------------------------------------------------1920#pragma once2122//-------------------------------------------------------------------------------------------------------------------------------------------------------------2324#include "MTLFXDefines.hpp"2526#include <objc/runtime.h>2728//-------------------------------------------------------------------------------------------------------------------------------------------------------------2930#define _MTLFX_PRIVATE_CLS( symbol ) ( MTLFX::Private::Class::s_k##symbol )31#define _MTLFX_PRIVATE_SEL( accessor ) ( MTLFX::Private::Selector::s_k##accessor )3233//-------------------------------------------------------------------------------------------------------------------------------------------------------------3435#if defined( MTLFX_PRIVATE_IMPLEMENTATION )3637#if defined( METALCPP_SYMBOL_VISIBILITY_HIDDEN )38#define _MTLFX_PRIVATE_VISIBILITY __attribute__( ( visibility("hidden" ) ) )39#else40#define _MTLFX_PRIVATE_VISIBILITY __attribute__( ( visibility("default" ) ) )41#endif // METALCPP_SYMBOL_VISIBILITY_HIDDEN4243#define _MTLFX_PRIVATE_IMPORT __attribute__( ( weak_import ) )4445#ifdef __OBJC__46#define _MTLFX_PRIVATE_OBJC_LOOKUP_CLASS( symbol ) ( ( __bridge void* ) objc_lookUpClass( #symbol ) )47#define _MTLFX_PRIVATE_OBJC_GET_PROTOCOL( symbol ) ( ( __bridge void* ) objc_getProtocol( #symbol ) )48#else49#define _MTLFX_PRIVATE_OBJC_LOOKUP_CLASS( symbol ) objc_lookUpClass(#symbol)50#define _MTLFX_PRIVATE_OBJC_GET_PROTOCOL( symbol ) objc_getProtocol(#symbol)51#endif // __OBJC__5253#define _MTLFX_PRIVATE_DEF_CLS( symbol ) void* s_k##symbol _MTLFX_PRIVATE_VISIBILITY = _MTLFX_PRIVATE_OBJC_LOOKUP_CLASS( symbol )54#define _MTLFX_PRIVATE_DEF_PRO( symbol ) void* s_k##symbol _MTLFX_PRIVATE_VISIBILITY = _MTLFX_PRIVATE_OBJC_GET_PROTOCOL( symbol )55#define _MTLFX_PRIVATE_DEF_SEL( accessor, symbol ) SEL s_k##accessor _MTLFX_PRIVATE_VISIBILITY = sel_registerName( symbol )5657#include <dlfcn.h>58#define MTLFX_DEF_FUNC( name, signature ) using Fn##name = signature; \59Fn##name name = reinterpret_cast< Fn##name >( dlsym( RTLD_DEFAULT, #name ) )6061namespace MTLFX::Private62{63template <typename _Type>6465inline _Type const LoadSymbol(const char* pSymbol)66{67const _Type* pAddress = static_cast<_Type*>(dlsym(RTLD_DEFAULT, pSymbol));6869return pAddress ? *pAddress : nullptr;70}71} // MTLFX::Private7273#if defined(__MAC_26_0) || defined(__IPHONE_26_0) || defined(__TVOS_26_0)7475#define _MTLFX_PRIVATE_DEF_STR( type, symbol ) \76_MTLFX_EXTERN type const MTLFX##symbol _MTLFX_PRIVATE_IMPORT; \77type const MTLFX::symbol = ( nullptr != &MTLFX##symbol ) ? MTLFX##ssymbol : nullptr7879#define _MTLFX_PRIVATE_DEF_CONST( type, symbol ) \80_MTLFX_EXTERN type const MTLFX##ssymbol _MTLFX_PRIVATE_IMPORT; \81type const MTLFX::symbol = (nullptr != &MTLFX##ssymbol) ? MTLFX##ssymbol : nullptr8283#define _MTLFX_PRIVATE_DEF_WEAK_CONST( type, symbol ) \84_MTLFX_EXTERN type const MTLFX##ssymbol; \85type const MTLFX::symbol = Private::LoadSymbol< type >( "MTLFX" #symbol )8687#else8889#define _MTLFX_PRIVATE_DEF_STR( type, symbol ) \90_MTLFX_EXTERN type const MTLFX##ssymbol; \91type const MTLFX::symbol = Private::LoadSymbol< type >( "MTLFX" #symbol )9293#define _MTLFX_PRIVATE_DEF_CONST( type, symbol ) \94_MTLFX_EXTERN type const MTLFX##ssymbol; \95type const MTLFX::symbol = Private::LoadSymbol< type >( "MTLFX" #symbol )9697#define _MTLFX_PRIVATE_DEF_WEAK_CONST( type, symbol ) _MTLFX_PRIVATE_DEF_CONST( type, symbol )9899#endif100101#else102103#define _MTLFX_PRIVATE_DEF_CLS( symbol ) extern void* s_k##symbol104#define _MTLFX_PRIVATE_DEF_PRO( symbol ) extern void* s_k##symbol105#define _MTLFX_PRIVATE_DEF_SEL( accessor, symbol ) extern SEL s_k##accessor106#define _MTLFX_PRIVATE_DEF_STR( type, symbol ) extern type const MTLFX::symbol107#define _MTLFX_PRIVATE_DEF_CONST( type, symbol ) extern type const MTLFX::symbol108#define _MTLFX_PRIVATE_DEF_WEAK_CONST( type, symbol ) extern type const MTLFX::symbol109110#endif // MTLFX_PRIVATE_IMPLEMENTATION111112//-------------------------------------------------------------------------------------------------------------------------------------------------------------113114namespace MTLFX115{116namespace Private117{118namespace Class119{120_MTLFX_PRIVATE_DEF_CLS( MTLFXSpatialScalerDescriptor );121_MTLFX_PRIVATE_DEF_CLS( MTLFXTemporalScalerDescriptor );122_MTLFX_PRIVATE_DEF_CLS( MTLFXFrameInterpolatorDescriptor );123_MTLFX_PRIVATE_DEF_CLS( MTLFXTemporalDenoisedScalerDescriptor );124125_MTLFX_PRIVATE_DEF_CLS( MTL4FXSpatialScalerDescriptor );126_MTLFX_PRIVATE_DEF_CLS( MTL4FXTemporalScalerDescriptor );127_MTLFX_PRIVATE_DEF_CLS( MTL4FXFrameInterpolatorDescriptor );128_MTLFX_PRIVATE_DEF_CLS( MTL4FXTemporalDenoisedScalerDescriptor );129} // Class130} // Private131} // MTLFX132133//-------------------------------------------------------------------------------------------------------------------------------------------------------------134135namespace MTLFX136{137namespace Private138{139namespace Protocol140{141_MTLFX_PRIVATE_DEF_PRO( MTLFXSpatialScaler );142_MTLFX_PRIVATE_DEF_PRO( MTLFXTemporalScaler );143} // Protocol144} // Private145} // MTLFX146147//-------------------------------------------------------------------------------------------------------------------------------------------------------------148149namespace MTLFX150{151namespace Private152{153namespace Selector154{155_MTLFX_PRIVATE_DEF_SEL( aspectRatio,156"aspectRatio" );157_MTLFX_PRIVATE_DEF_SEL( colorProcessingMode,158"colorProcessingMode" );159_MTLFX_PRIVATE_DEF_SEL( colorTexture,160"colorTexture" );161_MTLFX_PRIVATE_DEF_SEL( colorTextureFormat,162"colorTextureFormat" );163_MTLFX_PRIVATE_DEF_SEL( colorTextureUsage,164"colorTextureUsage" );165_MTLFX_PRIVATE_DEF_SEL( deltaTime,166"deltaTime" );167_MTLFX_PRIVATE_DEF_SEL( denoiseStrengthMaskTexture,168"denoiseStrengthMaskTexture" );169_MTLFX_PRIVATE_DEF_SEL( denoiseStrengthMaskTextureFormat,170"denoiseStrengthMaskTextureFormat" );171_MTLFX_PRIVATE_DEF_SEL( denoiseStrengthMaskTextureUsage,172"denoiseStrengthMaskTextureUsage" );173_MTLFX_PRIVATE_DEF_SEL( depthTexture,174"depthTexture" );175_MTLFX_PRIVATE_DEF_SEL( depthTextureFormat,176"depthTextureFormat" );177_MTLFX_PRIVATE_DEF_SEL( depthTextureUsage,178"depthTextureUsage" );179_MTLFX_PRIVATE_DEF_SEL( diffuseAlbedoTexture,180"diffuseAlbedoTexture" );181_MTLFX_PRIVATE_DEF_SEL( diffuseAlbedoTextureFormat,182"diffuseAlbedoTextureFormat" );183_MTLFX_PRIVATE_DEF_SEL( diffuseAlbedoTextureUsage,184"diffuseAlbedoTextureUsage" );185_MTLFX_PRIVATE_DEF_SEL( encodeToCommandBuffer_,186"encodeToCommandBuffer:" );187_MTLFX_PRIVATE_DEF_SEL( exposureTexture,188"exposureTexture" );189_MTLFX_PRIVATE_DEF_SEL( farPlane,190"farPlane" );191_MTLFX_PRIVATE_DEF_SEL( fence,192"fence" );193_MTLFX_PRIVATE_DEF_SEL( fieldOfView,194"fieldOfView" );195_MTLFX_PRIVATE_DEF_SEL( height,196"height" );197_MTLFX_PRIVATE_DEF_SEL( inputContentHeight,198"inputContentHeight" );199_MTLFX_PRIVATE_DEF_SEL( inputContentMaxScale,200"inputContentMaxScale" );201_MTLFX_PRIVATE_DEF_SEL( inputContentMinScale,202"inputContentMinScale" );203_MTLFX_PRIVATE_DEF_SEL( inputContentWidth,204"inputContentWidth" );205_MTLFX_PRIVATE_DEF_SEL( inputHeight,206"inputHeight" );207_MTLFX_PRIVATE_DEF_SEL( inputWidth,208"inputWidth" );209_MTLFX_PRIVATE_DEF_SEL( isAutoExposureEnabled,210"isAutoExposureEnabled" );211_MTLFX_PRIVATE_DEF_SEL( isDenoiseStrengthMaskTextureEnabled,212"isDenoiseStrengthMaskTextureEnabled" );213_MTLFX_PRIVATE_DEF_SEL( isDepthReversed,214"isDepthReversed" );215_MTLFX_PRIVATE_DEF_SEL( isInputContentPropertiesEnabled,216"isInputContentPropertiesEnabled" );217_MTLFX_PRIVATE_DEF_SEL( isTransparencyOverlayTextureEnabled,218"isTransparencyOverlayTextureEnabled" );219_MTLFX_PRIVATE_DEF_SEL( isReactiveMaskTextureEnabled,220"isReactiveMaskTextureEnabled" );221_MTLFX_PRIVATE_DEF_SEL( isSpecularHitDistanceTextureEnabled,222"isSpecularHitDistanceTextureEnabled" );223_MTLFX_PRIVATE_DEF_SEL( isUITextureComposited,224"isUITextureComposited" );225_MTLFX_PRIVATE_DEF_SEL( jitterOffsetX,226"jitterOffsetX" );227_MTLFX_PRIVATE_DEF_SEL( jitterOffsetY,228"jitterOffsetY" );229_MTLFX_PRIVATE_DEF_SEL( maskTexture,230"maskTexture" );231_MTLFX_PRIVATE_DEF_SEL( maskTextureFormat,232"maskTextureFormat" );233_MTLFX_PRIVATE_DEF_SEL( maskTextureUsage,234"maskTextureUsage" );235_MTLFX_PRIVATE_DEF_SEL( motionTexture,236"motionTexture" );237_MTLFX_PRIVATE_DEF_SEL( motionTextureFormat,238"motionTextureFormat" );239_MTLFX_PRIVATE_DEF_SEL( motionTextureUsage,240"motionTextureUsage" );241_MTLFX_PRIVATE_DEF_SEL( motionVectorScaleX,242"motionVectorScaleX" );243_MTLFX_PRIVATE_DEF_SEL( motionVectorScaleY,244"motionVectorScaleY" );245_MTLFX_PRIVATE_DEF_SEL( nearPlane,246"nearPlane" );247_MTLFX_PRIVATE_DEF_SEL( newFrameInterpolatorWithDevice_,248"newFrameInterpolatorWithDevice:" );249_MTLFX_PRIVATE_DEF_SEL( newFrameInterpolatorWithDevice_compiler_,250"newFrameInterpolatorWithDevice:compiler:" );251_MTLFX_PRIVATE_DEF_SEL( newTemporalDenoisedScalerWithDevice_,252"newTemporalDenoisedScalerWithDevice:" );253_MTLFX_PRIVATE_DEF_SEL( newTemporalDenoisedScalerWithDevice_compiler_,254"newTemporalDenoisedScalerWithDevice:compiler:" );255_MTLFX_PRIVATE_DEF_SEL( newSpatialScalerWithDevice_,256"newSpatialScalerWithDevice:" );257_MTLFX_PRIVATE_DEF_SEL( newSpatialScalerWithDevice_compiler_,258"newSpatialScalerWithDevice:compiler:" );259_MTLFX_PRIVATE_DEF_SEL( newTemporalScalerWithDevice_,260"newTemporalScalerWithDevice:" );261_MTLFX_PRIVATE_DEF_SEL( newTemporalScalerWithDevice_compiler_,262"newTemporalScalerWithDevice:compiler:" );263_MTLFX_PRIVATE_DEF_SEL( normalTexture,264"normalTexture" );265_MTLFX_PRIVATE_DEF_SEL( normalTextureFormat,266"normalTextureFormat" );267_MTLFX_PRIVATE_DEF_SEL( normalTextureUsage,268"normalTextureUsage" );269_MTLFX_PRIVATE_DEF_SEL( outputHeight,270"outputHeight" );271_MTLFX_PRIVATE_DEF_SEL( outputTexture,272"outputTexture" );273_MTLFX_PRIVATE_DEF_SEL( outputTextureFormat,274"outputTextureFormat" );275_MTLFX_PRIVATE_DEF_SEL( outputTextureUsage,276"outputTextureUsage" );277_MTLFX_PRIVATE_DEF_SEL( outputWidth,278"outputWidth" );279_MTLFX_PRIVATE_DEF_SEL( preExposure,280"preExposure" );281_MTLFX_PRIVATE_DEF_SEL( transparencyOverlayTextureFormat,282"transparencyOverlayTextureFormat" );283_MTLFX_PRIVATE_DEF_SEL( transparencyOverlayTextureUsage,284"transparencyOverlayTextureUsage" );285_MTLFX_PRIVATE_DEF_SEL( prevColorTexture,286"prevColorTexture" );287_MTLFX_PRIVATE_DEF_SEL( reactiveMaskTextureFormat,288"reactiveMaskTextureFormat" );289_MTLFX_PRIVATE_DEF_SEL( reactiveTextureUsage,290"reactiveTextureUsage" );291_MTLFX_PRIVATE_DEF_SEL( reactiveMaskTexture,292"reactiveMaskTexture" );293_MTLFX_PRIVATE_DEF_SEL( reset,294"reset" );295_MTLFX_PRIVATE_DEF_SEL( requiresSynchronousInitialization,296"requiresSynchronousInitialization" );297_MTLFX_PRIVATE_DEF_SEL( roughnessTextureFormat,298"roughnessTextureFormat" );299_MTLFX_PRIVATE_DEF_SEL( roughnessTextureUsage,300"roughnessTextureUsage" );301_MTLFX_PRIVATE_DEF_SEL( scaler,302"scaler" );303_MTLFX_PRIVATE_DEF_SEL( scaler4,304"scaler4" );305_MTLFX_PRIVATE_DEF_SEL( setAspectRatio_,306"setAspectRatio:" );307_MTLFX_PRIVATE_DEF_SEL( setAutoExposureEnabled_,308"setAutoExposureEnabled:" );309_MTLFX_PRIVATE_DEF_SEL( setColorProcessingMode_,310"setColorProcessingMode:" );311_MTLFX_PRIVATE_DEF_SEL( setColorTexture_,312"setColorTexture:" );313_MTLFX_PRIVATE_DEF_SEL( setColorTextureFormat_,314"setColorTextureFormat:" );315_MTLFX_PRIVATE_DEF_SEL( setDeltaTime_,316"setDeltaTime:" );317_MTLFX_PRIVATE_DEF_SEL( setDenoiseStrengthMaskTexture_,318"setDenoiseStrengthMaskTexture:" );319_MTLFX_PRIVATE_DEF_SEL( setDenoiseStrengthMaskTextureEnabled_,320"setDenoiseStrengthMaskTextureEnabled:" );321_MTLFX_PRIVATE_DEF_SEL( setDenoiseStrengthMaskTextureFormat_,322"setDenoiseStrengthMaskTextureFormat:" );323_MTLFX_PRIVATE_DEF_SEL( setDepthInverted_,324"setDepthInverted:" );325_MTLFX_PRIVATE_DEF_SEL( setDepthReversed_,326"setDepthReversed:" );327_MTLFX_PRIVATE_DEF_SEL( setDepthTexture_,328"setDepthTexture:" );329_MTLFX_PRIVATE_DEF_SEL( setDepthTextureFormat_,330"setDepthTextureFormat:" );331_MTLFX_PRIVATE_DEF_SEL( setDiffuseAlbedoTexture_,332"setDiffuseAlbedoTexture:" );333_MTLFX_PRIVATE_DEF_SEL( setDiffuseAlbedoTextureFormat_,334"setDiffuseAlbedoTextureFormat:" );335_MTLFX_PRIVATE_DEF_SEL( setExposureTexture_,336"setExposureTexture:" );337_MTLFX_PRIVATE_DEF_SEL( setFarPlane_,338"setFarPlane:" );339_MTLFX_PRIVATE_DEF_SEL( setFence_,340"setFence:" );341_MTLFX_PRIVATE_DEF_SEL( setFieldOfView_,342"setFieldOfView:" );343_MTLFX_PRIVATE_DEF_SEL( setHeight_,344"setHeight:" );345_MTLFX_PRIVATE_DEF_SEL( setInputContentHeight_,346"setInputContentHeight:" );347_MTLFX_PRIVATE_DEF_SEL( setInputContentMaxScale_,348"setInputContentMaxScale:" );349_MTLFX_PRIVATE_DEF_SEL( setInputContentMinScale_,350"setInputContentMinScale:" );351_MTLFX_PRIVATE_DEF_SEL( setInputContentPropertiesEnabled_,352"setInputContentPropertiesEnabled:" );353_MTLFX_PRIVATE_DEF_SEL( setInputContentWidth_,354"setInputContentWidth:" );355_MTLFX_PRIVATE_DEF_SEL( setInputHeight_,356"setInputHeight:" );357_MTLFX_PRIVATE_DEF_SEL( setInputWidth_,358"setInputWidth:" );359_MTLFX_PRIVATE_DEF_SEL( setIsUITextureComposited_,360"setIsUITextureComposited:" );361_MTLFX_PRIVATE_DEF_SEL( setJitterOffsetX_,362"setJitterOffsetX:" );363_MTLFX_PRIVATE_DEF_SEL( setJitterOffsetY_,364"setJitterOffsetY:" );365_MTLFX_PRIVATE_DEF_SEL( setNearPlane_,366"setNearPlane:" );367_MTLFX_PRIVATE_DEF_SEL( setMaskTexture_,368"setMaskTexture:" );369_MTLFX_PRIVATE_DEF_SEL( setMaskTextureFormat_,370"setMaskTextureFormat:" );371_MTLFX_PRIVATE_DEF_SEL( setMotionTexture_,372"setMotionTexture:" );373_MTLFX_PRIVATE_DEF_SEL( setMotionTextureFormat_,374"setMotionTextureFormat:" );375_MTLFX_PRIVATE_DEF_SEL( setMotionVectorScaleX_,376"setMotionVectorScaleX:" );377_MTLFX_PRIVATE_DEF_SEL( setMotionVectorScaleY_,378"setMotionVectorScaleY:" );379_MTLFX_PRIVATE_DEF_SEL( setNormalTexture_,380"setNormalTexture:" );381_MTLFX_PRIVATE_DEF_SEL( setNormalTextureFormat_,382"setNormalTextureFormat:" );383_MTLFX_PRIVATE_DEF_SEL( setOutputHeight_,384"setOutputHeight:" );385_MTLFX_PRIVATE_DEF_SEL( setOutputTexture_,386"setOutputTexture:" );387_MTLFX_PRIVATE_DEF_SEL( setOutputTextureFormat_,388"setOutputTextureFormat:" );389_MTLFX_PRIVATE_DEF_SEL( setOutputWidth_,390"setOutputWidth:" );391_MTLFX_PRIVATE_DEF_SEL( transparencyOverlayTexture,392"transparencyOverlayTexture" );393_MTLFX_PRIVATE_DEF_SEL( setTransparencyOverlayTexture_,394"setTransparencyOverlayTexture:" );395_MTLFX_PRIVATE_DEF_SEL( setTransparencyOverlayTextureEnabled_,396"setTransparencyOverlayTextureEnabled:" );397_MTLFX_PRIVATE_DEF_SEL( setPreExposure_,398"setPreExposure:" );399_MTLFX_PRIVATE_DEF_SEL( setTransparencyOverlayTextureFormat_,400"setTransparencyOverlayTextureFormat:" );401_MTLFX_PRIVATE_DEF_SEL( setPrevColorTexture_,402"setPrevColorTexture:" );403_MTLFX_PRIVATE_DEF_SEL( setReactiveMaskTexture_,404"setReactiveMaskTexture:" );405_MTLFX_PRIVATE_DEF_SEL( setReactiveMaskTextureEnabled_,406"setReactiveMaskTextureEnabled:" );407_MTLFX_PRIVATE_DEF_SEL( setReactiveMaskTextureFormat_,408"setReactiveMaskTextureFormat:" );409_MTLFX_PRIVATE_DEF_SEL( setRequiresSynchronousInitialization_,410"setRequiresSynchronousInitialization:" );411_MTLFX_PRIVATE_DEF_SEL( setReset_,412"setReset:" );413_MTLFX_PRIVATE_DEF_SEL( roughnessTexture,414"roughnessTexture" );415_MTLFX_PRIVATE_DEF_SEL( setRoughnessTexture_,416"setRoughnessTexture:" );417_MTLFX_PRIVATE_DEF_SEL( setRoughnessTextureFormat_,418"setRoughnessTextureFormat:" );419_MTLFX_PRIVATE_DEF_SEL( setScaler_,420"setScaler:" );421_MTLFX_PRIVATE_DEF_SEL( setShouldResetHistory_,422"setShouldResetHistory:" );423_MTLFX_PRIVATE_DEF_SEL( specularHitDistanceTexture,424"specularHitDistanceTexture" );425_MTLFX_PRIVATE_DEF_SEL( setSpecularHitDistanceTexture_,426"setSpecularHitDistanceTexture:" );427_MTLFX_PRIVATE_DEF_SEL( setSpecularHitDistanceTextureEnabled_,428"setSpecularHitDistanceTextureEnabled:" );429_MTLFX_PRIVATE_DEF_SEL( setSpecularAlbedoTexture_,430"setSpecularAlbedoTexture:" );431_MTLFX_PRIVATE_DEF_SEL( setSpecularAlbedoTextureFormat_,432"setSpecularAlbedoTextureFormat:" );433_MTLFX_PRIVATE_DEF_SEL( setSpecularHitDistanceTextureFormat_,434"setSpecularHitDistanceTextureFormat:" );435_MTLFX_PRIVATE_DEF_SEL( setUITexture_,436"setUITexture:" );437_MTLFX_PRIVATE_DEF_SEL( setUITextureFormat_,438"setUITextureFormat:" );439_MTLFX_PRIVATE_DEF_SEL( setViewToClipMatrix_,440"setViewToClipMatrix:" );441_MTLFX_PRIVATE_DEF_SEL( setWidth_,442"setWidth:" );443_MTLFX_PRIVATE_DEF_SEL( setWorldToViewMatrix_,444"setWorldToViewMatrix:" );445_MTLFX_PRIVATE_DEF_SEL( shouldResetHistory,446"shouldResetHistory" );447_MTLFX_PRIVATE_DEF_SEL( specularAlbedoTexture,448"specularAlbedoTexture" );449_MTLFX_PRIVATE_DEF_SEL( specularAlbedoTextureFormat,450"specularAlbedoTextureFormat" );451_MTLFX_PRIVATE_DEF_SEL( specularAlbedoTextureUsage,452"specularAlbedoTextureUsage" );453_MTLFX_PRIVATE_DEF_SEL( specularHitDistanceTextureFormat,454"specularHitDistanceTextureFormat" );455_MTLFX_PRIVATE_DEF_SEL( specularHitDistanceTextureUsage,456"specularHitDistanceTextureUsage" );457_MTLFX_PRIVATE_DEF_SEL( supportedInputContentMaxScaleForDevice_,458"supportedInputContentMaxScaleForDevice:" );459_MTLFX_PRIVATE_DEF_SEL( supportedInputContentMinScaleForDevice_,460"supportedInputContentMinScaleForDevice:" );461_MTLFX_PRIVATE_DEF_SEL( supportsDevice_,462"supportsDevice:" );463_MTLFX_PRIVATE_DEF_SEL( supportsMetal4FX_,464"supportsMetal4FX:" );465_MTLFX_PRIVATE_DEF_SEL( uiTexture,466"uiTexture" );467_MTLFX_PRIVATE_DEF_SEL( uiTextureFormat,468"uiTextureFormat" );469_MTLFX_PRIVATE_DEF_SEL( uiTextureUsage,470"uiTextureFormat" );471_MTLFX_PRIVATE_DEF_SEL( viewToClipMatrix,472"viewToClipMatrix" );473_MTLFX_PRIVATE_DEF_SEL( width,474"width" );475_MTLFX_PRIVATE_DEF_SEL( worldToViewMatrix,476"worldToViewMatrix" );477} // Selector478} // Private479} // MTLFX480481//-------------------------------------------------------------------------------------------------------------------------------------------------------------482483484