July 25, 2019
Here's an overview of the recent changes in Zink since the previous post, as well as an exciting announcement!
OK, so I haven't been as good at making frequent updates on as I was hoping, but let's try to make up for it:
Since last time, there's quite a lot of things that has been resolved:
gl_FrontFacinghas been implemented.
gl_PointSizehas been implemented. This means you can use
glPointSize()to specify sizes instead of having to write the
gl_PointSize-output from the vertex shader.
gl_FragDepthhas been implemented.
flatinterpolation qualifiers. This still doesn't give us the right result, because Vulkan only supports the first vertex as the provoking vertex, and OpenGL defaults to the last one. To resolve this in a reasonable way, we need to inject a geometry shader that reorders the vertices, but this hasn't been implemented yet. You can read more about this in this ticket.
In addition to this, there's been a pretty significant rewrite, changing the overall design of Zink. The reason for this, was that I made some early design-mistakes, and after having piled a bit too many features on top of this, I decided that it would be better to get the fundamentals right first.
Sadly, not all features have been brought forward since the rewrite, so we're currently back to OpenGL 2.1 support. Fixing this is on my list of things I want to do, but I suspect that cleaning things up and upstreaming will take presedence over OpenGL 3.0 support.
And just to give you something neat to look at, here's Blender running using Zink:
The talk will be a slightly less tech-heavy introduction to Zink, what it does and what the future holds. It will focus more on the motivation and use cases than the underlying technical difficulties compared to my previous talks.
So, if you're in the area please drop by! A conference pass is not required to attend the BoF, as it's not part of the official SIGGRAPH program
Visit Erik's blog.
A step-by-step guide on how to enable 3D acceleration of Vulkan applications in QEMU through the new Venus experimental Vulkan driver for…
Maintaining a non-trivial set of GStreamer patches can be tricky. Thanks to the recent move to a single, unified git repo, you can now easily…
Earlier this year, I joined Collabora as an intern to work on improving testing in libcamera and automating it through KernelCI. Having…
With the LLVM toolchain seeing increasing development and adoption alongside the older, more established GNU toolchain, projects needing…
This summer, Christoph Haag and I had the pleasure of taking part in Google Summer of Code as mentors for xrdesktop, the Open Source project…
Earlier this year, from January to April 2021, I worked on adding support for stateless decoders for GStreamer as part of a multimedia internship…