Improving Vulkan graphics state tracking in Mesa

Notes from kernel hacking in Hare, part 1

Game Emulation via Neural Network

Issue #270



Good morning/afternoon/evening
Thanks to Luka and Nick for sending me information on git rewrites. They mentioned go-git, libgit2, and gitoxide.
Came across this neat list of questions you can ask your potential employer when interviewing for a job.
I like this kind of ecosystem analysis for a language (in this case Clojure). It's a very cool way to get a quick idea of what language features might be worth checking out.
I also shared the newsletter on hacker news. I'd appreciate an upvote if you have a minute (it might be on the second page, with the title "Show HN: A daily newsletter of software deep-dives with key highlights ". Click the link first, then upvote it please).
Hope you all have a lovely weekend and here's the issue.


Improving Vulkan graphics state tracking in Mesa

Published: 7 September 2022
Tags: gpu

Vulkan is a low-overhead, cross-platform API, open standard for 3D graphics and computing that can run both on GPUs and CPUs. In this article, Jason Ekstrand describes the theoretical mental model for how Vulkan works, then goes on to highlight problems introduced by the real world and how they've been solved.
Some highlights:

  • State affects shader compilation
  • States can be packed together, which becomes a problem when multiple, mostly unrelated, states are in the same command or MMIO register with no ability to set them separately
  • Indirect state poses many of the same problems as combined states mentioned above only its worse because suddenly everything needs to be delayed until draw time
  • Pipeline linking poses many of the same state problems
  • To help drivers sort all this out, a common Vulkan graphics state tracking framework in Mesa was recently released which contains a set of structs for gathering graphics pipeline state as well as managing dynamic graphics state


Notes from kernel hacking in Hare, part 1

Published: 7 September 2022
Tags: hare

Drew DeVault shows how the Hare programming language can be used to provide a micro-kernel with information about the system during startup.
Some highlights:

  • General tasks for a micro-kernel during system initialization: "load the initial task into memory, prepare the initial set of kernel objects for its use, provide it with information about the system, then jump to userspace and fuck off until someone needs it again"


Game Emulation via Neural Network

Published: 5 September 2022
Tags: games, machine learning

Ollin Boer Bohan trained a neural network to mimic a Pokémon game.
Some highlights:

  • Neural net was trained with labeled video frames of "Let's play" videos (labels were movement controls)
  • Networks may be too weak to represent the full input→output relationship described by the dataset (even if we find the best-possible parameters), due to lack of neurons
  • Networks can require more information than is initially provided to create desired results
  • A network can’t read our mind to learn about input→output requirements we omitted from the dataset
  • Ultimately this whole thing is an exercise in getting a neural net to reverse engineer the cause and effects of a computer program

How did I do?

1 2 3 4 5


Want to help and get cool stuff?

Thank you for reading! If you enjoy the newsletter, I would really appreciate you helping me spread the word by forwarding this to your friends and colleagues or sharing it on social media! Get cool stuff for your referrals using your link or the buttons below.

Your referrals:

If you want to discuss or comment on this issue, head on over to this page at A Byte of Coding. You can also subscribe there if you're new!

Have comments or feedback? Just reply to this email or hit me up on Twitter @AByteOfCoding.

Email landed in your promotions tab? Please move it over to primary so you don't miss the latest issues in the future.
Thanks for your Support! 

Thanks to sponsors and supporters like Євген Грицай, Scott Munro, zturak, pek, Emil Hannesbo, Joe Hill, Astrid Sapphire, Gregory Mazzola, moki scott, Michael, Matt Braun, Tim Nash, Christoffer, and Mike Rhodes this newsletter is provided to you for free. If you'd like to also show your support and buy me a monthly meal, you can donate on the Patreon page. It's not necessary, but it lets me know that I'm doing a good job and that you're finding value in the content.

Stats (updated daily)

Sent: 2955

Opens: 1502

Clicks: 1015

Link Clicks Clicks % Unique Clicks Unique Clicks %
Improving Vulkan graphics state tracking in Mesa 44 25.00% 93 29.81
Notes from kernel hacking in Hare, part 1 66 37.50% 108 34.62
Game Emulation via Neural Network 66 37.50% 111 35.58


Back to Issues