48 void compile(
Context&)
override {}
54 std::vector<VkAccelerationStructureGeometryKHR> _accelerationStructureGeometries;
55 std::vector<VkAccelerationStructureBuildRangeInfoKHR> _accelerationStructureBuildRangeInfos;
56 VkAccelerationStructureKHR _accelerationStructure;
75 const uint32_t deviceID = 0;
89 uint32_t minimum_maxSets = 0;
90 DescriptorPoolSizes minimum_descriptorPoolSizes;
106 GraphicsPipelineStates defaultPipelineStates;
114 GraphicsPipelineStates overridePipelineStates;
117 std::list<ref_ptr<DescriptorPool>> descriptorPools;
133 std::vector<ref_ptr<Command>> commands;
145 void waitForCompletion();
151 VkDeviceSize scratchBufferSize;
152 std::vector<ref_ptr<BuildAccelerationStructureCommand>> buildAccelerationStructureCommands;
void reserve(const ResourceRequirements &requirements)
reserve resources that may be needed during compile traversal.
void getDescriptorPoolSizesToUse(uint32_t &maxSets, DescriptorPoolSizes &descriptorPoolSizes)
get the maxSets and descriptorPoolSizes to use
ShaderCompiler * getOrCreateShaderCompiler()
get existing ShaderCompiler or create a new one when GLSLang is supported
ref_ptr< Instrumentation > instrumentation
Hook for assigning Instrumentation to enable profiling.
Definition Context.h:123
bool record()
return true if there are commands that have been submitted
ref_ptr< DescriptorSet::Implementation > allocateDescriptorSet(DescriptorSetLayout *descriptorSetLayout)
allocate or reuse a DescriptorSet::Implementation from the available DescriptorPool