Added two new files for a wrapper function for initialization v2: added missing include for single architecture builds Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>tags/18.2-branchpoint
@@ -177,4 +177,6 @@ MEMORY_CXX_SOURCES := \ | |||
rasterizer/memory/StoreTile_TileY2.cpp \ | |||
rasterizer/memory/StoreTile_TileY.cpp \ | |||
rasterizer/memory/TilingFunctions.h \ | |||
rasterizer/memory/tilingtraits.h | |||
rasterizer/memory/tilingtraits.h \ | |||
rasterizer/memory/InitMemory.cpp \ | |||
rasterizer/memory/InitMemory.h |
@@ -151,6 +151,8 @@ files_swr_arch = files( | |||
'rasterizer/memory/StoreTile_TileY.cpp', | |||
'rasterizer/memory/TilingFunctions.h', | |||
'rasterizer/memory/tilingtraits.h', | |||
'rasterizer/memory/InitMemory.h', | |||
'rasterizer/memory/InitMemory.cpp', | |||
) | |||
swr_context_files = files('swr_context.h') |
@@ -1728,10 +1728,6 @@ void InitBackendFuncTables(); | |||
/// @brief Initialize swr backend and memory internal tables | |||
void SwrInit() | |||
{ | |||
InitSimLoadTilesTable(); | |||
InitSimStoreTilesTable(); | |||
InitSimClearTilesTable(); | |||
InitClearTilesTable(); | |||
InitBackendFuncTables(); | |||
InitRasterizerFunctions(); |
@@ -29,10 +29,11 @@ | |||
#include "common/formats.h" | |||
#include "common/intrin.h" | |||
using gfxptr_t = unsigned long long; | |||
#include <functional> | |||
#include <algorithm> | |||
using gfxptr_t = unsigned long long; | |||
////////////////////////////////////////////////////////////////////////// | |||
/// PRIMITIVE_TOPOLOGY. | |||
////////////////////////////////////////////////////////////////////////// |
@@ -0,0 +1,39 @@ | |||
/**************************************************************************** | |||
* Copyright (C) 2018 Intel Corporation. All Rights Reserved. | |||
* | |||
* Permission is hereby granted, free of charge, to any person obtaining a | |||
* copy of this software and associated documentation files (the "Software"), | |||
* to deal in the Software without restriction, including without limitation | |||
* the rights to use, copy, modify, merge, publish, distribute, sublicense, | |||
* and/or sell copies of the Software, and to permit persons to whom the | |||
* Software is furnished to do so, subject to the following conditions: | |||
* | |||
* The above copyright notice and this permission notice (including the next | |||
* paragraph) shall be included in all copies or substantial portions of the | |||
* Software. | |||
* | |||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | |||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |||
* IN THE SOFTWARE. | |||
* | |||
* @file InitMemory.cpp | |||
* | |||
* @brief Provide access to tiles table initialization functions | |||
* | |||
******************************************************************************/ | |||
#include "memory/InitMemory.h" | |||
void InitSimLoadTilesTable(); | |||
void InitSimStoreTilesTable(); | |||
void InitSimClearTilesTable(); | |||
void InitTilesTable() | |||
{ | |||
InitSimLoadTilesTable(); | |||
InitSimStoreTilesTable(); | |||
InitSimClearTilesTable(); | |||
} |
@@ -0,0 +1,33 @@ | |||
/**************************************************************************** | |||
* Copyright (C) 2018 Intel Corporation. All Rights Reserved. | |||
* | |||
* Permission is hereby granted, free of charge, to any person obtaining a | |||
* copy of this software and associated documentation files (the "Software"), | |||
* to deal in the Software without restriction, including without limitation | |||
* the rights to use, copy, modify, merge, publish, distribute, sublicense, | |||
* and/or sell copies of the Software, and to permit persons to whom the | |||
* Software is furnished to do so, subject to the following conditions: | |||
* | |||
* The above copyright notice and this permission notice (including the next | |||
* paragraph) shall be included in all copies or substantial portions of the | |||
* Software. | |||
* | |||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | |||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |||
* IN THE SOFTWARE. | |||
* | |||
* @file InitMemory.h | |||
* | |||
* @brief Provide access to tiles table initialization functions | |||
* | |||
******************************************************************************/ | |||
#include "common/os.h" | |||
extern "C" | |||
{ | |||
SWR_VISIBLE void SWR_API InitTilesTable(); | |||
} |
@@ -21,6 +21,7 @@ | |||
* IN THE SOFTWARE. | |||
***************************************************************************/ | |||
#include "memory/InitMemory.h" | |||
#include "util/u_cpu_detect.h" | |||
#include "util/u_dl.h" | |||
#include "swr_public.h" | |||
@@ -35,6 +36,7 @@ swr_initialize_screen_interface(struct swr_screen *screen, const char arch[]) | |||
#ifdef HAVE_SWR_BUILTIN | |||
screen->pLibrary = NULL; | |||
screen->pfnSwrGetInterface = SwrGetInterface; | |||
InitTilesTable(); | |||
fprintf(stderr, "(using: builtin).\n"); | |||
#else | |||
char filename[256] = { 0 }; | |||
@@ -48,7 +50,9 @@ swr_initialize_screen_interface(struct swr_screen *screen, const char arch[]) | |||
util_dl_proc pApiProc = util_dl_get_proc_address(screen->pLibrary, | |||
"SwrGetInterface"); | |||
if (!pApiProc) { | |||
util_dl_proc pInitFunc = util_dl_get_proc_address(screen->pLibrary, | |||
"InitTilesTable"); | |||
if (!pApiProc || !pInitFunc) { | |||
fprintf(stderr, "(skipping: %s).\n", util_dl_error()); | |||
util_dl_close(screen->pLibrary); | |||
screen->pLibrary = NULL; | |||
@@ -56,6 +60,8 @@ swr_initialize_screen_interface(struct swr_screen *screen, const char arch[]) | |||
} | |||
screen->pfnSwrGetInterface = (PFNSwrGetInterface)pApiProc; | |||
pInitFunc(); | |||
fprintf(stderr, "(using: %s).\n", filename); | |||
#endif | |||
return true; |