summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.cpp25
-rw-r--r--src/yuzu/configuration/config.cpp19
2 files changed, 34 insertions, 10 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
index bc2a53841..017348e05 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
@@ -417,7 +417,7 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) {
417 }; 417 };
418} 418}
419 419
420[[nodiscard]] constexpr SwizzleSource ConvertGreenRed(SwizzleSource value) { 420[[nodiscard]] SwizzleSource ConvertGreenRed(SwizzleSource value) {
421 switch (value) { 421 switch (value) {
422 case SwizzleSource::G: 422 case SwizzleSource::G:
423 return SwizzleSource::R; 423 return SwizzleSource::R;
@@ -426,6 +426,17 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) {
426 } 426 }
427} 427}
428 428
429[[nodiscard]] SwizzleSource SwapBlueRed(SwizzleSource value) {
430 switch (value) {
431 case SwizzleSource::R:
432 return SwizzleSource::B;
433 case SwizzleSource::B:
434 return SwizzleSource::R;
435 default:
436 return value;
437 }
438}
439
429void CopyBufferToImage(vk::CommandBuffer cmdbuf, VkBuffer src_buffer, VkImage image, 440void CopyBufferToImage(vk::CommandBuffer cmdbuf, VkBuffer src_buffer, VkImage image,
430 VkImageAspectFlags aspect_mask, bool is_initialized, 441 VkImageAspectFlags aspect_mask, bool is_initialized,
431 std::span<const VkBufferImageCopy> copies) { 442 std::span<const VkBufferImageCopy> copies) {
@@ -543,6 +554,15 @@ void CopyBufferToImage(vk::CommandBuffer cmdbuf, VkBuffer src_buffer, VkImage im
543 }; 554 };
544} 555}
545 556
557[[nodiscard]] bool IsFormatFlipped(PixelFormat format) {
558 switch (format) {
559 case PixelFormat::A1B5G5R5_UNORM:
560 return true;
561 default:
562 return false;
563 }
564}
565
546struct RangedBarrierRange { 566struct RangedBarrierRange {
547 u32 min_mip = std::numeric_limits<u32>::max(); 567 u32 min_mip = std::numeric_limits<u32>::max();
548 u32 max_mip = std::numeric_limits<u32>::min(); 568 u32 max_mip = std::numeric_limits<u32>::min();
@@ -948,6 +968,9 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI
948 }; 968 };
949 if (!info.IsRenderTarget()) { 969 if (!info.IsRenderTarget()) {
950 swizzle = info.Swizzle(); 970 swizzle = info.Swizzle();
971 if (IsFormatFlipped(format)) {
972 std::ranges::transform(swizzle, swizzle.begin(), SwapBlueRed);
973 }
951 if ((aspect_mask & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) != 0) { 974 if ((aspect_mask & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) != 0) {
952 std::ranges::transform(swizzle, swizzle.begin(), ConvertGreenRed); 975 std::ranges::transform(swizzle, swizzle.begin(), ConvertGreenRed);
953 } 976 }
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 851246233..f4bd8069b 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -29,9 +29,10 @@ Config::~Config() {
29} 29}
30 30
31const std::array<int, Settings::NativeButton::NumButtons> Config::default_buttons = { 31const std::array<int, Settings::NativeButton::NumButtons> Config::default_buttons = {
32 Qt::Key_A, Qt::Key_S, Qt::Key_Z, Qt::Key_X, Qt::Key_3, Qt::Key_4, Qt::Key_Q, 32 Qt::Key_C, Qt::Key_X, Qt::Key_V, Qt::Key_Z, Qt::Key_F,
33 Qt::Key_W, Qt::Key_1, Qt::Key_2, Qt::Key_N, Qt::Key_M, Qt::Key_F, Qt::Key_T, 33 Qt::Key_G, Qt::Key_Q, Qt::Key_E, Qt::Key_R, Qt::Key_T,
34 Qt::Key_H, Qt::Key_G, Qt::Key_D, Qt::Key_C, Qt::Key_B, Qt::Key_V, 34 Qt::Key_M, Qt::Key_N, Qt::Key_Left, Qt::Key_Up, Qt::Key_Right,
35 Qt::Key_Down, Qt::Key_Q, Qt::Key_E, 0, 0,
35}; 36};
36 37
37const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motions = { 38const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motions = {
@@ -41,10 +42,10 @@ const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motion
41 42
42const std::array<std::array<int, 4>, Settings::NativeAnalog::NumAnalogs> Config::default_analogs{{ 43const std::array<std::array<int, 4>, Settings::NativeAnalog::NumAnalogs> Config::default_analogs{{
43 { 44 {
44 Qt::Key_Up, 45 Qt::Key_W,
45 Qt::Key_Down, 46 Qt::Key_S,
46 Qt::Key_Left, 47 Qt::Key_A,
47 Qt::Key_Right, 48 Qt::Key_D,
48 }, 49 },
49 { 50 {
50 Qt::Key_I, 51 Qt::Key_I,
@@ -55,8 +56,8 @@ const std::array<std::array<int, 4>, Settings::NativeAnalog::NumAnalogs> Config:
55}}; 56}};
56 57
57const std::array<int, 2> Config::default_stick_mod = { 58const std::array<int, 2> Config::default_stick_mod = {
58 Qt::Key_E, 59 Qt::Key_Shift,
59 Qt::Key_R, 60 0,
60}; 61};
61 62
62const std::array<int, Settings::NativeMouseButton::NumMouseButtons> Config::default_mouse_buttons = 63const std::array<int, Settings::NativeMouseButton::NumMouseButtons> Config::default_mouse_buttons =