vkd3d: Make global quirks info struct a value.
Allows us to fiddle with it after the fact. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
parent
26bd08bbde
commit
be8d6ec7ad
|
@ -411,7 +411,7 @@ static void vkd3d_init_debug_messenger_callback(struct vkd3d_instance *instance)
|
|||
}
|
||||
|
||||
uint64_t vkd3d_config_flags;
|
||||
const struct vkd3d_shader_quirk_info *vkd3d_shader_quirk_info;
|
||||
struct vkd3d_shader_quirk_info vkd3d_shader_quirk_info;
|
||||
|
||||
struct vkd3d_instance_application_meta
|
||||
{
|
||||
|
@ -479,7 +479,7 @@ static void vkd3d_instance_apply_application_workarounds(void)
|
|||
{
|
||||
if (vkd3d_string_compare(application_shader_quirks[i].mode, app, application_shader_quirks[i].name))
|
||||
{
|
||||
vkd3d_shader_quirk_info = application_shader_quirks[i].info;
|
||||
vkd3d_shader_quirk_info = *application_shader_quirks[i].info;
|
||||
INFO("Detected game %s, adding shader quirks for specific shaders.\n", app);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -987,7 +987,7 @@ static HRESULT d3d12_state_object_compile_pipeline(struct d3d12_state_object *ob
|
|||
compile_args.target_extensions = object->device->vk_info.shader_extensions;
|
||||
compile_args.target_extension_count = object->device->vk_info.shader_extension_count;
|
||||
compile_args.target = VKD3D_SHADER_TARGET_SPIRV_VULKAN_1_0;
|
||||
compile_args.quirks = vkd3d_shader_quirk_info;
|
||||
compile_args.quirks = &vkd3d_shader_quirk_info;
|
||||
|
||||
/* TODO: Allow different root signatures per module. */
|
||||
memset(&shader_interface_info, 0, sizeof(shader_interface_info));
|
||||
|
|
|
@ -2197,7 +2197,7 @@ static HRESULT vkd3d_create_compute_pipeline(struct d3d12_device *device,
|
|||
compile_args.target_extensions = device->vk_info.shader_extensions;
|
||||
compile_args.target_extension_count = device->vk_info.shader_extension_count;
|
||||
compile_args.target = VKD3D_SHADER_TARGET_SPIRV_VULKAN_1_0;
|
||||
compile_args.quirks = vkd3d_shader_quirk_info;
|
||||
compile_args.quirks = &vkd3d_shader_quirk_info;
|
||||
|
||||
pipeline_info.sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
|
||||
pipeline_info.pNext = NULL;
|
||||
|
@ -3214,7 +3214,7 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
|||
compile_args.target = VKD3D_SHADER_TARGET_SPIRV_VULKAN_1_0;
|
||||
compile_args.target_extension_count = vk_info->shader_extension_count;
|
||||
compile_args.target_extensions = vk_info->shader_extensions;
|
||||
compile_args.quirks = vkd3d_shader_quirk_info;
|
||||
compile_args.quirks = &vkd3d_shader_quirk_info;
|
||||
|
||||
/* Options which are exclusive to PS. Especially output swizzles must only be used in PS. */
|
||||
ps_compile_args = compile_args;
|
||||
|
|
|
@ -191,7 +191,7 @@ struct vkd3d_instance
|
|||
};
|
||||
|
||||
extern uint64_t vkd3d_config_flags;
|
||||
extern const struct vkd3d_shader_quirk_info *vkd3d_shader_quirk_info;
|
||||
extern struct vkd3d_shader_quirk_info vkd3d_shader_quirk_info;
|
||||
|
||||
union vkd3d_thread_handle
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue