From a5b2925368ecdee83c4121c2bd8a6d75b6dfbe0e Mon Sep 17 00:00:00 2001 From: luboslenco Date: Tue, 1 Dec 2020 16:43:57 +0100 Subject: [PATCH] Fix dilate mask for vulkan and metal --- Sources/arm/util/UVUtil.hx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Sources/arm/util/UVUtil.hx b/Sources/arm/util/UVUtil.hx index e1911345..d3319fdb 100644 --- a/Sources/arm/util/UVUtil.hx +++ b/Sources/arm/util/UVUtil.hx @@ -121,17 +121,22 @@ class UVUtil { pipeDilate.inputLayout = [vs]; pipeDilate.depthWrite = false; pipeDilate.depthMode = CompareMode.Always; + pipeDilate.colorAttachments[0] = kha.graphics4.TextureFormat.L8; pipeDilate.compile(); // dilateTexUnpack = pipeDilate.getConstantLocation("texUnpack"); } - var merged = Context.mergedObject != null ? Context.mergedObject.data : Context.paintObject.data; + var geom = Context.mergedObject != null ? Context.mergedObject.data.geom : Context.paintObject.data.geom; var g4 = dilatemap.g4; g4.begin(); g4.clear(0x00000000); g4.setPipeline(pipeDilate); - g4.setVertexBuffer(merged.geom.vertexBuffer); - g4.setIndexBuffer(merged.geom.indexBuffers[0]); + #if (kha_metal || kha_vulkan) + g4.setVertexBuffer(geom.get([{name: "tex", data: "short2norm"}])); + #else + g4.setVertexBuffer(geom.vertexBuffer); + #end + g4.setIndexBuffer(geom.indexBuffers[0]); g4.drawIndexedVertices(); g4.end(); dilatemapCached = true;