@@ -22,6 +22,7 @@ static partial class CanvasShader {
22
22
public static bool supportComputeBuffer ;
23
23
24
24
static void DoPrepareDefaultShader ( ) {
25
+ Debug . Log ( $ "do prepare default shader @frame = { Time . frameCount } ") ;
25
26
supportComputeBuffer = false ;
26
27
27
28
var convexFillShader = GetShader ( "UIWidgets/canvas_convexFill" ) ;
@@ -50,6 +51,8 @@ static void DoPrepareDefaultShader() {
50
51
}
51
52
52
53
static bool OnNotPrepared ( ) {
54
+ DoPrepareDefaultShader ( ) ;
55
+
53
56
initStage = InitStage . Prepared ;
54
57
55
58
initialFrameCount = Time . frameCount ;
@@ -62,26 +65,30 @@ static bool OnNotPrepared() {
62
65
return OnPrepared ( true ) ;
63
66
}
64
67
65
- using ( var cmdBuf = new CommandBuffer ( ) ) {
66
- var renderTarget = new RenderTexture ( 1 , 1 , 1 ) ;
67
- cmdBuf . SetRenderTarget ( renderTarget ) ;
68
-
69
- var mesh = new Mesh {
70
- vertices = new [ ] { new Vector3 ( 0 , 0 , 0 ) , new Vector3 ( 0 , 1 , 0 ) , new Vector3 ( 1 , 1 , 0 ) } ,
71
- uv = new [ ] { new Vector2 ( 0 , 0 ) , new Vector2 ( 0 , 1 ) , new Vector2 ( 1 , 1 ) } ,
72
- triangles = new [ ] { 0 , 1 , 2 }
73
- } ;
74
- cmdBuf . DrawMesh ( mesh , Matrix4x4 . identity , material ) ;
75
- cmdBuf . DisableScissorRect ( ) ;
76
- Graphics . ExecuteCommandBuffer ( cmdBuf ) ;
77
-
78
- ObjectUtils . SafeDestroy ( renderTarget ) ;
79
- ObjectUtils . SafeDestroy ( mesh ) ;
80
- }
68
+ try {
69
+ using ( var cmdBuf = new CommandBuffer ( ) ) {
70
+ var renderTarget = new RenderTexture ( 1 , 1 , 1 ) ;
71
+ cmdBuf . SetRenderTarget ( renderTarget ) ;
72
+
73
+ var mesh = new Mesh {
74
+ vertices = new [ ] { new Vector3 ( 0 , 0 , 0 ) , new Vector3 ( 0 , 1 , 0 ) , new Vector3 ( 1 , 1 , 0 ) } ,
75
+ uv = new [ ] { new Vector2 ( 0 , 0 ) , new Vector2 ( 0 , 1 ) , new Vector2 ( 1 , 1 ) } ,
76
+ triangles = new [ ] { 0 , 1 , 2 }
77
+ } ;
78
+ cmdBuf . DrawMesh ( mesh , Matrix4x4 . identity , material ) ;
79
+ cmdBuf . DisableScissorRect ( ) ;
80
+ Graphics . ExecuteCommandBuffer ( cmdBuf ) ;
81
+
82
+ ObjectUtils . SafeDestroy ( renderTarget ) ;
83
+ ObjectUtils . SafeDestroy ( mesh ) ;
84
+ }
81
85
82
- ObjectUtils . SafeDestroy ( material ) ;
86
+ ObjectUtils . SafeDestroy ( material ) ;
87
+ }
88
+ catch ( Exception e ) {
89
+
90
+ }
83
91
84
- DoPrepareDefaultShader ( ) ;
85
92
return true ;
86
93
}
87
94
@@ -102,6 +109,8 @@ static void DoPrepareComputeBufferShader() {
102
109
var isShaderSupported = testShader . isSupported ;
103
110
testShader = null ;
104
111
supportComputeBuffer = enableComputeBuffer && SystemInfo . supportsComputeShaders && isShaderSupported ;
112
+
113
+ Debug . Log ( $ "do prepare computebuffer shader @frame = { Time . frameCount } with support state = { supportComputeBuffer } ") ;
105
114
106
115
if ( ! supportComputeBuffer ) {
107
116
return ;
0 commit comments