Skip to content

Commit ed764d0

Browse files
committed
[Vulkan] Make ILogger and Logger internal
1 parent 90f5f67 commit ed764d0

File tree

8 files changed

+50
-51
lines changed

8 files changed

+50
-51
lines changed

src/Aardvark.Rendering.Vulkan/Core/Common/Features.fs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ type MemoryFeatures =
5353
BufferDeviceAddressMultiDevice: bool
5454
}
5555

56-
member x.Print(l : ILogger) =
56+
member internal x.Print(l : ILogger) =
5757
l.line "robust buffer access: %A" x.RobustBufferAccess
5858
l.line "sparse binding: %A" x.SparseBinding
5959
l.line "sparse buffers: %A" x.SparseResidencyBuffer
@@ -108,7 +108,7 @@ type DescriptorFeatures =
108108
RuntimeDescriptorArray: bool
109109
}
110110

111-
member x.Print(l : ILogger) =
111+
member internal x.Print(l : ILogger) =
112112
l.section "update after bind: " (fun () ->
113113
l.line "uniform buffers: %A" x.BindingUniformBufferUpdateAfterBind
114114
l.line "sampled images: %A" x.BindingSampledImageUpdateAfterBind
@@ -140,7 +140,7 @@ type ImageFeatures =
140140
CompressionBC: bool
141141
}
142142

143-
member x.Print(l : ILogger) =
143+
member internal x.Print(l : ILogger) =
144144
l.line "cube arrays: %A" x.ImageCubeArray
145145
l.line "ETC2 compression: %A" x.CompressionETC2
146146
l.line "ASTC LDR compression: %A" x.CompressionASTC_LDR
@@ -155,7 +155,7 @@ type SamplerFeatures =
155155
YcbcrConversion: bool
156156
}
157157

158-
member x.Print(l : ILogger) =
158+
member internal x.Print(l : ILogger) =
159159
l.line "anisotropy: %A" x.Anisotropy
160160
l.line "ycbcr: %A" x.YcbcrConversion
161161

@@ -278,7 +278,7 @@ type ShaderFeatures =
278278
DrawParameters: bool
279279
}
280280

281-
member x.Print(l : ILogger) =
281+
member internal x.Print(l : ILogger) =
282282
l.line "geometry: %A" x.GeometryShader
283283
l.line "tesselation: %A" x.TessellationShader
284284
l.line "geometry / tesselation point size: %A" x.TessellationAndGeometryPointSize
@@ -342,7 +342,7 @@ type QueryFeatures =
342342
InheritedQueries: bool
343343
}
344344

345-
member x.Print(l : ILogger) =
345+
member internal x.Print(l : ILogger) =
346346
l.line "precise occlusion: %A" x.OcclusionQueryPrecise
347347
l.line "pipeline statistics: %A" x.PipelineStatistics
348348
l.line "inherited queries: %A" x.InheritedQueries
@@ -359,7 +359,7 @@ type DepthFeatures =
359359
BoundsTest: bool
360360
}
361361

362-
member x.Print(l : ILogger) =
362+
member internal x.Print(l : ILogger) =
363363
l.line "clamping: %A" x.Clamp
364364
l.line "bias clamping: %A" x.BiasClamp
365365
l.line "bounds test: %A" x.BoundsTest
@@ -376,7 +376,7 @@ type BlendFeatures =
376376
LogicOp: bool
377377
}
378378

379-
member x.Print(l : ILogger) =
379+
member internal x.Print(l : ILogger) =
380380
l.line "per-attachment: %A" x.IndependentBlend
381381
l.line "dual-source: %A" x.DualSrcBlend
382382
l.line "logic operations: %A" x.LogicOp
@@ -393,7 +393,7 @@ type DrawingFeatures =
393393
DrawIndirectFirstInstance: bool
394394
}
395395

396-
member x.Print(l : ILogger) =
396+
member internal x.Print(l : ILogger) =
397397
l.line "full 32-bit indices: %A" x.FullDrawIndexUint32
398398
l.line "multi draw indirect: %A" x.MultiDrawIndirect
399399
l.line "draw indirect first instance: %A" x.DrawIndirectFirstInstance
@@ -404,7 +404,7 @@ type MultiviewFeatures =
404404
MultiViewport: bool
405405
}
406406

407-
member x.Print(l : ILogger) =
407+
member internal x.Print(l : ILogger) =
408408
l.line "multiple viewports: %A" x.MultiViewport
409409

410410
type RasterizerFeatures =
@@ -430,7 +430,7 @@ type RasterizerFeatures =
430430
VariableMultisampleRate: bool
431431
}
432432

433-
member x.Print(l : ILogger) =
433+
member internal x.Print(l : ILogger) =
434434
l.line "wide lines: %A" x.WideLines
435435
l.line "large points: %A" x.LargePoints
436436
l.line "non-solid fill mode: %A" x.FillModeNonSolid
@@ -447,7 +447,7 @@ type GraphicsPipelineFeatures =
447447
Rasterizer: RasterizerFeatures
448448
}
449449

450-
member x.Print(l : ILogger) =
450+
member internal x.Print(l : ILogger) =
451451
l.section "depth:" (fun () -> x.Depth.Print(l))
452452
l.section "blending:" (fun () -> x.Blending.Print(l))
453453
l.section "drawing:" (fun () -> x.Drawing.Print(l))
@@ -487,7 +487,7 @@ type RaytracingFeatures =
487487
AccelerationStructureHostCommands : bool
488488
}
489489

490-
member x.Print(l : ILogger) =
490+
member internal x.Print(l : ILogger) =
491491
l.line "pipeline: %A" x.Pipeline
492492
l.line "ray queries: %A" x.RayQuery
493493
l.section "shader group handles: " (fun () ->
@@ -519,7 +519,7 @@ type DeviceFeatures =
519519
Raytracing : RaytracingFeatures
520520
}
521521

522-
member x.Print(l : ILogger) =
522+
member internal x.Print(l : ILogger) =
523523
l.section "memory:" (fun () -> x.Memory.Print(l))
524524
l.section "descriptors:" (fun () -> x.Descriptors.Print(l))
525525
l.section "images:" (fun () -> x.Images.Print(l))

src/Aardvark.Rendering.Vulkan/Core/Common/Limits.fs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type ImageLimits =
2222
MaxArrayLayers : int
2323
}
2424

25-
member x.Print(l : ILogger) =
25+
member internal x.Print(l : ILogger) =
2626
l.line "max 1D size: %d" x.MaxDimension1D
2727
l.line "max 2D size: %A" x.MaxDimension2D
2828
l.line "max 3D size: %A" x.MaxDimension3D
@@ -47,7 +47,7 @@ type SampledImageLimits =
4747
StorageSampleCounts : Set<int>
4848
}
4949

50-
member x.Print(l : ILogger) =
50+
member internal x.Print(l : ILogger) =
5151
l.line "color samples: %A" (Set.toList x.ColorSampleCounts)
5252
l.line "integer samples: %A" (Set.toList x.IntegerSampleCounts)
5353
l.line "depth samples: %A" (Set.toList x.DepthSampleCounts)
@@ -66,7 +66,7 @@ type SamplerLimits =
6666
MaxAnisotropy : float
6767
}
6868

69-
member x.Print(l : ILogger) =
69+
member internal x.Print(l : ILogger) =
7070
l.line "max allocations: %A" x.MaxAllocationCount
7171
l.line "max lod bias: %A" x.MaxLodBias
7272
l.line "max anisotropy: %A" x.MaxAnisotropy
@@ -86,7 +86,7 @@ type UniformLimits =
8686
MaxPushConstantsSize : Mem
8787
}
8888

89-
member x.Print(l : ILogger) =
89+
member internal x.Print(l : ILogger) =
9090
l.line "max buffer range: %A" x.MaxBufferViewRange
9191
l.line "max storage range: %A" x.MaxStorageViewRange
9292
l.line "max texel elements: %A" x.MaxTexelBufferElements
@@ -128,7 +128,7 @@ type MemoryLimits =
128128

129129
}
130130

131-
member x.Print(l : ILogger) =
131+
member internal x.Print(l : ILogger) =
132132
l.line "max allocations: %d" x.MaxAllocationCount
133133
l.line "max allocation size: %A" x.MaxAllocationSize
134134
l.line "sparse size: %A" x.SparseAddressSpaceSize
@@ -193,7 +193,7 @@ type DescriptorLimits =
193193

194194
}
195195

196-
member x.Print(l : ILogger) =
196+
member internal x.Print(l : ILogger) =
197197
l.line "max bound sets: %d" x.MaxBoundDescriptorSets
198198
l.line "max samplers: %d" x.MaxSamplers
199199
l.line "max uniform buffers: %d" x.MaxUniformBuffers
@@ -231,7 +231,7 @@ type VertexLimits =
231231
MaxOutputComponents : int
232232
}
233233

234-
member x.Print(l : ILogger) =
234+
member internal x.Print(l : ILogger) =
235235
l.line "max in attributes: %d" x.MaxInputAttributes
236236
l.line "max in bindings: %d" x.MaxInputBindings
237237
l.line "max in offset: %d" x.MaxInputAttributeOffset
@@ -252,7 +252,7 @@ type TessControlLimits =
252252
/// the maximum total number of components of per-vertex and per-patch output variables which can be output from the tessellation control shader stage.
253253
MaxTotalOutputComponents : int
254254
}
255-
member x.Print(l : ILogger) =
255+
member internal x.Print(l : ILogger) =
256256
l.line "max vertex in components: %d" x.MaxPerVertexInputComponents
257257
l.line "max vertex out components: %d" x.MaxPerVertexOutputComponents
258258
l.line "max patch out components: %d" x.MaxPerPatchOutputComponents
@@ -266,7 +266,7 @@ type TessEvalLimits =
266266
/// the maximum number of components of per-vertex output variables which can be output from the tessellation evaluation shader stage.
267267
MaxOutputComponents : int
268268
}
269-
member x.Print(l : ILogger) =
269+
member internal x.Print(l : ILogger) =
270270
l.line "max in components: %d" x.MaxInputComponents
271271
l.line "max out components: %d" x.MaxOutputComponents
272272

@@ -282,7 +282,7 @@ type TessellationLimits =
282282
TessEvalLimits : TessEvalLimits
283283
}
284284

285-
member x.Print(l : ILogger) =
285+
member internal x.Print(l : ILogger) =
286286
l.line "max gen level: %d" x.MaxGenerationLevel
287287
l.line "max patch size: %d" x.MaxPatchSize
288288
l.section "control:" (fun () ->
@@ -309,7 +309,7 @@ type GeometryLimits =
309309
/// the maximum total number of components of output, across all emitted vertices, which can be output from the geometry shader stage.
310310
MaxTotalOutputComponents : int
311311
}
312-
member x.Print(l : ILogger) =
312+
member internal x.Print(l : ILogger) =
313313
l.line "max invocations: %d" x.MaxInvocations
314314
l.line "max out vertices: %d" x.MaxOutputVertices
315315
l.line "max in components: %d" x.MaxInputComponents
@@ -335,7 +335,7 @@ type FragmentLimits =
335335
/// the maximum number of array elements of a variable decorated with the SampleMask built-in decoration.
336336
MaxSampleMaskWords : int
337337
}
338-
member x.Print(l : ILogger) =
338+
member internal x.Print(l : ILogger) =
339339
l.line "max in components: %d" x.MaxInputComponents
340340
l.line "max out attachments: %d" x.MaxOutputAttachments
341341
l.line "max src1 attachments: %d" x.MaxDualSrcAttachments
@@ -356,7 +356,7 @@ type ComputeLimits =
356356
/// the maximum size of a local compute workgroup, per dimension. These three values represent the maximum local workgroup size in the X, Y, and Z dimensions, respectively.
357357
MaxWorkGroupSize : V3i
358358
}
359-
member x.Print(l : ILogger) =
359+
member internal x.Print(l : ILogger) =
360360
l.line "shared memory: %A" x.MaxSharedMemorySize
361361
l.line "max group counts: %A" x.MaxWorkGroupCount
362362
l.line "max group invocations: %d" x.MaxWorkGroupInvocations
@@ -395,7 +395,7 @@ type ShaderLimits =
395395
MaxCombinedClipAndCullDistances : int
396396

397397
}
398-
member x.Print(l : ILogger) =
398+
member internal x.Print(l : ILogger) =
399399
l.line "max clip distances: %d" x.MaxClipDistances
400400
l.line "max cull distances: %d" x.MaxCullDistances
401401
l.line "max clip/cull distances: %d" x.MaxCombinedClipAndCullDistances
@@ -425,7 +425,7 @@ type PrecisionLimits =
425425
DiscreteQueuePriorities : int
426426
}
427427

428-
member x.Print(l : ILogger) =
428+
member internal x.Print(l : ILogger) =
429429
l.line "subpixel bits: %d" x.SubPixelPrecisionBits
430430
l.line "subtexel bits: %d" x.SubTexelPrecisionBits
431431
l.line "mipmap bits: %d" x.MipMapPrecisionBits
@@ -442,7 +442,7 @@ type DrawLimits =
442442
MaxIndirectCount : uint32
443443
}
444444

445-
member x.Print(l : ILogger) =
445+
member internal x.Print(l : ILogger) =
446446
l.line "max index value: %d" x.MaxIndexValue
447447
l.line "max indirect count: %d" x.MaxIndirectCount
448448

@@ -485,7 +485,7 @@ type FramebufferLimits =
485485

486486
}
487487

488-
member x.Print(l : ILogger) =
488+
member internal x.Print(l : ILogger) =
489489
l.line "max size: %A" x.MaxSize
490490
l.line "max layers: %d" x.MaxLayers
491491
l.line "max colors: %d" x.MaxColorAttachments
@@ -523,7 +523,7 @@ type RasterizerLimits =
523523
StandardSampleLocations : bool
524524
}
525525

526-
member x.Print(l : ILogger) =
526+
member internal x.Print(l : ILogger) =
527527
l.line "point size: [%f .. %f .. %f]" x.PointSizeRange.Min x.PointSizeGranularity x.PointSizeRange.Max
528528
l.line "line width: [%f .. %f .. %f]" x.LineWidthRange.Min x.LineWidthGranularity x.LineWidthRange.Max
529529
l.line "strict lines: %A" x.StrictLines
@@ -587,7 +587,7 @@ type RaytracingLimits =
587587
MaxRayHitAttributeSize : uint32
588588
}
589589

590-
member x.Print(l : ILogger) =
590+
member internal x.Print(l : ILogger) =
591591
l.line "max ray recursion depth: %d" x.MaxRayRecursionDepth
592592
l.line "max ray dispatch invocations: %d" x.MaxRayDispatchInvocationCount
593593
l.line "max ray hit attribute size: %d" x.MaxRayHitAttributeSize
@@ -632,7 +632,7 @@ type DeviceLimits =
632632
Raytracing : RaytracingLimits option
633633
}
634634

635-
member x.Print(l : ILogger) =
635+
member internal x.Print(l : ILogger) =
636636
l.section "image:" (fun () -> x.Image.Print(l))
637637
l.section "sampled image:" (fun () -> x.SampledImage.Print(l))
638638
l.section "sampler:" (fun () -> x.Sampler.Print(l))

src/Aardvark.Rendering.Vulkan/Core/Device/Device.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -326,8 +326,8 @@ type Device private (physicalDevice: PhysicalDevice, wantedExtensions: list<stri
326326
member x.PhysicalDeviceGroup = physicalDevice :?> PhysicalDeviceGroup
327327
member x.IsDeviceGroup = isGroup
328328

329-
member x.PrintMemoryUsage(logger: ILogger) =
330-
memoryAllocator.PrintUsage logger
329+
member x.PrintMemoryUsage([<Optional; DefaultParameterValue(2)>] verbosity: int) =
330+
memoryAllocator.PrintUsage verbosity
331331

332332
interface IDevice with
333333
member x.Handle = x.Handle

src/Aardvark.Rendering.Vulkan/Core/Memory/MemoryAllocator.fs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ type internal MemoryAllocator (device: IDevice) =
181181
Unchecked.defaultof<_>
182182

183183
with :? VulkanException ->
184-
this.PrintUsage Logger.Default
184+
this.PrintUsage()
185185
reraise()
186186

187187
member private this.CreateImage(imageCreateInfo: VkImageCreateInfo byref, preferDevice: bool, hostAccess: HostAccess,
@@ -202,7 +202,7 @@ type internal MemoryAllocator (device: IDevice) =
202202
Unchecked.defaultof<_>
203203

204204
with :? VulkanException ->
205-
this.PrintUsage Logger.Default
205+
this.PrintUsage()
206206
reraise()
207207

208208
member this.GetMemory(preferDevice: bool, hostAccess: HostAccess) =
@@ -218,7 +218,8 @@ type internal MemoryAllocator (device: IDevice) =
218218
this.CreateImage(&info, preferDevice, hostAccess, priority, export, bind, mayAlias)
219219
}
220220

221-
member _.PrintUsage(l: ILogger) =
221+
member _.PrintUsage([<Optional; DefaultParameterValue(2)>] verbosity: int) =
222+
let l = Logger.Get verbosity
222223
let heaps = device.PhysicalDevice.MemoryHeaps
223224

224225
let heapBudgets = Array.zeroCreate<VmaBudget> heaps.Length

src/Aardvark.Rendering.Vulkan/Core/Platform/Instance.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ type Instance(apiVersion : Version, layers : list<string>, extensions : list<str
371371

372372
member x.Devices = devicesAndGroups
373373

374-
member x.PrintInfo(l : ILogger, chosenDevice : PhysicalDevice) =
374+
member x.PrintInfo(chosenDevice: PhysicalDevice, [<Optional; DefaultParameterValue(2)>] verbosity: int) =
375375
let devices =
376376
match chosenDevice with
377377
| :? PhysicalDeviceGroup as g -> g.Devices
@@ -393,7 +393,7 @@ type Instance(apiVersion : Version, layers : list<string>, extensions : list<str
393393
else None
394394
) |> String.concat ", "
395395

396-
396+
let l = Logger.Get verbosity
397397
l.section "instance:" (fun () ->
398398
l.section "layers:" (fun () ->
399399
for layer in availableLayers do

src/Aardvark.Rendering.Vulkan/Core/Utilities/Logger.fs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,19 @@
22

33
open Aardvark.Base
44

5-
type ILogger =
5+
type internal ILogger =
66
abstract member section<'a, 'x> : Printf.StringFormat<'a, (unit -> 'x) -> 'x> -> 'a
77
abstract member line<'a, 'x> : Printf.StringFormat<'a, unit> -> 'a
88
abstract member WithVerbosity : int -> ILogger
99
abstract member Verbosity : int
1010

11-
type Logger private(verbosity : int) =
12-
static let instances = Array.init 6 (fun i -> Logger(i) :> ILogger)
13-
14-
static member Default = instances.[2]
15-
static member Get v = instances.[v]
11+
type internal Logger private(verbosity : int) =
12+
static member Default = Logger.Get 2
13+
static member Get v = Logger(v) :> ILogger
1614

1715
interface ILogger with
1816
member x.Verbosity = verbosity
19-
member x.WithVerbosity(v) = instances.[v]
17+
member x.WithVerbosity(v) = Logger.Get v
2018
member x.section (fmt : Printf.StringFormat<'a, (unit -> 'x) -> 'x>) =
2119
fmt |> Printf.kprintf (fun (str : string) ->
2220
fun cont ->

src/Aardvark.Rendering.Vulkan/Runtime/Headless.fs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ type HeadlessVulkanApplication(debug : IDebugConfig, instanceExtensions : list<s
4747
else
4848
ConsoleDeviceChooser.run (CustomDeviceChooser.Filter instance.Devices)
4949

50-
let logger = Logger.Get debug.PlatformInformationVerbosity
51-
do instance.PrintInfo(logger, physicalDevice)
50+
do instance.PrintInfo(physicalDevice, debug.PlatformInformationVerbosity)
5251

5352
// create a device
5453
let device =

0 commit comments

Comments
 (0)