godot/core/io
Juan Linietsky 71d21c7ccb Implement basic ASTC support
Implements basic ASTC support:
* Only 4x4 and 8x8 block sizes.
* Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future.

The need for ASTC is mostly for the following use cases:
* Implement a high quality compression option for textures on mobile and M1 Apple hardware.
* For this, the 4x4 is sufficient, since it uses the same size as BPTC.

ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high.
Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing.

Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-20 11:26:30 +01:00
..
compression.cpp Vectors: Use clear() and has(). 2022-02-02 00:11:09 +05:45
compression.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
config_file.cpp Add support for scene/resource customization in export plugins 2022-09-01 11:16:00 +02:00
config_file.h Add support for scene/resource customization in export plugins 2022-09-01 11:16:00 +02:00
dir_access.cpp Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
dir_access.h Additional fixes to the Android get_current_dir() implementation. 2022-08-30 10:04:12 -07:00
dtls_server.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
dtls_server.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
file_access_compressed.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_compressed.h Add override keywords to FileAccess derived classes 2022-08-02 16:35:15 +01:00
file_access_encrypted.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_encrypted.h Add override keywords to FileAccess derived classes 2022-08-02 16:35:15 +01:00
file_access_memory.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
file_access_memory.h Add override keywords to FileAccess derived classes 2022-08-02 16:35:15 +01:00
file_access_network.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_network.h Add override keywords to FileAccess derived classes 2022-08-02 16:35:15 +01:00
file_access_pack.cpp Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
file_access_pack.h Add override keywords to DirAccess derived classes 2022-08-02 16:39:44 +01:00
file_access_zip.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_zip.h Add override keywords to FileAccess derived classes 2022-08-02 16:35:15 +01:00
file_access.cpp Add FileAccess::get_access_type() 2022-08-24 20:06:34 +02:00
file_access.h Add FileAccess::get_access_type() 2022-08-24 20:06:34 +02:00
http_client_tcp.cpp [Web] Rename JavaScript platform to Web. 2022-08-29 11:52:00 +02:00
http_client_tcp.h [Net] Non-blocking request in HTTPClientTCP. 2022-02-03 02:45:30 +01:00
http_client.cpp Verify custom HTTP headers, fix off by one error 2022-01-27 03:22:37 +01:00
http_client.h Verify custom HTTP headers, fix off by one error 2022-01-27 03:22:37 +01:00
image_loader.cpp Make ImageLoader take bit field flags 2022-08-23 14:39:01 +03:00
image_loader.h Make ImageLoader take bit field flags 2022-08-23 14:39:01 +03:00
image.cpp Implement basic ASTC support 2022-12-20 11:26:30 +01:00
image.h Implement basic ASTC support 2022-12-20 11:26:30 +01:00
ip_address.cpp Cleanup and move char functions to the char_utils.h header. 2022-02-04 11:35:01 +02:00
ip_address.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
ip.cpp Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
ip.h Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
json.cpp Make JSON methods static 2022-08-16 14:29:38 +02:00
json.h Make JSON methods static 2022-08-16 14:29:38 +02:00
logger.cpp Variant memory pools 2022-07-04 12:01:46 +01:00
logger.h Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
marshalls.cpp Fix a minor bug in the Projection binary decode logic 2022-09-01 11:07:01 -05:00
marshalls.h Fixed variant decoding Segmentation Fault 2022-02-14 23:04:05 +03:00
missing_resource.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
missing_resource.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
net_socket.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
net_socket.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
packed_data_container.cpp Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript 2022-08-08 16:36:01 +03:00
packed_data_container.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
packet_peer_dtls.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
packet_peer_dtls.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
packet_peer_udp.cpp [Net] Drop is_connected_to_host for TCP and UDP. 2022-03-27 16:36:44 +02:00
packet_peer_udp.h [Net] Drop is_connected_to_host for TCP and UDP. 2022-03-27 16:36:44 +02:00
packet_peer.cpp Simplify network GDExtension bindings using EXBIND macros. 2022-09-01 19:10:22 +02:00
packet_peer.h Simplify network GDExtension bindings using EXBIND macros. 2022-09-01 19:10:22 +02:00
pck_packer.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
pck_packer.h Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
resource_format_binary.cpp Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
resource_format_binary.h Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
resource_importer.cpp Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
resource_importer.h Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
resource_loader.cpp Merge pull request #63632 from dsnopek/fix-locale-remap-with-binary-resources-4.x 2022-08-08 20:03:23 +02:00
resource_loader.h Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
resource_saver.cpp fix arg naming in ResourceFormatLoader extension 2022-08-24 06:49:03 -04:00
resource_saver.h Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
resource_uid.cpp Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
resource_uid.h Code quality: Fix header guards consistency 2022-07-25 11:17:40 +02:00
resource.cpp Drop obsolete resource usage debug methods from OS class 2022-08-29 12:57:37 +02:00
resource.h Drop obsolete resource usage debug methods from OS class 2022-08-29 12:57:37 +02:00
SCsub
stream_peer_ssl.cpp Add StreamPeerSSL.get_stream() accessor. 2022-05-25 12:43:19 -07:00
stream_peer_ssl.h Add StreamPeerSSL.get_stream() accessor. 2022-05-25 12:43:19 -07:00
stream_peer_tcp.cpp [Net] Fix StreamPeerTCP accepted status. 2022-05-04 20:13:32 +02:00
stream_peer_tcp.h Merge pull request #59582 from Faless/net/4.x_tcp_explicit_poll 2022-04-27 13:56:58 +02:00
stream_peer.cpp Simplify network GDExtension bindings using EXBIND macros. 2022-09-01 19:10:22 +02:00
stream_peer.h Simplify network GDExtension bindings using EXBIND macros. 2022-09-01 19:10:22 +02:00
tcp_server.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
tcp_server.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
translation_loader_po.cpp Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
translation_loader_po.h Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
udp_server.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
udp_server.h Zero initialize all pointer class and struct members 2022-04-04 19:49:50 +02:00
xml_parser.cpp Implement XMLParser.get_current_line() 2022-07-05 01:23:04 +02:00
xml_parser.h Implement XMLParser.get_current_line() 2022-07-05 01:23:04 +02:00
zip_io.cpp Fix ZipIO crash when reused (and possible leaks). 2022-05-11 16:08:17 +03:00
zip_io.h Fix ZipIO crash when reused (and possible leaks). 2022-05-11 16:08:17 +03:00