summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/devices
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-07-18 02:11:41 +0200
committerbunnei <bunneidev@gmail.com>2018-07-18 02:13:17 +0200
commitc3dd456d513a989315d4e8a00ad8a1223bb8f9c4 (patch)
tree25e349c1885d70d9338841faaa16f31976e09994 /src/core/hle/service/nvdrv/devices
parentMerge pull request #675 from Subv/stencil (diff)
downloadyuzu-c3dd456d513a989315d4e8a00ad8a1223bb8f9c4.tar
yuzu-c3dd456d513a989315d4e8a00ad8a1223bb8f9c4.tar.gz
yuzu-c3dd456d513a989315d4e8a00ad8a1223bb8f9c4.tar.bz2
yuzu-c3dd456d513a989315d4e8a00ad8a1223bb8f9c4.tar.lz
yuzu-c3dd456d513a989315d4e8a00ad8a1223bb8f9c4.tar.xz
yuzu-c3dd456d513a989315d4e8a00ad8a1223bb8f9c4.tar.zst
yuzu-c3dd456d513a989315d4e8a00ad8a1223bb8f9c4.zip
Diffstat (limited to 'src/core/hle/service/nvdrv/devices')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp6
-rw-r--r--src/core/hle/service/nvdrv/devices/nvdisp_disp0.h4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp
index c39d5a164..ed69a4325 100644
--- a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp
+++ b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp
@@ -18,7 +18,8 @@ u32 nvdisp_disp0::ioctl(Ioctl command, const std::vector<u8>& input, std::vector
}
void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u32 height,
- u32 stride, NVFlinger::BufferQueue::BufferTransformFlags transform) {
+ u32 stride, NVFlinger::BufferQueue::BufferTransformFlags transform,
+ const MathUtil::Rectangle<int>& crop_rect) {
VAddr addr = nvmap_dev->GetObjectAddress(buffer_handle);
LOG_WARNING(Service,
"Drawing from address {:X} offset {:08X} Width {} Height {} Stride {} Format {}",
@@ -26,7 +27,8 @@ void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u3
using PixelFormat = Tegra::FramebufferConfig::PixelFormat;
const Tegra::FramebufferConfig framebuffer{
- addr, offset, width, height, stride, static_cast<PixelFormat>(format), transform};
+ addr, offset, width, height, stride, static_cast<PixelFormat>(format),
+ transform, crop_rect};
Core::System::GetInstance().perf_stats.EndGameFrame();
diff --git a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h
index 3d3979723..d4631a32b 100644
--- a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h
+++ b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h
@@ -7,6 +7,7 @@
#include <memory>
#include <vector>
#include "common/common_types.h"
+#include "common/math_util.h"
#include "core/hle/service/nvdrv/devices/nvdevice.h"
#include "core/hle/service/nvflinger/buffer_queue.h"
@@ -23,7 +24,8 @@ public:
/// Performs a screen flip, drawing the buffer pointed to by the handle.
void flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u32 height, u32 stride,
- NVFlinger::BufferQueue::BufferTransformFlags transform);
+ NVFlinger::BufferQueue::BufferTransformFlags transform,
+ const MathUtil::Rectangle<int>& crop_rect);
private:
std::shared_ptr<nvmap> nvmap_dev;