CMakeLists.txt 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. add_library(video_core STATIC
  2. buffer_cache/buffer_block.h
  3. buffer_cache/buffer_cache.h
  4. buffer_cache/map_interval.h
  5. dma_pusher.cpp
  6. dma_pusher.h
  7. engines/const_buffer_engine_interface.h
  8. engines/const_buffer_info.h
  9. engines/engine_upload.cpp
  10. engines/engine_upload.h
  11. engines/fermi_2d.cpp
  12. engines/fermi_2d.h
  13. engines/kepler_compute.cpp
  14. engines/kepler_compute.h
  15. engines/kepler_memory.cpp
  16. engines/kepler_memory.h
  17. engines/maxwell_3d.cpp
  18. engines/maxwell_3d.h
  19. engines/maxwell_dma.cpp
  20. engines/maxwell_dma.h
  21. engines/shader_bytecode.h
  22. engines/shader_header.h
  23. engines/shader_type.h
  24. gpu.cpp
  25. gpu.h
  26. gpu_asynch.cpp
  27. gpu_asynch.h
  28. gpu_synch.cpp
  29. gpu_synch.h
  30. gpu_thread.cpp
  31. gpu_thread.h
  32. guest_driver.cpp
  33. guest_driver.h
  34. macro_interpreter.cpp
  35. macro_interpreter.h
  36. memory_manager.cpp
  37. memory_manager.h
  38. morton.cpp
  39. morton.h
  40. query_cache.h
  41. rasterizer_accelerated.cpp
  42. rasterizer_accelerated.h
  43. rasterizer_cache.cpp
  44. rasterizer_cache.h
  45. rasterizer_interface.h
  46. renderer_base.cpp
  47. renderer_base.h
  48. renderer_opengl/gl_buffer_cache.cpp
  49. renderer_opengl/gl_buffer_cache.h
  50. renderer_opengl/gl_device.cpp
  51. renderer_opengl/gl_device.h
  52. renderer_opengl/gl_framebuffer_cache.cpp
  53. renderer_opengl/gl_framebuffer_cache.h
  54. renderer_opengl/gl_rasterizer.cpp
  55. renderer_opengl/gl_rasterizer.h
  56. renderer_opengl/gl_resource_manager.cpp
  57. renderer_opengl/gl_resource_manager.h
  58. renderer_opengl/gl_sampler_cache.cpp
  59. renderer_opengl/gl_sampler_cache.h
  60. renderer_opengl/gl_shader_cache.cpp
  61. renderer_opengl/gl_shader_cache.h
  62. renderer_opengl/gl_shader_decompiler.cpp
  63. renderer_opengl/gl_shader_decompiler.h
  64. renderer_opengl/gl_shader_disk_cache.cpp
  65. renderer_opengl/gl_shader_disk_cache.h
  66. renderer_opengl/gl_shader_gen.cpp
  67. renderer_opengl/gl_shader_gen.h
  68. renderer_opengl/gl_shader_manager.cpp
  69. renderer_opengl/gl_shader_manager.h
  70. renderer_opengl/gl_shader_util.cpp
  71. renderer_opengl/gl_shader_util.h
  72. renderer_opengl/gl_state_tracker.cpp
  73. renderer_opengl/gl_state_tracker.h
  74. renderer_opengl/gl_state.cpp
  75. renderer_opengl/gl_state.h
  76. renderer_opengl/gl_stream_buffer.cpp
  77. renderer_opengl/gl_stream_buffer.h
  78. renderer_opengl/gl_texture_cache.cpp
  79. renderer_opengl/gl_texture_cache.h
  80. renderer_opengl/gl_query_cache.cpp
  81. renderer_opengl/gl_query_cache.h
  82. renderer_opengl/maxwell_to_gl.h
  83. renderer_opengl/renderer_opengl.cpp
  84. renderer_opengl/renderer_opengl.h
  85. renderer_opengl/utils.cpp
  86. renderer_opengl/utils.h
  87. sampler_cache.cpp
  88. sampler_cache.h
  89. shader/decode/arithmetic.cpp
  90. shader/decode/arithmetic_immediate.cpp
  91. shader/decode/bfe.cpp
  92. shader/decode/bfi.cpp
  93. shader/decode/shift.cpp
  94. shader/decode/arithmetic_integer.cpp
  95. shader/decode/arithmetic_integer_immediate.cpp
  96. shader/decode/arithmetic_half.cpp
  97. shader/decode/arithmetic_half_immediate.cpp
  98. shader/decode/ffma.cpp
  99. shader/decode/hfma2.cpp
  100. shader/decode/conversion.cpp
  101. shader/decode/memory.cpp
  102. shader/decode/texture.cpp
  103. shader/decode/image.cpp
  104. shader/decode/float_set_predicate.cpp
  105. shader/decode/integer_set_predicate.cpp
  106. shader/decode/half_set_predicate.cpp
  107. shader/decode/predicate_set_register.cpp
  108. shader/decode/predicate_set_predicate.cpp
  109. shader/decode/register_set_predicate.cpp
  110. shader/decode/float_set.cpp
  111. shader/decode/integer_set.cpp
  112. shader/decode/half_set.cpp
  113. shader/decode/video.cpp
  114. shader/decode/warp.cpp
  115. shader/decode/xmad.cpp
  116. shader/decode/other.cpp
  117. shader/ast.cpp
  118. shader/ast.h
  119. shader/compiler_settings.cpp
  120. shader/compiler_settings.h
  121. shader/const_buffer_locker.cpp
  122. shader/const_buffer_locker.h
  123. shader/control_flow.cpp
  124. shader/control_flow.h
  125. shader/decode.cpp
  126. shader/expr.cpp
  127. shader/expr.h
  128. shader/node_helper.cpp
  129. shader/node_helper.h
  130. shader/node.h
  131. shader/shader_ir.cpp
  132. shader/shader_ir.h
  133. shader/track.cpp
  134. surface.cpp
  135. surface.h
  136. texture_cache/format_lookup_table.cpp
  137. texture_cache/format_lookup_table.h
  138. texture_cache/surface_base.cpp
  139. texture_cache/surface_base.h
  140. texture_cache/surface_params.cpp
  141. texture_cache/surface_params.h
  142. texture_cache/surface_view.cpp
  143. texture_cache/surface_view.h
  144. texture_cache/texture_cache.h
  145. textures/astc.cpp
  146. textures/astc.h
  147. textures/convert.cpp
  148. textures/convert.h
  149. textures/decoders.cpp
  150. textures/decoders.h
  151. textures/texture.h
  152. video_core.cpp
  153. video_core.h
  154. )
  155. if (ENABLE_VULKAN)
  156. target_sources(video_core PRIVATE
  157. renderer_vulkan/declarations.h
  158. renderer_vulkan/fixed_pipeline_state.cpp
  159. renderer_vulkan/fixed_pipeline_state.h
  160. renderer_vulkan/maxwell_to_vk.cpp
  161. renderer_vulkan/maxwell_to_vk.h
  162. renderer_vulkan/renderer_vulkan.h
  163. renderer_vulkan/renderer_vulkan.cpp
  164. renderer_vulkan/vk_blit_screen.cpp
  165. renderer_vulkan/vk_blit_screen.h
  166. renderer_vulkan/vk_buffer_cache.cpp
  167. renderer_vulkan/vk_buffer_cache.h
  168. renderer_vulkan/vk_compute_pass.cpp
  169. renderer_vulkan/vk_compute_pass.h
  170. renderer_vulkan/vk_compute_pipeline.cpp
  171. renderer_vulkan/vk_compute_pipeline.h
  172. renderer_vulkan/vk_descriptor_pool.cpp
  173. renderer_vulkan/vk_descriptor_pool.h
  174. renderer_vulkan/vk_device.cpp
  175. renderer_vulkan/vk_device.h
  176. renderer_vulkan/vk_graphics_pipeline.cpp
  177. renderer_vulkan/vk_graphics_pipeline.h
  178. renderer_vulkan/vk_image.cpp
  179. renderer_vulkan/vk_image.h
  180. renderer_vulkan/vk_memory_manager.cpp
  181. renderer_vulkan/vk_memory_manager.h
  182. renderer_vulkan/vk_pipeline_cache.cpp
  183. renderer_vulkan/vk_pipeline_cache.h
  184. renderer_vulkan/vk_query_cache.cpp
  185. renderer_vulkan/vk_query_cache.h
  186. renderer_vulkan/vk_rasterizer.cpp
  187. renderer_vulkan/vk_rasterizer.h
  188. renderer_vulkan/vk_renderpass_cache.cpp
  189. renderer_vulkan/vk_renderpass_cache.h
  190. renderer_vulkan/vk_resource_manager.cpp
  191. renderer_vulkan/vk_resource_manager.h
  192. renderer_vulkan/vk_sampler_cache.cpp
  193. renderer_vulkan/vk_sampler_cache.h
  194. renderer_vulkan/vk_scheduler.cpp
  195. renderer_vulkan/vk_scheduler.h
  196. renderer_vulkan/vk_shader_decompiler.cpp
  197. renderer_vulkan/vk_shader_decompiler.h
  198. renderer_vulkan/vk_shader_util.cpp
  199. renderer_vulkan/vk_shader_util.h
  200. renderer_vulkan/vk_staging_buffer_pool.cpp
  201. renderer_vulkan/vk_staging_buffer_pool.h
  202. renderer_vulkan/vk_stream_buffer.cpp
  203. renderer_vulkan/vk_stream_buffer.h
  204. renderer_vulkan/vk_swapchain.cpp
  205. renderer_vulkan/vk_swapchain.h
  206. renderer_vulkan/vk_texture_cache.cpp
  207. renderer_vulkan/vk_texture_cache.h
  208. renderer_vulkan/vk_update_descriptor.cpp
  209. renderer_vulkan/vk_update_descriptor.h
  210. )
  211. target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include)
  212. target_compile_definitions(video_core PRIVATE HAS_VULKAN)
  213. endif()
  214. create_target_directory_groups(video_core)
  215. target_link_libraries(video_core PUBLIC common core)
  216. target_link_libraries(video_core PRIVATE glad)
  217. if (ENABLE_VULKAN)
  218. target_link_libraries(video_core PRIVATE sirit)
  219. endif()
  220. if (MSVC)
  221. target_compile_options(video_core PRIVATE /we4267)
  222. else()
  223. target_compile_options(video_core PRIVATE -Werror=conversion -Wno-error=sign-conversion)
  224. endif()