25 ComputeShaderVK(ComputeSystemVK *inComputeSystem,
uint32 inGroupSizeX,
uint32 inGroupSizeY,
uint32 inGroupSizeZ) : ComputeShader(inGroupSizeX, inGroupSizeY, inGroupSizeZ), mComputeSystem(inComputeSystem) { }
26 virtual ~ComputeShaderVK()
override;
29 bool Initialize(
const Array<uint8> &inSPVCode, VkBuffer inDummyBuffer,
ComputeShaderResult &outResult);
32 uint32 NameToBufferInfoIndex(
const char *inName)
const;
35 VkPipeline GetPipeline()
const {
return mPipeline; }
36 VkPipelineLayout GetPipelineLayout()
const {
return mPipelineLayout; }
37 VkDescriptorSetLayout GetDescriptorSetLayout()
const {
return mDescriptorSetLayout; }
42 ComputeSystemVK * mComputeSystem;
43 VkShaderModule mShaderModule = VK_NULL_HANDLE;
44 VkPipelineLayout mPipelineLayout = VK_NULL_HANDLE;
45 VkPipeline mPipeline = VK_NULL_HANDLE;
46 VkDescriptorSetLayout mDescriptorSetLayout = VK_NULL_HANDLE;
48 UnorderedMap<string_view, uint32> mNameToBufferInfoIndex;
Result< Ref< ComputeShader > > ComputeShaderResult
Definition ComputeShader.h:39
#define JPH_EXPORT
Definition Core.h:286
#define JPH_NAMESPACE_END
Definition Core.h:469
std::uint32_t uint32
Definition Core.h:549
#define JPH_NAMESPACE_BEGIN
Definition Core.h:463
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:50
@ Array
Used in attribute declaration, indicates that this is an array of objects.
Definition SerializableAttribute.h:23
Compute shader handle.
Definition ComputeShader.h:15