Home

Resume

Blog

Teikitu


/* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */
/*  »Project«   Teikitu Gaming System (TgS) (∂)
    »File«      TgS (DX12) Kernel - Internal - Data.h
    »Author«    Andrew Aye (EMail: mailto:andrew.aye@gmail.com, Web: http://www.andrewaye.com)
    »Version«   4.51 / »GUID« A9981407-3EC9-42AF-8B6F-8BE6DD919615                                                                                                        */
/*   -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/*  Copyright: © 2002-2017, Andrew Aye.  All Rights Reserved.
    This software is free for non-commercial use.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
      following conditions are met:
        Redistribution of source code must retain this copyright notice, this list of conditions and the following disclaimers.
        Redistribution in binary form must reproduce this copyright notice, this list of conditions and the following disclaimers in the documentation and other materials
          provided with the distribution.
    The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
    The intellectual property rights of the algorithms used reside with Andrew Aye.
    You may not use this software, in whole or in part, in support of any commercial product without the express written consent of the author.
    There is no warranty or other guarantee of fitness of this software for any purpose. It is provided solely "as is".                                                   */
/* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */
#if !defined(TGS_DX12_KERNEL_INTERNAL_DATA_H)
#define TGS_DX12_KERNEL_INTERNAL_DATA_H
#pragma once


/* == Kernel ============================================================================================================================================================ */

/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. */
/*  Private Constants                                                                                                                                                     */
/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. */

TgEXTN const DXGI_FORMAT                    KTgKN_DX_FORMAT_LIST[ETgKN_GPU_FORMAT__MAX];
TgEXTN const DXGI_FORMAT                    KTgKN_DX_TARGET_LIST[ETgKN_GPU_TARGET__MAX];


/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. */
/*  Configuration                                                                                                                                                         */
/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. */

TgEXTN TgCN_VAR_ID                          g_tiCVAR_KN_GPU_PM_Adapter;
TgEXTN TgCN_VAR_ID                          g_tiCVAR_KN_GPU_PM_Output;
TgEXTN TgCN_VAR_ID                          g_tiCVAR_KN_GPU_PM_Width;
TgEXTN TgCN_VAR_ID                          g_tiCVAR_KN_GPU_PM_Height;
TgEXTN TgCN_VAR_ID                          g_tiCVAR_KN_GPU_PM_Refresh_Rate;
TgEXTN TgCN_VAR_ID                          g_tiCVAR_KN_GPU_PM_ScanOut_HDR;

TgEXTN TgCHAR                               g_szKN_GPU_PM_Adapter[128];
TgEXTN TgCHAR                               g_szKN_GPU_PM_Output[32];
TgEXTN TgUINT32                             g_uiKN_GPU_PM_Width;
TgEXTN TgUINT32                             g_uiKN_GPU_PM_Height;
TgEXTN TgUINT32                             g_uiKN_GPU_PM_Refresh_Rate;
TgEXTN TgBOOL                               g_bKN_GPU_PM_ScanOut_HDR;


/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. */
/*  Private Data                                                                                                                                                          */
/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. */

TgEXTN TgMS_HINSTANCE                       g_hDLL_DXGI;
TgEXTN TgMS_HINSTANCE                       g_hDLL_DXGI_DEBUG;
TgEXTN TgMS_HINSTANCE                       g_hDLL_D3D12;

TgEXTN TgSINT32                             (__stdcall *g_pfnCreateDXGIFactory)( REFIID, PP_TgVOID );
TgEXTN TgSINT32                             (__stdcall* g_pfnD3D12SerializeRootSignature)( CP_D3D12_ROOT_SIG_DESC, D3D_ROOT_SIG_VER, PP_D3D_BLOB, PP_D3D_BLOB );
TgEXTN TgSINT32                             (__stdcall* g_pfnD3D12CreateRootSignatureDeserializer )( CP_TgVOID, TgSIZE, REFIID, PP_TgVOID );
TgEXTN TgSINT32                             (__stdcall* g_pfnD3D12SerializeVersionedRootSignature )( CP_D3D12_VER_ROOT_SIG_DESC, PP_D3D_BLOB, PP_D3D_BLOB );
TgEXTN TgSINT32                             (__stdcall* g_pfnD3D12CreateVersionedRootSignatureDeserializer )( CP_TgVOID, TgSIZE, REFIID, PP_TgVOID );
TgEXTN TgSINT32                             (__stdcall* g_pfnD3D12CreateDevice)( P_TgVOID, D3D_FEATURE_LEVEL, REFIID, PP_TgVOID );
TgEXTN TgSINT32                             (__stdcall* g_pfnD3D12GetDebugInterface)( REFIID, PP_TgVOID );


TgEXTN IDXGIFactory5                        *g_pDXGIFactory_5;

TgEXTN STg2_KN_GPU_DXGI_Adapter             g_asKN_GPU_DXGI_Adapter[KTgKN_GPU_MAX_ADAPTER];
TgEXTN STg2_KN_GPU_DX12_Context__Device     g_asKN_GPU_DX12_Context_Device[KTgKN_GPU_MAX_DEVC_CONTEXT]; /* #IMPLEMENT */
TgEXTN STg2_KN_GPU_DX12_Context__Output     g_asKN_GPU_DX12_Context_Output[KTgKN_GPU_MAX_OUTPUT]; /* #IMPLEMENT */
TgEXTN STg2_KN_GPU_DX12_Context__Data       g_asKN_GPU_DX12_Context_Data[KTgKN_GPU_MAX_RESOURCE_CONTEXT]; /* #IMPLEMENT */
TgEXTN STg2_KN_GPU_DX12_Context__External   g_asKN_GPU_DX12_Context_External[KTgKN_GPU_MAX_RESOURCE_CONTEXT]; /* #IMPLEMENT */
TgEXTN STg2_KN_GPU_DX12_Context             g_asKN_GPU_DX12_Context[KTgKN_GPU_MAX_CONTEXT]; /* #IMPLEMENT */




/* ====================================================================================================================================================================== */
#endif