Vulkan conditional rendering

Introduction Note: Source code that demonstrates this feature can be found in this new example at my open source C++ Vulkan examples repository. With the new VK_EXT_conditional_rendering extension, Vulkan gains the possibility to execute certain rendering and dispatch commands conditionally, based on values stored in a dedicated buffer. So instead of having to rebuild command buffers if the visibility of objects change, it’s now to possible to just change a single buffer value to control if the rendering commands for that object are executed without the need to touch any command buffers. [Read More]

Vulkan input attachments and sub passes

Introduction I have added a new example to my open source C++ Vulkan examples that demonstrates the use of input attachments and subpasses within a single render pass. Input attachments are image views that can be used for pixel local load operations inside a fragment shader. This basically means that framebuffer attachments written in one subpass can be read from at the exact same pixel (that they have been written) in subsequent subpasses. [Read More]

Multiview rendering in Vulkan using VK_KHR_multiview

I have added a new example to my open source C++ Vulkan examples that demonstrates the use of multiview rendering. Multiview enables rendering to multiple views simultaneously instead of having to use multiple passes. Esp. with stereoscopic rendering (e.g. for VR related applications) there’s usually little change between two views, like different matrices, and having to do multiple passes for such small differences is inefficient. With multiview an implementation can now render different views simultaneously in a single pass and the Vulkan extension even adds hints for the implementation to even further improve performance (see correlation mask down below). [Read More]

OpenGL hardware database overhaul

After reworking the OpenGL ES hardware database some time ago (which was in dire need of an update to be usable again) I have also released a substantial update to the OpenGL hardware database. Server-side processing Biggest change is the use of server-side processing (as with the Vulkan and OpenGL ES databases), so gone are the days where each request to the report listing page would fetch all reports at once, and had the client do the heavy lifting, resulting in a long delay before any filtering or sorting could be done. [Read More]

OpenGL ES database ES 3.1 and 3.2 support, capability listing pages

After the recent overhaul I now also have added support for OpenGL ES 3.1 and 3.2 to the OpenGL ES hardware database and the Android app. Both versions added lots of new capabilities that have been lacking from the client application and database, so even though there are lots of reports for OpenGL ES 3.1 and 3.2 those only contain capabilities up to OpenGL ES 3.0. GLES 3.1 brought compute shaders, GLES 3. [Read More]

OpenGL ES CapsViewer updated to 0.6

I have released update 0.6 for the OpenGL ES CapsViewer.

Changelog :

  • Added OpenGL ES 3.2 capabilities (if supported by device)
  • Added OpenGL ES 3.1 capabilities (if supported by device)
  • Minor bugfixes

The update should be automatically installed, and if you’ve submitted a device where 0.2 reported a wrong OpenGL ES version, please feel free to resubmit it.

OpenGL ES hardware database overhaul

I finally found some time to overhaul the OpenGL ES hardware database. I admittedly neglected my OpenGL databases in recent years (mainly due to Vulkan ® and a severe lack of spare time), and especially the OpenGL ES one was in dire need of an overhaul and a cleanup. So I spent a few days fixing lots of problems (both technical and data-related) as well as getting it (mostly) on par with the Vulkan hardware database and the changes are now live. [Read More]

Vulkan 1.1 is here

A bit later than initially planned Vulkan 1.1 was released to the public yesterday, as usual with day-one driver support by most of the IHVs. Vulkan 1.1 promoted several extension to the core and also adds interesting new functionality like vendor independent subgroup operations. You can get all the details at the Khronos Vulkan landing page. Note that all my open source examples, demos and applications will work fine with Vulkan 1. [Read More]
vulkan