Example #1
0
        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);
        }
Example #2
0
 public ConstBlock(VkShaderStageFlags shaderStage, int offset, int size, IntPtr data)
 {
     range     = new PushConstantRange(shaderStage, offset, size);
     this.data = data;
 }