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:
authorClément Foucault <foucault.clem@gmail.com>2020-07-29 16:50:46 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-07-29 16:54:51 +0300
commit2d89cd7dd5b2345ca5cc36cb20edacb04ef90036 (patch)
tree2a0f47059f83383ce7a55a32984c14708cf77d4a /source/blender/gpu
parent99d0b3b79377d38d3936fd9beba8d647e938f0c1 (diff)
Cleanup: GPU: Move Image based function to GPU_draw.h
This makes it less confusing what functions are for blender structures.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/GPU_draw.h45
-rw-r--r--source/blender/gpu/GPU_texture.h21
-rw-r--r--source/blender/gpu/intern/gpu_texture_image.c4
3 files changed, 31 insertions, 39 deletions
diff --git a/source/blender/gpu/GPU_draw.h b/source/blender/gpu/GPU_draw.h
index 8110920527d..0d8acfa0279 100644
--- a/source/blender/gpu/GPU_draw.h
+++ b/source/blender/gpu/GPU_draw.h
@@ -25,6 +25,8 @@
#define __GPU_DRAW_H__
#include "BLI_utildefines.h"
+
+#include "DNA_image_types.h"
#include "DNA_object_enums.h"
#ifdef __cplusplus
@@ -32,38 +34,49 @@ extern "C" {
#endif
struct FluidModifierData;
-struct ImBuf;
+struct GPUTexture;
struct Image;
struct ImageUser;
+struct ImBuf;
struct Main;
+struct MovieClip;
+struct MovieClipUser;
-/* OpenGL drawing functions related to shading. */
+/* Texture creation from blender datablocks. */
+struct GPUTexture *GPU_texture_from_blender(struct Image *ima,
+ struct ImageUser *iuser,
+ struct ImBuf *ibuf,
+ eGPUTextureTarget target);
-/* Mipmap settings
- * - these will free textures on changes */
+struct GPUTexture *GPU_texture_from_movieclip(struct MovieClip *clip,
+ struct MovieClipUser *cuser,
+ eGPUTextureTarget target);
-void GPU_paint_set_mipmap(struct Main *bmain, bool mipmap);
-
-/* Image updates and free
- * - these deal with images bound as opengl textures */
+/* Fluid simulation. */
+void GPU_create_smoke(struct FluidModifierData *fmd, int highres);
+void GPU_create_smoke_coba_field(struct FluidModifierData *fmd);
+void GPU_create_smoke_velocity(struct FluidModifierData *fmd);
-void GPU_paint_update_image(
- struct Image *ima, struct ImageUser *iuser, int x, int y, int w, int h);
+/* Image updates and free. */
void GPU_free_image(struct Image *ima);
+void GPU_free_movieclip(struct MovieClip *clip);
+void GPU_free_smoke(struct FluidModifierData *fmd);
+void GPU_free_smoke_velocity(struct FluidModifierData *fmd);
+
void GPU_free_images(struct Main *bmain);
void GPU_free_images_anim(struct Main *bmain);
void GPU_free_images_old(struct Main *bmain);
-/* gpu_draw_smoke.c */
-void GPU_free_smoke(struct FluidModifierData *fmd);
-void GPU_free_smoke_velocity(struct FluidModifierData *fmd);
-void GPU_create_smoke(struct FluidModifierData *fmd, int highres);
-void GPU_create_smoke_coba_field(struct FluidModifierData *fmd);
-void GPU_create_smoke_velocity(struct FluidModifierData *fmd);
+void GPU_paint_update_image(
+ struct Image *ima, struct ImageUser *iuser, int x, int y, int w, int h);
+void GPU_paint_set_mipmap(struct Main *bmain, bool mipmap);
/* Delayed free of OpenGL buffers by main thread */
void GPU_free_unused_buffers(void);
+/* For internal use. */
+struct GPUTexture *GPU_texture_create_error(eGPUTextureTarget target);
+
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/gpu/GPU_texture.h b/source/blender/gpu/GPU_texture.h
index 42afe2b63bf..31b8e6c9b6a 100644
--- a/source/blender/gpu/GPU_texture.h
+++ b/source/blender/gpu/GPU_texture.h
@@ -25,6 +25,7 @@
#define __GPU_TEXTURE_H__
#include "BLI_utildefines.h"
+
#include "GPU_state.h"
struct GPUVertBuf;
@@ -38,14 +39,6 @@ struct PreviewImage;
struct GPUFrameBuffer;
typedef struct GPUTexture GPUTexture;
-/* Used to get the correct gpu texture from an Image datablock. */
-typedef enum eGPUTextureTarget {
- TEXTARGET_2D = 0,
- TEXTARGET_2D_ARRAY,
- TEXTARGET_TILE_MAPPING,
- TEXTARGET_COUNT,
-} eGPUTextureTarget;
-
/* GPU Samplers state
* - Specify the sampler state to bind a texture with.
* - Internally used by textures.
@@ -237,21 +230,9 @@ GPUTexture *GPU_texture_create_cube_array(
GPUTexture *GPU_texture_create_from_vertbuf(struct GPUVertBuf *vert);
GPUTexture *GPU_texture_create_buffer(eGPUTextureFormat data_type, const uint buffer);
-GPUTexture *GPU_texture_create_error(eGPUTextureTarget target);
GPUTexture *GPU_texture_create_compressed(
int w, int h, int miplen, eGPUTextureFormat format, const void *data);
-GPUTexture *GPU_texture_from_blender(struct Image *ima,
- struct ImageUser *iuser,
- struct ImBuf *ibuf,
- eGPUTextureTarget target);
-
-/* movie clip drawing */
-GPUTexture *GPU_texture_from_movieclip(struct MovieClip *clip,
- struct MovieClipUser *cuser,
- eGPUTextureTarget target);
-void GPU_free_texture_movieclip(struct MovieClip *clip);
-
void GPU_texture_add_mipmap(GPUTexture *tex,
eGPUDataFormat gpu_data_format,
int miplvl,
diff --git a/source/blender/gpu/intern/gpu_texture_image.c b/source/blender/gpu/intern/gpu_texture_image.c
index cd422c6ee04..436b7257db1 100644
--- a/source/blender/gpu/intern/gpu_texture_image.c
+++ b/source/blender/gpu/intern/gpu_texture_image.c
@@ -54,8 +54,6 @@
#include "GPU_draw.h"
#include "GPU_extensions.h"
-#include "GPU_matrix.h"
-#include "GPU_platform.h"
#include "GPU_texture.h"
#include "PIL_time.h"
@@ -982,7 +980,7 @@ void GPU_free_image(Image *ima)
gpu_free_image(ima, BLI_thread_is_main());
}
-void GPU_free_texture_movieclip(struct MovieClip *clip)
+void GPU_free_movieclip(struct MovieClip *clip)
{
/* number of gpu textures to keep around as cache
* We don't want to keep too many GPU textures for