Blender  V3.3
scene/tables.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2011-2022 Blender Foundation */
3 
4 #ifndef __TABLES_H__
5 #define __TABLES_H__
6 
7 #include "util/list.h"
8 #include "util/vector.h"
9 
11 
12 class Device;
13 class DeviceScene;
14 class Scene;
15 
16 enum { TABLE_CHUNK_SIZE = 256 };
17 enum { TABLE_OFFSET_INVALID = -1 };
18 
19 class LookupTables {
20  bool need_update_;
21 
22  public:
23  struct Table {
24  size_t offset;
25  size_t size;
26  };
27 
28  list<Table> lookup_tables;
29 
30  LookupTables();
31  ~LookupTables();
32 
33  void device_update(Device *device, DeviceScene *dscene, Scene *scene);
34  void device_free(Device *device, DeviceScene *dscene);
35 
36  bool need_update() const;
37 
38  size_t add_table(DeviceScene *dscene, vector<float> &data);
39  void remove_table(size_t *offset);
40 };
41 
43 
44 #endif /* __TABLES_H__ */
void device_free(Device *device, DeviceScene *dscene)
Definition: tables.cpp:45
size_t add_table(DeviceScene *dscene, vector< float > &data)
Definition: tables.cpp:60
~LookupTables()
Definition: tables.cpp:21
void remove_table(size_t *offset)
Definition: tables.cpp:95
LookupTables()
Definition: tables.cpp:16
list< Table > lookup_tables
Definition: scene/tables.h:28
void device_update(Device *device, DeviceScene *dscene, Scene *scene)
Definition: tables.cpp:26
bool need_update() const
Definition: tables.cpp:50
#define CCL_NAMESPACE_END
Definition: cuda/compat.h:9
Scene scene
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
@ TABLE_CHUNK_SIZE
Definition: scene/tables.h:16
@ TABLE_OFFSET_INVALID
Definition: scene/tables.h:17