summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-01-24 04:32:19 -0300
committerGravatar ReinUsesLisp2021-01-24 04:32:19 -0300
commit1b76e7e890b92dcb549e2cfc3d7ee895fcd33598 (patch)
tree3bd6488c67ef1ae99c89d4bb695f8bea3634c8da /src
parentmaxwell_3d: Silence array bounds warnings (diff)
downloadyuzu-1b76e7e890b92dcb549e2cfc3d7ee895fcd33598.tar.gz
yuzu-1b76e7e890b92dcb549e2cfc3d7ee895fcd33598.tar.xz
yuzu-1b76e7e890b92dcb549e2cfc3d7ee895fcd33598.zip
video_core: Silence -Wmissing-field-initializers warnings
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp1
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.h2
-rw-r--r--src/video_core/shader/async_shaders.cpp18
-rw-r--r--src/video_core/texture_cache/util.cpp59
-rw-r--r--src/video_core/vulkan_common/vulkan_debug_callback.cpp1
5 files changed, 56 insertions, 25 deletions
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
index a5214d0bc..485cb43f2 100644
--- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
+++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
@@ -181,6 +181,7 @@ std::vector<vk::ShaderModule> VKGraphicsPipeline::CreateShaderModules(
181 .pNext = nullptr, 181 .pNext = nullptr,
182 .flags = 0, 182 .flags = 0,
183 .codeSize = 0, 183 .codeSize = 0,
184 .pCode = nullptr,
184 }; 185 };
185 186
186 std::vector<vk::ShaderModule> shader_modules; 187 std::vector<vk::ShaderModule> shader_modules;
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h
index a55d405d1..8d29361a1 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.h
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.h
@@ -72,7 +72,7 @@ struct TextureCacheRuntime {
72 MemoryAllocator& memory_allocator; 72 MemoryAllocator& memory_allocator;
73 StagingBufferPool& staging_buffer_pool; 73 StagingBufferPool& staging_buffer_pool;
74 BlitImageHelper& blit_image_helper; 74 BlitImageHelper& blit_image_helper;
75 std::unordered_map<RenderPassKey, vk::RenderPass> renderpass_cache; 75 std::unordered_map<RenderPassKey, vk::RenderPass> renderpass_cache{};
76 76
77 void Finish(); 77 void Finish();
78 78
diff --git a/src/video_core/shader/async_shaders.cpp b/src/video_core/shader/async_shaders.cpp
index 9707136e9..3b40db9bc 100644
--- a/src/video_core/shader/async_shaders.cpp
+++ b/src/video_core/shader/async_shaders.cpp
@@ -129,6 +129,15 @@ void AsyncShaders::QueueOpenGLShader(const OpenGL::Device& device,
129 .compiler_settings = compiler_settings, 129 .compiler_settings = compiler_settings,
130 .registry = registry, 130 .registry = registry,
131 .cpu_address = cpu_addr, 131 .cpu_address = cpu_addr,
132 .pp_cache = nullptr,
133 .vk_device = nullptr,
134 .scheduler = nullptr,
135 .descriptor_pool = nullptr,
136 .update_descriptor_queue = nullptr,
137 .bindings{},
138 .program{},
139 .key{},
140 .num_color_buffers = 0,
132 }); 141 });
133 cv.notify_one(); 142 cv.notify_one();
134} 143}
@@ -143,6 +152,15 @@ void AsyncShaders::QueueVulkanShader(Vulkan::VKPipelineCache* pp_cache,
143 std::unique_lock lock(queue_mutex); 152 std::unique_lock lock(queue_mutex);
144 pending_queue.push({ 153 pending_queue.push({
145 .backend = Backend::Vulkan, 154 .backend = Backend::Vulkan,
155 .device = nullptr,
156 .shader_type{},
157 .uid = 0,
158 .code{},
159 .code_b{},
160 .main_offset = 0,
161 .compiler_settings{},
162 .registry{},
163 .cpu_address = 0,
146 .pp_cache = pp_cache, 164 .pp_cache = pp_cache,
147 .vk_device = &device, 165 .vk_device = &device,
148 .scheduler = &scheduler, 166 .scheduler = &scheduler,
diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp
index b23424523..bb2cdef81 100644
--- a/src/video_core/texture_cache/util.cpp
+++ b/src/video_core/texture_cache/util.cpp
@@ -1193,25 +1193,35 @@ u32 MapSizeBytes(const ImageBase& image) {
1193 } 1193 }
1194} 1194}
1195 1195
1196using P = PixelFormat; 1196static_assert(CalculateLevelSize(LevelInfo{{1920, 1080, 1}, {0, 2, 0}, {1, 1}, 2, 0}, 0) ==
1197 1197 0x7f8000);
1198static_assert(CalculateLevelSize(LevelInfo{{1920, 1080}, {0, 2, 0}, {1, 1}, 2, 0}, 0) == 0x7f8000); 1198static_assert(CalculateLevelSize(LevelInfo{{32, 32, 1}, {0, 0, 4}, {1, 1}, 4, 0}, 0) == 0x4000);
1199static_assert(CalculateLevelSize(LevelInfo{{32, 32}, {0, 0, 4}, {1, 1}, 4, 0}, 0) == 0x4000); 1199
1200 1200static_assert(CalculateLevelOffset(PixelFormat::R8_SINT, {1920, 1080, 1}, {0, 2, 0}, 1, 0, 7) ==
1201static_assert(CalculateLevelOffset(P::R8_SINT, {1920, 1080}, {0, 2}, 1, 0, 7) == 0x2afc00); 1201 0x2afc00);
1202static_assert(CalculateLevelOffset(P::ASTC_2D_12X12_UNORM, {8192, 4096}, {0, 2}, 1, 0, 12) == 1202static_assert(CalculateLevelOffset(PixelFormat::ASTC_2D_12X12_UNORM, {8192, 4096, 1}, {0, 2, 0}, 1,
1203 0x50d200); 1203 0, 12) == 0x50d200);
1204 1204
1205static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 0) == 0); 1205static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1206static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 1) == 0x400000); 1206 0) == 0);
1207static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 2) == 0x500000); 1207static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1208static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 3) == 0x540000); 1208 1) == 0x400000);
1209static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 4) == 0x550000); 1209static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1210static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 5) == 0x554000); 1210 2) == 0x500000);
1211static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 6) == 0x555000); 1211static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1212static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 7) == 0x555400); 1212 3) == 0x540000);
1213static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 8) == 0x555600); 1213static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1214static_assert(CalculateLevelOffset(P::A8B8G8R8_UNORM, {1024, 1024}, {0, 4}, 1, 0, 9) == 0x555800); 1214 4) == 0x550000);
1215static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1216 5) == 0x554000);
1217static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1218 6) == 0x555000);
1219static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1220 7) == 0x555400);
1221static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1222 8) == 0x555600);
1223static_assert(CalculateLevelOffset(PixelFormat::A8B8G8R8_UNORM, {1024, 1024, 1}, {0, 4, 0}, 1, 0,
1224 9) == 0x555800);
1215 1225
1216constexpr u32 ValidateLayerSize(PixelFormat format, u32 width, u32 height, u32 block_height, 1226constexpr u32 ValidateLayerSize(PixelFormat format, u32 width, u32 height, u32 block_height,
1217 u32 tile_width_spacing, u32 level) { 1227 u32 tile_width_spacing, u32 level) {
@@ -1221,13 +1231,14 @@ constexpr u32 ValidateLayerSize(PixelFormat format, u32 width, u32 height, u32 b
1221 return AlignLayerSize(offset, size, block, DefaultBlockHeight(format), tile_width_spacing); 1231 return AlignLayerSize(offset, size, block, DefaultBlockHeight(format), tile_width_spacing);
1222} 1232}
1223 1233
1224static_assert(ValidateLayerSize(P::ASTC_2D_12X12_UNORM, 8192, 4096, 2, 0, 12) == 0x50d800); 1234static_assert(ValidateLayerSize(PixelFormat::ASTC_2D_12X12_UNORM, 8192, 4096, 2, 0, 12) ==
1225static_assert(ValidateLayerSize(P::A8B8G8R8_UNORM, 1024, 1024, 2, 0, 10) == 0x556000); 1235 0x50d800);
1226static_assert(ValidateLayerSize(P::BC3_UNORM, 128, 128, 2, 0, 8) == 0x6000); 1236static_assert(ValidateLayerSize(PixelFormat::A8B8G8R8_UNORM, 1024, 1024, 2, 0, 10) == 0x556000);
1237static_assert(ValidateLayerSize(PixelFormat::BC3_UNORM, 128, 128, 2, 0, 8) == 0x6000);
1227 1238
1228static_assert(ValidateLayerSize(P::A8B8G8R8_UNORM, 518, 572, 4, 3, 1) == 0x190000, 1239static_assert(ValidateLayerSize(PixelFormat::A8B8G8R8_UNORM, 518, 572, 4, 3, 1) == 0x190000,
1229 "Tile width spacing is not working"); 1240 "Tile width spacing is not working");
1230static_assert(ValidateLayerSize(P::BC5_UNORM, 1024, 1024, 3, 4, 11) == 0x160000, 1241static_assert(ValidateLayerSize(PixelFormat::BC5_UNORM, 1024, 1024, 3, 4, 11) == 0x160000,
1231 "Compressed tile width spacing is not working"); 1242 "Compressed tile width spacing is not working");
1232 1243
1233} // namespace VideoCommon 1244} // namespace VideoCommon
diff --git a/src/video_core/vulkan_common/vulkan_debug_callback.cpp b/src/video_core/vulkan_common/vulkan_debug_callback.cpp
index ea7af8ad4..5c64c9bf7 100644
--- a/src/video_core/vulkan_common/vulkan_debug_callback.cpp
+++ b/src/video_core/vulkan_common/vulkan_debug_callback.cpp
@@ -39,6 +39,7 @@ vk::DebugUtilsMessenger CreateDebugCallback(const vk::Instance& instance) {
39 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | 39 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT |
40 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT, 40 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT,
41 .pfnUserCallback = Callback, 41 .pfnUserCallback = Callback,
42 .pUserData = nullptr,
42 }); 43 });
43} 44}
44 45