Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2021-12-07 22:49:34 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-12-07 22:49:34 +0300
commit204ae33d755561e68ad3a6193d9a90d39d47d4da (patch)
treeb83e69f4b4deb024e848b2c45a346409779df26b /intern/cycles/session
parentb81508841639aff7c0bc04accc2be265f554fdce (diff)
Revert "Fix T93350: Cycles renders shows black during rendering huge resolutions"
This reverts commit 5e37f70307bdacedd0f7da65f8b385bc1426f21d. It is leading to freezing of the entire desktop for a few seconds when stopping 3D viewport rendering on my Linux / NVIDIA system.
Diffstat (limited to 'intern/cycles/session')
-rw-r--r--intern/cycles/session/display_driver.h13
-rw-r--r--intern/cycles/session/session.cpp5
-rw-r--r--intern/cycles/session/tile.cpp6
-rw-r--r--intern/cycles/session/tile.h6
4 files changed, 4 insertions, 26 deletions
diff --git a/intern/cycles/session/display_driver.h b/intern/cycles/session/display_driver.h
index 5544ceee83d..77f89326fd0 100644
--- a/intern/cycles/session/display_driver.h
+++ b/intern/cycles/session/display_driver.h
@@ -54,8 +54,6 @@ class DisplayDriver {
}
};
- virtual void next_tile_begin() = 0;
-
/* Update the render from the rendering thread.
*
* Cycles periodically updates the render to be displayed. For multithreaded updates with
@@ -99,17 +97,6 @@ class DisplayDriver {
/* Clear the entire buffer before doing partial write to it. */
bool need_clear = false;
-
- /* Enforce re-creation of the graphics interop object.
- *
- * When this field is true then the graphics interop will be re-created no matter what the
- * rest of the configuration is.
- * When this field is false the graphics interop will be re-created if the PBO or buffer size
- * did change.
- *
- * This allows to ensure graphics interop is re-created when there is a possibility that an
- * underlying PBO was re-allocated but did not change its ID. */
- bool need_recreate = false;
};
virtual GraphicsInterop graphics_interop_get()
diff --git a/intern/cycles/session/session.cpp b/intern/cycles/session/session.cpp
index 4d8e3dfbfad..af5c6b3f1fd 100644
--- a/intern/cycles/session/session.cpp
+++ b/intern/cycles/session/session.cpp
@@ -303,7 +303,7 @@ RenderWork Session::run_update_for_next_iteration()
tile_params.update_offset_stride();
- path_trace_->reset(buffer_params_, tile_params, did_reset);
+ path_trace_->reset(buffer_params_, tile_params);
}
const int resolution = render_work.resolution_divider;
@@ -384,8 +384,7 @@ int2 Session::get_effective_tile_size() const
const int tile_size = tile_manager_.compute_render_tile_size(params.tile_size);
const int64_t actual_tile_area = static_cast<int64_t>(tile_size) * tile_size;
- if (actual_tile_area >= image_area && image_width <= TileManager::MAX_TILE_SIZE &&
- image_height <= TileManager::MAX_TILE_SIZE) {
+ if (actual_tile_area >= image_area) {
return make_int2(image_width, image_height);
}
diff --git a/intern/cycles/session/tile.cpp b/intern/cycles/session/tile.cpp
index afd1f334120..3b8482fa16f 100644
--- a/intern/cycles/session/tile.cpp
+++ b/intern/cycles/session/tile.cpp
@@ -341,10 +341,8 @@ int TileManager::compute_render_tile_size(const int suggested_tile_size) const
/* Must be a multiple of IMAGE_TILE_SIZE so that we can write render tiles into the image file
* aligned on image tile boundaries. We can't set IMAGE_TILE_SIZE equal to the render tile size
* because too big tile size leads to integer overflow inside OpenEXR. */
- const int computed_tile_size = (suggested_tile_size <= IMAGE_TILE_SIZE) ?
- suggested_tile_size :
- align_up(suggested_tile_size, IMAGE_TILE_SIZE);
- return min(computed_tile_size, MAX_TILE_SIZE);
+ return (suggested_tile_size <= IMAGE_TILE_SIZE) ? suggested_tile_size :
+ align_up(suggested_tile_size, IMAGE_TILE_SIZE);
}
void TileManager::reset_scheduling(const BufferParams &params, int2 tile_size)
diff --git a/intern/cycles/session/tile.h b/intern/cycles/session/tile.h
index 7c8f7570d3e..eace148eb0a 100644
--- a/intern/cycles/session/tile.h
+++ b/intern/cycles/session/tile.h
@@ -122,12 +122,6 @@ class TileManager {
/* Tile size in the image file. */
static const int IMAGE_TILE_SIZE = 128;
- /* Maximum supported tile size.
- * Needs to be safe from allocation on a GPU point of view: the display driver needs to be able
- * to allocate texture with the side size of this value.
- * Use conservative value which is safe for most of OpenGL drivers and GPUs. */
- static const int MAX_TILE_SIZE = 8192;
-
protected:
/* Get tile configuration for its index.
* The tile index must be within [0, state_.tile_state_). */