From fa09f54da205f77be1dd4ac07c151b17e8adb681 Mon Sep 17 00:00:00 2001 From: "Jens A. Koch" Date: Sat, 13 Jul 2024 16:15:45 +0200 Subject: [PATCH] update readme --- README.md | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 689c039..83737e3 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 @@ -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