forked from bartvdbraak/blender
Merge branch 'master' into blender2.8
This commit is contained in:
commit
2451a1951e
@ -146,6 +146,7 @@ void CLG_exit(void);
|
||||
void CLG_output_set(void *file_handle);
|
||||
void CLG_output_use_basename_set(int value);
|
||||
void CLG_fatal_fn_set(void (*fatal_fn)(void *file_handle));
|
||||
void CLG_backtrace_fn_set(void (*fatal_fn)(void *file_handle));
|
||||
|
||||
void CLG_type_filter_include(const char *type_filter, int type_filter_len);
|
||||
void CLG_type_filter_exclude(const char *type_filter, int type_filter_len);
|
||||
|
@ -81,6 +81,7 @@ typedef struct CLogContext {
|
||||
|
||||
struct {
|
||||
void (*fatal_fn)(void *file_handle);
|
||||
void (*backtrace_fn)(void *file_handle);
|
||||
} callbacks;
|
||||
} CLogContext;
|
||||
|
||||
@ -328,15 +329,23 @@ static CLG_LogType *clg_ctx_type_register(CLogContext *ctx, const char *identifi
|
||||
return ty;
|
||||
}
|
||||
|
||||
static void clg_ctx_fatal_action(CLogContext *ctx, FILE *file_handle)
|
||||
static void clg_ctx_fatal_action(CLogContext *ctx)
|
||||
{
|
||||
if (ctx->callbacks.fatal_fn != NULL) {
|
||||
ctx->callbacks.fatal_fn(file_handle);
|
||||
ctx->callbacks.fatal_fn(ctx->output_file);
|
||||
}
|
||||
fflush(file_handle);
|
||||
fflush(ctx->output_file);
|
||||
abort();
|
||||
}
|
||||
|
||||
static void clg_ctx_backtrace(CLogContext *ctx)
|
||||
{
|
||||
/* Note: we avoid writing fo 'FILE', for backtrace we make an exception,
|
||||
* if necessary we could have a version of the callback that writes to file descriptor all at once. */
|
||||
ctx->callbacks.backtrace_fn(ctx->output_file);
|
||||
fflush(ctx->output_file);
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
@ -409,8 +418,12 @@ void CLG_log_str(
|
||||
|
||||
clg_str_free(&cstr);
|
||||
|
||||
if (lg->ctx->callbacks.backtrace_fn) {
|
||||
clg_ctx_backtrace(lg->ctx);
|
||||
}
|
||||
|
||||
if (severity == CLG_SEVERITY_FATAL) {
|
||||
clg_ctx_fatal_action(lg->ctx, lg->ctx->output_file);
|
||||
clg_ctx_fatal_action(lg->ctx);
|
||||
}
|
||||
}
|
||||
|
||||
@ -441,8 +454,12 @@ void CLG_logf(
|
||||
|
||||
clg_str_free(&cstr);
|
||||
|
||||
if (lg->ctx->callbacks.backtrace_fn) {
|
||||
clg_ctx_backtrace(lg->ctx);
|
||||
}
|
||||
|
||||
if (severity == CLG_SEVERITY_FATAL) {
|
||||
clg_ctx_fatal_action(lg->ctx, lg->ctx->output_file);
|
||||
clg_ctx_fatal_action(lg->ctx);
|
||||
}
|
||||
}
|
||||
|
||||
@ -472,6 +489,11 @@ static void CLG_ctx_fatal_fn_set(CLogContext *ctx, void (*fatal_fn)(void *file_h
|
||||
ctx->callbacks.fatal_fn = fatal_fn;
|
||||
}
|
||||
|
||||
static void CLG_ctx_backtrace_fn_set(CLogContext *ctx, void (*backtrace_fn)(void *file_handle))
|
||||
{
|
||||
ctx->callbacks.backtrace_fn = backtrace_fn;
|
||||
}
|
||||
|
||||
static void clg_ctx_type_filter_append(CLG_IDFilter **flt_list, const char *type_match, int type_match_len)
|
||||
{
|
||||
if (type_match_len == 0) {
|
||||
@ -569,6 +591,11 @@ void CLG_fatal_fn_set(void (*fatal_fn)(void *file_handle))
|
||||
CLG_ctx_fatal_fn_set(g_ctx, fatal_fn);
|
||||
}
|
||||
|
||||
void CLG_backtrace_fn_set(void (*fatal_fn)(void *file_handle))
|
||||
{
|
||||
CLG_ctx_backtrace_fn_set(g_ctx, fatal_fn);
|
||||
}
|
||||
|
||||
void CLG_type_filter_exclude(const char *type_match, int type_match_len)
|
||||
{
|
||||
CLG_ctx_type_filter_exclude(g_ctx, type_match, type_match_len);
|
||||
|
@ -53,9 +53,9 @@ void ChannelMatteNode::convertToOperations(NodeConverter &converter, const Compo
|
||||
break;
|
||||
case CMP_NODE_CHANNEL_MATTE_CS_YCC: /* YCC */
|
||||
convert = new ConvertRGBToYCCOperation();
|
||||
((ConvertRGBToYCCOperation *)convert)->setMode(0); /* BLI_YCC_ITU_BT601 */
|
||||
((ConvertRGBToYCCOperation *)convert)->setMode(BLI_YCC_ITU_BT709);
|
||||
inv_convert = new ConvertYCCToRGBOperation();
|
||||
((ConvertYCCToRGBOperation *)inv_convert)->setMode(0); /* BLI_YCC_ITU_BT601 */
|
||||
((ConvertYCCToRGBOperation *)inv_convert)->setMode(BLI_YCC_ITU_BT709);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -41,8 +41,8 @@ void ChromaMatteNode::convertToOperations(NodeConverter &converter, const Compos
|
||||
|
||||
ConvertRGBToYCCOperation *operationRGBToYCC_Image = new ConvertRGBToYCCOperation();
|
||||
ConvertRGBToYCCOperation *operationRGBToYCC_Key = new ConvertRGBToYCCOperation();
|
||||
operationRGBToYCC_Image->setMode(0); /* BLI_YCC_ITU_BT601 */
|
||||
operationRGBToYCC_Key->setMode(0); /* BLI_YCC_ITU_BT601 */
|
||||
operationRGBToYCC_Image->setMode(BLI_YCC_ITU_BT709);
|
||||
operationRGBToYCC_Key->setMode(BLI_YCC_ITU_BT709);
|
||||
converter.addOperation(operationRGBToYCC_Image);
|
||||
converter.addOperation(operationRGBToYCC_Key);
|
||||
|
||||
|
@ -66,8 +66,8 @@ void DistanceMatteNode::convertToOperations(NodeConverter &converter, const Comp
|
||||
|
||||
ConvertRGBToYCCOperation *operationYCCImage = new ConvertRGBToYCCOperation();
|
||||
ConvertRGBToYCCOperation *operationYCCMatte = new ConvertRGBToYCCOperation();
|
||||
operationYCCImage->setMode(0); /* BLI_YCC_ITU_BT601 */
|
||||
operationYCCMatte->setMode(0); /* BLI_YCC_ITU_BT601 */
|
||||
operationYCCImage->setMode(BLI_YCC_ITU_BT709);
|
||||
operationYCCMatte->setMode(BLI_YCC_ITU_BT709);
|
||||
converter.addOperation(operationYCCImage);
|
||||
converter.addOperation(operationYCCMatte);
|
||||
|
||||
@ -86,7 +86,7 @@ void DistanceMatteNode::convertToOperations(NodeConverter &converter, const Comp
|
||||
|
||||
if (storage->channel != 1) {
|
||||
ConvertYCCToRGBOperation *inv_convert = new ConvertYCCToRGBOperation();
|
||||
inv_convert->setMode(0); /* BLI_YCC_ITU_BT601 */
|
||||
inv_convert->setMode(BLI_YCC_ITU_BT709);
|
||||
|
||||
converter.addOperation(inv_convert);
|
||||
converter.addLink(operationAlpha->getOutputSocket(0), inv_convert->getInputSocket(0));
|
||||
|
@ -50,7 +50,7 @@ KeyingNode::KeyingNode(bNode *editorNode) : Node(editorNode)
|
||||
NodeOperationOutput *KeyingNode::setupPreBlur(NodeConverter &converter, NodeInput *inputImage, int size) const
|
||||
{
|
||||
ConvertRGBToYCCOperation *convertRGBToYCCOperation = new ConvertRGBToYCCOperation();
|
||||
convertRGBToYCCOperation->setMode(0); /* ITU 601 */
|
||||
convertRGBToYCCOperation->setMode(BLI_YCC_ITU_BT709);
|
||||
converter.addOperation(convertRGBToYCCOperation);
|
||||
|
||||
converter.mapInputSocket(inputImage, convertRGBToYCCOperation->getInputSocket(0));
|
||||
@ -86,7 +86,7 @@ NodeOperationOutput *KeyingNode::setupPreBlur(NodeConverter &converter, NodeInpu
|
||||
}
|
||||
|
||||
ConvertYCCToRGBOperation *convertYCCToRGBOperation = new ConvertYCCToRGBOperation();
|
||||
convertYCCToRGBOperation->setMode(0); /* ITU 601 */
|
||||
convertYCCToRGBOperation->setMode(BLI_YCC_ITU_BT709);
|
||||
converter.addOperation(convertYCCToRGBOperation);
|
||||
|
||||
converter.addLink(combineOperation->getOutputSocket(0), convertYCCToRGBOperation->getInputSocket(0));
|
||||
|
@ -523,6 +523,7 @@ static int arg_handle_print_help(int UNUSED(argc), const char **UNUSED(argv), vo
|
||||
BLI_argsPrintArgDoc(ba, "--log");
|
||||
BLI_argsPrintArgDoc(ba, "--log-level");
|
||||
BLI_argsPrintArgDoc(ba, "--log-show-basename");
|
||||
BLI_argsPrintArgDoc(ba, "--log-show-backtrace");
|
||||
BLI_argsPrintArgDoc(ba, "--log-file");
|
||||
|
||||
printf("\n");
|
||||
@ -733,6 +734,17 @@ static int arg_handle_log_show_basename_set(int UNUSED(argc), const char **UNUSE
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char arg_handle_log_show_backtrace_set_doc[] =
|
||||
"\n\tShow a back trace for each log message (debug builds only)."
|
||||
;
|
||||
static int arg_handle_log_show_backtrace_set(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data))
|
||||
{
|
||||
/* Ensure types don't become incompatible. */
|
||||
void (*fn)(FILE *fp) = BLI_system_backtrace;
|
||||
CLG_backtrace_fn_set((void (*)(void *))fn);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char arg_handle_log_file_set_doc[] =
|
||||
"<filename>\n"
|
||||
"\n"
|
||||
@ -1820,6 +1832,7 @@ void main_args_setup(bContext *C, bArgs *ba)
|
||||
BLI_argsAdd(ba, 1, NULL, "--log", CB(arg_handle_log_set), ba);
|
||||
BLI_argsAdd(ba, 1, NULL, "--log-level", CB(arg_handle_log_level_set), ba);
|
||||
BLI_argsAdd(ba, 1, NULL, "--log-show-basename", CB(arg_handle_log_show_basename_set), ba);
|
||||
BLI_argsAdd(ba, 1, NULL, "--log-show-backtrace", CB(arg_handle_log_show_backtrace_set), ba);
|
||||
BLI_argsAdd(ba, 1, NULL, "--log-file", CB(arg_handle_log_file_set), ba);
|
||||
|
||||
BLI_argsAdd(ba, 1, "-d", "--debug", CB(arg_handle_debug_mode_set), ba);
|
||||
|
Loading…
Reference in New Issue
Block a user