Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Ignacio Castaño🍉

@castano@mastodon.gamedev.place
mastodon 4.7.3
  • Open on mastodon.gamedev.place

Master swimmer, mountain climber, and stand up coder.
I work on texture processing tools at Ludicon.
Formerly at Roblox, Thekla (The Witness), NVIDIA, OddWorld, Relic, Crytek.

1374 Followers
395 Following
13 Posts
Joined November 13, 2017
About Me:
https://ludicon.com/castano
Blog:
https://ludicon.com/castano/blog
GitHub:
https://github.com/castano/
strava:
https://www.strava.com/athletes/castano80
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago

Some reading for the weekend:

Implementation details of Apple's lossy texture compression format.
https://www.ludicon.com/castano/blog/2026/04/metal-lossy-compression-format/

Enjoy!

Metal Lossy Compression Format
Ignacio Castaño

Metal Lossy Compression Format

The Apple Lossy compression format was introduced in the A15 and M2 chipsets (which share the same GPU generation) and it enables sampling and rendering to textures with a 1:2 compression ratio. The format is transparent to the application: the GPU handles compression and decompression automatically

56
2
29
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 6mo ago

I thought aliasing buffers and compressed textures in order to write to them was a very bad idea, but after playing with it, it actually seems fine?

https://www.ludicon.com/castano/blog/2026/04/writing-to-compressed-textures-in-metal/

Writing to Compressed Textures in Metal
Ignacio Castaño

Writing to Compressed Textures in Metal

Writing to Compressed Textures in Metal using heap aliasing.

21
11
8
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago

I'm going camping this Thursday, so this week's blog post is out a little early.

Larger ASTC block sizes save bandwidth, but may not save memory at all. I tested many iOS and Android devices to find the actual cost of memory alignment:

https://www.ludicon.com/castano/blog/2026/04/the-true-size-of-astc-textures/

The True Size of ASTC Textures
Ignacio Castaño

The True Size of ASTC Textures

In my previous post Writing to Compressed Textures in Metal, I showed how Metal heaps can be used to alias buffers and textures to inspect their actual memory layout. Something that caught my attention was how much memory is wasted with non-power-of-two textures. On many devices the texture dimensio

14
3
9
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago
Replying to
@TomF@mastodon.gamedev.place I’ve had many torn pulleys, but not a single wrist problem since I started climbing. I used to have carpal tunnel syndrome back in the day.
1
3
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago
Replying to
@nickappleton@mastodon.gamedev.place @rygorous@mastodon.gamedev.place I distribute shader source code, because there’s no other viable way to redistribute shader libraries (outside of metal). I heavily process that code, amalgamate all the sources, strip comments, and run a custom preprocessor that preserves some preprocessor directives, and eliminates others. I use it to eliminate shader variants that are experimental or for development only. The whole system is bit janky, but I’m not sure how to improve it given my limited resources.
1
1
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago
Replying to
@TomF@mastodon.gamedev.place right? Wish I could talk to some of those hw engineers.
1
0
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago
Replying to
@keiwando@mastodon.gamedev.place @StompyRobot@mastodon.gamedev.place Thanks! Someone at Apple reached out to bump the priority. I'll try calling next if I don't see any progress in spite of that.
1
0
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 6mo ago
Replying to
@thesolidpixel@mastodon.gamedev.place @rygorous@mastodon.gamedev.place @breakin@mastodon.gamedev.place Yeah, my main concern is the driver making different tiling decisions at runtime or after os/driver updates. I'll have to play with it some more, but I think it's worth offering it as an option if I don't run into problems. In Vulkan resource casting already provides most of the benefit, and aliasing is more complex due to device fragmentation, but I think that's the kind of complexity I can absorb if it makes a difference.
1
0
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 6mo ago
Replying to
@rygorous@mastodon.gamedev.place My inclination would be to only enable this on known existing devices. Future devices will certainly change, but it’d be good to get some guarantees about devices that are already out.
1
5
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 6mo ago
Replying to
@rygorous@mastodon.gamedev.place yeah, would love IHVs to chime in and comment whether there any pitfalls like that in their hardware, otherwise I guess I’ll find out the hard way.
1
7
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 14mo ago
Replying to
@EricLengyel Are you going to be showing it at siggraph?
0
2
0
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago

Looks like I'm locked out of both Apple and Google's developer programs.

I let my memberships lapse while dealing with more pressing things, and now I'm trying to restore them, but my Apple account is locked and Google is rejecting my re-enrollment with no explanation.

I opened a support request with Apple two weeks ago and haven't heard nothing. I can't even figure out how to open one with Google.

Does anybody know what avenues I have to resolve this?

0
4
7
0
Open post
Ignacio Castaño🍉 @castano@mastodon.gamedev.place
· 5mo ago
Replying to
@NohatCoder@mastodon.gamedev.place Sigh, counting is hard.
0
1
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 04:09:23 UTC