コード例 #1
0
ファイル: BackingBuffer.cs プロジェクト: x5f3759df/Citrus
        private static ulong GetAlignmentForBufferUsage(PlatformRenderContext ctx, SharpVulkan.BufferUsageFlags usage)
        {
            ulong alignment = 1;

            if ((usage & SharpVulkan.BufferUsageFlags.UniformBuffer) != 0)
            {
                alignment = GraphicsUtility.CombineAlignment(alignment, ctx.PhysicalDeviceLimits.MinUniformBufferOffsetAlignment);
            }
            return(alignment);
        }
コード例 #2
0
ファイル: BackingBuffer.cs プロジェクト: x5f3759df/Citrus
 public BackingBuffer(PlatformRenderContext context, SharpVulkan.BufferUsageFlags usage, SharpVulkan.MemoryPropertyFlags memoryPropertyFlags, ulong size)
 {
     this.context             = context;
     this.usage               = usage;
     this.memoryPropertyFlags = memoryPropertyFlags;
     sliceSize      = size;
     sliceAlignment = GetAlignmentForBufferUsage(context, usage);
     sliceCount     = 1;
     CreateBuffer();
     sliceOffset = sliceQueue.Dequeue().Offset;
 }