Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
jakoch committed Jul 13, 2024
1 parent 7dc4648 commit fa09f54
Showing 1 changed file with 34 additions and 5 deletions.
39 changes: 34 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## jakoch/rasterizers [![Build on Windows: Mesa llvmpipe](https://github.com/jakoch/rasterizers/actions/workflows/build-mesa.yml/badge.svg?branch=main)](https://github.com/jakoch/rasterizers/actions/workflows/build-mesa.yml) [![Build on Windows: Swiftshader](https://github.com/jakoch/rasterizers/actions/workflows/build-swiftshader.yml/badge.svg?branch=main)](https://github.com/jakoch/rasterizers/actions/workflows/build-swiftshader.yml)

### What is this?
#### What is this?

This repository automates the process of building and releasing ready-to-use
drivers for Windows of two software rasterizers: Mesa's LLVMmpipe and
Expand All @@ -16,10 +16,11 @@ which automates the installation of the Vulkan SDK during GitHub Action CI runs.
By integrating the software rasterizers from this repository,
developers can effectively test their Vulkan software on GitHub Action CI.

The drivers are compiled using GitHub Actions CI, ensuring automated compilation,
and distributed through GitHub Releases, providing a standardized download mechanism for developers.
The drivers are compiled using GitHub Actions CI, ensuring automated
compilation, and distributed through GitHub Releases, providing a standardized
download mechanism for developers.

### What is a Software Rasterizer?
#### 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
Expand All @@ -34,8 +35,36 @@ CPU computations.
LLVM compiler infrastructure to perform rendering tasks on the CPU, offering
a flexible and robust solution for environments lacking dedicated GPU hardware.

### What is Swiftshader?
#### What is Swiftshader?

[Swiftshader](https://github.com/google/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](https://github.com/jakoch/install-vulkan-sdk-action).

According to Mesa's documentation:

> In general, precompiled Mesa libraries are not available.
Referencing [Mesa Documentation on Precompiled Libraries](https://docs.mesa3d.org/precompiled.html).

#### Links

##### Mesa

- Website: https://mesa3d.org
- Documentation: https://docs.mesa3d.org/
- Main Repository: https://gitlab.freedesktop.org/mesa/mesa/
- Demos: https://gitlab.freedesktop.org/mesa/demos

##### Swiftshader

- Main Repository: https://swiftshader.googlesource.com/SwiftShader
- Github Mirror: https://github.com/google/swiftshader

0 comments on commit fa09f54

Please sign in to comment.