浏览代码

hard fix computer buffer issue (disable it by default and skip shader preparation when enablecomputebuffer = false)

/main
xingwei.zhu 5 年前
当前提交
6688841d
共有 2 个文件被更改,包括 6 次插入5 次删除
  1. 4
      Runtime/ui/renderer/cmdbufferCanvas/rendering/canvas_shader.cs
  2. 7
      Runtime/ui/renderer/cmdbufferCanvas/rendering/canvas_shader_initializer.cs

4
Runtime/ui/renderer/cmdbufferCanvas/rendering/canvas_shader.cs


return shader;
}
public static bool enableComputeBuffer = true;
public static bool supportComputeBuffer;
static CanvasShader() {
}

7
Runtime/ui/renderer/cmdbufferCanvas/rendering/canvas_shader_initializer.cs


static int initialFrameCount;
static Shader testShader;
const string testShaderName = "UIWidgets/canvas_convexFill_cb";
const bool enableComputeBuffer = false;
public static bool supportComputeBuffer;
static bool OnNotPrepared() {
initStage = InitStage.Prepared;

var material = new Material(testShader);
//for Unity 2018 or below, shader is compiled after Shader.Find() call immediately,
//therefore we can just skip the manually preload if the compilation fails
if (!material.shader.isSupported) {
if (!material.shader.isSupported || !enableComputeBuffer) {
ObjectUtils.SafeDestroy(material);
return OnPrepared(true);
}

正在加载...
取消
保存