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-10-24 15:19:19 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-10-26 16:36:39 +0300
commitd7d40745fa09061a3117bd3669c5a46bbf611eae (patch)
tree8dbaca086ecbb09aad62c25e9ece66332fe79af3 /intern/cycles/render/tables.cpp
parentb698fe1e047e56e8ed67ba47464c0017d9c50eea (diff)
Cycles: changes to source code folders structure
* Split render/ into scene/ and session/. The scene/ folder now contains the scene and its nodes. The session/ folder contains the render session and associated data structures like drivers and render buffers. * Move top level kernel headers into new folders kernel/camera/, kernel/film/, kernel/light/, kernel/sample/, kernel/util/ * Move integrator related kernel headers into kernel/integrator/ * Move OSL shaders from kernel/shaders/ to kernel/osl/shaders/ For patches and branches, git merge and rebase should be able to detect the renames and move over code to the right file.
Diffstat (limited to 'intern/cycles/render/tables.cpp')
-rw-r--r--intern/cycles/render/tables.cpp130
1 files changed, 0 insertions, 130 deletions
diff --git a/intern/cycles/render/tables.cpp b/intern/cycles/render/tables.cpp
deleted file mode 100644
index a0813400b1c..00000000000
--- a/intern/cycles/render/tables.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright 2011-2013 Blender Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "render/tables.h"
-#include "device/device.h"
-#include "render/scene.h"
-#include "render/stats.h"
-
-#include "util/util_logging.h"
-#include "util/util_time.h"
-
-CCL_NAMESPACE_BEGIN
-
-/* Lookup Tables */
-
-LookupTables::LookupTables()
-{
- need_update_ = true;
-}
-
-LookupTables::~LookupTables()
-{
- assert(lookup_tables.size() == 0);
-}
-
-void LookupTables::device_update(Device *, DeviceScene *dscene, Scene *scene)
-{
- if (!need_update())
- return;
-
- scoped_callback_timer timer([scene](double time) {
- if (scene->update_stats) {
- scene->update_stats->tables.times.add_entry({"device_update", time});
- }
- });
-
- VLOG(1) << "Total " << lookup_tables.size() << " lookup tables.";
-
- if (lookup_tables.size() > 0)
- dscene->lookup_table.copy_to_device();
-
- need_update_ = false;
-}
-
-void LookupTables::device_free(Device *, DeviceScene *dscene)
-{
- dscene->lookup_table.free();
-}
-
-bool LookupTables::need_update() const
-{
- return need_update_;
-}
-
-static size_t round_up_to_multiple(size_t size, size_t chunk)
-{
- return ((size + chunk - 1) / chunk) * chunk;
-}
-
-size_t LookupTables::add_table(DeviceScene *dscene, vector<float> &data)
-{
- assert(data.size() > 0);
-
- need_update_ = true;
-
- Table new_table;
- new_table.offset = 0;
- new_table.size = round_up_to_multiple(data.size(), TABLE_CHUNK_SIZE);
-
- /* find space to put lookup table */
- list<Table>::iterator table;
-
- for (table = lookup_tables.begin(); table != lookup_tables.end(); table++) {
- if (new_table.offset + new_table.size <= table->offset) {
- lookup_tables.insert(table, new_table);
- break;
- }
- else
- new_table.offset = table->offset + table->size;
- }
-
- if (table == lookup_tables.end()) {
- /* add at the end */
- lookup_tables.push_back(new_table);
- dscene->lookup_table.resize(new_table.offset + new_table.size);
- }
-
- /* copy table data and return offset */
- float *dtable = dscene->lookup_table.data();
- memcpy(dtable + new_table.offset, &data[0], sizeof(float) * data.size());
-
- return new_table.offset;
-}
-
-void LookupTables::remove_table(size_t *offset)
-{
- if (*offset == TABLE_OFFSET_INVALID) {
- /* The table isn't even allocated, so just return here. */
- return;
- }
-
- need_update_ = true;
-
- list<Table>::iterator table;
-
- for (table = lookup_tables.begin(); table != lookup_tables.end(); table++) {
- if (table->offset == *offset) {
- lookup_tables.erase(table);
- *offset = TABLE_OFFSET_INVALID;
- return;
- }
- }
-
- assert(table != lookup_tables.end());
-}
-
-CCL_NAMESPACE_END