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>2022-02-01 21:38:54 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-02-01 21:38:54 +0300
commit4fd26cdd37012b797681fe66304666bd9bfb6ef2 (patch)
tree29c319f6fa17608c6c599e4a9bc2b32182a4affa /source/blender/makesdna
parentf7b03a79065daea2677088aa707fa6711d442679 (diff)
parent2b01964e6cea2fabee585395f7b85aa8ad4837b0 (diff)
Merge branch 'master' into eevee-rewrite
# Conflicts: # source/blender/draw/engines/eevee/eevee_depth_of_field.c # source/blender/draw/engines/eevee/eevee_lightprobes.c # source/blender/draw/engines/eevee/eevee_render.c # source/blender/draw/engines/eevee/eevee_subsurface.c # source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl # source/blender/draw/engines/eevee/shaders/closure_eval_diffuse_lib.glsl # source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl # source/blender/draw/engines/eevee/shaders/effect_dof_gather_frag.glsl # source/blender/draw/engines/eevee/shaders/effect_dof_lib.glsl # source/blender/draw/engines/eevee/shaders/effect_gtao_frag.glsl # source/blender/draw/engines/eevee/shaders/effect_reflection_trace_frag.glsl # source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl # source/blender/draw/intern/draw_manager_shader.c # source/blender/gpu/intern/gpu_codegen.c # source/blender/gpu/intern/gpu_shader_log.cc # source/blender/gpu/shaders/material/gpu_shader_material_diffuse.glsl # source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl # source/blender/gpu/shaders/material/gpu_shader_material_refraction.glsl # source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_ID.h8
-rw-r--r--source/blender/makesdna/DNA_image_types.h20
-rw-r--r--source/blender/makesdna/DNA_meshdata_types.h1
3 files changed, 18 insertions, 11 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 060b55ffe5c..fad24f4326c 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -534,12 +534,14 @@ typedef struct PreviewImage {
#define ID_IS_LINKED(_id) (((const ID *)(_id))->lib != NULL)
-/* Note that this is a fairly high-level check, should be used at user interaction level, not in
+/* Note that these are fairly high-level checks, should be used at user interaction level, not in
* BKE_library_override typically (especially due to the check on LIB_TAG_EXTERN). */
-#define ID_IS_OVERRIDABLE_LIBRARY(_id) \
- (ID_IS_LINKED(_id) && !ID_MISSING(_id) && (((const ID *)(_id))->tag & LIB_TAG_EXTERN) != 0 && \
+#define ID_IS_OVERRIDABLE_LIBRARY_HIERARCHY(_id) \
+ (ID_IS_LINKED(_id) && !ID_MISSING(_id) && \
(BKE_idtype_get_info_from_id((const ID *)(_id))->flags & IDTYPE_FLAGS_NO_LIBLINKING) == 0 && \
!ELEM(GS(((ID *)(_id))->name), ID_SCE))
+#define ID_IS_OVERRIDABLE_LIBRARY(_id) \
+ (ID_IS_OVERRIDABLE_LIBRARY_HIERARCHY((_id)) && (((const ID *)(_id))->tag & LIB_TAG_EXTERN) != 0)
/* NOTE: The three checks below do not take into account whether given ID is linked or not (when
* chaining overrides over several libraries). User must ensure the ID is not linked itself
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index 64c8fd3e3a9..7a789227128 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -142,10 +142,20 @@ typedef enum eImageTextureResolution {
IMA_TEXTURE_RESOLUTION_LEN
} eImageTextureResolution;
+/* Defined in BKE_image.h. */
+struct PartialUpdateRegister;
+struct PartialUpdateUser;
+
typedef struct Image_Runtime {
/* Mutex used to guarantee thread-safe access to the cached ImBuf of the corresponding image ID.
*/
void *cache_mutex;
+
+ /** \brief Register containing partial updates. */
+ struct PartialUpdateRegister *partial_update_register;
+ /** \brief Partial update user for GPUTextures stored inside the Image. */
+ struct PartialUpdateUser *partial_update_user;
+
} Image_Runtime;
typedef struct Image {
@@ -171,8 +181,6 @@ typedef struct Image {
int lastframe;
/* GPU texture flag. */
- /* Contains `ImagePartialRefresh`. */
- ListBase gpu_refresh_areas;
int gpuframenr;
short gpuflag;
short gpu_pass;
@@ -247,15 +255,13 @@ enum {
enum {
/** GPU texture needs to be refreshed. */
IMA_GPU_REFRESH = (1 << 0),
- /** GPU texture needs to be partially refreshed. */
- IMA_GPU_PARTIAL_REFRESH = (1 << 1),
/** All mipmap levels in OpenGL texture set? */
- IMA_GPU_MIPMAP_COMPLETE = (1 << 2),
+ IMA_GPU_MIPMAP_COMPLETE = (1 << 1),
/* Reuse the max resolution textures as they fit in the limited scale. */
- IMA_GPU_REUSE_MAX_RESOLUTION = (1 << 3),
+ IMA_GPU_REUSE_MAX_RESOLUTION = (1 << 2),
/* Has any limited scale textures been allocated.
* Adds additional checks to reuse max resolution images when they fit inside limited scale. */
- IMA_GPU_HAS_LIMITED_SCALE_TEXTURES = (1 << 4),
+ IMA_GPU_HAS_LIMITED_SCALE_TEXTURES = (1 << 3),
};
/* Image.source, where the image comes from */
diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h
index 22c523901c0..b0276d010a4 100644
--- a/source/blender/makesdna/DNA_meshdata_types.h
+++ b/source/blender/makesdna/DNA_meshdata_types.h
@@ -48,7 +48,6 @@ typedef struct MVert {
/** #MVert.flag */
enum {
/* SELECT = (1 << 0), */
- ME_VERT_TMP_TAG = (1 << 2),
ME_HIDE = (1 << 4),
ME_VERT_FACEDOT = (1 << 5),
/* ME_VERT_MERGED = (1 << 6), */