Blender  V2.93
image_private.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * Copyright 2020, Blender Foundation.
17  */
18 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /* Forward declarations */
28 struct GPUTexture;
29 struct ImBuf;
30 struct Image;
31 
32 /* *********** LISTS *********** */
33 
34 /* GPUViewport.storage
35  * Is freed every time the viewport engine changes. */
36 typedef struct IMAGE_PassList {
39 
40 typedef struct IMAGE_PrivateData {
41  void *lock;
42  struct ImBuf *ibuf;
43  struct Image *image;
44  struct DRWView *view;
45 
49 
50 typedef struct IMAGE_StorageList {
53 
54 typedef struct IMAGE_Data {
55  void *engine_type;
61 
62 /* image_shader.c */
63 GPUShader *IMAGE_shader_image_get(bool is_tiled_image);
65 void IMAGE_shader_free(void);
66 
67 #ifdef __cplusplus
68 }
69 #endif
char DRWViewportEmptyList
Definition: DRW_render.h:91
struct GPUShader GPUShader
Definition: GPU_shader.h:33
struct GPUTexture GPUTexture
Definition: GPU_texture.h:33
GPUShader * IMAGE_shader_image_get(bool is_tiled_image)
Definition: image_shader.c:59
void IMAGE_shader_library_ensure(void)
Definition: image_shader.c:48
struct IMAGE_PassList IMAGE_PassList
struct IMAGE_PrivateData IMAGE_PrivateData
struct IMAGE_StorageList IMAGE_StorageList
struct IMAGE_Data IMAGE_Data
void IMAGE_shader_free(void)
Definition: image_shader.c:74
void * engine_type
Definition: image_private.h:55
DRWViewportEmptyList * fbl
Definition: image_private.h:56
IMAGE_StorageList * stl
Definition: image_private.h:59
DRWViewportEmptyList * txl
Definition: image_private.h:57
IMAGE_PassList * psl
Definition: image_private.h:58
DRWPass * image_pass
Definition: image_private.h:37
struct GPUTexture * texture
Definition: image_private.h:46
struct Image * image
Definition: image_private.h:43
struct ImBuf * ibuf
Definition: image_private.h:42
struct DRWView * view
Definition: image_private.h:44
IMAGE_PrivateData * pd
Definition: image_private.h:51