vkd3d: Move ID3D12RootSignature impl_froms to header

Basic casts should not be function calls.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
Joshua Ashton 2021-09-21 10:10:48 +01:00 committed by Hans-Kristian Arntzen
parent 875fbe5f50
commit 7c993ae1a6
4 changed files with 21 additions and 25 deletions

View File

@ -7180,7 +7180,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootSignature(d3d12_c
TRACE("iface %p, root_signature %p.\n", iface, root_signature);
d3d12_command_list_set_root_signature(list, VK_PIPELINE_BIND_POINT_COMPUTE,
unsafe_impl_from_ID3D12RootSignature(root_signature));
impl_from_ID3D12RootSignature(root_signature));
}
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootSignature(d3d12_command_list_iface *iface,
@ -7191,7 +7191,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootSignature(d3d12_
TRACE("iface %p, root_signature %p.\n", iface, root_signature);
d3d12_command_list_set_root_signature(list, VK_PIPELINE_BIND_POINT_GRAPHICS,
unsafe_impl_from_ID3D12RootSignature(root_signature));
impl_from_ID3D12RootSignature(root_signature));
}
static void d3d12_command_list_set_descriptor_table(struct d3d12_command_list *list,

View File

@ -530,7 +530,7 @@ static HRESULT d3d12_state_object_parse_subobjects(struct d3d12_state_object *ob
{
data->associations[data->associations_count].export = association->pExports[j];
data->associations[data->associations_count].root_signature =
unsafe_impl_from_ID3D12RootSignature(local_rs->pLocalRootSignature);
impl_from_ID3D12RootSignature(local_rs->pLocalRootSignature);
data->associations_count++;
}
}
@ -766,9 +766,9 @@ static struct d3d12_root_signature *d3d12_state_object_pipeline_data_get_local_r
}
if (data->high_priority_local_root_signature)
return unsafe_impl_from_ID3D12RootSignature(data->high_priority_local_root_signature);
return impl_from_ID3D12RootSignature(data->high_priority_local_root_signature);
else if (data->low_priority_local_root_signature)
return unsafe_impl_from_ID3D12RootSignature(data->low_priority_local_root_signature);
return impl_from_ID3D12RootSignature(data->low_priority_local_root_signature);
else
return NULL;
}
@ -877,7 +877,7 @@ static HRESULT d3d12_state_object_compile_pipeline(struct d3d12_state_object *ob
shader_interface_info.stage = VK_SHADER_STAGE_ALL;
shader_interface_info.xfb_info = NULL;
global_signature = unsafe_impl_from_ID3D12RootSignature(data->global_root_signature);
global_signature = impl_from_ID3D12RootSignature(data->global_root_signature);
if (global_signature)
{

View File

@ -25,11 +25,6 @@
#include <stdio.h>
/* ID3D12RootSignature */
static inline struct d3d12_root_signature *impl_from_ID3D12RootSignature(ID3D12RootSignature *iface)
{
return CONTAINING_RECORD(iface, struct d3d12_root_signature, ID3D12RootSignature_iface);
}
static HRESULT STDMETHODCALLTYPE d3d12_root_signature_QueryInterface(ID3D12RootSignature *iface,
REFIID riid, void **object)
{
@ -142,7 +137,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_root_signature_GetDevice(ID3D12RootSignat
return d3d12_device_query_interface(root_signature->device, iid, device);
}
static CONST_VTBL struct ID3D12RootSignatureVtbl d3d12_root_signature_vtbl =
CONST_VTBL struct ID3D12RootSignatureVtbl d3d12_root_signature_vtbl =
{
/* IUnknown methods */
d3d12_root_signature_QueryInterface,
@ -157,14 +152,6 @@ static CONST_VTBL struct ID3D12RootSignatureVtbl d3d12_root_signature_vtbl =
d3d12_root_signature_GetDevice,
};
struct d3d12_root_signature *unsafe_impl_from_ID3D12RootSignature(ID3D12RootSignature *iface)
{
if (!iface)
return NULL;
assert(iface->lpVtbl == &d3d12_root_signature_vtbl);
return impl_from_ID3D12RootSignature(iface);
}
static VkShaderStageFlags stage_flags_from_visibility(D3D12_SHADER_VISIBILITY visibility)
{
switch (visibility)
@ -2206,9 +2193,9 @@ static HRESULT d3d12_pipeline_state_init_compute(struct d3d12_pipeline_state *st
state->refcount = 1;
if (desc->root_signature)
root_signature = unsafe_impl_from_ID3D12RootSignature(desc->root_signature);
root_signature = impl_from_ID3D12RootSignature(desc->root_signature);
else
root_signature = unsafe_impl_from_ID3D12RootSignature(state->private_root_signature);
root_signature = impl_from_ID3D12RootSignature(state->private_root_signature);
shader_interface.flags = d3d12_root_signature_get_shader_interface_flags(root_signature);
shader_interface.min_ssbo_alignment = d3d12_device_get_ssbo_alignment(device);
@ -3034,9 +3021,9 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
}
if (desc->root_signature)
root_signature = unsafe_impl_from_ID3D12RootSignature(desc->root_signature);
root_signature = impl_from_ID3D12RootSignature(desc->root_signature);
else
root_signature = unsafe_impl_from_ID3D12RootSignature(state->private_root_signature);
root_signature = impl_from_ID3D12RootSignature(state->private_root_signature);
sample_count = vk_samples_from_dxgi_sample_desc(&desc->sample_desc);
if (desc->sample_desc.Count != 1 && desc->sample_desc.Quality)

View File

@ -1344,7 +1344,16 @@ struct d3d12_root_signature
HRESULT d3d12_root_signature_create(struct d3d12_device *device, const void *bytecode,
size_t bytecode_length, struct d3d12_root_signature **root_signature);
struct d3d12_root_signature *unsafe_impl_from_ID3D12RootSignature(ID3D12RootSignature *iface);
static inline struct d3d12_root_signature *impl_from_ID3D12RootSignature(ID3D12RootSignature *iface)
{
extern CONST_VTBL struct ID3D12RootSignatureVtbl d3d12_root_signature_vtbl;
if (!iface)
return NULL;
assert(iface->lpVtbl == &d3d12_root_signature_vtbl);
return CONTAINING_RECORD(iface, struct d3d12_root_signature, ID3D12RootSignature_iface);
}
unsigned int d3d12_root_signature_get_shader_interface_flags(const struct d3d12_root_signature *root_signature);
int vkd3d_parse_root_signature_v_1_0(const struct vkd3d_shader_code *dxbc,