/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/ThirdParty/Jolt/Compute/CPU/ComputeQueueCPU.h
43 строки
2 KB
Jan Krassnigg
Updated Jolt to version 5.5.0 (#1778)
20 янв 2026, 10:54
Не верифицирован
20 янв 2026, 10:54
c41ee15
Код
Авторство
О чём код?
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics) // SPDX-FileCopyrightText: 2026 Jorrit Rouwe // SPDX-License-Identifier: MIT #pragma once #include <Jolt/Compute/ComputeQueue.h> #ifdef JPH_USE_CPU_COMPUTE #include <Jolt/Compute/CPU/ComputeShaderCPU.h> #include <Jolt/Core/UnorderedSet.h> JPH_NAMESPACE_BEGIN /// A command queue for the CPU compute system class JPH_EXPORT ComputeQueueCPU final : public ComputeQueue { public: JPH_OVERRIDE_NEW_DELETE /// Destructor virtual ~ComputeQueueCPU() override; // See: ComputeQueue virtual void SetShader(const ComputeShader *inShader) override; virtual void SetConstantBuffer(const char *inName, const ComputeBuffer *inBuffer) override; virtual void SetBuffer(const char *inName, const ComputeBuffer *inBuffer) override; virtual void SetRWBuffer(const char *inName, ComputeBuffer *inBuffer, EBarrier inBarrier = EBarrier::Yes) override; virtual void ScheduleReadback(ComputeBuffer *inDst, const ComputeBuffer *inSrc) override; virtual void Dispatch(uint inThreadGroupsX, uint inThreadGroupsY, uint inThreadGroupsZ) override; virtual void Execute() override; virtual void Wait() override; private: RefConst<ComputeShaderCPU> mShader = nullptr; ///< Current active shader ShaderWrapper * mWrapper = nullptr; ///< The active shader wrapper UnorderedSet<RefConst<ComputeBuffer>> mUsedBuffers; ///< Buffers that are in use by the current execution, these will be retained until execution is finished so that we don't free buffers that are in use }; JPH_NAMESPACE_END #endif // JPH_USE_CPU_COMPUTE