From 4247ba67ed83a16c321363cdf8260f71826325ca Mon Sep 17 00:00:00 2001 From: hanabi1224 Date: Mon, 18 Apr 2022 15:24:54 +0800 Subject: [PATCH 1/4] Fix bugs in core:container/lru --- core/container/lru/lru_cache.odin | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/core/container/lru/lru_cache.odin b/core/container/lru/lru_cache.odin index f8e6f7b46..81f0142b0 100644 --- a/core/container/lru/lru_cache.odin +++ b/core/container/lru/lru_cache.odin @@ -60,6 +60,8 @@ clear :: proc(c: ^$C/Cache($Key, $Value), call_on_remove: bool) { set :: proc(c: ^$C/Cache($Key, $Value), key: Key, value: Value) -> runtime.Allocator_Error { if e, ok := c.entries[key]; ok { e.value = value + _pop_node(c, e) + _push_front_node(c, e) return nil } @@ -67,10 +69,14 @@ set :: proc(c: ^$C/Cache($Key, $Value), key: Key, value: Value) -> runtime.Alloc e.key = key e.value = value - _push_front_node(c, e) - if c.count > c.capacity { + assert(c.count <= c.capacity) + if c.count == c.capacity { _remove_node(c, c.tail) } + else { + c.count += 1 + } + _push_front_node(c, e) c.entries[key] = e return nil @@ -122,6 +128,7 @@ remove :: proc(c: ^$C/Cache($Key, $Value), key: Key) -> bool { return false } _remove_node(c, e) + c.count -= 1 return true } @@ -143,8 +150,6 @@ _remove_node :: proc(c: ^$C/Cache($Key, $Value), node: ^Node(Key, Value)) { node.prev = nil node.next = nil - c.count -= 1 - delete_key(&c.entries, node.key) _call_on_remove(c, node) @@ -171,8 +176,6 @@ _push_front_node :: proc(c: ^$C/Cache($Key, $Value), e: ^Node(Key, Value)) { c.tail = e } e.prev = nil - - c.count += 1 } @(private) @@ -180,6 +183,12 @@ _pop_node :: proc(c: ^$C/Cache($Key, $Value), e: ^Node(Key, Value)) { if e == nil { return } + if c.head == e { + c.head = e.next + } + if c.tail == e { + c.tail = e.prev + } if e.prev != nil { e.prev.next = e.next } From 7428e5226426d1d19601d5b557c3df51db233857 Mon Sep 17 00:00:00 2001 From: Tetralux Date: Thu, 14 Apr 2022 16:53:48 +0000 Subject: [PATCH 2/4] Duplicate some basic slice procedures from core:mem into core:slice --- core/slice/slice.odin | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/core/slice/slice.odin b/core/slice/slice.odin index 520e3e1e0..b8fb29ab3 100644 --- a/core/slice/slice.odin +++ b/core/slice/slice.odin @@ -10,6 +10,53 @@ _ :: builtin _ :: bits _ :: mem +/* + Turn a pointer and a length into a slice. +*/ +from_ptr :: proc "contextless" (ptr: ^$T, count: int) -> []T { + return ([^]T)(ptr)[:count] +} + +/* + Turn a pointer and a length into a byte slice. +*/ +bytes_from_ptr :: proc "contextless" (ptr: rawptr, byte_count: int) -> []byte { + return ([^]byte)(ptr)[:byte_count] +} + +/* + Turn a slice into a byte slice. + + See `slice.reinterpret` to go the other way. +*/ +to_bytes :: proc "contextless" (s: []$T) -> []byte { + return ([^]byte)(raw_data(s))[:len(s) * size_of(T)] +} + +/* + Turn a slice of one type, into a slice of another type. + + Only converts the type and length of the slice itself. + The length is rounded down to the nearest whole number of items. + + ``` + large_items := []i64{1, 2, 3, 4} + small_items := slice.reinterpret([]i32, large_items) + assert(len(small_items) == 8) + ``` + ``` + small_items := []byte{1, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0} + large_items := slice.reinterpret([]i64, small_items) + assert(len(large_items) == 1) // only enough bytes to make 1 x i64; two would need at least 8 bytes. + ``` +*/ +reinterpret :: proc "contextless" ($T: typeid/[]$U, s: []$V) -> []U { + bytes := to_bytes(s) + n := len(bytes) / size_of(U) + return ([^]U)(raw_data(bytes))[:n] +} + swap :: proc(array: $T/[]$E, a, b: int) { when size_of(E) > 8 { From df4a0c62add28af74ac8c926b3a6e0612296ccd1 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Mon, 18 Apr 2022 19:10:53 +0200 Subject: [PATCH 3/4] Delete accidentally added test artefact. --- tests/core/encoding/varint/varint | Bin 308984 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 tests/core/encoding/varint/varint diff --git a/tests/core/encoding/varint/varint b/tests/core/encoding/varint/varint deleted file mode 100755 index 1e982544582db7a8f719d5229759a019afa45103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308984 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 Date: Mon, 18 Apr 2022 23:28:34 +0200 Subject: [PATCH 4/4] [image/tga] Writer for RGB(A) 8-bit images. --- core/image/common.odin | 14 ++++++ core/image/tga/tga.odin | 103 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 core/image/tga/tga.odin diff --git a/core/image/common.odin b/core/image/common.odin index 2e7bca17e..8c77ec48a 100644 --- a/core/image/common.odin +++ b/core/image/common.odin @@ -320,6 +320,20 @@ QOI_Info :: struct { header: QOI_Header, } +TGA_Header :: struct #packed { + id_length: u8, + color_map_type: u8, + data_type_code: u8, + color_map_origin: u16le, + color_map_length: u16le, + color_map_depth: u8, + origin: [2]u16le, + dimensions: [2]u16le, + bits_per_pixel: u8, + image_descriptor: u8, +} +#assert(size_of(TGA_Header) == 18) + // Function to help with image buffer calculations compute_buffer_size :: proc(width, height, channels, depth: int, extra_row_bytes := int(0)) -> (size: int) { size = ((((channels * width * depth) + 7) >> 3) + extra_row_bytes) * height diff --git a/core/image/tga/tga.odin b/core/image/tga/tga.odin new file mode 100644 index 000000000..3c860cb62 --- /dev/null +++ b/core/image/tga/tga.odin @@ -0,0 +1,103 @@ +/* + Copyright 2022 Jeroen van Rijn . + Made available under Odin's BSD-3 license. + + List of contributors: + Jeroen van Rijn: Initial implementation. +*/ + + +// package tga implements a TGA image writer for 8-bit RGB and RGBA images. +package tga + +import "core:mem" +import "core:image" +import "core:compress" +import "core:bytes" +import "core:os" + +Error :: image.Error +General :: compress.General_Error +Image :: image.Image +Options :: image.Options + +RGB_Pixel :: image.RGB_Pixel +RGBA_Pixel :: image.RGBA_Pixel + +save_to_memory :: proc(output: ^bytes.Buffer, img: ^Image, options := Options{}, allocator := context.allocator) -> (err: Error) { + context.allocator = allocator + + if img == nil { + return .Invalid_Input_Image + } + + if output == nil { + return .Invalid_Output + } + + pixels := img.width * img.height + if pixels == 0 || pixels > image.MAX_DIMENSIONS || img.width > 65535 || img.height > 65535 { + return .Invalid_Input_Image + } + + // Our TGA writer supports only 8-bit images with 3 or 4 channels. + if img.depth != 8 || img.channels < 3 || img.channels > 4 { + return .Invalid_Input_Image + } + + if img.channels * pixels != len(img.pixels.buf) { + return .Invalid_Input_Image + } + + written := 0 + + // Calculate and allocate necessary space. + necessary := pixels * img.channels + size_of(image.TGA_Header) + + if !resize(&output.buf, necessary) { + return General.Resize_Failed + } + + header := image.TGA_Header{ + data_type_code = 0x02, // Color, uncompressed. + dimensions = {u16le(img.width), u16le(img.height)}, + bits_per_pixel = u8(img.depth * img.channels), + image_descriptor = 1 << 5, // Origin is top left. + } + header_bytes := transmute([size_of(image.TGA_Header)]u8)header + + copy(output.buf[written:], header_bytes[:]) + written += size_of(image.TGA_Header) + + /* + Encode loop starts here. + */ + if img.channels == 3 { + pix := mem.slice_data_cast([]RGB_Pixel, img.pixels.buf[:]) + out := mem.slice_data_cast([]RGB_Pixel, output.buf[written:]) + for p, i in pix { + out[i] = p.bgr + } + } else if img.channels == 4 { + pix := mem.slice_data_cast([]RGBA_Pixel, img.pixels.buf[:]) + out := mem.slice_data_cast([]RGBA_Pixel, output.buf[written:]) + for p, i in pix { + out[i] = p.bgra + } + } + return nil +} + +save_to_file :: proc(output: string, img: ^Image, options := Options{}, allocator := context.allocator) -> (err: Error) { + context.allocator = allocator + + out := &bytes.Buffer{} + defer bytes.buffer_destroy(out) + + save_to_memory(out, img, options) or_return + write_ok := os.write_entire_file(output, out.buf[:]) + + return nil if write_ok else General.Cannot_Open_File +} + +save :: proc{save_to_memory, save_to_file} \ No newline at end of file