Merge branch 'blender-v2.83-release'

Conflicts:
	source/blender/makesdna/DNA_userdef_types.h
	source/blender/makesrna/intern/rna_userdef.c
This commit is contained in:
Bastien Montagne 2020-04-17 15:16:16 +02:00
commit 795a874d0b
8 changed files with 17 additions and 9 deletions

View File

@ -2157,7 +2157,7 @@ class USERPREF_PT_experimental_system(ExperimentalPanel, Panel):
def draw(self, context):
self._draw_items(
context, (
({"property": "use_undo_speedup"}, "T60695"),
({"property": "use_undo_legacy"}, "T60695"),
),
)

View File

@ -495,7 +495,7 @@ static void OVERLAY_draw_scene(void *vedata)
OVERLAY_motion_path_draw(vedata);
OVERLAY_extra_centers_draw(vedata);
if (DRW_state_is_select()) {
if (DRW_state_is_select() || DRW_state_is_depth()) {
/* Edit modes have their own selection code. */
return;
}

View File

@ -199,7 +199,7 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd)
}
wpd->clip_state = clip_state;
wpd->cull_state = CULL_BACKFACE_ENABLED(wpd) ? DRW_STATE_CULL_BACK : 0;
wpd->cull_state = CULL_BACKFACE_ENABLED(v3d) ? DRW_STATE_CULL_BACK : 0;
wpd->vldata = vldata;
wpd->world_ubo = vldata->world_ubo;

View File

@ -187,6 +187,10 @@ void workbench_antialiasing_engine_init(WORKBENCH_Data *vedata)
wpd->view_updated = false;
}
if (wpd->taa_sample_len > 0 && wpd->valid_history == false) {
wpd->taa_sample = 0;
}
{
float persmat[4][4];
DRW_view_persmat_get(NULL, persmat, false);
@ -420,6 +424,7 @@ void workbench_antialiasing_draw_pass(WORKBENCH_Data *vedata)
/* AA disabled. */
/* Just set sample to 1 to avoid rendering indefinitely. */
wpd->taa_sample = 1;
wpd->valid_history = false;
return;
}
@ -432,6 +437,7 @@ void workbench_antialiasing_draw_pass(WORKBENCH_Data *vedata)
const bool last_sample = wpd->taa_sample + 1 == wpd->taa_sample_len;
const bool taa_finished = wpd->taa_sample >= wpd->taa_sample_len;
if (wpd->taa_sample == 0) {
wpd->valid_history = true;
/* In playback mode, we are sure the next redraw will not use the same viewmatrix.
* In this case no need to save the depth buffer. */
eGPUFrameBufferBits bits = GPU_COLOR_BIT | (!wpd->is_playback ? GPU_DEPTH_BIT : 0);

View File

@ -267,6 +267,8 @@ typedef struct WORKBENCH_PrivateData {
float taa_sample_inv;
/** If the view has been updated and TAA needs to be reset. */
bool view_updated;
/** True if the history buffer contains relevant data and false if it could contain garbage. */
bool valid_history;
/** View */
struct DRWView *view;
/** Last projection matrix to see if view is still valid. */

View File

@ -147,7 +147,7 @@ static void memfile_undosys_step_decode(struct bContext *C,
bool use_old_bmain_data = true;
if (!U.experimental.use_undo_speedup) {
if (USER_EXPERIMENTAL_TEST(&U, use_undo_legacy)) {
use_old_bmain_data = false;
}
else if (undo_direction > 0) {

View File

@ -618,7 +618,7 @@ typedef struct UserDef_FileSpaceData {
} UserDef_FileSpaceData;
typedef struct UserDef_Experimental {
char use_undo_speedup;
char use_undo_legacy;
/** `makesdna` does not allow empty structs. */
char _pad0[7];
} UserDef_Experimental;

View File

@ -6057,12 +6057,12 @@ static void rna_def_userdef_experimental(BlenderRNA *brna)
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
RNA_def_struct_ui_text(srna, "Experimental", "Experimental features");
prop = RNA_def_property(srna, "use_undo_speedup", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "use_undo_speedup", 1);
prop = RNA_def_property(srna, "use_undo_legacy", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "use_undo_legacy", 1);
RNA_def_property_ui_text(
prop,
"Undo Speedup",
"Use new undo speedup (WARNING: can lead to crashes and serious .blend file corruption)");
"Undo Legacy",
"Use legacy undo (slower than the new default one, but may be more stable in some cases)");
}
static void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cprop)