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:
authorJeroen Bakker <jeroen@blender.org>2022-05-30 17:04:21 +0300
committerJeroen Bakker <jeroen@blender.org>2022-05-30 17:04:21 +0300
commit58feee2b1a75b504dbb1f78e40fdae243ba602ba (patch)
treeb86ed9929b97563782b2ec67c1e64c27ee80cecd
parentde89a81b67ea922e9e527938bb73adee30d048bc (diff)
Moved enum to image_gpu.
-rw-r--r--source/blender/blenkernel/intern/image_gpu.cc9
-rw-r--r--source/blender/blenkernel/intern/movieclip.c28
-rw-r--r--source/blender/makesdna/DNA_image_types.h10
-rw-r--r--source/blender/makesdna/DNA_movieclip_types.h3
4 files changed, 16 insertions, 34 deletions
diff --git a/source/blender/blenkernel/intern/image_gpu.cc b/source/blender/blenkernel/intern/image_gpu.cc
index d0d9234f9ab..476c0b23fe5 100644
--- a/source/blender/blenkernel/intern/image_gpu.cc
+++ b/source/blender/blenkernel/intern/image_gpu.cc
@@ -38,6 +38,15 @@
using namespace blender::bke::image::partial_update;
namespace blender::bke::image::gpu {
+
+/* 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;
+
struct ImageGPUTextureStore {
class Entry : NonCopyable {
public:
diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c
index 19ee2ba6605..cdf70bf742c 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -1642,12 +1642,7 @@ static void free_buffers(MovieClip *clip)
MovieClip_RuntimeGPUTexture *tex;
for (tex = clip->runtime.gputextures.first; tex; tex = tex->next) {
- for (int i = 0; i < TEXTARGET_COUNT; i++) {
- if (tex->gputexture[i] != NULL) {
- GPU_texture_free(tex->gputexture[i]);
- tex->gputexture[i] = NULL;
- }
- }
+ GPU_TEXTURE_FREE_SAFE(tex->gputexture);
}
BLI_freelistN(&clip->runtime.gputextures);
}
@@ -2035,9 +2030,7 @@ void BKE_movieclip_eval_selection_update(struct Depsgraph *depsgraph, MovieClip
/** \name GPU textures
* \{ */
-static GPUTexture **movieclip_get_gputexture_ptr(MovieClip *clip,
- MovieClipUser *cuser,
- eGPUTextureTarget textarget)
+static GPUTexture **movieclip_get_gputexture_ptr(MovieClip *clip, MovieClipUser *cuser)
{
/* Check if we have an existing entry for that clip user. */
MovieClip_RuntimeGPUTexture *tex;
@@ -2051,16 +2044,13 @@ static GPUTexture **movieclip_get_gputexture_ptr(MovieClip *clip,
if (tex == NULL) {
tex = (MovieClip_RuntimeGPUTexture *)MEM_mallocN(sizeof(MovieClip_RuntimeGPUTexture),
__func__);
-
- for (int i = 0; i < TEXTARGET_COUNT; i++) {
- tex->gputexture[i] = NULL;
- }
+ tex->gputexture = NULL;
memcpy(&tex->user, cuser, sizeof(MovieClipUser));
BLI_addtail(&clip->runtime.gputextures, tex);
}
- return &tex->gputexture[textarget];
+ return &tex->gputexture;
}
GPUTexture *BKE_movieclip_get_gpu_texture(MovieClip *clip, MovieClipUser *cuser)
@@ -2069,7 +2059,7 @@ GPUTexture *BKE_movieclip_get_gpu_texture(MovieClip *clip, MovieClipUser *cuser)
return NULL;
}
- GPUTexture **tex = movieclip_get_gputexture_ptr(clip, cuser, TEXTARGET_2D);
+ GPUTexture **tex = movieclip_get_gputexture_ptr(clip, cuser);
if (*tex) {
return *tex;
}
@@ -2105,13 +2095,7 @@ void BKE_movieclip_free_gputexture(struct MovieClip *clip)
while (BLI_listbase_count(&clip->runtime.gputextures) > MOVIECLIP_NUM_GPUTEXTURES) {
MovieClip_RuntimeGPUTexture *tex = (MovieClip_RuntimeGPUTexture *)BLI_pophead(
&clip->runtime.gputextures);
- for (int i = 0; i < TEXTARGET_COUNT; i++) {
- /* free glsl image binding */
- if (tex->gputexture[i]) {
- GPU_texture_free(tex->gputexture[i]);
- tex->gputexture[i] = NULL;
- }
- }
+ GPU_TEXTURE_FREE_SAFE(tex->gputexture);
MEM_freeN(tex);
}
}
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index beef410d362..48fe7608522 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -105,14 +105,6 @@ typedef struct ImageTile {
#define IMA_SHOW_STEREO (1 << 4)
/* #define IMA_UNUSED_5 (1 << 5) */
-/* 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;
-
/* Defined in BKE_image.h. */
struct PartialUpdateRegister;
struct PartialUpdateUser;
@@ -137,8 +129,6 @@ typedef struct Image {
/** Not written in file. */
struct MovieCache *cache;
- /** Not written in file 3 = TEXTARGET_COUNT, 2 = stereo eyes. */
- // struct GPUTexture *gputexture[3][2];
/* sources from: */
ListBase anims;
diff --git a/source/blender/makesdna/DNA_movieclip_types.h b/source/blender/makesdna/DNA_movieclip_types.h
index a262baf6a2b..0d53af32989 100644
--- a/source/blender/makesdna/DNA_movieclip_types.h
+++ b/source/blender/makesdna/DNA_movieclip_types.h
@@ -47,8 +47,7 @@ typedef struct MovieClipProxy {
typedef struct MovieClip_RuntimeGPUTexture {
void *next, *prev;
MovieClipUser user;
- /** Not written in file 3 = TEXTARGET_COUNT. */
- struct GPUTexture *gputexture[3];
+ struct GPUTexture *gputexture;
} MovieClip_RuntimeGPUTexture;
typedef struct MovieClip_Runtime {