Own main workers and narrow Apple render hooks
This commit is contained in:
@@ -118,6 +118,16 @@ struct LegacyCanvasDrawMergeTemporaryCompositeExecution {
|
||||
std::function<void()> unbind_textures;
|
||||
};
|
||||
|
||||
struct LegacyCanvasDrawMergeBackgroundSetupUniforms {
|
||||
bool draw_merged = false;
|
||||
bool use_blend = false;
|
||||
};
|
||||
|
||||
struct LegacyCanvasDrawMergeBackgroundSetupExecution {
|
||||
std::function<void()> disable_blend;
|
||||
std::function<void(int)> draw_checkerboard_plane;
|
||||
};
|
||||
|
||||
template <
|
||||
typename Setup,
|
||||
typename BindSamplers,
|
||||
@@ -485,6 +495,21 @@ inline void execute_legacy_canvas_draw_merge_temporary_composite(
|
||||
execution.unbind_textures();
|
||||
}
|
||||
|
||||
inline void execute_legacy_canvas_draw_merge_background_setup(
|
||||
const LegacyCanvasDrawMergeBackgroundSetupUniforms& uniforms,
|
||||
const LegacyCanvasDrawMergeBackgroundSetupExecution& execution)
|
||||
{
|
||||
if (uniforms.draw_merged) {
|
||||
execution.disable_blend();
|
||||
}
|
||||
|
||||
if (uniforms.draw_merged || !uniforms.use_blend) {
|
||||
for (int plane_index = 0; plane_index < 6; ++plane_index) {
|
||||
execution.draw_checkerboard_plane(plane_index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline void execute_legacy_canvas_draw_merge_plane_setup(
|
||||
const LegacyCanvasDrawMergePlaneSetupUniforms& uniforms,
|
||||
const LegacyCanvasDrawMergePlaneSetupExecution& execution)
|
||||
|
||||
Reference in New Issue
Block a user