test metal fx

This commit is contained in:
connan 2024-12-20 13:38:57 +08:00
parent bf3288e261
commit 76d3c669f2
21 changed files with 527 additions and 201 deletions

View File

@ -0,0 +1,70 @@
import Metal
import MetalFX
final class MTLHelper {
private static var mfxSpatialScaler: MTLFXSpatialScaler? = nil
private static var commandQueue: MTLCommandQueue? = nil
static var currentFrameUpscaledColor: MTLTexture!
public static func callSpatialScaling(_ srcTexture: MTLTexture, _ dstTexture: MTLTexture) {
let width = srcTexture.width
let height = srcTexture.height
if mfxSpatialScaler == nil {
let desc = MTLFXSpatialScalerDescriptor()
desc.inputWidth = width
desc.inputHeight = height
desc.outputWidth = dstTexture.width
desc.outputHeight = dstTexture.height
desc.colorTextureFormat = srcTexture.pixelFormat
desc.outputTextureFormat = dstTexture.pixelFormat
desc.colorProcessingMode = .linear
let mtlDevice = MTLCreateSystemDefaultDevice()!
guard let spatialScaler = desc.makeSpatialScaler(device: mtlDevice) else {
print("The spatial scaler effect is not usable")
return
}
let desc1 = MTLTextureDescriptor()
desc1.width = dstTexture.width
desc1.height = dstTexture.height
desc1.storageMode = .private
desc1.pixelFormat = dstTexture.pixelFormat
desc1.usage = [ .renderTarget, .shaderRead, .shaderWrite ]
currentFrameUpscaledColor = mtlDevice.makeTexture(descriptor: desc1)!;
mfxSpatialScaler = spatialScaler
commandQueue = mtlDevice.makeCommandQueue()
}
guard let spatialScaler = mfxSpatialScaler,
let commandQueue = commandQueue,
let commandBuffer = commandQueue.makeCommandBuffer()
else {
print("Error in make CommandBuffer")
return
}
spatialScaler.colorTexture = srcTexture
spatialScaler.outputTexture = currentFrameUpscaledColor
spatialScaler.encode(commandBuffer: commandBuffer)
let blitEncoder = commandBuffer.makeBlitCommandEncoder();
blitEncoder?.copy(from: currentFrameUpscaledColor, to: dstTexture)
blitEncoder?.endEncoding()
commandBuffer.commit()
}
}
@_cdecl("callMetalFX_SpatialScaling")
func callMetalFX_SpatialScaling(_ srcTexturePtr: UnsafeRawPointer?, _ dstTexturePtr: UnsafeRawPointer?) {
guard let srcTexturePtr = srcTexturePtr,
let dstTexturePtr = dstTexturePtr
else {
return
}
let srcTexture: MTLTexture = Unmanaged.fromOpaque(srcTexturePtr).takeUnretainedValue()
let dstTexture: MTLTexture = Unmanaged.fromOpaque(dstTexturePtr).takeUnretainedValue()
MTLHelper.callSpatialScaling(srcTexture, dstTexture)
}

View File

@ -0,0 +1,78 @@
fileFormatVersion: 2
guid: XSwctyOuUi5e8vo1FC1TvohNJQv3y7dKjVgiFt4zcpHYPc0SwU/5aw8=
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 1
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude Win: 0
Exclude Win64: 0
Exclude iOS: 0
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Standalone: Linux64
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: OSXUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win64
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
iPhone: iOS
second:
enabled: 1
settings:
AddToEmbeddedBinaries: false
CPU: AnyCPU
CompileFlags:
FrameworkDependencies: Metal;MetalKit;
- first:
tvOS: tvOS
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -11,17 +11,6 @@ PluginImporter:
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 0
Exclude Linux64: 1
Exclude OSXUniversal: 0
Exclude Win: 1
Exclude Win64: 1
Exclude iOS: 1
- first:
Any:
second:
@ -32,42 +21,13 @@ PluginImporter:
second:
enabled: 1
settings:
CPU: ARM64
DefaultValueInitialized: true
OS: OSX
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: OSXUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
iPhone: iOS
second:
enabled: 0
settings:
AddToEmbeddedBinaries: false
CPU: AnyCPU
CompileFlags:
FrameworkDependencies:
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -24,24 +24,26 @@ public class Test : MonoBehaviour
private void Start()
{
Debug.Log($"FeatureSupport--\n" +
$"VRS:[{RenderingPlugin.GetFeatureSupport(RenderingPlugin.GraphicsFeature.VRS_DRAW)} " +
$"{RenderingPlugin.GetFeatureSupport(RenderingPlugin.GraphicsFeature.VRS_PRIMITIVE)}" +
$"{RenderingPlugin.GetFeatureSupport(RenderingPlugin.GraphicsFeature.VRS_ATTACHMENT)}" +
$"]" +
$"FG:[ QCOM_AFME: {RenderingPlugin.GetFeatureSupport(RenderingPlugin.GraphicsFeature.QCOM_AFME)}]"
);
}
private void OnGUI()
{
if (GUI.Button(new Rect(100,200, 100, 50), "VRS"))
if (GUI.Button(new Rect(100,10, 100, 50), "VRS"))
{
OnClickVRS();
}
if (GUI.Button(new Rect(100, 300, 100, 50), "FG"))
if (GUI.Button(new Rect(100, 100, 100, 50), "FG"))
{
X.Rendering.Feature.FG.UseFG = !X.Rendering.Feature.FG.UseFG;
}
if (GUI.Button(new Rect(100, 200, 100, 50), "MetalSR"))
// if (Input.GetKeyDown(KeyCode.P))
{
var asset = UniversalRenderPipeline.asset;
asset.superResolution = ESuperResolution.METAL_FX_SPATIAL_SR;
asset.UpdateSSSettings();
}
}
}

View File

@ -28,7 +28,7 @@ MonoBehaviour:
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 1
m_RenderScale: 0.6666667
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 1
m_FsrSharpness: 1
@ -114,5 +114,5 @@ MonoBehaviour:
m_PrefilterNativeRenderPass: 1
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
superResolution: 0
vrsRate: 4
superResolution: 9
vrsRate: 0

View File

@ -258,5 +258,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 74dc463bb029b6b41a2fe66db031c2ae, type: 3}
m_Name: MetalFxSpatialUpScale
m_EditorClassIdentifier:
m_Active: 0
quality: 4
m_Active: 1
quality: 3

View File

@ -28,7 +28,7 @@ MonoBehaviour:
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 0.5
m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
@ -114,6 +114,5 @@ MonoBehaviour:
m_PrefilterNativeRenderPass: 1
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
superResolution: 4
sSRenderScale: 5
superResolution: 9
vrsRate: 0

View File

@ -76,10 +76,11 @@ MonoBehaviour:
- {fileID: 7833122117494664109}
- {fileID: 3573653513797426673}
- {fileID: -3751262535411419207}
m_RendererFeatureMap: a163f70a5ce289f0ad6b866f10d7b46cf1dd38d0ef2a9831b937925d99d6f0cb
- {fileID: 7635965471217900352}
- {fileID: 3550966996045925474}
m_RendererFeatureMap: a163f70a5ce289f0ad6b866f10d7b46cf1dd38d0ef2a9831b937925d99d6f0cb405b17952366f869620c7448ab914731
m_UseNativeRenderPass: 1
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
shaders:
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
@ -115,6 +116,32 @@ MonoBehaviour:
m_CopyDepthMode: 1
m_AccurateGbufferNormals: 0
m_IntermediateTextureMode: 0
--- !u!114 &3550966996045925474
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a6b8ba513f1b1fe499924f362fdde22d, type: 3}
m_Name: GSR
m_EditorClassIdentifier:
m_Active: 0
quality: 0
v1settings:
EnableEdgeDirection: 1
Mode: 1
Sharp: 2
MipMapBias: 0
GSRV1Material: {fileID: 0}
v2settings:
UseCompute2Pass: 0
GSRV2Material: {fileID: 0}
GSRV2ComputeShader: {fileID: 0}
FiveSample: 0
Exposure_co_rcp: 1
--- !u!114 &3573653513797426673
MonoBehaviour:
m_ObjectHideFlags: 0
@ -138,6 +165,20 @@ MonoBehaviour:
normalBlend: 0
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
--- !u!114 &7635965471217900352
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 74dc463bb029b6b41a2fe66db031c2ae, type: 3}
m_Name: MetalFxSpatialUpScale
m_EditorClassIdentifier:
m_Active: 1
quality: 3
--- !u!114 &7833122117494664109
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -12,7 +12,7 @@ enum GraphicsFeature
VRS_PRIMITIVE,
VRS_ATTACHMENT,
HW_SPATIAL_SR,
// METAL_VRR,
METAL_VRR,
HW_AISR,
HW_ADAPTIVE_VRS,
HW_FG_INTERPOLATE,

View File

@ -35,6 +35,7 @@ public:
private:
id <MTLFXSpatialScaler> mfx_spatial_scaler;
id <MTLCommandQueue> commandQueue;
id <MTLTexture> outTexture;
IUnityGraphicsMetal* metal_graphics;
};
@ -92,43 +93,70 @@ void RenderAPI_Metal::spatialUpScale(void* data)
id<MTLDevice> device = metal_graphics->MetalDevice();
id<MTLCommandBuffer> cmd = (id<MTLCommandBuffer>)metal_graphics->CurrentCommandBuffer();
// metal_graphics->EndCurrentCommandEncoder();
metal_graphics->EndCurrentCommandEncoder();
cmd.label = @"Upscale Command Buffer";
if (mfx_spatial_scaler == nil || data_pack->qulityChange)
if (mfx_spatial_scaler == nil )
{
MTLFXSpatialScalerDescriptor* desc = [[MTLFXSpatialScalerDescriptor alloc]init];
desc.inputWidth = [srctex width];
desc.inputHeight = [srctex height];
desc.outputWidth = [dsttex width];
desc.outputHeight = [dsttex height];
desc.colorTextureFormat = [srctex pixelFormat];
desc.outputTextureFormat = [dsttex pixelFormat];
desc.colorProcessingMode = MTLFXSpatialScalerColorProcessingModeLinear;
mfx_spatial_scaler = [desc newSpatialScalerWithDevice:device];
commandQueue = [device newCommandQueue];
MTLTextureDescriptor *texdesc = [[MTLTextureDescriptor alloc] init];
texdesc.width = (int)desc.outputWidth;
texdesc.height = (int)desc.outputHeight;
texdesc.storageMode = MTLStorageModePrivate;
texdesc.usage = MTLTextureUsageRenderTarget | MTLTextureUsageShaderRead | MTLTextureUsageShaderWrite;
texdesc.pixelFormat = desc.outputTextureFormat;
outTexture = [device newTextureWithDescriptor:texdesc];
}
if (mfx_spatial_scaler == nil || commandQueue == nil)
{
return;
}
mfx_spatial_scaler.colorTexture = srctex;
mfx_spatial_scaler.outputTexture = dsttex;
// if(!cmd)
if(!(srctex && dsttex))
{
id <MTLCommandBuffer> upscaleCommandBuffer = [commandQueue commandBuffer];
upscaleCommandBuffer.label = @"Upscale Command Buffer";
[mfx_spatial_scaler encodeToCommandBuffer:upscaleCommandBuffer];
[upscaleCommandBuffer commit];
return;
}
mfx_spatial_scaler.colorTexture = srctex;
mfx_spatial_scaler.outputTexture = outTexture;
mfx_spatial_scaler.inputContentWidth = [srctex width];
mfx_spatial_scaler.inputContentHeight = [srctex height];
// if(!cmd)
// {
// id <MTLCommandBuffer> upscaleCommandBuffer = [commandQueue commandBuffer];
// upscaleCommandBuffer.label = @"Upscale Command Buffer";
// [mfx_spatial_scaler encodeToCommandBuffer:upscaleCommandBuffer];
// [upscaleCommandBuffer commit];
// id <MTLCommandBuffer> textureCommandBuffer = [commandQueue commandBuffer];
// id <MTLBlitCommandEncoder> _mfxSpatialEncoder =[textureCommandBuffer blitCommandEncoder];
// [_mfxSpatialEncoder copyFromTexture: outTexture toTexture: dsttex];
// [_mfxSpatialEncoder endEncoding];
// [textureCommandBuffer commit];
// }
// else
{
// [mfx_spatial_scaler encodeToCommandBuffer:cmd];
[mfx_spatial_scaler encodeToCommandBuffer:cmd];
// [cmd commit];
// id <MTLCommandBuffer> textureCommandBuffer = [commandQueue commandBuffer];
id <MTLBlitCommandEncoder> _mfxSpatialEncoder =[textureCommandBuffer blitCommandEncoder];
[_mfxSpatialEncoder copyFromTexture: outTexture toTexture: dsttex];
[_mfxSpatialEncoder endEncoding];
// [textureCommandBuffer commit];
}
}

View File

@ -302,6 +302,7 @@ namespace UnityEngine.Rendering.Universal
{
// Start by pre-fetching all builtin effect settings we need
// Some of the color-grading settings are only used in the color grading lut pass
SuperResolutionParamSets.Instance.RenderContext = context;
var stack = VolumeManager.instance.stack;
m_DepthOfField = stack.GetComponent<DepthOfField>();
m_MotionBlur = stack.GetComponent<MotionBlur>();
@ -504,12 +505,12 @@ namespace UnityEngine.Rendering.Universal
ref var colorDescriptor = ref cameraData.cameraTargetDescriptor;
colorDescriptor.width = cameraData.camera.pixelWidth;
colorDescriptor.height = cameraData.camera.pixelHeight;
if (asset.SuperResolution == ESuperResolution.XESS13
|| asset.SuperResolution == ESuperResolution.GSR2
|| asset.SuperResolution == ESuperResolution.METAL_FX_SPATIAL_SR)
// if (asset.SuperResolution == ESuperResolution.XESS13
// || asset.SuperResolution == ESuperResolution.GSR2
// )
{
colorDescriptor.graphicsFormat = GraphicsFormat.R16G16B16A16_SFloat;
colorDescriptor.enableRandomWrite = true; //
// colorDescriptor.graphicsFormat = GraphicsFormat.R16G16B16A16_SFloat;
// colorDescriptor.enableRandomWrite = true; //
}
renderer.m_ColorBufferSystem.SetCameraSettings(colorDescriptor, FilterMode.Bilinear);

View File

@ -7,35 +7,28 @@ namespace X.Rendering.Feature
{
public static class RenderingPlugin
{
#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR
[DllImport("__Internal")]
#else
[DllImport("GfxPluginNativeRender")]
#endif
public static extern void SetTimeFromUnity(float t);
#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR
#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR
[DllImport("__Internal")]
#else
[DllImport("GfxPluginNativeRender")]
#endif
public static extern IntPtr GetRenderEventAndDataFunc();
#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR
#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR
[DllImport("__Internal")]
#else
[DllImport("GfxPluginNativeRender")]
#endif
private static extern bool GetFeatureSupport(int feature);
#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR
#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR
[DllImport("__Internal")]
#else
[DllImport("GfxPluginNativeRender")]
#endif
public static extern bool GetInputResolution(int outw, int outh, int quality, ref int width, ref int height);
//#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX) && !UNITY_EDITOR
//#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR
// [DllImport("__Internal")]
//#else
// [DllImport("GfxPluginNativeRender")]

View File

@ -17,6 +17,7 @@ namespace X.Rendering.Feature
SrQuality lastQuality;
bool updateSrNextFrame = false;
[StructLayout(LayoutKind.Sequential)]
struct DataPack
{
public IntPtr src;
@ -46,12 +47,16 @@ namespace X.Rendering.Feature
{
return;
}
var cameraTargetDescriptor = renderingData.cameraData.cameraTargetDescriptor;
cameraTargetDescriptor.depthBufferBits = 0;
//var cmd = CommandBufferPool.Get("DoSR");
//cmd.Clear();
{
using var scp = new ProfilingScope(cmd, profiler);
DataPack* ptr = (DataPack*)dataPtr.ToPointer();
ptr->src = source.rt.GetNativeTexturePtr();
// XXX: output argb16/32, copy output -> dst
ptr->dst = destination.rt.GetNativeTexturePtr();
ptr->qulityChange = updateSrNextFrame;
if (updateSrNextFrame)
{
@ -63,8 +68,21 @@ namespace X.Rendering.Feature
UniversalRenderPipeline.asset.renderScale = GetRenderScale();
lastQuality = quality;
}
ptr->dst = destination.rt.GetNativeTexturePtr();
[DllImport("__Internal", EntryPoint = "callMetalFX_SpatialScaling")]
static extern void CallNativeMethod(IntPtr srcTexture, IntPtr dstTexture);
// cmd.SetRenderTarget(destination, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.DontCare);
// ネイティブ側にてscalingした結果を`dst`に書き込む
CallNativeMethod(source.rt.GetNativeTexturePtr(), destination.rt.GetNativeTexturePtr());
//cmd.Blit(dstRT, destination);
//cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.SpatialUpScale, dataPtr);
//cmd.Blit(dstRT, destination);
}
cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.SpatialUpScale, dataPtr);
//cmd.SetRenderTarget(destination, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store);
//cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.SpatialUpScale, dataPtr);
//SuperResolutionParamSets.Instance.RenderContext.ExecuteCommandBuffer(cmd);
//CommandBufferPool.Release(cmd);
}
public float GetRenderScale()
@ -96,6 +114,7 @@ namespace X.Rendering.Feature
case ESuperResolution.METAL_FX_SPATIAL_SR:
{
SetActive(true);
updateSrNextFrame = true;
}
break;
default:

View File

@ -56,6 +56,7 @@ namespace X.Rendering.Feature
}
}
public ScriptableRenderContext RenderContext;
Dictionary<string, bool> boolMap = new ();
Dictionary<string, int> intMap = new ();

View File

@ -5,7 +5,7 @@ namespace UnityEngine.Rendering.Universal
public partial class UniversalRenderPipelineAsset
{
[SerializeField]
private ESuperResolution superResolution;
public ESuperResolution superResolution;
public ESuperResolution SuperResolution => superResolution;
@ -14,7 +14,7 @@ namespace UnityEngine.Rendering.Universal
[SerializeField]
private RenderingPlugin.VRSPluginShadingRate vrsRate;
private void UpdateSSSettings()
public void UpdateSSSettings()
{
var renderer = GetRenderer(this.m_DefaultRendererIndex);
var renderScale = 1.0f;

View File

@ -5,21 +5,9 @@ EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes:
- enabled: 1
path: Assets/Scenes/Terminal/TerminalScene.scene
guid: 4496a3dbb8d263043a4460bac5382ac5
- enabled: 1
path: Assets/Scenes/Oasis/OasisScene.scene
guid: 9fa2ba603a3424f9bafa4119f837f2bc
- enabled: 1
path: Assets/Scenes/Garden/GardenScene.scene
guid: 81e71078978223e4c8ffbf973484c9c5
- enabled: 1
path: Assets/Scenes/Cockpit/CockpitScene.scene
guid: b78a0ca5d851e4ddf993dcc6feab56d0
- enabled: 1
path: Assets/SharedAssets/Benchmark/BenchmarkScene.scene
guid: d1335b3b949d2e646b481776723757a2
m_configObjects:
Unity.XR.Oculus.Settings: {fileID: 11400000, guid: 290a6e6411d135049940bec2237b8938, type: 2}
com.unity.input.settings: {fileID: 11400000, guid: 9e7be553448fa2546aea5752021cbcf7, type: 2}

View File

@ -290,7 +290,7 @@ PlayerSettings:
Android: com.DefaultCompany.TJURP
OpenHarmony: com.DefaultCompany.TJURP
Standalone: com.DefaultCompany.TJURP
iPhone: com.unity.template.urp-sample
iPhone: com.DefaultCompany.TJURP
buildNumber:
Standalone: 0
VisionOS: 0
@ -314,7 +314,7 @@ PlayerSettings:
strictShaderVariantMatching: 0
VertexChannelCompressionMask: 4054
iPhoneSdkVersion: 988
iOSTargetOSVersionString: 12.0
iOSTargetOSVersionString: 16.0
tvOSSdkVersion: 0
tvOSRequireExtendedGameController: 0
tvOSTargetOSVersionString: 12.0
@ -816,7 +816,7 @@ PlayerSettings:
locationUsageDescription:
microphoneUsageDescription:
bluetoothUsageDescription:
macOSTargetOSVersion: 10.13.0
macOSTargetOSVersion: 13.0
switchNMETAOverride:
switchNetLibKey:
switchSocketMemoryPoolSize: 6144

View File

@ -1,6 +1,30 @@
%YAML 1.1
%TAG !u! tag:yousandi.cn,2023:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_PixelRect:
serializedVersion: 2
x: 807
y: 175
width: 823
height: 603
m_ShowMode: 0
m_Title: Build Settings
m_RootView: {fileID: 4}
m_MinSize: {x: 640, y: 601}
m_MaxSize: {x: 4000, y: 4021}
m_Maximized: 0
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -19,12 +43,63 @@ MonoBehaviour:
width: 1920
height: 954
m_ShowMode: 4
m_Title: Inspector
m_RootView: {fileID: 10}
m_Title: Console
m_RootView: {fileID: 13}
m_MinSize: {x: 875, y: 321}
m_MaxSize: {x: 10000, y: 10000}
m_Maximized: 1
--- !u!114 &2
--- !u!114 &3
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name: BuildPlayerWindow
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 823
height: 603
m_MinSize: {x: 640, y: 580}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 17}
m_Panes:
- {fileID: 17}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 3}
m_Position:
serializedVersion: 2
x: 0
y: 0
width: 823
height: 603
m_MinSize: {x: 640, y: 601}
m_MaxSize: {x: 4000, y: 4021}
vertical: 0
controlID: 2099
draggingID: 0
--- !u!114 &5
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -45,13 +120,13 @@ MonoBehaviour:
height: 536
m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 18}
m_ActualView: {fileID: 22}
m_Panes:
- {fileID: 14}
- {fileID: 18}
- {fileID: 22}
m_Selected: 1
m_LastSelected: 0
--- !u!114 &3
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -64,8 +139,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 8}
- {fileID: 2}
- {fileID: 11}
- {fileID: 5}
m_Position:
serializedVersion: 2
x: 0
@ -77,7 +152,7 @@ MonoBehaviour:
vertical: 0
controlID: 18
draggingID: 0
--- !u!114 &4
--- !u!114 &7
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -98,12 +173,12 @@ MonoBehaviour:
height: 368
m_MinSize: {x: 102, y: 121}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 19}
m_ActualView: {fileID: 23}
m_Panes:
- {fileID: 19}
- {fileID: 23}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &5
--- !u!114 &8
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -116,8 +191,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 9}
- {fileID: 4}
- {fileID: 12}
- {fileID: 7}
m_Position:
serializedVersion: 2
x: 0
@ -127,9 +202,9 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 50}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 65
controlID: 120
draggingID: 0
--- !u!114 &6
--- !u!114 &9
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -142,8 +217,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 13}
- {fileID: 7}
- {fileID: 16}
- {fileID: 10}
m_Position:
serializedVersion: 2
x: 0
@ -155,7 +230,7 @@ MonoBehaviour:
vertical: 0
controlID: 16
draggingID: 0
--- !u!114 &7
--- !u!114 &10
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -174,14 +249,14 @@ MonoBehaviour:
y: 0
width: 523
height: 904
m_MinSize: {x: 275, y: 50}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 16}
m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 20}
m_Panes:
- {fileID: 16}
- {fileID: 20}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &8
--- !u!114 &11
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -200,14 +275,14 @@ MonoBehaviour:
y: 0
width: 293
height: 536
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 17}
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 21}
m_Panes:
- {fileID: 17}
- {fileID: 21}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &9
--- !u!114 &12
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -228,12 +303,12 @@ MonoBehaviour:
height: 368
m_MinSize: {x: 231, y: 271}
m_MaxSize: {x: 10001, y: 10021}
m_ActualView: {fileID: 15}
m_ActualView: {fileID: 19}
m_Panes:
- {fileID: 15}
- {fileID: 19}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &10
--- !u!114 &13
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -246,9 +321,9 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 11}
- {fileID: 6}
- {fileID: 12}
- {fileID: 14}
- {fileID: 9}
- {fileID: 15}
m_Position:
serializedVersion: 2
x: 0
@ -261,7 +336,7 @@ MonoBehaviour:
m_TopViewHeight: 30
m_UseBottomView: 1
m_BottomViewHeight: 20
--- !u!114 &11
--- !u!114 &14
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -283,7 +358,7 @@ MonoBehaviour:
m_MinSize: {x: 0, y: 0}
m_MaxSize: {x: 0, y: 0}
m_LastLoadedLayoutName:
--- !u!114 &12
--- !u!114 &15
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -304,7 +379,7 @@ MonoBehaviour:
height: 20
m_MinSize: {x: 0, y: 0}
m_MaxSize: {x: 0, y: 0}
--- !u!114 &13
--- !u!114 &16
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -317,8 +392,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Children:
- {fileID: 3}
- {fileID: 5}
- {fileID: 6}
- {fileID: 8}
m_Position:
serializedVersion: 2
x: 0
@ -330,7 +405,63 @@ MonoBehaviour:
vertical: 1
controlID: 17
draggingID: 0
--- !u!114 &14
--- !u!114 &17
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12043, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_MinSize: {x: 640, y: 580}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Build Settings
m_Image: {fileID: 0}
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 807
y: 175
width: 823
height: 582
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
m_SupportedDataModes:
isAutomatic: 1
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
m_OverlaysVisible: 1
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs:
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
m_OriginalName:
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: 0
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 0
m_ClientGUIView: {fileID: 0}
m_SearchString:
--- !u!114 &18
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -767,7 +898,7 @@ MonoBehaviour:
m_SceneVisActive: 1
m_LastLockedObject: {fileID: 0}
m_ViewIsLockedToObject: 0
--- !u!114 &15
--- !u!114 &19
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -812,7 +943,7 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/Settings/Mobile
- Assets/Plugins/iOS
m_Globs: []
m_OriginalText:
m_ImportLogFlags: 0
@ -820,16 +951,16 @@ MonoBehaviour:
m_ViewMode: 1
m_StartGridSize: 16
m_LastFolders:
- Assets/Settings/Mobile
- Assets/Plugins/iOS
m_LastFoldersGridSize: 16
m_LastProjectPath: /Users/jkstudio/Desktop/repo/unity_native_render
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 37}
m_SelectedIDs: e0ba0000
m_LastClickedID: 47840
m_ExpandedIDs: 000000006eb700006aba00006eba000000ca9a3bffffff7f
m_SelectedIDs: 76ba0000
m_LastClickedID: 47734
m_ExpandedIDs: 0000000074b7000076b7000078b7000000ca9a3bffffff7f
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -845,7 +976,7 @@ MonoBehaviour:
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 9}
m_ClientGUIView: {fileID: 12}
m_SearchString:
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
@ -857,7 +988,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 000000006eb70000
m_ExpandedIDs: 0000000074b7000076b7000078b70000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -901,7 +1032,7 @@ MonoBehaviour:
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 1
m_ClientGUIView: {fileID: 9}
m_ClientGUIView: {fileID: 12}
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
m_InstanceID: 0
@ -913,7 +1044,7 @@ MonoBehaviour:
m_GridSize: 16
m_SkipHiddenPackages: 0
m_DirectoriesAreaWidth: 207
--- !u!114 &16
--- !u!114 &20
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -960,7 +1091,7 @@ MonoBehaviour:
m_LockTracker:
m_IsLocked: 0
m_PreviewWindow: {fileID: 0}
--- !u!114 &17
--- !u!114 &21
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -997,9 +1128,9 @@ MonoBehaviour:
m_SceneHierarchy:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 46030000
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 40faffff
m_ExpandedIDs: f263feff9264feff72d6feffb6ecfeff56edfeff365fffff4cfaffff
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1015,7 +1146,7 @@ MonoBehaviour:
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 0
m_ClientGUIView: {fileID: 8}
m_ClientGUIView: {fileID: 11}
m_SearchString:
m_ExpandedScenes: []
m_CurrenRootInstanceID: 0
@ -1023,7 +1154,7 @@ MonoBehaviour:
m_IsLocked: 0
m_CurrentSortingName: TransformSorting
m_WindowGUID: 4c969a2b90040154d917609493e03593
--- !u!114 &18
--- !u!114 &22
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
@ -1063,7 +1194,7 @@ MonoBehaviour:
m_ShowGizmos: 0
m_TargetDisplay: 0
m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
m_TargetSize: {x: 2560, y: 1440}
m_TargetSize: {x: 1102, y: 494}
m_TextureFilterMode: 0
m_TextureHideFlags: 61
m_RenderIMGUI: 1
@ -1078,10 +1209,10 @@ MonoBehaviour:
m_VRangeLocked: 0
hZoomLockedByDefault: 0
vZoomLockedByDefault: 0
m_HBaseRangeMin: -1280
m_HBaseRangeMax: 1280
m_VBaseRangeMin: -720
m_VBaseRangeMax: 720
m_HBaseRangeMin: -551
m_HBaseRangeMax: 551
m_VBaseRangeMin: -247
m_VBaseRangeMax: 247
m_HAllowExceedBaseRangeMin: 1
m_HAllowExceedBaseRangeMax: 1
m_VAllowExceedBaseRangeMin: 1
@ -1101,7 +1232,7 @@ MonoBehaviour:
y: 21
width: 1102
height: 494
m_Scale: {x: 0.34305555, y: 0.34305555}
m_Scale: {x: 1, y: 1}
m_Translation: {x: 551, y: 247}
m_MarginLeft: 0
m_MarginRight: 0
@ -1109,19 +1240,19 @@ MonoBehaviour:
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -1606.1539
y: -720
width: 3212.3079
height: 1440
x: -551
y: -247
width: 1102
height: 494
m_MinimalGUI: 1
m_defaultScale: 0.34305555
m_defaultScale: 1
m_LastWindowPixelSize: {x: 1102, y: 515}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000001000000000000
m_XRRenderMode: 0
m_RenderTexture: {fileID: 0}
--- !u!114 &19
--- !u!114 &23
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}