summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorGravatar Rodrigo Locatti2020-12-25 02:52:29 -0300
committerGravatar GitHub2020-12-25 02:52:29 -0300
commit453560fb3a48a4318c10a3e8a631eb923a9a3c32 (patch)
tree8dcae921092fd9f9bc2ddf3b77af4a3a07b5eba1 /src/video_core
parentcore: memory: Ensure thread safe access when pages are rasterizer cached (#5206) (diff)
parentcmake: Always enable Vulkan (diff)
downloadyuzu-453560fb3a48a4318c10a3e8a631eb923a9a3c32.tar.gz
yuzu-453560fb3a48a4318c10a3e8a631eb923a9a3c32.tar.xz
yuzu-453560fb3a48a4318c10a3e8a631eb923a9a3c32.zip
Merge pull request #5225 from ReinUsesLisp/always-vulkan
cmake: Always enable Vulkan
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/CMakeLists.txt141
-rw-r--r--src/video_core/video_core.cpp4
2 files changed, 66 insertions, 79 deletions
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index a021d61f5..26db24d0f 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -115,6 +115,70 @@ add_library(video_core STATIC
115 renderer_opengl/renderer_opengl.h 115 renderer_opengl/renderer_opengl.h
116 renderer_opengl/utils.cpp 116 renderer_opengl/utils.cpp
117 renderer_opengl/utils.h 117 renderer_opengl/utils.h
118 renderer_vulkan/fixed_pipeline_state.cpp
119 renderer_vulkan/fixed_pipeline_state.h
120 renderer_vulkan/maxwell_to_vk.cpp
121 renderer_vulkan/maxwell_to_vk.h
122 renderer_vulkan/nsight_aftermath_tracker.cpp
123 renderer_vulkan/nsight_aftermath_tracker.h
124 renderer_vulkan/renderer_vulkan.h
125 renderer_vulkan/renderer_vulkan.cpp
126 renderer_vulkan/vk_blit_screen.cpp
127 renderer_vulkan/vk_blit_screen.h
128 renderer_vulkan/vk_buffer_cache.cpp
129 renderer_vulkan/vk_buffer_cache.h
130 renderer_vulkan/vk_command_pool.cpp
131 renderer_vulkan/vk_command_pool.h
132 renderer_vulkan/vk_compute_pass.cpp
133 renderer_vulkan/vk_compute_pass.h
134 renderer_vulkan/vk_compute_pipeline.cpp
135 renderer_vulkan/vk_compute_pipeline.h
136 renderer_vulkan/vk_descriptor_pool.cpp
137 renderer_vulkan/vk_descriptor_pool.h
138 renderer_vulkan/vk_device.cpp
139 renderer_vulkan/vk_device.h
140 renderer_vulkan/vk_fence_manager.cpp
141 renderer_vulkan/vk_fence_manager.h
142 renderer_vulkan/vk_graphics_pipeline.cpp
143 renderer_vulkan/vk_graphics_pipeline.h
144 renderer_vulkan/vk_image.cpp
145 renderer_vulkan/vk_image.h
146 renderer_vulkan/vk_master_semaphore.cpp
147 renderer_vulkan/vk_master_semaphore.h
148 renderer_vulkan/vk_memory_manager.cpp
149 renderer_vulkan/vk_memory_manager.h
150 renderer_vulkan/vk_pipeline_cache.cpp
151 renderer_vulkan/vk_pipeline_cache.h
152 renderer_vulkan/vk_query_cache.cpp
153 renderer_vulkan/vk_query_cache.h
154 renderer_vulkan/vk_rasterizer.cpp
155 renderer_vulkan/vk_rasterizer.h
156 renderer_vulkan/vk_renderpass_cache.cpp
157 renderer_vulkan/vk_renderpass_cache.h
158 renderer_vulkan/vk_resource_pool.cpp
159 renderer_vulkan/vk_resource_pool.h
160 renderer_vulkan/vk_sampler_cache.cpp
161 renderer_vulkan/vk_sampler_cache.h
162 renderer_vulkan/vk_scheduler.cpp
163 renderer_vulkan/vk_scheduler.h
164 renderer_vulkan/vk_shader_decompiler.cpp
165 renderer_vulkan/vk_shader_decompiler.h
166 renderer_vulkan/vk_shader_util.cpp
167 renderer_vulkan/vk_shader_util.h
168 renderer_vulkan/vk_staging_buffer_pool.cpp
169 renderer_vulkan/vk_staging_buffer_pool.h
170 renderer_vulkan/vk_state_tracker.cpp
171 renderer_vulkan/vk_state_tracker.h
172 renderer_vulkan/vk_stream_buffer.cpp
173 renderer_vulkan/vk_stream_buffer.h
174 renderer_vulkan/vk_swapchain.cpp
175 renderer_vulkan/vk_swapchain.h
176 renderer_vulkan/vk_texture_cache.cpp
177 renderer_vulkan/vk_texture_cache.h
178 renderer_vulkan/vk_update_descriptor.cpp
179 renderer_vulkan/vk_update_descriptor.h
180 renderer_vulkan/wrapper.cpp
181 renderer_vulkan/wrapper.h
118 sampler_cache.cpp 182 sampler_cache.cpp
119 sampler_cache.h 183 sampler_cache.h
120 shader_cache.h 184 shader_cache.h
@@ -194,75 +258,6 @@ add_library(video_core STATIC
194 video_core.h 258 video_core.h
195) 259)
196 260
197if (ENABLE_VULKAN)
198 target_sources(video_core PRIVATE
199 renderer_vulkan/fixed_pipeline_state.cpp
200 renderer_vulkan/fixed_pipeline_state.h
201 renderer_vulkan/maxwell_to_vk.cpp
202 renderer_vulkan/maxwell_to_vk.h
203 renderer_vulkan/nsight_aftermath_tracker.cpp
204 renderer_vulkan/nsight_aftermath_tracker.h
205 renderer_vulkan/renderer_vulkan.h
206 renderer_vulkan/renderer_vulkan.cpp
207 renderer_vulkan/vk_blit_screen.cpp
208 renderer_vulkan/vk_blit_screen.h
209 renderer_vulkan/vk_buffer_cache.cpp
210 renderer_vulkan/vk_buffer_cache.h
211 renderer_vulkan/vk_command_pool.cpp
212 renderer_vulkan/vk_command_pool.h
213 renderer_vulkan/vk_compute_pass.cpp
214 renderer_vulkan/vk_compute_pass.h
215 renderer_vulkan/vk_compute_pipeline.cpp
216 renderer_vulkan/vk_compute_pipeline.h
217 renderer_vulkan/vk_descriptor_pool.cpp
218 renderer_vulkan/vk_descriptor_pool.h
219 renderer_vulkan/vk_device.cpp
220 renderer_vulkan/vk_device.h
221 renderer_vulkan/vk_fence_manager.cpp
222 renderer_vulkan/vk_fence_manager.h
223 renderer_vulkan/vk_graphics_pipeline.cpp
224 renderer_vulkan/vk_graphics_pipeline.h
225 renderer_vulkan/vk_image.cpp
226 renderer_vulkan/vk_image.h
227 renderer_vulkan/vk_master_semaphore.cpp
228 renderer_vulkan/vk_master_semaphore.h
229 renderer_vulkan/vk_memory_manager.cpp
230 renderer_vulkan/vk_memory_manager.h
231 renderer_vulkan/vk_pipeline_cache.cpp
232 renderer_vulkan/vk_pipeline_cache.h
233 renderer_vulkan/vk_query_cache.cpp
234 renderer_vulkan/vk_query_cache.h
235 renderer_vulkan/vk_rasterizer.cpp
236 renderer_vulkan/vk_rasterizer.h
237 renderer_vulkan/vk_renderpass_cache.cpp
238 renderer_vulkan/vk_renderpass_cache.h
239 renderer_vulkan/vk_resource_pool.cpp
240 renderer_vulkan/vk_resource_pool.h
241 renderer_vulkan/vk_sampler_cache.cpp
242 renderer_vulkan/vk_sampler_cache.h
243 renderer_vulkan/vk_scheduler.cpp
244 renderer_vulkan/vk_scheduler.h
245 renderer_vulkan/vk_shader_decompiler.cpp
246 renderer_vulkan/vk_shader_decompiler.h
247 renderer_vulkan/vk_shader_util.cpp
248 renderer_vulkan/vk_shader_util.h
249 renderer_vulkan/vk_staging_buffer_pool.cpp
250 renderer_vulkan/vk_staging_buffer_pool.h
251 renderer_vulkan/vk_state_tracker.cpp
252 renderer_vulkan/vk_state_tracker.h
253 renderer_vulkan/vk_stream_buffer.cpp
254 renderer_vulkan/vk_stream_buffer.h
255 renderer_vulkan/vk_swapchain.cpp
256 renderer_vulkan/vk_swapchain.h
257 renderer_vulkan/vk_texture_cache.cpp
258 renderer_vulkan/vk_texture_cache.h
259 renderer_vulkan/vk_update_descriptor.cpp
260 renderer_vulkan/vk_update_descriptor.h
261 renderer_vulkan/wrapper.cpp
262 renderer_vulkan/wrapper.h
263 )
264endif()
265
266create_target_directory_groups(video_core) 261create_target_directory_groups(video_core)
267 262
268target_link_libraries(video_core PUBLIC common core) 263target_link_libraries(video_core PUBLIC common core)
@@ -278,12 +273,8 @@ endif()
278 273
279add_dependencies(video_core host_shaders) 274add_dependencies(video_core host_shaders)
280target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) 275target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
281 276target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include)
282if (ENABLE_VULKAN) 277target_link_libraries(video_core PRIVATE sirit)
283 target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include)
284 target_compile_definitions(video_core PRIVATE HAS_VULKAN)
285 target_link_libraries(video_core PRIVATE sirit)
286endif()
287 278
288if (ENABLE_NSIGHT_AFTERMATH) 279if (ENABLE_NSIGHT_AFTERMATH)
289 if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK}) 280 if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp
index dd5cee4a1..837800bfe 100644
--- a/src/video_core/video_core.cpp
+++ b/src/video_core/video_core.cpp
@@ -11,9 +11,7 @@
11#include "video_core/gpu_synch.h" 11#include "video_core/gpu_synch.h"
12#include "video_core/renderer_base.h" 12#include "video_core/renderer_base.h"
13#include "video_core/renderer_opengl/renderer_opengl.h" 13#include "video_core/renderer_opengl/renderer_opengl.h"
14#ifdef HAS_VULKAN
15#include "video_core/renderer_vulkan/renderer_vulkan.h" 14#include "video_core/renderer_vulkan/renderer_vulkan.h"
16#endif
17#include "video_core/video_core.h" 15#include "video_core/video_core.h"
18 16
19namespace { 17namespace {
@@ -28,11 +26,9 @@ std::unique_ptr<VideoCore::RendererBase> CreateRenderer(
28 case Settings::RendererBackend::OpenGL: 26 case Settings::RendererBackend::OpenGL:
29 return std::make_unique<OpenGL::RendererOpenGL>(telemetry_session, emu_window, cpu_memory, 27 return std::make_unique<OpenGL::RendererOpenGL>(telemetry_session, emu_window, cpu_memory,
30 gpu, std::move(context)); 28 gpu, std::move(context));
31#ifdef HAS_VULKAN
32 case Settings::RendererBackend::Vulkan: 29 case Settings::RendererBackend::Vulkan:
33 return std::make_unique<Vulkan::RendererVulkan>(telemetry_session, emu_window, cpu_memory, 30 return std::make_unique<Vulkan::RendererVulkan>(telemetry_session, emu_window, cpu_memory,
34 gpu, std::move(context)); 31 gpu, std::move(context));
35#endif
36 default: 32 default:
37 return nullptr; 33 return nullptr;
38 } 34 }