aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2025-10-10 12:24:28 +0200
committerJeroen van Rijn <Kelimion@users.noreply.github.com>2025-10-10 12:24:28 +0200
commitece213afca742bb91e9328230fd21b6b94c85662 (patch)
treebd53a386f09c717dfb8c1af903e95599a22ca6a5 /core
parent4068eeb5fae3981b34a5e5ae96e7c1b0c0eedc85 (diff)
Render examples.
Diffstat (limited to 'core')
-rw-r--r--core/compress/gzip/doc.odin25
-rw-r--r--core/compress/zlib/doc.odin23
-rw-r--r--core/container/bit_array/doc.odin14
-rw-r--r--core/container/intrusive/list/doc.odin10
-rw-r--r--core/container/small_array/doc.odin12
-rw-r--r--core/debug/pe/doc.odin2
-rw-r--r--core/debug/pe/pe.odin1
-rw-r--r--core/debug/trace/doc.odin7
-rw-r--r--core/dynlib/example/example.odin2
-rw-r--r--core/encoding/base32/base32.odin30
-rw-r--r--core/encoding/base64/base64.odin17
-rw-r--r--core/encoding/cbor/doc.odin8
-rw-r--r--core/encoding/json/types.odin22
-rw-r--r--core/encoding/varint/doc.odin4
-rw-r--r--core/encoding/varint/leb128.odin4
-rw-r--r--core/encoding/xml/doc.odin6
-rw-r--r--core/encoding/xml/xml_reader.odin6
-rw-r--r--core/hash/xxhash/streaming.odin4
-rw-r--r--core/hash/xxhash/xxhash_3.odin4
-rw-r--r--core/hash/xxhash/xxhash_32.odin4
-rw-r--r--core/hash/xxhash/xxhash_64.odin4
-rw-r--r--core/image/png/helpers.odin4
-rw-r--r--core/image/png/png.odin7
-rw-r--r--core/prof/spall/doc.odin2
-rw-r--r--core/sys/info/doc.odin35
-rw-r--r--core/sys/info/platform_windows.odin13
-rw-r--r--core/sys/orca/macros.odin4
-rw-r--r--core/sys/orca/odin.odin4
-rw-r--r--core/sys/orca/orca.odin3
29 files changed, 144 insertions, 137 deletions
diff --git a/core/compress/gzip/doc.odin b/core/compress/gzip/doc.odin
index 8a04c41bd..18f2259cb 100644
--- a/core/compress/gzip/doc.odin
+++ b/core/compress/gzip/doc.odin
@@ -1,17 +1,6 @@
-// A small `GZIP` unpacker.
-package compress_gzip
/*
- Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
- Made available under Odin's BSD-3 license.
-
- List of contributors:
- Jeroen van Rijn: Initial implementation.
- Ginger Bill: Cosmetic changes.
-
- A small GZIP implementation as an example.
-*/
+A small `GZIP` unpacker.
-/*
Example:
import "core:bytes"
import "core:os"
@@ -88,4 +77,16 @@ Example:
}
bytes.buffer_destroy(&buf)
}
+*/
+package compress_gzip
+
+/*
+ Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
+ Made available under Odin's BSD-3 license.
+
+ List of contributors:
+ Jeroen van Rijn: Initial implementation.
+ Ginger Bill: Cosmetic changes.
+
+ A small GZIP implementation as an example.
*/ \ No newline at end of file
diff --git a/core/compress/zlib/doc.odin b/core/compress/zlib/doc.odin
index 9c3893e2f..6923c2a60 100644
--- a/core/compress/zlib/doc.odin
+++ b/core/compress/zlib/doc.odin
@@ -1,16 +1,6 @@
-// `Deflate` decompression of raw and `ZLIB`-type streams.
-package compress_zlib
/*
- Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
- Made available under Odin's BSD-3 license.
-
- List of contributors:
- Jeroen van Rijn: Initial implementation.
+`Deflate` decompression of raw and `ZLIB`-type streams.
- An example of how to use `zlib.inflate`.
-*/
-
-/*
Example:
package main
@@ -49,4 +39,15 @@ Example:
fmt.printf("Input: %v bytes, output (%v bytes):\n%v\n", len(ODIN_DEMO), len(s), s)
assert(len(s) == OUTPUT_SIZE)
}
+*/
+package compress_zlib
+
+/*
+ Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
+ Made available under Odin's BSD-3 license.
+
+ List of contributors:
+ Jeroen van Rijn: Initial implementation.
+
+ An example of how to use `zlib.inflate`.
*/ \ No newline at end of file
diff --git a/core/container/bit_array/doc.odin b/core/container/bit_array/doc.odin
index aa27817e8..e86059ecd 100644
--- a/core/container/bit_array/doc.odin
+++ b/core/container/bit_array/doc.odin
@@ -1,10 +1,9 @@
-// A dynamically-sized array of bits.
-package container_dynamic_bit_array
-
/*
+A dynamically-sized array of bits.
+
The Bit Array can be used in several ways:
-By default you don't need to instantiate a Bit Array.
+By default you don't need to instantiate a `Bit_Array`.
Example:
package test
@@ -21,11 +20,11 @@ Example:
// returns `false`, `false`, because this Bit Array wasn't created to allow negative indices.
was_set, was_retrieved := get(&bits, -1)
- fmt.println(was_set, was_retrieved)
+ fmt.println(was_set, was_retrieved)
destroy(&bits)
}
-A Bit Array can optionally allow for negative indices, if the minimum value was given during creation.
+A `Bit_Array` can optionally allow for negative indices, if the minimum value was given during creation.
Example:
package test
@@ -51,4 +50,5 @@ Example:
fmt.printf("Get(Negative_Test): %v, %v\n", get(bits, Foo.Negative_Test))
fmt.printf("Freed.\n")
}
-*/ \ No newline at end of file
+*/
+package container_dynamic_bit_array \ No newline at end of file
diff --git a/core/container/intrusive/list/doc.odin b/core/container/intrusive/list/doc.odin
index b84e32bd9..a50c27216 100644
--- a/core/container/intrusive/list/doc.odin
+++ b/core/container/intrusive/list/doc.odin
@@ -1,10 +1,7 @@
-// An intrusive doubly-linked list.
-package container_intrusive_list
-
/*
-Package list implements an intrusive doubly-linked list.
+An intrusive doubly-linked list.
-An intrusive container requires a `Node` to be embedded in your own structure, like this.
+The intrusive container requires a `Node` to be embedded in your own structure, like this.
Example:
My_String :: struct {
node: list.Node,
@@ -48,4 +45,5 @@ Example:
Output:
Hello
World
-*/ \ No newline at end of file
+*/
+package container_intrusive_list \ No newline at end of file
diff --git a/core/container/small_array/doc.odin b/core/container/small_array/doc.odin
index 12ad6b134..21d000a10 100644
--- a/core/container/small_array/doc.odin
+++ b/core/container/small_array/doc.odin
@@ -1,8 +1,7 @@
-// A dynamic array-like interface on a stack-allocated, fixed-size array.
-package container_small_array
-
/*
-The Small_Array type is optimal for scenarios where you need
+A dynamic array-like interface on a stack-allocated, fixed-size array.
+
+The `Small_Array` type is optimal for scenarios where you need
a container for a fixed number of elements of a specific type,
with the total number known at compile time but the exact
number to be used determined at runtime.
@@ -33,7 +32,7 @@ Example:
return
}
- // the Small_Array can be an ordinary parameter 'generic' over
+ // the `Small_Array` can be an ordinary parameter 'generic' over
// the actual length to be usable with different sizes
print_elements :: proc(arr: ^small_array.Small_Array($N, rune)) {
for r in small_array.slice(arr) {
@@ -51,4 +50,5 @@ Output:
Hellope
-*/ \ No newline at end of file
+*/
+package container_small_array \ No newline at end of file
diff --git a/core/debug/pe/doc.odin b/core/debug/pe/doc.odin
deleted file mode 100644
index 7590d328f..000000000
--- a/core/debug/pe/doc.odin
+++ /dev/null
@@ -1,2 +0,0 @@
-// A reader for the Windows `PE` executable format for debug purposes.
-package debug_pe \ No newline at end of file
diff --git a/core/debug/pe/pe.odin b/core/debug/pe/pe.odin
index 587c01e8e..d04ed5098 100644
--- a/core/debug/pe/pe.odin
+++ b/core/debug/pe/pe.odin
@@ -1,3 +1,4 @@
+// A reader for the Windows `PE` executable format for debug purposes.
package debug_pe
PE_SIGNATURE_OFFSET_INDEX_POS :: 0x3c
diff --git a/core/debug/trace/doc.odin b/core/debug/trace/doc.odin
index c9b715653..e5fd3f7c2 100644
--- a/core/debug/trace/doc.odin
+++ b/core/debug/trace/doc.odin
@@ -1,6 +1,6 @@
-// Stack trace library. Only works when debug symbols are enabled using `-debug`.
-package debug_trace
/*
+Stack trace library. Only works when debug symbols are enabled using `-debug`.
+
Example:
import "base:runtime"
import "core:debug/trace"
@@ -47,4 +47,5 @@ Example:
...
}
-*/ \ No newline at end of file
+*/
+package debug_trace \ No newline at end of file
diff --git a/core/dynlib/example/example.odin b/core/dynlib/example/example.odin
index 78fb5a98c..84ee103e3 100644
--- a/core/dynlib/example/example.odin
+++ b/core/dynlib/example/example.odin
@@ -44,4 +44,4 @@ main :: proc() {
fmt.println("84 - 13 =", sym.sub(84, 13))
fmt.println("hellope =", sym.hellope^)
}
-}
+} \ No newline at end of file
diff --git a/core/encoding/base32/base32.odin b/core/encoding/base32/base32.odin
index d49d62f77..f50db12b3 100644
--- a/core/encoding/base32/base32.odin
+++ b/core/encoding/base32/base32.odin
@@ -1,22 +1,22 @@
-// `Base32` encoding and decoding, as specified in `RFC 4648`.
-package encoding_base32
+/*
+`Base32` encoding and decoding, as specified in `RFC 4648`.
+
+[[ RFC 4648; https://www.rfc-editor.org/rfc/rfc4648.html ]]
-// Base32 encoding/decoding implementation as specified in RFC 4648.
-// [[ More; https://www.rfc-editor.org/rfc/rfc4648.html ]]
+A secondary param can be used to supply a custom alphabet to `encode` and a matching decoding table to `decode`.
+If none is supplied it just uses the standard Base32 alphabet.
+In case your specific version does not use padding, you may
+truncate it from the encoded output.
-// @note(zh): Encoding utility for Base32
-// A secondary param can be used to supply a custom alphabet to
-// @link(encode) and a matching decoding table to @link(decode).
-// If none is supplied it just uses the standard Base32 alphabet.
-// In case your specific version does not use padding, you may
-// truncate it from the encoded output.
+Error represents errors that can occur during base32 decoding operations.
+As per RFC 4648:
+- Section 3.3: Invalid character handling
+- Section 3.2: Padding requirements
+- Section 6: Base32 encoding specifics (including block size requirements)
+*/
+package encoding_base32
-// Error represents errors that can occur during base32 decoding operations.
-// As per RFC 4648:
-// - Section 3.3: Invalid character handling
-// - Section 3.2: Padding requirements
-// - Section 6: Base32 encoding specifics (including block size requirements)
Error :: enum {
None,
Invalid_Character, // Input contains characters outside the specified alphabet
diff --git a/core/encoding/base64/base64.odin b/core/encoding/base64/base64.odin
index 1960b4b55..2cd7227b5 100644
--- a/core/encoding/base64/base64.odin
+++ b/core/encoding/base64/base64.odin
@@ -1,17 +1,18 @@
-// `Base64` encoding and decoding.
+/*
+`Base64` encoding and decoding.
+
+A secondary param can be used to supply a custom alphabet to `encode` and a matching decoding table to `decode`.
+
+If none is supplied it just uses the standard Base64 alphabet.
+In case your specific version does not use padding, you may
+truncate it from the encoded output.
+*/
package encoding_base64
import "core:io"
import "core:mem"
import "core:strings"
-// @note(zh): Encoding utility for Base64
-// A secondary param can be used to supply a custom alphabet to
-// @link(encode) and a matching decoding table to @link(decode).
-// If none is supplied it just uses the standard Base64 alphabet.
-// Incase your specific version does not use padding, you may
-// truncate it from the encoded output.
-
ENC_TABLE := [64]byte {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
diff --git a/core/encoding/cbor/doc.odin b/core/encoding/cbor/doc.odin
index 4acc63139..4967a079a 100644
--- a/core/encoding/cbor/doc.odin
+++ b/core/encoding/cbor/doc.odin
@@ -1,7 +1,6 @@
-// Encoding and decoding types from/into `RCF 8949` compatible `CBOR` binary.
-package encoding_cbor
/*
-Package cbor encodes, decodes, marshals and unmarshals types from/into RCF 8949 compatible CBOR binary.
+Encodes and decodes types from/into `RCF 8949` compatible `CBOR` binary.
+
Also provided are conversion to and from JSON and the CBOR diagnostic format.
**Allocations:**
@@ -166,4 +165,5 @@ Output:
"renamed :)": 123123.12500000,
"str": "Hello, World!"
}
-*/ \ No newline at end of file
+*/
+package encoding_cbor \ No newline at end of file
diff --git a/core/encoding/json/types.odin b/core/encoding/json/types.odin
index a5f9daa02..75a66f646 100644
--- a/core/encoding/json/types.odin
+++ b/core/encoding/json/types.odin
@@ -1,15 +1,13 @@
-// Encoding and decoding JSON in strict `JSON`, `JSON5` and `BitSquid` variants.
-package encoding_json
-
-import "core:strings"
-
/*
- JSON
+Encoding and decoding JSON in strict `JSON`, `JSON5` and `BitSquid` variants.
+
+Using one of these `Specification`s.
+ JSON
strict JSON
- JSON5
+ JSON5
pure superset of JSON and valid JavaScript
https://json5.org/
-
+
* Object keys may be an ECMAScript 5.1 IdentifierName.
* Objects may have a single trailing comma.
* Arrays may have a single trailing comma.
@@ -22,17 +20,21 @@ import "core:strings"
* Numbers may begin with an explicit plus sign.
* Single and multi-line comments are allowed.
* Additional white space characters are allowed.
-
+
MJSON
pure superset of JSON5, may not be valid JavaScript
https://bitsquid.blogspot.com/2009/10/simplified-json-notation.html
-
+
* All the same features as JSON5 plus extras.
* Assume an object definition at the root level (no need to surround entire file with { } ).
* Commas are optional, using comma insertion rules with newlines.
* Quotes around object keys are optional if the keys are valid identifiers.
* : can be replaced with =
*/
+package encoding_json
+
+import "core:strings"
+
Specification :: enum {
JSON,
JSON5, // https://json5.org/
diff --git a/core/encoding/varint/doc.odin b/core/encoding/varint/doc.odin
index 23a28f913..e17faec49 100644
--- a/core/encoding/varint/doc.odin
+++ b/core/encoding/varint/doc.odin
@@ -1,8 +1,6 @@
/*
`LEB128` variable integer encoding and decoding, as used by `DWARF` & `DEX` files.
-Author of this Odin package: Jeroen van Rijn
-
Example:
package main
@@ -24,4 +22,4 @@ Example:
fmt.printf("Decoded as %v, using %v byte%v\n", decoded_val, decode_size, "" if decode_size == 1 else "s")
}
*/
-package encoding_varint
+package encoding_varint \ No newline at end of file
diff --git a/core/encoding/varint/leb128.odin b/core/encoding/varint/leb128.odin
index 606c57ba7..876a1ba76 100644
--- a/core/encoding/varint/leb128.odin
+++ b/core/encoding/varint/leb128.odin
@@ -1,3 +1,5 @@
+package encoding_varint
+
/*
Copyright 2022 Jeroen van Rijn <nom@duclavier.com>.
Made available under Odin's BSD-3 license.
@@ -6,8 +8,6 @@
Jeroen van Rijn: Initial implementation.
*/
-package encoding_varint
-
// In theory we should use the bigint package. In practice, varints bigger than this indicate a corrupted file.
// Instead we'll set limits on the values we'll encode/decode
// 18 * 7 bits = 126, which means that a possible 19th byte may at most be `0b0000_0011`.
diff --git a/core/encoding/xml/doc.odin b/core/encoding/xml/doc.odin
index 79d960847..9030cd400 100644
--- a/core/encoding/xml/doc.odin
+++ b/core/encoding/xml/doc.odin
@@ -1,7 +1,7 @@
/*
A parser for a useful subset of the `XML` specification.
-A from-scratch XML implementation, loosely modelled on the [[ spec; https://www.w3.org/TR/2006/REC-xml11-20060816 ]].
+A from-scratch `XML` implementation, loosely modelled on the [[ spec; https://www.w3.org/TR/2006/REC-xml11-20060816 ]].
Features:
- Supports enough of the XML 1.0/1.1 spec to handle the 99.9% of XML documents in common current usage.
@@ -11,8 +11,8 @@ Caveats:
- We do NOT support HTML in this package, as that may or may not be valid XML.
If it works, great. If it doesn't, that's not considered a bug.
-- We do NOT support UTF-16. If you have a UTF-16 XML file, please convert it to UTF-8 first. Also, our condolences.
-- <[!ELEMENT and <[!ATTLIST are not supported, and will be either ignored or return an error depending on the parser options.
+- We do NOT support `UTF-16`. If you have a `UTF-16` XML file, please convert it to `UTF-8` first. Also, our condolences.
+- `<[!ELEMENT` and `<[!ATTLIST` are not supported, and will be either ignored or return an error depending on the parser options.
MAYBE:
- XML writer?
diff --git a/core/encoding/xml/xml_reader.odin b/core/encoding/xml/xml_reader.odin
index 707d2b3f3..621c9c2d0 100644
--- a/core/encoding/xml/xml_reader.odin
+++ b/core/encoding/xml/xml_reader.odin
@@ -1,4 +1,7 @@
+package encoding_xml
/*
+ An XML 1.0 / 1.1 parser
+
2021-2022 Jeroen van Rijn <nom@duclavier.com>.
available under Odin's BSD-3 license.
@@ -6,9 +9,6 @@
- Jeroen van Rijn: Initial implementation.
*/
-package encoding_xml
-// An XML 1.0 / 1.1 parser
-
import "core:bytes"
import "core:encoding/entity"
import "base:intrinsics"
diff --git a/core/hash/xxhash/streaming.odin b/core/hash/xxhash/streaming.odin
index f77edf3e9..699a089c9 100644
--- a/core/hash/xxhash/streaming.odin
+++ b/core/hash/xxhash/streaming.odin
@@ -1,3 +1,5 @@
+package xxhash
+
/*
An implementation of Yann Collet's [xxhash Fast Hash Algorithm](https://cyan4973.github.io/xxHash/).
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
@@ -8,8 +10,6 @@
Jeroen van Rijn: Initial implementation.
*/
-package xxhash
-
import "core:mem"
import "base:intrinsics"
diff --git a/core/hash/xxhash/xxhash_3.odin b/core/hash/xxhash/xxhash_3.odin
index fe92f16d9..20dd8e596 100644
--- a/core/hash/xxhash/xxhash_3.odin
+++ b/core/hash/xxhash/xxhash_3.odin
@@ -1,3 +1,5 @@
+package xxhash
+
/*
An implementation of Yann Collet's [xxhash Fast Hash Algorithm](https://cyan4973.github.io/xxHash/).
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
@@ -8,8 +10,6 @@
Jeroen van Rijn: Initial implementation.
*/
-package xxhash
-
import "base:intrinsics"
/*
diff --git a/core/hash/xxhash/xxhash_32.odin b/core/hash/xxhash/xxhash_32.odin
index 28cd4e177..8e53d564b 100644
--- a/core/hash/xxhash/xxhash_32.odin
+++ b/core/hash/xxhash/xxhash_32.odin
@@ -1,3 +1,5 @@
+package xxhash
+
/*
An implementation of Yann Collet's [xxhash Fast Hash Algorithm](https://cyan4973.github.io/xxHash/).
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
@@ -8,8 +10,6 @@
Jeroen van Rijn: Initial implementation.
*/
-package xxhash
-
import "base:intrinsics"
/*
diff --git a/core/hash/xxhash/xxhash_64.odin b/core/hash/xxhash/xxhash_64.odin
index 87e8916d6..16a70bd2e 100644
--- a/core/hash/xxhash/xxhash_64.odin
+++ b/core/hash/xxhash/xxhash_64.odin
@@ -1,3 +1,5 @@
+package xxhash
+
/*
An implementation of Yann Collet's [xxhash Fast Hash Algorithm](https://cyan4973.github.io/xxHash/).
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
@@ -8,8 +10,6 @@
Jeroen van Rijn: Initial implementation.
*/
-package xxhash
-
import "base:intrinsics"
/*
diff --git a/core/image/png/helpers.odin b/core/image/png/helpers.odin
index 97e70226c..527ac486c 100644
--- a/core/image/png/helpers.odin
+++ b/core/image/png/helpers.odin
@@ -1,3 +1,5 @@
+package png
+
/*
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
Made available under Odin's BSD-2 license.
@@ -9,8 +11,6 @@
These are a few useful utility functions to work with PNG images.
*/
-package png
-
import "core:image"
import "core:compress/zlib"
import coretime "core:time"
diff --git a/core/image/png/png.odin b/core/image/png/png.odin
index 3516fc8d3..4e67700f2 100644
--- a/core/image/png/png.odin
+++ b/core/image/png/png.odin
@@ -1,3 +1,6 @@
+#+vet !using-stmt
+package png
+
/*
Copyright 2021 Jeroen van Rijn <nom@duclavier.com>.
Made available under Odin's BSD-3 license.
@@ -7,10 +10,6 @@
Ginger Bill: Cosmetic changes.
*/
-
-#+vet !using-stmt
-package png
-
import "core:compress"
import "core:compress/zlib"
import "core:image"
diff --git a/core/prof/spall/doc.odin b/core/prof/spall/doc.odin
index 2098a12d6..e07a00a26 100644
--- a/core/prof/spall/doc.odin
+++ b/core/prof/spall/doc.odin
@@ -1,6 +1,8 @@
/*
Profiling using the "`spall`" format.
+See: [[ https://gravitymoth.com/spall/ ]]
+
Example:
package main
diff --git a/core/sys/info/doc.odin b/core/sys/info/doc.odin
index d19bb13a0..7859b4e60 100644
--- a/core/sys/info/doc.odin
+++ b/core/sys/info/doc.odin
@@ -23,9 +23,6 @@ Example:
fmt.printfln("CPU cores: %vc/%vt", si.cpu.physical_cores, si.cpu.logical_cores)
fmt.printfln("RAM: %#.1M", si.ram.total_ram)
- // fmt.printfln("Features: %v", si.cpu.features)
- // fmt.printfln("MacOS version: %v", si.macos_version)
-
fmt.println()
for gpu, i in si.gpus {
fmt.printfln("GPU #%v:", i)
@@ -37,26 +34,30 @@ Example:
- Example Windows output:
- Odin: dev-2022-09
- OS: Windows 10 Professional (version: 20H2), build: 19042.1466
- OS: OS_Version{
+ Odin: dev-2025-10
+ OS: Windows 10 Professional (version: 22H2), build: 19045.6396
+ OS: OS_Version{
platform = "Windows",
- major = 10,
- minor = 0,
- patch = 0,
+ _ = Version{
+ major = 10,
+ minor = 0,
+ patch = 0,
+ },
build = [
- 19042,
- 1466,
+ 19045,
+ 6396,
],
- version = "20H2",
- as_string = "Windows 10 Professional (version: 20H2), build: 19042.1466",
+ version = "22H2",
+ as_string = "Windows 10 Professional (version: 22H2), build: 19045.6396",
}
- CPU: AMD Ryzen 7 1800X Eight-Core Processor
- RAM: 64.0 GiB
+ CPU: AMD Ryzen 9 5950X 16-Core Processor
+ CPU cores: 16c/32t
+ RAM: 63.9 GiB
+
GPU #0:
Vendor: Advanced Micro Devices, Inc.
- Model: Radeon RX Vega
- VRAM: 8.0 GiB
+ Model: AMD Radeon RX 9070
+ VRAM: 15.9 GiB
- Example macOS output:
diff --git a/core/sys/info/platform_windows.odin b/core/sys/info/platform_windows.odin
index ff8ebe2ee..7713e7bda 100644
--- a/core/sys/info/platform_windows.odin
+++ b/core/sys/info/platform_windows.odin
@@ -285,25 +285,26 @@ init_gpu_info :: proc "contextless" () {
context = runtime.default_context()
gpu_list: [dynamic]GPU
- gpu_index: int
- for {
+ // TODO: Use registry APIs to iterate over entries instead of trying 0000..0009.
+ for gpu_index in 0..<10 {
key := fmt.tprintf("%v\\%04d", GPU_INFO_BASE, gpu_index)
+ gpu: ^GPU
if vendor, ok := read_reg_string(sys.HKEY_LOCAL_MACHINE, key, "ProviderName"); ok {
append(&gpu_list, GPU{vendor_name = vendor})
+ gpu = &gpu_list[len(gpu_list) - 1]
} else {
- break
+ continue
}
if desc, ok := read_reg_string(sys.HKEY_LOCAL_MACHINE, key, "DriverDesc"); ok {
- gpu_list[gpu_index].model_name = desc
+ gpu.model_name = desc
}
if vram, ok := read_reg_i64(sys.HKEY_LOCAL_MACHINE, key, "HardwareInformation.qwMemorySize"); ok {
- gpu_list[gpu_index].total_ram = int(vram)
+ gpu.total_ram = int(vram)
}
- gpu_index += 1
}
gpus = gpu_list[:]
}
diff --git a/core/sys/orca/macros.odin b/core/sys/orca/macros.odin
index 60dbdae99..14b270bef 100644
--- a/core/sys/orca/macros.odin
+++ b/core/sys/orca/macros.odin
@@ -1,7 +1,7 @@
-// Implementations of the `Orca` API that are defined as macros in Orca.
-
package orca
+// Implementations of the `Orca` API that are defined as macros in Orca.
+
////////////////////////////////////////////////////////////////////////////////
// Helpers for logging, asserting and aborting.
////////////////////////////////////////////////////////////////////////////////
diff --git a/core/sys/orca/odin.odin b/core/sys/orca/odin.odin
index c59b990cf..bdda9aa5b 100644
--- a/core/sys/orca/odin.odin
+++ b/core/sys/orca/odin.odin
@@ -1,7 +1,7 @@
-// File contains Odin specific helpers.
-
package orca
+// File contains Odin specific helpers.
+
import "base:runtime"
create_odin_logger :: proc(lowest := runtime.Logger_Level.Debug, ident := "") -> runtime.Logger {
diff --git a/core/sys/orca/orca.odin b/core/sys/orca/orca.odin
index abcf42fe2..a36c5fa2a 100644
--- a/core/sys/orca/orca.odin
+++ b/core/sys/orca/orca.odin
@@ -1,3 +1,6 @@
+// Bindings for the Orca platform
+//
+// See: [[ https://orca-app.dev ]]
package orca
import "core:c"