// Copyright 2022 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

#pragma once

#include "common/FeatureFlags.ih"
#include "common/OSPCommon.ih"

OSPRAY_BEGIN_ISPC_NAMESPACE

struct FrameBuffer;
struct RenderTaskDesc;
struct ScreenSample;

SYCL_EXTERNAL uniform RenderTaskDesc FrameBuffer_dispatch_getRenderTaskDesc(
    FrameBuffer *uniform fb,
    const uniform uint32 taskID,
    const uniform FeatureFlagsHandler &ffh);

SYCL_EXTERNAL void FrameBuffer_dispatch_accumulateSample(
    FrameBuffer *uniform fb,
    const varying ScreenSample &screenSample,
    uniform RenderTaskDesc &taskDesc,
    const uniform FeatureFlagsHandler &ffh);

SYCL_EXTERNAL void FrameBuffer_dispatch_completeTask(FrameBuffer *uniform fb,
    const uniform RenderTaskDesc &taskDesc,
    const uniform FeatureFlagsHandler &ffh);

OSPRAY_END_ISPC_NAMESPACE
