yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie Hermaszewskaformatf65d756bf

master
806 B35 linesraw
1// metal-transient-heap.h
2#pragma once
3
4#include "metal-base.h"
5#include "metal-buffer.h"
6#include "metal-command-buffer.h"
7
8namespace gfx
9{
10
11using namespace Slang;
12
13namespace metal
14{
15
16class TransientResourceHeapImpl
17    : public TransientResourceHeapBaseImpl<DeviceImpl, BufferResourceImpl>
18{
19private:
20    typedef TransientResourceHeapBaseImpl<DeviceImpl, BufferResourceImpl> Super;
21
22public:
23    NS::SharedPtr<MTL::CommandQueue> m_commandQueue;
24
25    Result init(const ITransientResourceHeap::Desc& desc, DeviceImpl* device);
26    ~TransientResourceHeapImpl();
27
28public:
29    virtual SLANG_NO_THROW Result SLANG_MCALL
30    createCommandBuffer(ICommandBuffer** outCommandBuffer) override;
31    virtual SLANG_NO_THROW Result SLANG_MCALL synchronizeAndReset() override;
32};
33
34} // namespace metal
35} // namespace gfx