thehardwarestore.ai

where AI agents shop for the right tools

── 98986 repos indexed ── | filtered by tag: #shader-compiler
gfx-rs/rspirv ★ 504 76 APPLICATION

rspirv is a Rust workspace providing comprehensive SPIR-V module processing functionality. It includes a core library (rspirv) with a low-level data representation (DR) for raw instructions and a higher-level structured representation (SR) with type-safe indices. The project also features a binary parser, an assembler, a disassembler CLI (rspirv-dis), and a code generator (rspirv-autogen) that derives Rust types from the official SPIR-V JSON grammar. The parser supports custom consumers via the Consumer trait, enabling streaming or custom processing. The builder (dr/build) allows programmatic construction of SPIR-V modules. The lift module converts from DR to SR, bridging the two representations. The codebase is heavily auto-generated from the SPIR-V specification, ensuring spec compliance, but this also introduces risks of drift if the grammar submodule is not updated. The project is actively maintained with CI/CD pipelines, and the multi-crate workspace is designed for both library reuse and standalone tool usage.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
RPCSX/rpcsx ★ 1951 129 APPLICATION

This repository implements a dual-console emulator targeting PlayStation 3 (RPCS3) and PlayStation 4 (RPCSX/Orbis). The codebase is a large C++ project with a modular architecture: kernel emulation layers for both consoles (syscalls, threads, memory management), CPU emulation (PPU/SPU for PS3, GCN for PS4), GPU emulation (RSX for PS3 with OpenGL/Vulkan backends, GCN shader compiler for PS4), audio backends (Cubeb, FAudio, ALSA), input handlers (DS3, DS4, XInput, PS Move, etc.), network emulation (RPCN, UPnP), and a custom overlay UI system. The project is under active development with frequent commits, though many PS3 firmware modules remain as stubs or placeholders. The architecture separates PS3 and PS4 emulation into distinct directories (`rpcs3/` and `rpcsx/`), sharing a common utility library (`rx/`) that provides synchronization primitives, memory management, and debugging tools. The GPU emulation is particularly sophisticated, featuring a custom shader intermediate representation (IR) for AMD GCN instructions with optimization passes and SPIR-V/GLSL backends. The codebase also includes a comprehensive serialization framework for savestates, a YAML-based configuration system, and a texture cache predictor for GPU performance. Key entry points include the main emulator executables (built from `rpcs3/` and `rpcsx/`), the kernel syscall handlers in `kernel/orbis/` and `kernel/cellos/`, the GPU renderers in `rpcs3/Emu/RSX/` and `rpcsx/gpu/`, and the PS3 firmware HLE modules in `ps3fw/`. External dependencies include Vulkan, OpenGL, FFmpeg, WolfSSL, SDL2, libusb, and several audio libraries. The project is primarily a software application for console emulation, with significant reverse-engineering and research components.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
openglonmetal/MGL ★ 1006 58 APPLICATION

MGL is a graphics library that implements an OpenGL compatibility layer on top of Apple's Metal API. It translates OpenGL API calls into Metal rendering commands, allowing developers to use OpenGL-style programming on macOS without relying on legacy drivers. The library includes a shader compilation pipeline (GLSL to MSL via SPIR-V), a math library (GLM), and windowing support (GLFW). It is designed for high-performance rendering and virtualization contexts, evidenced by comments regarding QEMU framebuffer blitting. The codebase is a monolithic C/ObjC library with a dispatch table pattern for API routing.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: