From 7b524590ab50fa3bd7bc0d27cd131de220bfac6e Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 15 Jan 2021 16:38:56 +0100 Subject: [PATCH] vkd3d: Introduce d3d12_query_heap_type_is_inline. Signed-off-by: Philip Rebohle --- libs/vkd3d/command.c | 14 +++----------- libs/vkd3d/vkd3d_private.h | 6 ++++++ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 84dd1f8d..8b22bbc2 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -7316,14 +7316,6 @@ static void STDMETHODCALLTYPE d3d12_command_list_DiscardResource(d3d12_command_l } } -static inline bool d3d12_query_type_is_inline(D3D12_QUERY_TYPE type) -{ - return type == D3D12_QUERY_TYPE_OCCLUSION || - type == D3D12_QUERY_TYPE_BINARY_OCCLUSION || - (type >= D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 && - type <= D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3); -} - static inline bool d3d12_query_type_is_scoped(D3D12_QUERY_TYPE type) { return type != D3D12_QUERY_TYPE_TIMESTAMP; @@ -7347,7 +7339,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_BeginQuery(d3d12_command_list_i d3d12_command_list_track_query_heap(list, query_heap); - if (d3d12_query_type_is_inline(type)) + if (d3d12_query_heap_type_is_inline(query_heap->desc.Type)) { if (!d3d12_command_list_enable_query(list, query_heap, index, type)) d3d12_command_list_mark_as_invalid(list, "Failed to enable virtual query.\n"); @@ -7381,7 +7373,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_EndQuery(d3d12_command_list_ifa d3d12_command_list_track_query_heap(list, query_heap); - if (d3d12_query_type_is_inline(type)) + if (d3d12_query_heap_type_is_inline(query_heap->desc.Type)) { if (!d3d12_command_list_disable_query(list, query_heap, index)) d3d12_command_list_mark_as_invalid(list, "Failed to disable virtual query.\n"); @@ -7519,7 +7511,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_ResolveQueryData(d3d12_command_ d3d12_command_list_track_query_heap(list, query_heap); d3d12_command_list_end_current_render_pass(list, true); - if (d3d12_query_type_is_inline(type)) + if (d3d12_query_heap_type_is_inline(query_heap->desc.Type)) { if (!d3d12_command_list_gather_pending_queries(list)) { diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 882351c9..47961543 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -785,6 +785,12 @@ HRESULT d3d12_query_heap_create(struct d3d12_device *device, const D3D12_QUERY_H struct d3d12_query_heap *unsafe_impl_from_ID3D12QueryHeap(ID3D12QueryHeap *iface); size_t d3d12_query_heap_type_get_data_size(D3D12_QUERY_HEAP_TYPE heap_type); +static inline bool d3d12_query_heap_type_is_inline(D3D12_QUERY_HEAP_TYPE heap_type) +{ + return heap_type == D3D12_QUERY_HEAP_TYPE_OCCLUSION || + heap_type == D3D12_QUERY_HEAP_TYPE_SO_STATISTICS; +} + enum vkd3d_root_signature_flag { VKD3D_ROOT_SIGNATURE_USE_ROOT_DESCRIPTOR_SET = 0x00000001u,