mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-26 12:10:22 +01:00
d3d12: Add a constant for num_buffers
Reviewed-By: Bill Kristiansen <billkris@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9959>
This commit is contained in:
parent
51df136c8b
commit
aa1643d141
1 changed files with 5 additions and 4 deletions
|
|
@ -42,6 +42,7 @@
|
|||
#include "d3d12/d3d12_screen.h"
|
||||
|
||||
using Microsoft::WRL::ComPtr;
|
||||
constexpr uint32_t num_buffers = 2;
|
||||
|
||||
struct d3d12_wgl_framebuffer {
|
||||
struct stw_winsys_framebuffer base;
|
||||
|
|
@ -50,7 +51,7 @@ struct d3d12_wgl_framebuffer {
|
|||
enum pipe_format pformat;
|
||||
HWND window;
|
||||
ComPtr<IDXGISwapChain3> swapchain;
|
||||
struct pipe_resource *buffers[2];
|
||||
struct pipe_resource *buffers[num_buffers];
|
||||
};
|
||||
|
||||
static struct d3d12_wgl_framebuffer *
|
||||
|
|
@ -75,7 +76,7 @@ d3d12_wgl_framebuffer_resize(stw_winsys_framebuffer *fb,
|
|||
struct d3d12_dxgi_screen *screen = d3d12_dxgi_screen(framebuffer->screen);
|
||||
|
||||
DXGI_SWAP_CHAIN_DESC1 desc = {};
|
||||
desc.BufferCount = 2;
|
||||
desc.BufferCount = num_buffers;
|
||||
desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT | DXGI_USAGE_SHADER_INPUT;
|
||||
desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING;
|
||||
desc.Format = d3d12_get_format(templ->format);
|
||||
|
|
@ -114,13 +115,13 @@ d3d12_wgl_framebuffer_resize(stw_winsys_framebuffer *fb,
|
|||
ctx->screen->fence_reference(ctx->screen, &fence, NULL);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; ++i) {
|
||||
for (int i = 0; i < num_buffers; ++i) {
|
||||
if (framebuffer->buffers[i]) {
|
||||
d3d12_resource_release(d3d12_resource(framebuffer->buffers[i]));
|
||||
pipe_resource_reference(&framebuffer->buffers[i], NULL);
|
||||
}
|
||||
}
|
||||
if (FAILED(framebuffer->swapchain->ResizeBuffers(2, desc.Width, desc.Height, desc.Format, desc.Flags))) {
|
||||
if (FAILED(framebuffer->swapchain->ResizeBuffers(num_buffers, desc.Width, desc.Height, desc.Format, desc.Flags))) {
|
||||
debug_printf("D3D12: failed to resize swapchain");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue