D3D12: Add Screenshot wrapper overload and document known limitations
- Add D3D12Screenshot::Capture(D3D12Device&, D3D12CommandQueue&, D3D12Texture&, const char*) wrapper overload - Update minimal integration test to use encapsulated APIs - Add DescriptorHeap wrapper unit tests - Document minimal GetBuffer native call as known limitation in TEST_SPEC.md
This commit is contained in:
@@ -6,7 +6,9 @@
|
||||
namespace XCEngine {
|
||||
namespace RHI {
|
||||
|
||||
class D3D12Device;
|
||||
class D3D12CommandQueue;
|
||||
class D3D12Texture;
|
||||
|
||||
class D3D12Screenshot {
|
||||
public:
|
||||
@@ -17,6 +19,11 @@ public:
|
||||
uint32_t width,
|
||||
uint32_t height);
|
||||
|
||||
static bool Capture(D3D12Device& device,
|
||||
D3D12CommandQueue& commandQueue,
|
||||
D3D12Texture& texture,
|
||||
const char* filename);
|
||||
|
||||
private:
|
||||
static bool CopyToReadbackAndSave(ID3D12Device* device,
|
||||
ID3D12CommandQueue* commandQueue,
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#include "RHI/D3D12/D3D12Screenshot.h"
|
||||
#include "RHI/D3D12/D3D12Device.h"
|
||||
#include "RHI/D3D12/D3D12CommandQueue.h"
|
||||
#include "RHI/D3D12/D3D12Texture.h"
|
||||
#include "Debug/Logger.h"
|
||||
#include <d3d12.h>
|
||||
#include <stdio.h>
|
||||
@@ -15,6 +18,20 @@ bool D3D12Screenshot::Capture(ID3D12Device* device,
|
||||
return CopyToReadbackAndSave(device, commandQueue, renderTarget, filename, width, height);
|
||||
}
|
||||
|
||||
bool D3D12Screenshot::Capture(D3D12Device& device,
|
||||
D3D12CommandQueue& commandQueue,
|
||||
D3D12Texture& texture,
|
||||
const char* filename) {
|
||||
return Capture(
|
||||
device.GetDevice(),
|
||||
commandQueue.GetCommandQueue(),
|
||||
texture.GetResource(),
|
||||
filename,
|
||||
texture.GetWidth(),
|
||||
texture.GetHeight()
|
||||
);
|
||||
}
|
||||
|
||||
bool D3D12Screenshot::CopyToReadbackAndSave(ID3D12Device* device,
|
||||
ID3D12CommandQueue* commandQueue,
|
||||
ID3D12Resource* renderTarget,
|
||||
|
||||
Reference in New Issue
Block a user