/* * Copyright (C) 2019-2021 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/gen11/hw_cmds_base.h" #include "opencl/source/mem_obj/image.h" #include "opencl/source/mem_obj/image.inl" #include namespace NEO { typedef ICLFamily Family; static auto gfxCore = IGFX_GEN11_CORE; template void ImageHw::setMediaSurfaceRotation(void *memory) { using MEDIA_SURFACE_STATE = typename GfxFamily::MEDIA_SURFACE_STATE; using SURFACE_FORMAT = typename MEDIA_SURFACE_STATE::SURFACE_FORMAT; auto surfaceState = reinterpret_cast(memory); surfaceState->setRotation(MEDIA_SURFACE_STATE::ROTATION_NO_ROTATION_OR_0_DEGREE); surfaceState->setXOffset(0); surfaceState->setYOffset(0); } template void ImageHw::setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) { using MEDIA_SURFACE_STATE = typename GfxFamily::MEDIA_SURFACE_STATE; using SURFACE_FORMAT = typename MEDIA_SURFACE_STATE::SURFACE_FORMAT; auto surfaceState = reinterpret_cast(memory); surfaceState->setSurfaceMemoryObjectControlStateIndexToMocsTables(value); } template <> void ImageHw::appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex, bool useGlobalAtomics) { if (hasAlphaChannel(&imageFormat)) { surfaceState->setSampleTapDiscardDisable(RENDER_SURFACE_STATE::SAMPLE_TAP_DISCARD_DISABLE_ENABLE); } } #include "opencl/source/mem_obj/image_factory_init.inl" } // namespace NEO