载入中...
搜索中...
未找到
VulkanGpgpu.h
浏览该文件的文档.
1#pragma once
2
3#include <cstdint>
4#include <string>
5#include <vector>
6
7namespace eve::gpgpu {
8
9class ComputeShader;
10class GpuBuffer;
11
13bool vulkanGpgpuReady();
15ComputeShader *vulkanNewShaderFromSpirv(const std::vector<uint32_t> &spv);
17GpuBuffer *vulkanNewBuffer(int byteSize, const std::string &usage);
19void vulkanDispatch(ComputeShader *shader, int groupsX, int groupsY, int groupsZ);
20
21} // namespace eve::gpgpu
Shader * shader
ComputeShader * vulkanNewShaderFromSpirv(const std::vector< uint32_t > &spv)
从 SPIR-V 字节码创建计算着色器。
GpuBuffer * vulkanNewBuffer(int byteSize, const std::string &usage)
创建 GPU 存储/传输缓冲区;usage 为 "storage" | "vertex" 等。
bool vulkanGpgpuReady()
Vulkan 后端是否就绪(设备/队列可用)。
void vulkanDispatch(ComputeShader *shader, int groupsX, int groupsY, int groupsZ)
派发计算着色器(groupsX/Y/Z 为线程组数)。