mirror of
https://github.com/godotengine/godot.git
synced 2024-11-10 14:12:51 +00:00
Refactor image_saver_tinyexr.cpp to prevent compiler warnings.
Prevents GCC compiler throwing: control reaches end of non-void function. Prevents Visual Studio throwing C4715: not all control paths return a value.
This commit is contained in:
parent
07d21b84a3
commit
a3b938d6dc
@ -58,7 +58,8 @@ static bool is_supported_format(Image::Format p_format) {
|
|||||||
enum SrcPixelType {
|
enum SrcPixelType {
|
||||||
SRC_FLOAT,
|
SRC_FLOAT,
|
||||||
SRC_HALF,
|
SRC_HALF,
|
||||||
SRC_BYTE
|
SRC_BYTE,
|
||||||
|
SRC_UNSUPPORTED
|
||||||
};
|
};
|
||||||
|
|
||||||
static SrcPixelType get_source_pixel_type(Image::Format p_format) {
|
static SrcPixelType get_source_pixel_type(Image::Format p_format) {
|
||||||
@ -79,7 +80,7 @@ static SrcPixelType get_source_pixel_type(Image::Format p_format) {
|
|||||||
case Image::FORMAT_RGBA8:
|
case Image::FORMAT_RGBA8:
|
||||||
return SRC_BYTE;
|
return SRC_BYTE;
|
||||||
default:
|
default:
|
||||||
CRASH_NOW();
|
return SRC_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +102,7 @@ static int get_target_pixel_type(Image::Format p_format) {
|
|||||||
case Image::FORMAT_RGBA8:
|
case Image::FORMAT_RGBA8:
|
||||||
return TINYEXR_PIXELTYPE_HALF;
|
return TINYEXR_PIXELTYPE_HALF;
|
||||||
default:
|
default:
|
||||||
CRASH_NOW();
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,7 +113,7 @@ static int get_pixel_type_size(int p_pixel_type) {
|
|||||||
case TINYEXR_PIXELTYPE_FLOAT:
|
case TINYEXR_PIXELTYPE_FLOAT:
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
CRASH_NOW();
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int get_channel_count(Image::Format p_format) {
|
static int get_channel_count(Image::Format p_format) {
|
||||||
@ -134,7 +135,7 @@ static int get_channel_count(Image::Format p_format) {
|
|||||||
case Image::FORMAT_RGBA8:
|
case Image::FORMAT_RGBA8:
|
||||||
return 4;
|
return 4;
|
||||||
default:
|
default:
|
||||||
CRASH_NOW();
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,11 +174,15 @@ Error save_exr(const String &p_path, const Ref<Image> &p_img, bool p_grayscale)
|
|||||||
};
|
};
|
||||||
|
|
||||||
int channel_count = get_channel_count(format);
|
int channel_count = get_channel_count(format);
|
||||||
|
ERR_FAIL_COND_V(channel_count < 0, ERR_UNAVAILABLE);
|
||||||
ERR_FAIL_COND_V(p_grayscale && channel_count != 1, ERR_INVALID_PARAMETER);
|
ERR_FAIL_COND_V(p_grayscale && channel_count != 1, ERR_INVALID_PARAMETER);
|
||||||
|
|
||||||
int target_pixel_type = get_target_pixel_type(format);
|
int target_pixel_type = get_target_pixel_type(format);
|
||||||
|
ERR_FAIL_COND_V(target_pixel_type < 0, ERR_UNAVAILABLE);
|
||||||
int target_pixel_type_size = get_pixel_type_size(target_pixel_type);
|
int target_pixel_type_size = get_pixel_type_size(target_pixel_type);
|
||||||
|
ERR_FAIL_COND_V(target_pixel_type_size < 0, ERR_UNAVAILABLE);
|
||||||
SrcPixelType src_pixel_type = get_source_pixel_type(format);
|
SrcPixelType src_pixel_type = get_source_pixel_type(format);
|
||||||
|
ERR_FAIL_COND_V(src_pixel_type = SRC_UNSUPPORTED, ERR_UNAVAILABLE);
|
||||||
const int pixel_count = p_img->get_width() * p_img->get_height();
|
const int pixel_count = p_img->get_width() * p_img->get_height();
|
||||||
|
|
||||||
const int *channel_mapping = channel_mappings[channel_count - 1];
|
const int *channel_mapping = channel_mappings[channel_count - 1];
|
||||||
|
Loading…
Reference in New Issue
Block a user