You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

712 lines
36 KiB

// ===========================================================================
// WARNING:
// On PS4, texture/sampler declarations need to be outside of CBuffers
// Otherwise those parameters are not bound correctly at runtime.
// ===========================================================================
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
TEXTURE2D(_EmissiveColorMap);
SAMPLER(sampler_EmissiveColorMap);
#ifndef LAYERED_LIT_SHADER
TEXTURE2D(_DiffuseLightingMap);
SAMPLER(sampler_DiffuseLightingMap);
TEXTURE2D(_BaseColorMap);
SAMPLER(sampler_BaseColorMap);
TEXTURE2D(_MaskMap);
SAMPLER(sampler_MaskMap);
TEXTURE2D(_BentNormalMap); // Reuse sampler from normal map
SAMPLER(sampler_BentNormalMap);
TEXTURE2D(_BentNormalMapOS);
SAMPLER(sampler_BentNormalMapOS);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_NormalMapOS);
SAMPLER(sampler_NormalMapOS);
TEXTURE2D(_DetailMap);
SAMPLER(sampler_DetailMap);
TEXTURE2D(_HeightMap);
SAMPLER(sampler_HeightMap);
TEXTURE2D(_TangentMap);
SAMPLER(sampler_TangentMap);
TEXTURE2D(_TangentMapOS);
SAMPLER(sampler_TangentMapOS);
TEXTURE2D(_AnisotropyMap);
SAMPLER(sampler_AnisotropyMap);
TEXTURE2D(_SubsurfaceMaskMap);
SAMPLER(sampler_SubsurfaceMaskMap);
TEXTURE2D(_TransmissionMaskMap);
SAMPLER(sampler_TransmissionMaskMap);
TEXTURE2D(_ThicknessMap);
SAMPLER(sampler_ThicknessMap);
TEXTURE2D(_IridescenceThicknessMap);
SAMPLER(sampler_IridescenceThicknessMap);
TEXTURE2D(_IridescenceMaskMap);
SAMPLER(sampler_IridescenceMaskMap);
TEXTURE2D(_SpecularColorMap);
SAMPLER(sampler_SpecularColorMap);
TEXTURE2D(_TransmittanceColorMap);
SAMPLER(sampler_TransmittanceColorMap);
TEXTURE2D(_CoatMaskMap);
SAMPLER(sampler_CoatMaskMap);
#else
// Set of users variables
#define PROP_DECL(type, name) type name##0, name##1, name##2, name##3
// sampler are share by texture type inside a layered material but we need to support that a particualr layer have no texture, so we take the first sampler of available texture as the share one
// mean we must declare all sampler
#define PROP_DECL_TEX2D(name)\
TEXTURE2D(CALL_MERGE_NAME(name, 0)); \
SAMPLER(CALL_MERGE_NAME(CALL_MERGE_NAME(sampler, name), 0)); \
TEXTURE2D(CALL_MERGE_NAME(name, 1)); \
SAMPLER(CALL_MERGE_NAME(CALL_MERGE_NAME(sampler, name), 1)); \
TEXTURE2D(CALL_MERGE_NAME(name, 2)); \
SAMPLER(CALL_MERGE_NAME(CALL_MERGE_NAME(sampler, name), 2)); \
TEXTURE2D(CALL_MERGE_NAME(name, 3)); \
SAMPLER(CALL_MERGE_NAME(CALL_MERGE_NAME(sampler, name), 3))
PROP_DECL_TEX2D(_BaseColorMap);
PROP_DECL_TEX2D(_MaskMap);
PROP_DECL_TEX2D(_BentNormalMap);
PROP_DECL_TEX2D(_NormalMap);
PROP_DECL_TEX2D(_NormalMapOS);
PROP_DECL_TEX2D(_DetailMap);
PROP_DECL_TEX2D(_HeightMap);
PROP_DECL_TEX2D(_SubsurfaceMaskMap);
PROP_DECL_TEX2D(_TransmissionMaskMap);
PROP_DECL_TEX2D(_ThicknessMap);
TEXTURE2D(_LayerMaskMap);
SAMPLER(sampler_LayerMaskMap);
TEXTURE2D(_LayerInfluenceMaskMap);
SAMPLER(sampler_LayerInfluenceMaskMap);
#endif
CBUFFER_START(UnityPerMaterial)
// shared constant between lit and layered lit
float _AlphaCutoff;
float _UseShadowThreshold;
float _AlphaCutoffShadow;
float _AlphaCutoffPrepass;
float _AlphaCutoffPostpass;
float4 _DoubleSidedConstants;
float _BlendMode;
float _EnableBlendModePreserveSpecularLighting;
float _PPDMaxSamples;
float _PPDMinSamples;
float _PPDLodThreshold;
float3 _EmissiveColor;
float _AlbedoAffectEmissive;
float _EmissiveExposureWeight;
int _SpecularOcclusionMode;
// Transparency
float3 _TransmittanceColor;
float _Ior;
float _ATDistance;
// Caution: C# code in BaseLitUI.cs call LightmapEmissionFlagsProperty() which assume that there is an existing "_EmissionColor"
// value that exist to identify if the GI emission need to be enabled.
// In our case we don't use such a mechanism but need to keep the code quiet. We declare the value and always enable it.
// TODO: Fix the code in legacy unity so we can customize the beahvior for GI
float3 _EmissionColor;
float4 _EmissiveColorMap_ST;
float _TexWorldScaleEmissive;
float4 _UVMappingMaskEmissive;
float _ObjectSpaceUVMappingEmissive;
float4 _InvPrimScale; // Only XY are used
// Specular AA
float _EnableGeometricSpecularAA;
float _SpecularAAScreenSpaceVariance;
float _SpecularAAThreshold;
// Raytracing
float _RayTracing;
#ifndef LAYERED_LIT_SHADER
// Set of users variables
float4 _BaseColor;
float4 _BaseColorMap_ST;
float4 _BaseColorMap_TexelSize;
float _Metallic;
float _MetallicRemapMin;
float _MetallicRemapMax;
float _Smoothness;
float _SmoothnessRemapMin;
float _SmoothnessRemapMax;
float _AlphaRemapMin;
float _AlphaRemapMax;
float _AORemapMin;
float _AORemapMax;
float _NormalScale;
float4 _DetailMap_ST;
float _DetailAlbedoScale;
float _DetailNormalScale;
float _DetailSmoothnessScale;
float4 _HeightMap_TexelSize; // Unity facility. This will provide the size of the heightmap to the shader
float _HeightAmplitude;
float _HeightCenter;
float _Anisotropy;
float _DiffusionProfileHash;
float _SubsurfaceMask;
float _TransmissionMask;
float _Thickness;
float4 _ThicknessRemap;
float _IridescenceThickness;
float4 _IridescenceThicknessRemap;
float _IridescenceMask;
float _CoatMask;
float4 _SpecularColor;
float _EnergyConservingSpecularColor;
float _TexWorldScale;
float _InvTilingScale;
float4 _UVMappingMask;
float4 _UVDetailsMappingMask;
float _LinkDetailsWithBase;
float _ObjectSpaceUVMapping;
#else // LAYERED_LIT_SHADER
// Set of users variables
PROP_DECL(float4, _BaseColor);
float4 _BaseColorMap0_ST;
float4 _BaseColorMap1_ST;
float4 _BaseColorMap2_ST;
float4 _BaseColorMap3_ST;
float4 _BaseColorMap0_TexelSize;
PROP_DECL(float, _Metallic);
PROP_DECL(float, _MetallicRemapMin);
PROP_DECL(float, _MetallicRemapMax);
PROP_DECL(float, _Smoothness);
PROP_DECL(float, _SmoothnessRemapMin);
PROP_DECL(float, _SmoothnessRemapMax);
PROP_DECL(float, _AlphaRemapMin);
PROP_DECL(float, _AlphaRemapMax);
PROP_DECL(float, _AORemapMin);
PROP_DECL(float, _AORemapMax);
PROP_DECL(float, _NormalScale);
float4 _NormalMap0_TexelSize; // Unity facility. This will provide the size of the base normal to the shader
float4 _HeightMap0_TexelSize;
float4 _HeightMap1_TexelSize;
float4 _HeightMap2_TexelSize;
float4 _HeightMap3_TexelSize;
float4 _DetailMap0_ST;
float4 _DetailMap1_ST;
float4 _DetailMap2_ST;
float4 _DetailMap3_ST;
PROP_DECL(float, _UVDetail);
PROP_DECL(float, _DetailAlbedoScale);
PROP_DECL(float, _DetailNormalScale);
PROP_DECL(float, _DetailSmoothnessScale);
PROP_DECL(float, _HeightAmplitude);
PROP_DECL(float, _HeightCenter);
PROP_DECL(float, _DiffusionProfileHash);
PROP_DECL(float, _SubsurfaceMask);
PROP_DECL(float, _TransmissionMask);
PROP_DECL(float, _Thickness);
PROP_DECL(float4, _ThicknessRemap);
PROP_DECL(float, _OpacityAsDensity);
float _InheritBaseNormal1;
float _InheritBaseNormal2;
float _InheritBaseNormal3;
float _InheritBaseHeight1;
float _InheritBaseHeight2;
float _InheritBaseHeight3;
float _InheritBaseColor1;
float _InheritBaseColor2;
float _InheritBaseColor3;
PROP_DECL(float, _HeightOffset);
float _HeightTransition;
float4 _LayerMaskMap_ST;
float _TexWorldScaleBlendMask;
PROP_DECL(float, _TexWorldScale);
PROP_DECL(float, _InvTilingScale);
float4 _UVMappingMaskBlendMask;
PROP_DECL(float4, _UVMappingMask);
PROP_DECL(float4, _UVDetailsMappingMask);
PROP_DECL(float, _LinkDetailsWithBase);
#endif // LAYERED_LIT_SHADER
// Tessellation specific
#ifdef TESSELLATION_ON
float _TessellationFactor;
float _TessellationFactorMinDistance;
float _TessellationFactorMaxDistance;
float _TessellationFactorTriangleSize;
float _TessellationShapeFactor;
float _TessellationBackFaceCullEpsilon;
#endif
// Mipmap Streaming Debug
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Following three variables are feeded by the C++ Editor for Scene selection
// It need to be outside the UnityPerMaterial buffer to have Material compatible with SRP Batcher
int _ObjectId;
int _PassValue;
float4 _SelectionID;
#if defined(UNITY_DOTS_INSTANCING_ENABLED)
#if defined(LAYERED_LIT_SHADER)
UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)
UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor0)
UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor1)
UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor2)
UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor3)
UNITY_DOTS_INSTANCED_PROP(float , _Metallic0)
UNITY_DOTS_INSTANCED_PROP(float , _Metallic1)
UNITY_DOTS_INSTANCED_PROP(float , _Metallic2)
UNITY_DOTS_INSTANCED_PROP(float , _Metallic3)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMin0)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMin1)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMin2)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMin3)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMax0)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMax1)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMax2)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMax3)
UNITY_DOTS_INSTANCED_PROP(float3, _EmissiveColor)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaCutoff)
UNITY_DOTS_INSTANCED_PROP(float , _Smoothness0)
UNITY_DOTS_INSTANCED_PROP(float , _Smoothness1)
UNITY_DOTS_INSTANCED_PROP(float , _Smoothness2)
UNITY_DOTS_INSTANCED_PROP(float , _Smoothness3)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMin0)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMin1)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMin2)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMin3)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMax0)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMax1)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMax2)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMax3)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMin0)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMin1)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMin2)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMin3)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMax0)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMax1)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMax2)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMax3)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMin0)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMin1)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMin2)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMin3)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMax0)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMax1)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMax2)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMax3)
UNITY_DOTS_INSTANCED_PROP(float , _DetailAlbedoScale0)
UNITY_DOTS_INSTANCED_PROP(float , _DetailAlbedoScale1)
UNITY_DOTS_INSTANCED_PROP(float , _DetailAlbedoScale2)
UNITY_DOTS_INSTANCED_PROP(float , _DetailAlbedoScale3)
UNITY_DOTS_INSTANCED_PROP(float , _DetailNormalScale0)
UNITY_DOTS_INSTANCED_PROP(float , _DetailNormalScale1)
UNITY_DOTS_INSTANCED_PROP(float , _DetailNormalScale2)
UNITY_DOTS_INSTANCED_PROP(float , _DetailNormalScale3)
UNITY_DOTS_INSTANCED_PROP(float , _DetailSmoothnessScale0)
UNITY_DOTS_INSTANCED_PROP(float , _DetailSmoothnessScale1)
UNITY_DOTS_INSTANCED_PROP(float , _DetailSmoothnessScale2)
UNITY_DOTS_INSTANCED_PROP(float , _DetailSmoothnessScale3)
UNITY_DOTS_INSTANCED_PROP(float , _DiffusionProfileHash0)
UNITY_DOTS_INSTANCED_PROP(float , _DiffusionProfileHash1)
UNITY_DOTS_INSTANCED_PROP(float , _DiffusionProfileHash2)
UNITY_DOTS_INSTANCED_PROP(float , _DiffusionProfileHash3)
UNITY_DOTS_INSTANCED_PROP(float , _Thickness0)
UNITY_DOTS_INSTANCED_PROP(float , _Thickness1)
UNITY_DOTS_INSTANCED_PROP(float , _Thickness2)
UNITY_DOTS_INSTANCED_PROP(float , _Thickness3)
UNITY_DOTS_INSTANCED_PROP(float4, _ThicknessRemap0)
UNITY_DOTS_INSTANCED_PROP(float4, _ThicknessRemap1)
UNITY_DOTS_INSTANCED_PROP(float4, _ThicknessRemap2)
UNITY_DOTS_INSTANCED_PROP(float4, _ThicknessRemap3)
UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)
// Here, we want to avoid overriding a property like e.g. _BaseColor0 with something like this:
// #define _BaseColor0 UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _BaseColor0)
//
// It would be simpler, but it can cause the compiler to regenerate the property loading code for each use of _BaseColor0.
//
// To avoid this, the property loads are cached in some static values at the beginning of the shader.
// The properties such as _BaseColor0 are then overridden so that it expand directly to the static value like this:
// #define _BaseColor0 unity_DOTS_Sampled_BaseColor0
//
// This simple fix happened to improve GPU performances by ~10% on Meta Quest 2 with URP on some scenes.
static float4 unity_DOTS_Sampled_BaseColor0;
static float4 unity_DOTS_Sampled_BaseColor1;
static float4 unity_DOTS_Sampled_BaseColor2;
static float4 unity_DOTS_Sampled_BaseColor3;
static float unity_DOTS_Sampled_Metallic0;
static float unity_DOTS_Sampled_Metallic1;
static float unity_DOTS_Sampled_Metallic2;
static float unity_DOTS_Sampled_Metallic3;
static float unity_DOTS_Sampled_MetallicRemapMin0;
static float unity_DOTS_Sampled_MetallicRemapMin1;
static float unity_DOTS_Sampled_MetallicRemapMin2;
static float unity_DOTS_Sampled_MetallicRemapMin3;
static float unity_DOTS_Sampled_MetallicRemapMax0;
static float unity_DOTS_Sampled_MetallicRemapMax1;
static float unity_DOTS_Sampled_MetallicRemapMax2;
static float unity_DOTS_Sampled_MetallicRemapMax3;
static float3 unity_DOTS_Sampled_EmissiveColor;
static float unity_DOTS_Sampled_AlphaCutoff;
static float unity_DOTS_Sampled_Smoothness0;
static float unity_DOTS_Sampled_Smoothness1;
static float unity_DOTS_Sampled_Smoothness2;
static float unity_DOTS_Sampled_Smoothness3;
static float unity_DOTS_Sampled_SmoothnessRemapMin0;
static float unity_DOTS_Sampled_SmoothnessRemapMin1;
static float unity_DOTS_Sampled_SmoothnessRemapMin2;
static float unity_DOTS_Sampled_SmoothnessRemapMin3;
static float unity_DOTS_Sampled_SmoothnessRemapMax0;
static float unity_DOTS_Sampled_SmoothnessRemapMax1;
static float unity_DOTS_Sampled_SmoothnessRemapMax2;
static float unity_DOTS_Sampled_SmoothnessRemapMax3;
static float unity_DOTS_Sampled_AlphaRemapMin0;
static float unity_DOTS_Sampled_AlphaRemapMin1;
static float unity_DOTS_Sampled_AlphaRemapMin2;
static float unity_DOTS_Sampled_AlphaRemapMin3;
static float unity_DOTS_Sampled_AlphaRemapMax0;
static float unity_DOTS_Sampled_AlphaRemapMax1;
static float unity_DOTS_Sampled_AlphaRemapMax2;
static float unity_DOTS_Sampled_AlphaRemapMax3;
static float unity_DOTS_Sampled_AORemapMin0;
static float unity_DOTS_Sampled_AORemapMin1;
static float unity_DOTS_Sampled_AORemapMin2;
static float unity_DOTS_Sampled_AORemapMin3;
static float unity_DOTS_Sampled_AORemapMax0;
static float unity_DOTS_Sampled_AORemapMax1;
static float unity_DOTS_Sampled_AORemapMax2;
static float unity_DOTS_Sampled_AORemapMax3;
static float unity_DOTS_Sampled_DetailAlbedoScale0;
static float unity_DOTS_Sampled_DetailAlbedoScale1;
static float unity_DOTS_Sampled_DetailAlbedoScale2;
static float unity_DOTS_Sampled_DetailAlbedoScale3;
static float unity_DOTS_Sampled_DetailNormalScale0;
static float unity_DOTS_Sampled_DetailNormalScale1;
static float unity_DOTS_Sampled_DetailNormalScale2;
static float unity_DOTS_Sampled_DetailNormalScale3;
static float unity_DOTS_Sampled_DetailSmoothnessScale0;
static float unity_DOTS_Sampled_DetailSmoothnessScale1;
static float unity_DOTS_Sampled_DetailSmoothnessScale2;
static float unity_DOTS_Sampled_DetailSmoothnessScale3;
static float unity_DOTS_Sampled_DiffusionProfileHash0;
static float unity_DOTS_Sampled_DiffusionProfileHash1;
static float unity_DOTS_Sampled_DiffusionProfileHash2;
static float unity_DOTS_Sampled_DiffusionProfileHash3;
static float unity_DOTS_Sampled_Thickness0;
static float unity_DOTS_Sampled_Thickness1;
static float unity_DOTS_Sampled_Thickness2;
static float unity_DOTS_Sampled_Thickness3;
static float4 unity_DOTS_Sampled_ThicknessRemap0;
static float4 unity_DOTS_Sampled_ThicknessRemap1;
static float4 unity_DOTS_Sampled_ThicknessRemap2;
static float4 unity_DOTS_Sampled_ThicknessRemap3;
void SetupDOTSLayeredLitMaterialPropertyCaches()
{
unity_DOTS_Sampled_BaseColor0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _BaseColor0);
unity_DOTS_Sampled_BaseColor1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _BaseColor1);
unity_DOTS_Sampled_BaseColor2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _BaseColor2);
unity_DOTS_Sampled_BaseColor3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _BaseColor3);
unity_DOTS_Sampled_Metallic0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Metallic0);
unity_DOTS_Sampled_Metallic1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Metallic1);
unity_DOTS_Sampled_Metallic2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Metallic2);
unity_DOTS_Sampled_Metallic3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Metallic3);
unity_DOTS_Sampled_MetallicRemapMin0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMin0);
unity_DOTS_Sampled_MetallicRemapMin1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMin1);
unity_DOTS_Sampled_MetallicRemapMin2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMin2);
unity_DOTS_Sampled_MetallicRemapMin3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMin3);
unity_DOTS_Sampled_MetallicRemapMax0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMax0);
unity_DOTS_Sampled_MetallicRemapMax1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMax1);
unity_DOTS_Sampled_MetallicRemapMax2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMax2);
unity_DOTS_Sampled_MetallicRemapMax3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMax3);
unity_DOTS_Sampled_EmissiveColor = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float3, _EmissiveColor);
unity_DOTS_Sampled_AlphaCutoff = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaCutoff);
unity_DOTS_Sampled_Smoothness0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Smoothness0);
unity_DOTS_Sampled_Smoothness1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Smoothness1);
unity_DOTS_Sampled_Smoothness2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Smoothness2);
unity_DOTS_Sampled_Smoothness3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Smoothness3);
unity_DOTS_Sampled_SmoothnessRemapMin0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMin0);
unity_DOTS_Sampled_SmoothnessRemapMin1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMin1);
unity_DOTS_Sampled_SmoothnessRemapMin2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMin2);
unity_DOTS_Sampled_SmoothnessRemapMin3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMin3);
unity_DOTS_Sampled_SmoothnessRemapMax0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMax0);
unity_DOTS_Sampled_SmoothnessRemapMax1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMax1);
unity_DOTS_Sampled_SmoothnessRemapMax2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMax2);
unity_DOTS_Sampled_SmoothnessRemapMax3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMax3);
unity_DOTS_Sampled_AlphaRemapMin0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMin0);
unity_DOTS_Sampled_AlphaRemapMin1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMin1);
unity_DOTS_Sampled_AlphaRemapMin2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMin2);
unity_DOTS_Sampled_AlphaRemapMin3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMin3);
unity_DOTS_Sampled_AlphaRemapMax0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMax0);
unity_DOTS_Sampled_AlphaRemapMax1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMax1);
unity_DOTS_Sampled_AlphaRemapMax2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMax2);
unity_DOTS_Sampled_AlphaRemapMax3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMax3);
unity_DOTS_Sampled_AORemapMin0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMin0);
unity_DOTS_Sampled_AORemapMin1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMin1);
unity_DOTS_Sampled_AORemapMin2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMin2);
unity_DOTS_Sampled_AORemapMin3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMin3);
unity_DOTS_Sampled_AORemapMax0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMax0);
unity_DOTS_Sampled_AORemapMax1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMax1);
unity_DOTS_Sampled_AORemapMax2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMax2);
unity_DOTS_Sampled_AORemapMax3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMax3);
unity_DOTS_Sampled_DetailAlbedoScale0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailAlbedoScale0);
unity_DOTS_Sampled_DetailAlbedoScale1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailAlbedoScale1);
unity_DOTS_Sampled_DetailAlbedoScale2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailAlbedoScale2);
unity_DOTS_Sampled_DetailAlbedoScale3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailAlbedoScale3);
unity_DOTS_Sampled_DetailNormalScale0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailNormalScale0);
unity_DOTS_Sampled_DetailNormalScale1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailNormalScale1);
unity_DOTS_Sampled_DetailNormalScale2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailNormalScale2);
unity_DOTS_Sampled_DetailNormalScale3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailNormalScale3);
unity_DOTS_Sampled_DetailSmoothnessScale0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailSmoothnessScale0);
unity_DOTS_Sampled_DetailSmoothnessScale1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailSmoothnessScale1);
unity_DOTS_Sampled_DetailSmoothnessScale2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailSmoothnessScale2);
unity_DOTS_Sampled_DetailSmoothnessScale3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailSmoothnessScale3);
unity_DOTS_Sampled_DiffusionProfileHash0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DiffusionProfileHash0);
unity_DOTS_Sampled_DiffusionProfileHash1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DiffusionProfileHash1);
unity_DOTS_Sampled_DiffusionProfileHash2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DiffusionProfileHash2);
unity_DOTS_Sampled_DiffusionProfileHash3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DiffusionProfileHash3);
unity_DOTS_Sampled_Thickness0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Thickness0);
unity_DOTS_Sampled_Thickness1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Thickness1);
unity_DOTS_Sampled_Thickness2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Thickness2);
unity_DOTS_Sampled_Thickness3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Thickness3);
unity_DOTS_Sampled_ThicknessRemap0 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _ThicknessRemap0);
unity_DOTS_Sampled_ThicknessRemap1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _ThicknessRemap1);
unity_DOTS_Sampled_ThicknessRemap2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _ThicknessRemap2);
unity_DOTS_Sampled_ThicknessRemap3 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _ThicknessRemap3);
}
#undef UNITY_SETUP_DOTS_MATERIAL_PROPERTY_CACHES
#define UNITY_SETUP_DOTS_MATERIAL_PROPERTY_CACHES() SetupDOTSLayeredLitMaterialPropertyCaches()
#define _BaseColor0 unity_DOTS_Sampled_BaseColor0
#define _BaseColor1 unity_DOTS_Sampled_BaseColor1
#define _BaseColor2 unity_DOTS_Sampled_BaseColor2
#define _BaseColor3 unity_DOTS_Sampled_BaseColor3
#define _Metallic0 unity_DOTS_Sampled_Metallic0
#define _Metallic1 unity_DOTS_Sampled_Metallic1
#define _Metallic2 unity_DOTS_Sampled_Metallic2
#define _Metallic3 unity_DOTS_Sampled_Metallic3
#define _MetallicRemapMin0 unity_DOTS_Sampled_MetallicRemapMin0
#define _MetallicRemapMin1 unity_DOTS_Sampled_MetallicRemapMin1
#define _MetallicRemapMin2 unity_DOTS_Sampled_MetallicRemapMin2
#define _MetallicRemapMin3 unity_DOTS_Sampled_MetallicRemapMin3
#define _MetallicRemapMax0 unity_DOTS_Sampled_MetallicRemapMax0
#define _MetallicRemapMax1 unity_DOTS_Sampled_MetallicRemapMax1
#define _MetallicRemapMax2 unity_DOTS_Sampled_MetallicRemapMax2
#define _MetallicRemapMax3 unity_DOTS_Sampled_MetallicRemapMax3
#define _EmissiveColor unity_DOTS_Sampled_EmissiveColor
#define _AlphaCutoff unity_DOTS_Sampled_AlphaCutoff
#define _Smoothness0 unity_DOTS_Sampled_Smoothness0
#define _Smoothness1 unity_DOTS_Sampled_Smoothness1
#define _Smoothness2 unity_DOTS_Sampled_Smoothness2
#define _Smoothness3 unity_DOTS_Sampled_Smoothness3
#define _SmoothnessRemapMin0 unity_DOTS_Sampled_SmoothnessRemapMin0
#define _SmoothnessRemapMin1 unity_DOTS_Sampled_SmoothnessRemapMin1
#define _SmoothnessRemapMin2 unity_DOTS_Sampled_SmoothnessRemapMin2
#define _SmoothnessRemapMin3 unity_DOTS_Sampled_SmoothnessRemapMin3
#define _SmoothnessRemapMax0 unity_DOTS_Sampled_SmoothnessRemapMax0
#define _SmoothnessRemapMax1 unity_DOTS_Sampled_SmoothnessRemapMax1
#define _SmoothnessRemapMax2 unity_DOTS_Sampled_SmoothnessRemapMax2
#define _SmoothnessRemapMax3 unity_DOTS_Sampled_SmoothnessRemapMax3
#define _AlphaRemapMin0 unity_DOTS_Sampled_AlphaRemapMin0
#define _AlphaRemapMin1 unity_DOTS_Sampled_AlphaRemapMin1
#define _AlphaRemapMin2 unity_DOTS_Sampled_AlphaRemapMin2
#define _AlphaRemapMin3 unity_DOTS_Sampled_AlphaRemapMin3
#define _AlphaRemapMax0 unity_DOTS_Sampled_AlphaRemapMax0
#define _AlphaRemapMax1 unity_DOTS_Sampled_AlphaRemapMax1
#define _AlphaRemapMax2 unity_DOTS_Sampled_AlphaRemapMax2
#define _AlphaRemapMax3 unity_DOTS_Sampled_AlphaRemapMax3
#define _AORemapMin0 unity_DOTS_Sampled_AORemapMin0
#define _AORemapMin1 unity_DOTS_Sampled_AORemapMin1
#define _AORemapMin2 unity_DOTS_Sampled_AORemapMin2
#define _AORemapMin3 unity_DOTS_Sampled_AORemapMin3
#define _AORemapMax0 unity_DOTS_Sampled_AORemapMax0
#define _AORemapMax1 unity_DOTS_Sampled_AORemapMax1
#define _AORemapMax2 unity_DOTS_Sampled_AORemapMax2
#define _AORemapMax3 unity_DOTS_Sampled_AORemapMax3
#define _DetailAlbedoScale0 unity_DOTS_Sampled_DetailAlbedoScale0
#define _DetailAlbedoScale1 unity_DOTS_Sampled_DetailAlbedoScale1
#define _DetailAlbedoScale2 unity_DOTS_Sampled_DetailAlbedoScale2
#define _DetailAlbedoScale3 unity_DOTS_Sampled_DetailAlbedoScale3
#define _DetailNormalScale0 unity_DOTS_Sampled_DetailNormalScale0
#define _DetailNormalScale1 unity_DOTS_Sampled_DetailNormalScale1
#define _DetailNormalScale2 unity_DOTS_Sampled_DetailNormalScale2
#define _DetailNormalScale3 unity_DOTS_Sampled_DetailNormalScale3
#define _DetailSmoothnessScale0 unity_DOTS_Sampled_DetailSmoothnessScale0
#define _DetailSmoothnessScale1 unity_DOTS_Sampled_DetailSmoothnessScale1
#define _DetailSmoothnessScale2 unity_DOTS_Sampled_DetailSmoothnessScale2
#define _DetailSmoothnessScale3 unity_DOTS_Sampled_DetailSmoothnessScale3
#define _DiffusionProfileHash0 unity_DOTS_Sampled_DiffusionProfileHash0
#define _DiffusionProfileHash1 unity_DOTS_Sampled_DiffusionProfileHash1
#define _DiffusionProfileHash2 unity_DOTS_Sampled_DiffusionProfileHash2
#define _DiffusionProfileHash3 unity_DOTS_Sampled_DiffusionProfileHash3
#define _Thickness0 unity_DOTS_Sampled_Thickness0
#define _Thickness1 unity_DOTS_Sampled_Thickness1
#define _Thickness2 unity_DOTS_Sampled_Thickness2
#define _Thickness3 unity_DOTS_Sampled_Thickness3
#define _ThicknessRemap0 unity_DOTS_Sampled_ThicknessRemap0
#define _ThicknessRemap1 unity_DOTS_Sampled_ThicknessRemap1
#define _ThicknessRemap2 unity_DOTS_Sampled_ThicknessRemap2
#define _ThicknessRemap3 unity_DOTS_Sampled_ThicknessRemap3
#else
UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)
UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor)
UNITY_DOTS_INSTANCED_PROP(float , _Metallic)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMin)
UNITY_DOTS_INSTANCED_PROP(float , _MetallicRemapMax)
UNITY_DOTS_INSTANCED_PROP(float3, _EmissiveColor)
UNITY_DOTS_INSTANCED_PROP(float4, _SpecularColor)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaCutoff);
UNITY_DOTS_INSTANCED_PROP(float , _Smoothness)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMin)
UNITY_DOTS_INSTANCED_PROP(float , _SmoothnessRemapMax)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMin)
UNITY_DOTS_INSTANCED_PROP(float , _AlphaRemapMax)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMin)
UNITY_DOTS_INSTANCED_PROP(float , _AORemapMax)
UNITY_DOTS_INSTANCED_PROP(float , _DetailAlbedoScale)
UNITY_DOTS_INSTANCED_PROP(float , _DetailNormalScale)
UNITY_DOTS_INSTANCED_PROP(float , _DetailSmoothnessScale)
UNITY_DOTS_INSTANCED_PROP(float , _DiffusionProfileHash)
UNITY_DOTS_INSTANCED_PROP(float , _Thickness)
UNITY_DOTS_INSTANCED_PROP(float4, _ThicknessRemap)
UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)
// Here, we want to avoid overriding a property like e.g. _BaseColor with something like this:
// #define _BaseColor UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _BaseColor0)
//
// It would be simpler, but it can cause the compiler to regenerate the property loading code for each use of _BaseColor.
//
// To avoid this, the property loads are cached in some static values at the beginning of the shader.
// The properties such as _BaseColor are then overridden so that it expand directly to the static value like this:
// #define _BaseColor unity_DOTS_Sampled_BaseColor
//
// This simple fix happened to improve GPU performances by ~10% on Meta Quest 2 with URP on some scenes.
static float4 unity_DOTS_Sampled_BaseColor;
static float unity_DOTS_Sampled_Metallic;
static float unity_DOTS_Sampled_MetallicRemapMin;
static float unity_DOTS_Sampled_MetallicRemapMax;
static float3 unity_DOTS_Sampled_EmissiveColor;
static float4 unity_DOTS_Sampled_SpecularColor;
static float unity_DOTS_Sampled_AlphaCutoff;;
static float unity_DOTS_Sampled_Smoothness;
static float unity_DOTS_Sampled_SmoothnessRemapMin;
static float unity_DOTS_Sampled_SmoothnessRemapMax;
static float unity_DOTS_Sampled_AlphaRemapMin;
static float unity_DOTS_Sampled_AlphaRemapMax;
static float unity_DOTS_Sampled_AORemapMin;
static float unity_DOTS_Sampled_AORemapMax;
static float unity_DOTS_Sampled_DetailAlbedoScale;
static float unity_DOTS_Sampled_DetailNormalScale;
static float unity_DOTS_Sampled_DetailSmoothnessScale;
static float unity_DOTS_Sampled_DiffusionProfileHash;
static float unity_DOTS_Sampled_Thickness;
static float4 unity_DOTS_Sampled_ThicknessRemap;
void SetupDOTSLitMaterialPropertyCaches()
{
unity_DOTS_Sampled_BaseColor = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _BaseColor);
unity_DOTS_Sampled_Metallic = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Metallic);
unity_DOTS_Sampled_MetallicRemapMin = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMin);
unity_DOTS_Sampled_MetallicRemapMax = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _MetallicRemapMax);
unity_DOTS_Sampled_Smoothness = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Smoothness);
unity_DOTS_Sampled_EmissiveColor = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float3, _EmissiveColor);
unity_DOTS_Sampled_SpecularColor = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _SpecularColor);
unity_DOTS_Sampled_AlphaCutoff = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaCutoff);
unity_DOTS_Sampled_Smoothness = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Smoothness);
unity_DOTS_Sampled_SmoothnessRemapMin = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMin);
unity_DOTS_Sampled_SmoothnessRemapMax = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _SmoothnessRemapMax);
unity_DOTS_Sampled_AlphaRemapMin = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMin);
unity_DOTS_Sampled_AlphaRemapMax = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AlphaRemapMax);
unity_DOTS_Sampled_AORemapMin = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMin);
unity_DOTS_Sampled_AORemapMax = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _AORemapMax);
unity_DOTS_Sampled_DetailAlbedoScale = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailAlbedoScale);
unity_DOTS_Sampled_DetailNormalScale = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailNormalScale);
unity_DOTS_Sampled_DetailSmoothnessScale = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DetailSmoothnessScale);
unity_DOTS_Sampled_DiffusionProfileHash = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _DiffusionProfileHash);
unity_DOTS_Sampled_Thickness = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Thickness);
unity_DOTS_Sampled_ThicknessRemap = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, _ThicknessRemap);
}
#undef UNITY_SETUP_DOTS_MATERIAL_PROPERTY_CACHES
#define UNITY_SETUP_DOTS_MATERIAL_PROPERTY_CACHES() SetupDOTSLitMaterialPropertyCaches()
#define _BaseColor unity_DOTS_Sampled_BaseColor
#define _Metallic unity_DOTS_Sampled_Metallic
#define _MetallicRemapMin unity_DOTS_Sampled_MetallicRemapMin
#define _MetallicRemapMax unity_DOTS_Sampled_MetallicRemapMax
#define _Smoothness unity_DOTS_Sampled_Smoothness
#define _EmissiveColor unity_DOTS_Sampled_EmissiveColor
#define _SpecularColor unity_DOTS_Sampled_SpecularColor
#define _AlphaCutoff unity_DOTS_Sampled_AlphaCutoff
#define _Smoothness unity_DOTS_Sampled_Smoothness
#define _SmoothnessRemapMin unity_DOTS_Sampled_SmoothnessRemapMin
#define _SmoothnessRemapMax unity_DOTS_Sampled_SmoothnessRemapMax
#define _AlphaRemapMin unity_DOTS_Sampled_AlphaRemapMin
#define _AlphaRemapMax unity_DOTS_Sampled_AlphaRemapMax
#define _AORemapMin unity_DOTS_Sampled_AORemapMin
#define _AORemapMax unity_DOTS_Sampled_AORemapMax
#define _DetailAlbedoScale unity_DOTS_Sampled_DetailAlbedoScale
#define _DetailNormalScale unity_DOTS_Sampled_DetailNormalScale
#define _DetailSmoothnessScale unity_DOTS_Sampled_DetailSmoothnessScale
#define _DiffusionProfileHash unity_DOTS_Sampled_DiffusionProfileHash
#define _Thickness unity_DOTS_Sampled_Thickness
#define _ThicknessRemap unity_DOTS_Sampled_ThicknessRemap
#endif
#endif