diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-02-01 21:38:54 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-02-01 21:38:54 +0300 |
commit | 4fd26cdd37012b797681fe66304666bd9bfb6ef2 (patch) | |
tree | 29c319f6fa17608c6c599e4a9bc2b32182a4affa /source/blender/makesdna | |
parent | f7b03a79065daea2677088aa707fa6711d442679 (diff) | |
parent | 2b01964e6cea2fabee585395f7b85aa8ad4837b0 (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.h | 8 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_image_types.h | 20 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_meshdata_types.h | 1 |
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), */ |