summaryrefslogtreecommitdiff
path: root/src/amd/vulkan/radv_private.h
diff options
context:
space:
mode:
authorTimothy Arceri <tarceri@itsqueeze.com>2019-07-31 13:47:08 +1000
committerTimothy Arceri <tarceri@itsqueeze.com>2019-10-26 13:04:12 +1100
commitd33f2165c97ba230b14c67f3c935dd312681129d (patch)
treece28c93a0131719844946ebd78ab59a701ca3c21 /src/amd/vulkan/radv_private.h
parente8cb13d49908ffb2d39edc46c230430cd8b44033 (diff)
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 <bas@basnieuwenhuizen.nl>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r--src/amd/vulkan/radv_private.h21
1 files changed, 21 insertions, 0 deletions
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 {