diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/arm/arm_interface.cpp | 12 | ||||
| -rw-r--r-- | src/core/hle/service/nvflinger/buffer_queue.cpp | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_device.cpp | 9 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/texture_cache/surface_params.cpp | 1 |
5 files changed, 24 insertions, 4 deletions
diff --git a/src/core/arm/arm_interface.cpp b/src/core/arm/arm_interface.cpp index d2295ed90..0951e1976 100644 --- a/src/core/arm/arm_interface.cpp +++ b/src/core/arm/arm_interface.cpp | |||
| @@ -147,10 +147,18 @@ std::vector<ARM_Interface::BacktraceEntry> ARM_Interface::GetBacktraceFromContex | |||
| 147 | auto fp = ctx.cpu_registers[29]; | 147 | auto fp = ctx.cpu_registers[29]; |
| 148 | auto lr = ctx.cpu_registers[30]; | 148 | auto lr = ctx.cpu_registers[30]; |
| 149 | while (true) { | 149 | while (true) { |
| 150 | out.push_back({"", 0, lr, 0}); | 150 | out.push_back({ |
| 151 | if (!fp) { | 151 | .module = "", |
| 152 | .address = 0, | ||
| 153 | .original_address = lr, | ||
| 154 | .offset = 0, | ||
| 155 | .name = {}, | ||
| 156 | }); | ||
| 157 | |||
| 158 | if (fp == 0) { | ||
| 152 | break; | 159 | break; |
| 153 | } | 160 | } |
| 161 | |||
| 154 | lr = memory.Read64(fp + 8) - 4; | 162 | lr = memory.Read64(fp + 8) - 4; |
| 155 | fp = memory.Read64(fp); | 163 | fp = memory.Read64(fp); |
| 156 | } | 164 | } |
diff --git a/src/core/hle/service/nvflinger/buffer_queue.cpp b/src/core/hle/service/nvflinger/buffer_queue.cpp index 4f1e210b1..b89a2d41b 100644 --- a/src/core/hle/service/nvflinger/buffer_queue.cpp +++ b/src/core/hle/service/nvflinger/buffer_queue.cpp | |||
| @@ -29,6 +29,10 @@ void BufferQueue::SetPreallocatedBuffer(u32 slot, const IGBPBuffer& igbp_buffer) | |||
| 29 | .slot = slot, | 29 | .slot = slot, |
| 30 | .status = Buffer::Status::Free, | 30 | .status = Buffer::Status::Free, |
| 31 | .igbp_buffer = igbp_buffer, | 31 | .igbp_buffer = igbp_buffer, |
| 32 | .transform = {}, | ||
| 33 | .crop_rect = {}, | ||
| 34 | .swap_interval = 0, | ||
| 35 | .multi_fence = {}, | ||
| 32 | }); | 36 | }); |
| 33 | 37 | ||
| 34 | buffer_wait_event.writable->Signal(); | 38 | buffer_wait_event.writable->Signal(); |
diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp index e1217ca83..f34ed6735 100644 --- a/src/video_core/renderer_vulkan/vk_device.cpp +++ b/src/video_core/renderer_vulkan/vk_device.cpp | |||
| @@ -771,13 +771,18 @@ void VKDevice::CollectTelemetryParameters() { | |||
| 771 | VkPhysicalDeviceDriverPropertiesKHR driver{ | 771 | VkPhysicalDeviceDriverPropertiesKHR driver{ |
| 772 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR, | 772 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR, |
| 773 | .pNext = nullptr, | 773 | .pNext = nullptr, |
| 774 | .driverID = {}, | ||
| 775 | .driverName = {}, | ||
| 776 | .driverInfo = {}, | ||
| 777 | .conformanceVersion = {}, | ||
| 774 | }; | 778 | }; |
| 775 | 779 | ||
| 776 | VkPhysicalDeviceProperties2KHR properties{ | 780 | VkPhysicalDeviceProperties2KHR device_properties{ |
| 777 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR, | 781 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR, |
| 778 | .pNext = &driver, | 782 | .pNext = &driver, |
| 783 | .properties = {}, | ||
| 779 | }; | 784 | }; |
| 780 | physical.GetProperties2KHR(properties); | 785 | physical.GetProperties2KHR(device_properties); |
| 781 | 786 | ||
| 782 | driver_id = driver.driverID; | 787 | driver_id = driver.driverID; |
| 783 | vendor_name = driver.driverName; | 788 | vendor_name = driver.driverName; |
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index 696eaeb5f..0e8f9c352 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | |||
| @@ -159,6 +159,7 @@ std::vector<vk::ShaderModule> VKGraphicsPipeline::CreateShaderModules( | |||
| 159 | .sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO, | 159 | .sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO, |
| 160 | .pNext = nullptr, | 160 | .pNext = nullptr, |
| 161 | .flags = 0, | 161 | .flags = 0, |
| 162 | .codeSize = 0, | ||
| 162 | }; | 163 | }; |
| 163 | 164 | ||
| 164 | std::vector<vk::ShaderModule> modules; | 165 | std::vector<vk::ShaderModule> modules; |
| @@ -388,6 +389,7 @@ vk::Pipeline VKGraphicsPipeline::CreatePipeline(const RenderPassParams& renderpa | |||
| 388 | .logicOp = VK_LOGIC_OP_COPY, | 389 | .logicOp = VK_LOGIC_OP_COPY, |
| 389 | .attachmentCount = static_cast<u32>(num_attachments), | 390 | .attachmentCount = static_cast<u32>(num_attachments), |
| 390 | .pAttachments = cb_attachments.data(), | 391 | .pAttachments = cb_attachments.data(), |
| 392 | .blendConstants = {}, | ||
| 391 | }; | 393 | }; |
| 392 | 394 | ||
| 393 | std::vector dynamic_states{ | 395 | std::vector dynamic_states{ |
diff --git a/src/video_core/texture_cache/surface_params.cpp b/src/video_core/texture_cache/surface_params.cpp index e8515321b..13dd16356 100644 --- a/src/video_core/texture_cache/surface_params.cpp +++ b/src/video_core/texture_cache/surface_params.cpp | |||
| @@ -240,6 +240,7 @@ SurfaceParams SurfaceParams::CreateForFermiCopySurface( | |||
| 240 | .is_tiled = is_tiled, | 240 | .is_tiled = is_tiled, |
| 241 | .srgb_conversion = config.format == Tegra::RenderTargetFormat::B8G8R8A8_SRGB || | 241 | .srgb_conversion = config.format == Tegra::RenderTargetFormat::B8G8R8A8_SRGB || |
| 242 | config.format == Tegra::RenderTargetFormat::A8B8G8R8_SRGB, | 242 | config.format == Tegra::RenderTargetFormat::A8B8G8R8_SRGB, |
| 243 | .is_layered = false, | ||
| 243 | .block_width = is_tiled ? std::min(config.BlockWidth(), 5U) : 0U, | 244 | .block_width = is_tiled ? std::min(config.BlockWidth(), 5U) : 0U, |
| 244 | .block_height = is_tiled ? std::min(config.BlockHeight(), 5U) : 0U, | 245 | .block_height = is_tiled ? std::min(config.BlockHeight(), 5U) : 0U, |
| 245 | .block_depth = is_tiled ? std::min(config.BlockDepth(), 5U) : 0U, | 246 | .block_depth = is_tiled ? std::min(config.BlockDepth(), 5U) : 0U, |