diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2016-06-20 23:44:39 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2016-06-20 23:44:39 +0300 |
commit | 562392cc85c1d3f44da29d67294e9a1d91153cfc (patch) | |
tree | 9cfe8a1e3306744fc71ef307d3794e8f84956432 /intern/cycles/render/session.cpp | |
parent | a090544336c91676375f1522eea2599a95a22f8f (diff) |
Cycles: Implement tile overscan for GPU denoising
This commit adds support for tile overscan - rendering a larger tile internally
and only showing its center area. That is needed for GPU denoising since the regular
approach of keeping the neighbor tiles in memory would require far too much memory.
Since tiles are generally quite large on GPUs, the added overhead isn't too large.
Diffstat (limited to 'intern/cycles/render/session.cpp')
-rw-r--r-- | intern/cycles/render/session.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 371f4a44b4c..c02a891abfc 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -403,6 +403,9 @@ bool Session::acquire_tile(Device *tile_device, RenderTile& rtile) buffer_params.full_y = rtile.y; buffer_params.width = rtile.w; buffer_params.height = rtile.h; + buffer_params.overscan = 0; + buffer_params.final_width = rtile.w - 2*overscan; + buffer_params.final_height = rtile.h - 2*overscan; buffer_params.get_offset_stride(rtile.offset, rtile.stride); |