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