S

Shaderc VkRunner (GPU Shader Sandbox)

VkRunner是一個基於Piglit的shader_runner的Vulkan著色器測試工具,旨在支持與Piglit的shader_test格式儘可能相似的測試腳本。它支持通過GLSL或SPIR-V編寫著色器,並提供豐富的測試命令來驗證著色器的行為,包括繪製、計算、探針檢測等功能。
2.5分
8

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
安裝
複製以下命令到你的Client進行配置
注意:您的密鑰屬於敏感信息,請勿與任何人分享。
精選MCP服務推薦
B
Baidu Map
已認證
百度地圖MCP Server是國內首個兼容MCP協議的地圖服務,提供地理編碼、路線規劃等10個標準化API接口,支持Python和Typescript快速接入,賦能智能體實現地圖相關功能。
Python
707
4.5分
M
Markdownify MCP
Markdownify是一個多功能文件轉換服務,支持將PDF、圖片、音頻等多種格式及網頁內容轉換為Markdown格式。
TypeScript
1.7K
5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一個集成Firecrawl網頁抓取能力的模型上下文協議服務器,提供豐富的網頁抓取、搜索和內容提取功能。
TypeScript
3.9K
5分
S
Sequential Thinking MCP Server
一個基於MCP協議的結構化思維服務器,通過定義思考階段幫助分解複雜問題並生成總結
Python
262
4.5分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一個通過MCP協議快速部署HTML內容到EdgeOne Pages並獲取公開URL的服務
TypeScript
255
4.8分
N
Notion Api MCP
已認證
一個基於Python的MCP服務器,通過Notion API提供高級待辦事項管理和內容組織功能,實現AI模型與Notion的無縫集成。
Python
123
4.5分
C
Context7
Context7 MCP是一個為AI編程助手提供即時、版本特定文檔和代碼示例的服務,通過Model Context Protocol直接集成到提示中,解決LLM使用過時信息的問題。
TypeScript
5.2K
4.7分
M
Magic MCP
Magic Component Platform (MCP) 是一個AI驅動的UI組件生成工具,通過自然語言描述幫助開發者快速創建現代化UI組件,支持多種IDE集成。
JavaScript
1.7K
5分
AIbase
智啟未來,您的人工智慧解決方案智庫
© 2025AIbase