PushConstantRange ReadPushConstant(AstNode node) { PushConstantRange layout = new PushConstantRange(); foreach (var kvp in node.Children) { switch (kvp.Key) { case "StageFlags": layout.stageFlags = (VkShaderStageFlags)Enum.Parse(typeof(VkShaderStageFlags), kvp.Value[0].value); break; case "Offset": layout.offset = int.Parse(kvp.Value[0].value); break; case "Size": layout.size = int.Parse(kvp.Value[0].value); break; } } return(layout); }
public ConstBlock(VkShaderStageFlags shaderStage, int offset, int size, IntPtr data) { range = new PushConstantRange(shaderStage, offset, size); this.data = data; }