Null check color_space_ptr in draw functor v2
Missed toXYZD50 usage last time. Still assume sRGB if null. Bug: 187798471 Test: Manually tested setting color_space_ptr to null in GL/VKFunctorDrawable Change-Id: Idee2660d368dd55e45f5d07d52839105ba951ff3
This commit is contained in:
parent
9028f4992c
commit
fe71933655
@ -116,8 +116,14 @@ void draw_gl(int functor, void* data,
|
|||||||
}
|
}
|
||||||
COMPILE_ASSERT(sizeof(params.color_space_toXYZD50) == sizeof(skcms_Matrix3x3),
|
COMPILE_ASSERT(sizeof(params.color_space_toXYZD50) == sizeof(skcms_Matrix3x3),
|
||||||
gamut_transform_size_mismatch);
|
gamut_transform_size_mismatch);
|
||||||
draw_gl_params.color_space_ptr->toXYZD50(
|
if (draw_gl_params.color_space_ptr) {
|
||||||
reinterpret_cast<skcms_Matrix3x3*>(¶ms.color_space_toXYZD50));
|
draw_gl_params.color_space_ptr->toXYZD50(
|
||||||
|
reinterpret_cast<skcms_Matrix3x3*>(¶ms.color_space_toXYZD50));
|
||||||
|
} else {
|
||||||
|
// Assume sRGB.
|
||||||
|
memcpy(¶ms.color_space_toXYZD50, &SkNamedGamut::kSRGB,
|
||||||
|
sizeof(params.color_space_toXYZD50));
|
||||||
|
}
|
||||||
|
|
||||||
SupportData* support = static_cast<SupportData*>(data);
|
SupportData* support = static_cast<SupportData*>(data);
|
||||||
support->callbacks.draw_gl(functor, support->data, ¶ms);
|
support->callbacks.draw_gl(functor, support->data, ¶ms);
|
||||||
@ -196,8 +202,14 @@ void drawVk(int functor, void* data,
|
|||||||
};
|
};
|
||||||
COMPILE_ASSERT(sizeof(params.color_space_toXYZD50) == sizeof(skcms_Matrix3x3),
|
COMPILE_ASSERT(sizeof(params.color_space_toXYZD50) == sizeof(skcms_Matrix3x3),
|
||||||
gamut_transform_size_mismatch);
|
gamut_transform_size_mismatch);
|
||||||
draw_vk_params.color_space_ptr->toXYZD50(
|
if (draw_vk_params.color_space_ptr) {
|
||||||
reinterpret_cast<skcms_Matrix3x3*>(¶ms.color_space_toXYZD50));
|
draw_vk_params.color_space_ptr->toXYZD50(
|
||||||
|
reinterpret_cast<skcms_Matrix3x3*>(¶ms.color_space_toXYZD50));
|
||||||
|
} else {
|
||||||
|
// Assume sRGB.
|
||||||
|
memcpy(¶ms.color_space_toXYZD50, &SkNamedGamut::kSRGB,
|
||||||
|
sizeof(params.color_space_toXYZD50));
|
||||||
|
}
|
||||||
COMPILE_ASSERT(NELEM(params.transform) == NELEM(draw_vk_params.transform),
|
COMPILE_ASSERT(NELEM(params.transform) == NELEM(draw_vk_params.transform),
|
||||||
mismatched_transform_matrix_sizes);
|
mismatched_transform_matrix_sizes);
|
||||||
for (int i = 0; i < NELEM(params.transform); ++i) {
|
for (int i = 0; i < NELEM(params.transform); ++i) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user