diff options
author | Justin Weiss | 2020-09-13 20:06:57 -0700 |
---|---|---|
committer | Justin Weiss | 2020-10-22 18:07:00 -0700 |
commit | c765eb86debdc06fe304511bc2edbb6f3e3d7813 (patch) | |
tree | 8e489b86af71d3b081c125d5eb234b0fd6b68f17 /plugins/gpulib/gpulib_thread_if.h | |
parent | e592293a48af1d63b6973135fcd2677e5e04e17e (diff) | |
download | pcsx_rearmed-c765eb86debdc06fe304511bc2edbb6f3e3d7813.tar.gz pcsx_rearmed-c765eb86debdc06fe304511bc2edbb6f3e3d7813.tar.bz2 pcsx_rearmed-c765eb86debdc06fe304511bc2edbb6f3e3d7813.zip |
Add a threaded renderer
This change adds a gpulib implementation that accepts GPU commands and
runs them through a real gpulib implementation on a thread. Depending
on a setting, it can either force a sync every frame, or continue to
work until the next frame arrives.
Diffstat (limited to 'plugins/gpulib/gpulib_thread_if.h')
-rw-r--r-- | plugins/gpulib/gpulib_thread_if.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/plugins/gpulib/gpulib_thread_if.h b/plugins/gpulib/gpulib_thread_if.h new file mode 100644 index 0000000..b1ea97f --- /dev/null +++ b/plugins/gpulib/gpulib_thread_if.h @@ -0,0 +1,41 @@ +/************************************************************************** +* Copyright (C) 2020 The RetroArch Team * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * +***************************************************************************/ + +#ifndef __GPULIB_THREAD_H__ +#define __GPULIB_THREAD_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +int real_do_cmd_list(uint32_t *list, int count, int *last_cmd); +int real_renderer_init(void); +void real_renderer_finish(void); +void real_renderer_sync_ecmds(uint32_t * ecmds); +void real_renderer_update_caches(int x, int y, int w, int h); +void real_renderer_flush_queues(void); +void real_renderer_set_interlace(int enable, int is_odd); +void real_renderer_set_config(const struct rearmed_cbs *config); +void real_renderer_notify_res_change(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __GPULIB_THREAD_H__ */ |