Commit graph

543 commits

Author SHA1 Message Date
ReinUsesLisp
ee7e70cfbc video_core: Enforce -Werror=switch
This forces us to fix all -Wswitch warnings in video_core.
2020-09-16 17:48:01 -03:00
ReinUsesLisp
8efb2c5537 video_core: Remove all Core::System references in renderer
Now that the GPU is initialized when video backends are initialized,
it's no longer needed to query components once the game is running: it
can be done when yuzu is booting.

This allows us to pass components between constructors and in the
process remove all Core::System references in the video backend.
2020-09-06 05:28:48 -03:00
ReinUsesLisp
6392fc8898 vk_device: Fix driver id check on AMD for VK_EXT_extended_dynamic_state
'driver_id' can only be known on Vulkan 1.1 after creating a logical
device. Move the driver id check to disable
VK_EXT_extended_dynamic_state after the logical device is successfully
initialized.

The Vulkan device will have the extension enabled but it will not be
used.
2020-08-30 20:22:48 -03:00
ReinUsesLisp
a7ea965de5 vk_device: Blacklist AMD proprietary from VK_EXT_extended_dynamic_state
Vertex binding's <stride> is bugged on AMD's proprietary drivers when
using VK_EXT_extended_dynamic_state. Blacklist it for now while we
investigate how to report this issue to AMD.
2020-08-28 19:14:57 -03:00
bunnei
8a4d19af75 Merge pull request #4555 from ReinUsesLisp/fix-primitive-topology
vk_state_tracker: Fix primitive topology
2020-08-26 22:19:52 -04:00
bunnei
d196957ae2 Merge pull request #4542 from ReinUsesLisp/gpu-init-base
video_core: Initialize renderer with a GPU
2020-08-24 22:56:11 -04:00
ReinUsesLisp
1c61cf29b6 video_core: Initialize renderer with a GPU
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
2020-08-22 01:51:45 -03:00
ReinUsesLisp
39cab995e3 vk_state_tracker: Fix primitive topology
State track the current primitive topology with a regular comparison
instead of using dirty flags.

This fixes a bug in dirty flags for this particular state and it also
avoids unnecessary state changes as this property is stored in a
frequently changed bit field.
2020-08-20 23:07:30 -03:00
bunnei
ded348b94a Merge pull request #4546 from lioncash/telemetry
common/telemetry: Migrate namespace into the Common namespace
2020-08-20 14:29:13 -04:00
bunnei
02b8956639 Merge pull request #4522 from lioncash/vulk-copy
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
2020-08-18 19:31:35 -04:00
Lioncash
ecb9029c6a common/telemetry: Migrate namespace into the Common namespace
Migrates the Telemetry namespace into the Common namespace to make the
code consistent with the rest of our common code.
2020-08-18 15:08:32 -04:00
bunnei
ab2ebb773e Merge pull request #4535 from lioncash/fileutil
common/fileutil: Convert namespace to Common::FS
2020-08-17 22:35:30 -04:00
ameerj
4cb6ad9eaf Remove unneeded newlines, optional Registry in shader params
Addressing feedback from Rodrigo
2020-08-16 16:33:21 -04:00
ameerj
b467d4dbd0 move thread 1/4 count computation into allocate workers method 2020-08-16 12:02:22 -04:00
ameerj
3fa34fa7bf Address feedback, add shader compile notifier, update setting text 2020-08-16 12:02:22 -04:00
ameerj
5a2879a781 Vk Async Worker directly emplace in cache 2020-08-16 12:02:22 -04:00
ameerj
f029fa19bf Address feedback. Bruteforce delete duplicates 2020-08-16 12:02:22 -04:00
ameerj
77698ae7d6 Vk Async pipeline compilation 2020-08-16 12:02:22 -04:00
Lioncash
a87209e09d common/fileutil: Convert namespace to Common::FS
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.

This also allows for high-traffic FS related code to alias the
filesystem function namespace as

namespace FS = Common::FS;

for more concise typing.
2020-08-16 06:52:40 -04:00
Lioncash
cde4447257 vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
Given this is implicitly creating a std::optional, we can move the
vector into it.
2020-08-14 08:23:49 -04:00
Lioncash
78ddcbe3ba General: Tidy up clang-format warnings part 2 2020-08-13 14:19:08 -04:00
Lioncash
29ee53cb35 vulkan: Silence more -Wmissing-field-initializer warnings 2020-08-03 12:28:57 -04:00
Lioncash
0ab49b988e vulkan: Resolve -Wmissing-field-initializer warnings 2020-07-25 03:50:18 -04:00
bunnei
b6ba7c5249 Merge pull request #4393 from lioncash/unused5
vk_rasterizer: Remove unused variable in Clear()
2020-07-24 20:33:58 -07:00
bunnei
f0fff26e67 Merge pull request #4394 from lioncash/unused6
video_core: Remove unused variables
2020-07-23 19:54:59 -07:00
Rodrigo Locatti
beafe0508a Merge pull request #4359 from ReinUsesLisp/clamp-shared
renderer_{opengl,vulkan}: Clamp shared memory to host's limit
2020-07-21 04:51:05 -03:00
Lioncash
074f382a39 video_core: Remove unused variables
Silences several compiler warnings about unused variables.
2020-07-21 00:57:25 -04:00
Lioncash
09172c0347 vk_rasterizer: Remove unused variable in Clear()
The relevant values are already assigned further down in the lambda, so
this can be removed entirely.
2020-07-21 00:49:10 -04:00
bunnei
2e4a5d2110 Merge pull request #4324 from ReinUsesLisp/formats
video_core: Fix, add and rename pixel formats
2020-07-21 00:13:04 -04:00
bunnei
8ff5d393b7 Merge pull request #4364 from lioncash/desig5
vulkan: Make use of designated initializers where applicable
2020-07-18 00:12:43 -04:00
ReinUsesLisp
1e30bdee64 vk_device: Fix build error on old MSVC versions
Designated initializers on old MSVC versions fail to build when they
take the address of a constant.
2020-07-17 20:27:53 -03:00
bunnei
b4914299eb Merge pull request #4322 from ReinUsesLisp/fix-dynstate
vk_state_tracker: Fix dirty flags for stencil_enable on VK_EXT_extended_dynamic_state
2020-07-17 09:50:45 -04:00
Lioncash
daa19f1894 wrapper: Make use of designated initializers where applicable 2020-07-16 20:01:01 -04:00
Lioncash
28c7c4e06c vk_texture_cache: Make use of designated initializers where applicable 2020-07-16 19:52:38 -04:00
Lioncash
6ae380626f vk_texture_cache: Amend mismatched access masks and indices in UploadBuffer
Discovered while converting relevant parts of the codebase over to
designated initializers.
2020-07-16 19:45:46 -04:00
Lioncash
f683a6e7e0 vk_swapchain: Make use of designated initializers where applicable 2020-07-16 19:27:02 -04:00
Lioncash
98e5d57908 vk_stream_buffer: Make use of designated initializers where applicable 2020-07-16 19:22:11 -04:00
Lioncash
947749d35d vk_staging_buffer_pool: Make use of designated initializers where applicable 2020-07-16 19:22:03 -04:00
Lioncash
4694ea8a99 vk_shader_util: Make use of designated initializers where applicable 2020-07-16 19:17:41 -04:00
Lioncash
683403d1cf vk_scheduler: Make use of designated initializers where applicable 2020-07-16 19:11:43 -04:00
Lioncash
a6f0caeeb9 vk_sampler_cache: Make use of designated initializers where applicable 2020-07-16 19:06:40 -04:00
Lioncash
faba1ede49 vk_resource_manager: Make use of designated initializers where applicable 2020-07-16 19:02:35 -04:00
Lioncash
96a6d95c9c vk_renderpass_cache: Make use of designated initializers where applicable 2020-07-16 18:57:23 -04:00
Lioncash
71a085c84f vk_rasterizer: Make use of designated initializers where applicable 2020-07-16 18:49:42 -04:00
Lioncash
42dadb45ac vk_query_cache: Make use of designated initializers where applicable 2020-07-16 18:34:04 -04:00
Lioncash
fe2c963646 vk_pipeline_cache: Make use of designated initializers where applicable 2020-07-16 18:32:29 -04:00
Lioncash
8ffbe8e7c9 vk_memory_manager: Make use of designated initializers where applicable 2020-07-16 18:26:30 -04:00
Lioncash
6b6af38615 vk_image: Make use of designated initializers where applicable 2020-07-16 18:24:26 -04:00
Lioncash
f734fa9d78 vk_descriptor_pool: Make use of designated initializers where applicable 2020-07-16 18:19:45 -04:00
Lioncash
cc47d8b0ce vk_graphics_pipeline: Resolve narrowing warnings
For whatever reason, VK_TRUE and VK_FALSE aren't defined as having a
VkBool32 type, so we need to cast to it explicitly.
2020-07-16 18:13:49 -04:00