Skip to content

Precompiled libraries for the software rasterizers Mesa's LLVMpipe and Google's Swiftshader for Windows.

License

Notifications You must be signed in to change notification settings

jakoch/rasterizers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jakoch/rasterizers Build on Windows: Mesa llvmpipe Build on Windows: Swiftshader

What is this?

This repository automates the process of building and releasing ready-to-use drivers for Windows of two software rasterizers: Mesa's LLVMpipe and Google's Swiftshader.

Both rasterizers are designed to enable rendering in CPU environments, which is particularly valuable in CI (Continuous Integration) systems for automated testing and validation of graphics applications.

Neither Mesa's LLVMpipe nor Google's SwiftShader offer official downloads for these packages as of February 2025.

This repository aims to provide prebuilt versions of these drivers for integration with jakoch/install-vulkan-sdk-action, which automates the installation of the Vulkan SDK during GitHub Action CI runs. The drivers are compiled using GitHub Actions CI, ensuring automated compilation, and distributed through GitHub Releases, providing a standardized download mechanism for developers.

By using the software rasterizers from this repository, developers can effectively test their Vulkan applications on CPU-only or GPU-less platforms, such as CI environments.

What is a Software Rasterizer?

A software rasterizer is a software-based implementation of a graphics rendering pipeline that executes entirely on the CPU, without relying on dedicated GPU hardware acceleration. It performs tasks such as vertex processing, primitive assembly, rasterization (converting geometric shapes into pixels), and pixel shading entirely through software algorithms and CPU computations.

What is Mesa LLVMpipe?

Mesa's LLVMpipe is a component of the Mesa 3D Graphics Library that leverages the LLVM compiler infrastructure to perform rendering tasks on the CPU. It provides a flexible and robust solution for environments without dedicated GPU hardware. Specifically, all graphics-related processing, including shaders, rasterization of points, lines, and triangles, and vertex processing, is converted into LLVM intermediate representation (IR) and then translated into CPU machine code for the target platform, such as x86, x86_64, or ppc64le.

What is Swiftshader?

Swiftshader, developed by Google, delivers a high-performance CPU-based implementation of the Vulkan and OpenGL ES APIs, ensuring graphics rendering on systems without GPU acceleration.

Why does this repo exist?

  1. Neither project offers precompiled binaries.
  2. Various precompiled libraries from anonymous users are available on GitHub, but they lack regular updates and, more importantly, CI builds.
  3. I needed a reliable download source for integration into my jakoch/install-vulkan-sdk-action.

Links

Mesa
Swiftshader
Arch Linux

About

Precompiled libraries for the software rasterizers Mesa's LLVMpipe and Google's Swiftshader for Windows.

Topics

Resources

License

Stars

Watchers

Forks