Files
Pulse/Sources/Backends/D3D11/D3D11Buffer.h
2025-09-10 17:46:53 +02:00

31 lines
1.0 KiB
C

// Copyright (C) 2025 kanel
// This file is part of "Pulse"
// For conditions of distribution and use, see copyright notice in LICENSE
#include <Pulse.h>
#ifdef PULSE_ENABLE_D3D11_BACKEND
#ifndef PULSE_D3D11_BUFFER_H_
#define PULSE_D3D11_BUFFER_H_
#include "D3D11.h"
typedef struct Direct3D11Buffer
{
ID3D11Buffer* buffer;
ID3D11UnorderedAccessView* unordered_access_view;
ID3D11ShaderResourceView* shader_resource_view;
} Direct3D11Buffer;
PulseBuffer Direct3D11CreateBuffer(PulseDevice device, const PulseBufferCreateInfo* create_infos);
bool Direct3D11MapBuffer(PulseBuffer buffer, PulseMapMode mode, void** data);
void Direct3D11UnmapBuffer(PulseBuffer buffer);
bool Direct3D11CopyBufferToBuffer(PulseCommandList cmd, const PulseBufferRegion* src, const PulseBufferRegion* dst);
bool Direct3D11CopyBufferToImage(PulseCommandList cmd, const PulseBufferRegion* src, const PulseImageRegion* dst);
void Direct3D11DestroyBuffer(PulseDevice device, PulseBuffer buffer);
#endif // PULSE_D3D11_BUFFER_H_
#endif // PULSE_ENABLE_D3D11_BACKEND