S

Shaderc VkRunner (GPU Shader Sandbox)

VkRunner is a Vulkan shader testing tool based on Piglit's shader_runner, aiming to support test scripts as similar as possible to Piglit's shader_test format. It supports writing shaders in GLSL or SPIR-V and provides a rich set of test commands to verify shader behavior, including drawing, computing, and probe detection functions.
2.5 points
9

What is VkRunner?

VkRunner is a tool for testing Vulkan shaders by executing test scripts similar to Piglit's shader_test format. It allows developers to verify shader functionality through drawing operations and color probes.

How to use VkRunner?

VkRunner requires glslangValidator for GLSL-to-SPIR-V compilation. Tests are written in a script format with sections for shaders, vertex data, and test commands like draw operations and color probes.

Use Cases

Ideal for Vulkan developers needing to test shader functionality, verify rendering outputs, or validate SPIR-V compilation results across different hardware/drivers.

Key Features

Shader TestingSupports testing vertex, fragment, and compute shaders through drawing operations and compute dispatches.
SPIR-V SupportCan test shaders provided as either GLSL source (compiled to SPIR-V) or pre-compiled SPIR-V assembly.
Buffer ManagementProvides commands for managing uniform buffers (UBO), storage buffers (SSBO) and push constants.
Pipeline ConfigurationAllows detailed configuration of graphics pipeline state including blend modes, depth testing, and stencil operations.

Pros and Cons

Advantages
Compatible with Piglit's shader_test format for easier migration
Supports both GLSL and SPIR-V shader inputs
Detailed pipeline state configuration for testing various Vulkan features
Can be used as both CLI tool and embeddable library
Limitations
Requires glslangValidator for GLSL compilation
Primarily designed for functional testing rather than performance testing
Limited documentation compared to commercial tools

Getting Started

Install Dependencies
Install Rust toolchain and glslangValidator (from KhronosGroup/glslang repository).
Write Test Script
Create a .shader_test file with [vertex shader], [fragment shader], and [test] sections.
Run Tests
Execute tests using the vkrunner binary or cargo run.

Example Use Cases

Simple Triangle TestVerify a basic vertex+fragment shader renders a red triangle correctly
Compute Shader TestVerify compute shader correctly processes data in storage buffer

Frequently Asked Questions

How do I specify Vulkan version requirements?
Can I test tessellation shaders?
How to handle test failures?

Additional Resources

Piglit Project
Original shader_test format reference
glslang Repository
Required GLSL-to-SPIR-V compiler
Vulkan Specification
Official Vulkan API documentation
Installation
Copy the following command to your Client for configuration
Note: Your key is sensitive information, do not share it with anyone.
Featured MCP Services
N
Notion Api MCP
Certified
A Python-based MCP Server that provides advanced to-do list management and content organization functions through the Notion API, enabling seamless integration between AI models and Notion.
Python
131
4.5 points
D
Duckduckgo MCP Server
Certified
The DuckDuckGo Search MCP Server provides web search and content scraping services for LLMs such as Claude.
Python
824
4.3 points
G
Gitlab MCP Server
Certified
The GitLab MCP server is a project based on the Model Context Protocol that provides a comprehensive toolset for interacting with GitLab accounts, including code review, merge request management, CI/CD configuration, and other functions.
TypeScript
80
4.3 points
M
Markdownify MCP
Markdownify is a multi-functional file conversion service that supports converting multiple formats such as PDFs, images, audio, and web page content into Markdown format.
TypeScript
1.7K
5 points
U
Unity
Certified
UnityMCP is a Unity editor plugin that implements the Model Context Protocol (MCP), providing seamless integration between Unity and AI assistants, including real - time state monitoring, remote command execution, and log functions.
C#
555
5 points
F
Figma Context MCP
Framelink Figma MCP Server is a server that provides access to Figma design data for AI programming tools (such as Cursor). By simplifying the Figma API response, it helps AI more accurately achieve one - click conversion from design to code.
TypeScript
6.6K
4.5 points
G
Gmail MCP Server
A Gmail automatic authentication MCP server designed for Claude Desktop, supporting Gmail management through natural language interaction, including complete functions such as sending emails, label management, and batch operations.
TypeScript
279
4.5 points
M
Minimax MCP Server
The MiniMax Model Context Protocol (MCP) is an official server that supports interaction with powerful text-to-speech, video/image generation APIs, and is suitable for various client tools such as Claude Desktop and Cursor.
Python
746
4.8 points
AIbase
Zhiqi Future, Your AI Solution Think Tank
© 2025AIbase