[D3D12] d3d12_break_on_error + fix PerformSwap descriptor heap wrap

This commit is contained in:
Triang3l
2020-05-17 00:26:04 +03:00
parent 8341a48210
commit b7a5c24bb1
7 changed files with 88 additions and 34 deletions

View File

@@ -261,7 +261,8 @@ class RenderTargetCache {
void CompletedSubmissionUpdated();
void BeginSubmission();
void EndFrame();
// Called in the beginning of a draw call - may bind pipelines.
// Called in the beginning of a draw call - may bind pipelines and change the
// view descriptor heap.
bool UpdateRenderTargets(const D3D12Shader* pixel_shader);
// Returns the host-to-guest mappings and host formats of currently bound
// render targets for pipeline creation and remapping in shaders. They are
@@ -281,7 +282,7 @@ class RenderTargetCache {
void ForceApplyOnNextUpdate() { apply_to_command_list_ = true; }
// Flushes the render targets to EDRAM and unbinds them, for instance, when
// the command processor takes over framebuffer bindings to draw something
// special.
// special. May change the CBV/SRV/UAV descriptor heap.
void FlushAndUnbindRenderTargets();
void WriteEDRAMUint32UAVDescriptor(D3D12_CPU_DESCRIPTOR_HANDLE handle);