载入中...
搜索中...
未找到
ShaderResourceReload.h
浏览该文件的文档.
1#pragma once
2#include <cstdint>
3#include <span>
4#include "common/Result.h"
5namespace eve::graphics::vulkan {
6struct GpuShader;
8std::uint32_t meshResourceInstanceCount(const GpuShader& shader);
12EVENGINE_API_BACKENDS bool isMeshResourceImageShared(const GpuShader& first, std::uint32_t firstSlot,
13 const GpuShader& second, std::uint32_t secondSlot);
15Result<void> validateMeshResourceShaderReload(const GpuShader& shader, std::span<const uint32_t> vertex,
16 std::span<const uint32_t> fragment);
17} // namespace eve::graphics::vulkan
#define EVENGINE_API_BACKENDS
Definition Export.h:108
std::int32_t second
std::int32_t first
Shader * shader
Move-only, checked operation results for the common layer.
Result< void > validateMeshResourceShaderReload(const GpuShader &shader, std::span< const uint32_t > vertex, std::span< const uint32_t > fragment)
Validate mesh resource shader reload.
bool isMeshResourceImageShared(const GpuShader &first, std::uint32_t firstSlot, const GpuShader &second, std::uint32_t secondSlot)
Query whether two live shader image slots share immutable GPU storage. @ownership Borrows both shader...
std::uint32_t meshResourceInstanceCount(const GpuShader &shader)
Immutable uploaded instance count; render-thread read, no retained borrow.