d3d12: Support ARB_framebuffer_no_attachments

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14504>
This commit is contained in:
Jesse Natalie
2022-01-11 13:39:47 -08:00
parent 0cc79c9c1e
commit 14b1319f29
2 changed files with 33 additions and 8 deletions

View File

@@ -309,6 +309,7 @@ d3d12_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_DRAW_INDIRECT:
case PIPE_CAP_MULTI_DRAW_INDIRECT:
case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS:
case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT:
return 1;
default:
@@ -540,6 +541,20 @@ d3d12_is_format_supported(struct pipe_screen *pscreen,
util_format_is_yuv(format)))
return false;
if (format == PIPE_FORMAT_NONE) {
/* For UAV-only rendering, aka ARB_framebuffer_no_attachments */
switch (sample_count) {
case 0:
case 1:
case 4:
case 8:
case 16:
return true;
default:
return false;
}
}
DXGI_FORMAT dxgi_format = d3d12_get_format(format);
if (dxgi_format == DXGI_FORMAT_UNKNOWN)
return false;