From d33f2165c97ba230b14c67f3c935dd312681129d Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 31 Jul 2019 13:47:08 +1000 Subject: [PATCH] radv: add some new members to radv device and instance for secure compile These will be used by the following commits to hold information about the forked secure compile processes. Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_private.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index ea0b3305b3a..17e6f35ba20 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -354,6 +354,7 @@ struct radv_instance { uint64_t debug_flags; uint64_t perftest_flags; + uint8_t num_sc_threads; struct vk_debug_report_instance debug_report_callbacks; @@ -723,6 +724,24 @@ struct radv_bo_list { pthread_mutex_t mutex; }; +struct radv_secure_compile_process { + /* Secure process file descriptors */ + int fd_secure_input; + int fd_secure_output; + + /* Secure compile process id */ + pid_t sc_pid; + + /* Is the secure compile process currently in use by a thread */ + bool in_use; +}; + +struct radv_secure_compile_state { + struct radv_secure_compile_process *secure_compile_processes; + uint32_t secure_compile_thread_counter; + mtx_t secure_compile_mutex; +}; + struct radv_device { VK_LOADER_DATA _loader_data; @@ -793,6 +812,8 @@ struct radv_device { /* Whether anisotropy is forced with RADV_TEX_ANISO (-1 is disabled). */ int force_aniso; + + struct radv_secure_compile_state *sc_state; }; struct radv_device_memory { -- 2.30.2