Shell command injection and Emacs Lisp injection vulnerabilities| /dev/posts/
A few months have passed since New Responsibilities was posted, so I thought I would provide an update.| /bɑs ˈtjɛ̃ no ˈse ʁɑ/ (hadess) | News
Just about a year after the original announcement, I think it's time to see the progress on power-profiles-daemon.| /bɑs ˈtjɛ̃ no ˈse ʁɑ/ (hadess) | News
Despite what this might look like, I don't actually enjoy starting new projects: it's a lot easier to clean up some build warnings, or add a CI, than it is to start from an empty directory.| /bɑs ˈtjɛ̃ no ˈse ʁɑ/ (hadess) | News
*reality TV show deep voice guy*| /bɑs ˈtjɛ̃ no ˈse ʁɑ/ (hadess) | News
In the previous post I gave an introduction to shader linking. Mike has already blogged about this topic a while ago, focusing mostly on Zink, and now it’s time for me to share some of my adventures about it too, but of course focusing on how we improved it in RADV and the various rabbit holes that this work has lead me to.| Timur’s blog
Shader linking is one of the more complicated topics in graphics driver development. It is both a never ending effort in the pursuit of performance and a black hole in which driver developers disappear. In this post, I intend to give an introduction to what shader linking is and why it’s worth spending our time working on it in general.| Timur’s blog
This is a long-awaited update to the previous mesh shading related posts. RDNA3 brings many interesting improvements to the hardware which simplify how mesh shaders work.| Timur’s blog
Mesh and task shaders (amplification shaders in D3D jargon) are a new way to process geometry in 3D applications. First proposed by NVidia in 2018 and initially available in the “Turing” series, they are now supported on RDNA2 GPUs and are part of the D3D12 API. There is also an extension in Vulkan (and a vendor-specific one in OpenGL). This post is about what mesh shadig is and next time I’m going to talk about how mesh/task shaders are implemented on the driver side.| Timur’s blog
MIME-type spoofing in Firefox/Thunderbird and file managers| www.gabriel.urdhr.fr
Code execution through MIME-type association of Mono interpreter| www.gabriel.urdhr.fr
Argument and shell command injections in browser invocation| www.gabriel.urdhr.fr
September 1 was a big day! The official cross-vendor Vulkan mesh shading extension that I teased a while ago, has now been officially released. This is a significant moment for me because I’ve spent considerable time making the RADV implementation and collaborated with some excellent people to help shape this extension in Khronos.| Timur’s blog
Previously, I gave you an introduction to mesh/task shaders and wrote up some details about how mesh shaders are implemented in the driver. But I left out the important details of how task shaders (aka. amplification shaders) work in the driver. In this post, I aim to give you some details about how task shaders work under the hood. Like before, this is based on my experience implementing task shaders in RADV and all details are already public information.| Timur’s blog
In the previous post I gave a brief introduction on what mesh and task shaders are from the perspective of application developers. Now it’s time to dive deeper and talk about how mesh shaders are implemented in a Vulkan driver on AMD HW. Note that everything I discuss here is based on my experience and understanding as I was working on mesh shader support in RADV and is already available as public information in open source driver code. The goal of this blog post is to elaborate on how mesh...| Timur’s blog