Path: blob/21.2-virgl/src/gallium/drivers/swr/swr_memory.h
4570 views
/****************************************************************************1* Copyright (C) 2015 Intel Corporation. All Rights Reserved.2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice (including the next11* paragraph) shall be included in all copies or substantial portions of the12* Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL17* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER18* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING19* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS20* IN THE SOFTWARE.21***************************************************************************/2223#pragma once24#include "rasterizer/core/context.h"25INLINE void26swr_LoadHotTile(HANDLE hDC,27HANDLE hWorkerPrivateData,28SWR_FORMAT dstFormat,29SWR_RENDERTARGET_ATTACHMENT renderTargetIndex,30UINT x, UINT y,31uint32_t renderTargetArrayIndex, uint8_t* pDstHotTile)32{33DRAW_CONTEXT *pDC = (DRAW_CONTEXT*)hDC;34swr_draw_context *pSDC = (swr_draw_context*)GetPrivateState(pDC);35SWR_SURFACE_STATE *pSrcSurface = &pSDC->renderTargets[renderTargetIndex];3637pSDC->pTileAPI->pfnSwrLoadHotTile(hWorkerPrivateData, pSrcSurface, pDC->pContext->pBucketMgr, dstFormat, renderTargetIndex, x, y, renderTargetArrayIndex, pDstHotTile);38}3940INLINE void41swr_StoreHotTile(HANDLE hDC,42HANDLE hWorkerPrivateData,43SWR_FORMAT srcFormat,44SWR_RENDERTARGET_ATTACHMENT renderTargetIndex,45UINT x, UINT y,46uint32_t renderTargetArrayIndex, uint8_t* pSrcHotTile)47{48DRAW_CONTEXT *pDC = (DRAW_CONTEXT*)hDC;49swr_draw_context *pSDC = (swr_draw_context*)GetPrivateState(pDC);50SWR_SURFACE_STATE *pDstSurface = &pSDC->renderTargets[renderTargetIndex];5152pSDC->pTileAPI->pfnSwrStoreHotTileToSurface(hWorkerPrivateData, pDstSurface, pDC->pContext->pBucketMgr, srcFormat, renderTargetIndex, x, y, renderTargetArrayIndex, pSrcHotTile);53}5455INLINE gfxptr_t56swr_MakeGfxPtr(HANDLE hPrivateContext, void* sysAddr)57{58// Fulfill an unused internal interface59return (gfxptr_t)sysAddr;60}616263