forked from MoonsideGames/Refresh
				
			Compare commits
	
		
			16 Commits 
		
	
	
		
			2a9dbc963a
			...
			33751db045
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 33751db045 | |
|  | f9f5e91001 | |
|  | 6da471f9ef | |
|  | 8ec7705949 | |
|  | f205c26075 | |
|  | 25847c38a2 | |
|  | 05d200c7fa | |
|  | 5529a4a9ae | |
|  | 0137503ec3 | |
|  | 4a1e4a49a8 | |
|  | e44aee7101 | |
|  | f638e05ed1 | |
|  | 56ebde7567 | |
|  | 40b6ec0e91 | |
|  | 93848a79ec | |
|  | 77acc3c47a | 
|  | @ -8,7 +8,7 @@ option(BUILD_SHARED_LIBS "Build shared library" ON) | |||
| 
 | ||||
| # Version | ||||
| SET(LIB_MAJOR_VERSION "1") | ||||
| SET(LIB_MINOR_VERSION "3") | ||||
| SET(LIB_MINOR_VERSION "4") | ||||
| SET(LIB_REVISION "0") | ||||
| SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}.${LIB_REVISION}") | ||||
| 
 | ||||
|  | @ -36,11 +36,23 @@ elseif(WIN32) | |||
| 	set(CMAKE_SHARED_LIBRARY_PREFIX "") | ||||
| endif() | ||||
| 
 | ||||
| set(BUILD_D3D11 OFF) | ||||
| 
 | ||||
| if (WIN32) | ||||
| 	set(BUILD_D3D11 ON) | ||||
| endif() | ||||
| 
 | ||||
| # Defines | ||||
| add_definitions( | ||||
| 	-DREFRESH_DRIVER_VULKAN | ||||
| ) | ||||
| 
 | ||||
| if (BUILD_D3D11) | ||||
| 	add_definitions( | ||||
| 		-DREFRESH_DRIVER_D3D11 | ||||
| 	) | ||||
| endif() | ||||
| 
 | ||||
| # Source lists | ||||
| add_library(Refresh | ||||
| 	# Public Headers | ||||
|  | @ -49,8 +61,10 @@ add_library(Refresh | |||
| 	# Internal Headers | ||||
| 	src/Refresh_Driver.h | ||||
| 	src/Refresh_Driver_Vulkan_vkfuncs.h | ||||
| 	src/Refresh_Driver_D3D11_cdefines.h | ||||
| 	# Source Files | ||||
| 	src/Refresh.c | ||||
| 	src/Refresh_Driver_D3D11.c | ||||
| 	src/Refresh_Driver_Vulkan.c | ||||
| 	src/Refresh_Image.c | ||||
| ) | ||||
|  |  | |||
|  | @ -55,7 +55,7 @@ extern "C" { | |||
| /* Version API */ | ||||
| 
 | ||||
| #define REFRESH_MAJOR_VERSION   1 | ||||
| #define REFRESH_MINOR_VERSION	3 | ||||
| #define REFRESH_MINOR_VERSION	4 | ||||
| #define REFRESH_PATCH_VERSION	0 | ||||
| 
 | ||||
| #define REFRESH_COMPILED_VERSION ( \ | ||||
|  | @ -184,7 +184,8 @@ typedef uint32_t Refresh_BufferUsageFlags; | |||
| 
 | ||||
| typedef enum Refresh_VertexElementFormat | ||||
| { | ||||
| 	REFRESH_VERTEXELEMENTFORMAT_SINGLE, | ||||
| 	REFRESH_VERTEXELEMENTFORMAT_UINT, | ||||
| 	REFRESH_VERTEXELEMENTFORMAT_FLOAT, | ||||
| 	REFRESH_VERTEXELEMENTFORMAT_VECTOR2, | ||||
| 	REFRESH_VERTEXELEMENTFORMAT_VECTOR3, | ||||
| 	REFRESH_VERTEXELEMENTFORMAT_VECTOR4, | ||||
|  | @ -486,7 +487,6 @@ typedef struct Refresh_RasterizerState | |||
| 	float depthBiasConstantFactor; | ||||
| 	float depthBiasClamp; | ||||
| 	float depthBiasSlopeFactor; | ||||
| 	float lineWidth; | ||||
| } Refresh_RasterizerState; | ||||
| 
 | ||||
| typedef struct Refresh_MultisampleState | ||||
|  |  | |||
|  | @ -34,7 +34,12 @@ | |||
| /* Drivers */ | ||||
| 
 | ||||
| static const Refresh_Driver *drivers[] = { | ||||
| #if REFRESH_DRIVER_VULKAN | ||||
| 	&VulkanDriver, | ||||
| #endif | ||||
| #if REFRESH_DRIVER_D3D11 | ||||
| 	&D3D11Driver, | ||||
| #endif | ||||
| 	NULL | ||||
| }; | ||||
| 
 | ||||
|  | @ -124,22 +129,43 @@ uint32_t Refresh_LinkedVersion(void) | |||
| 
 | ||||
| /* Driver Functions */ | ||||
| 
 | ||||
| static int32_t selectedDriver = 0; | ||||
| static int32_t selectedDriver = -1; | ||||
| 
 | ||||
| Refresh_Device* Refresh_CreateDevice( | ||||
| 	Refresh_PresentationParameters *presentationParameters, | ||||
| 	uint8_t debugMode | ||||
| ) { | ||||
| 	if (selectedDriver < 0) | ||||
| 	uint32_t result = 0; | ||||
| 	uint32_t i; | ||||
| 	const char *hint = SDL_GetHint("REFRESH_FORCE_DRIVER"); | ||||
| 	for (i = 0; drivers[i] != NULL; i += 1) | ||||
| 	{ | ||||
| 		return NULL; | ||||
| 		if (hint != NULL) | ||||
| 		{ | ||||
| 			if (SDL_strcmp(hint, drivers[i]->Name) != 0) | ||||
| 			{ | ||||
| 				continue; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		/* FIXME: add fallback driver handling */ | ||||
| 		break; | ||||
| 	} | ||||
| 
 | ||||
| 	if (drivers[i] == NULL) | ||||
| 	{ | ||||
| 		Refresh_LogError("No supported Refresh driver found!"); | ||||
| 		return NULL; | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		selectedDriver = i; | ||||
| 		return drivers[selectedDriver]->CreateDevice( | ||||
| 			presentationParameters, | ||||
| 			debugMode | ||||
| 		); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void Refresh_DestroyDevice(Refresh_Device *device) | ||||
| { | ||||
|  |  | |||
|  | @ -522,6 +522,7 @@ typedef struct Refresh_Driver | |||
| } Refresh_Driver; | ||||
| 
 | ||||
| extern Refresh_Driver VulkanDriver; | ||||
| extern Refresh_Driver D3D11Driver; | ||||
| 
 | ||||
| #endif /* REFRESH_DRIVER_H */ | ||||
| 
 | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -0,0 +1,215 @@ | |||
| /* Refresh - XNA-inspired 3D Graphics Library with modern capabilities
 | ||||
|  * | ||||
|  * Copyright (c) 2020 Evan Hemsley | ||||
|  * | ||||
|  * This software is provided 'as-is', without any express or implied warranty. | ||||
|  * In no event will the authors be held liable for any damages arising from | ||||
|  * the use of this software. | ||||
|  * | ||||
|  * Permission is granted to anyone to use this software for any purpose, | ||||
|  * including commercial applications, and to alter it and redistribute it | ||||
|  * freely, subject to the following restrictions: | ||||
|  * | ||||
|  * 1. The origin of this software must not be misrepresented; you must not | ||||
|  * claim that you wrote the original software. If you use this software in a | ||||
|  * product, an acknowledgment in the product documentation would be | ||||
|  * appreciated but is not required. | ||||
|  * | ||||
|  * 2. Altered source versions must be plainly marked as such, and must not be | ||||
|  * misrepresented as being the original software. | ||||
|  * | ||||
|  * 3. This notice may not be removed or altered from any source distribution. | ||||
|  * | ||||
|  * Evan "cosmonaut" Hemsley <evan@moonside.games> | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| /* Function Pointer Signatures */ | ||||
| typedef HRESULT(WINAPI* PFN_CREATE_DXGI_FACTORY)(const GUID* riid, void** ppFactory); | ||||
| 
 | ||||
|  /* IIDs (from https://magnumdb.com) */ | ||||
| 
 | ||||
| static const IID D3D_IID_IDXGIFactory1 = { 0x770aae78,0xf26f,0x4dba,{0xa8,0x29,0x25,0x3c,0x83,0xd1,0xb3,0x87} }; | ||||
| static const IID D3D_IID_IDXGIFactory6 = { 0xc1b6694f,0xff09,0x44a9,{0xb0,0x3c,0x77,0x90,0x0a,0x0a,0x1d,0x17} }; | ||||
| static const IID D3D_IID_IDXGIAdapter1 = { 0x29038f61,0x3839,0x4626,{0x91,0xfd,0x08,0x68,0x79,0x01,0x1a,0x05} }; | ||||
| static const IID D3D_IID_ID3D11Texture2D = { 0x6f15aaf2,0xd208,0x4e89,{0x9a,0xb4,0x48,0x95,0x35,0xd3,0x4f,0x9c} }; | ||||
| 
 | ||||
| /* IDXGIFactory6 (taken from dxgi1_6.h, cleaned up a bit) */ | ||||
| typedef enum | ||||
| { | ||||
| 	DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0 | ||||
| } DXGI_FEATURE; | ||||
| 
 | ||||
| typedef enum | ||||
| { | ||||
| 	DXGI_GPU_PREFERENCE_UNSPECIFIED = 0, | ||||
| 	DXGI_GPU_PREFERENCE_MINIMUM_POWER = (DXGI_GPU_PREFERENCE_UNSPECIFIED + 1), | ||||
| 	DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE = (DXGI_GPU_PREFERENCE_MINIMUM_POWER + 1) | ||||
| } DXGI_GPU_PREFERENCE; | ||||
| 
 | ||||
| typedef struct IDXGIFactory6 IDXGIFactory6; | ||||
| typedef struct IDXGIFactory6Vtbl | ||||
| { | ||||
| 	HRESULT(STDMETHODCALLTYPE* QueryInterface)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		REFIID riid, | ||||
| 		void** ppvObject); | ||||
| 
 | ||||
| 	ULONG(STDMETHODCALLTYPE* AddRef)( | ||||
| 		IDXGIFactory6* This); | ||||
| 
 | ||||
| 	ULONG(STDMETHODCALLTYPE* Release)( | ||||
| 		IDXGIFactory6* This); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* SetPrivateData)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		REFGUID Name, | ||||
| 		UINT DataSize, | ||||
| 		const void* pData); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* SetPrivateDataInterface)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		REFGUID Name, | ||||
| 		const IUnknown* pUnknown); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* GetPrivateData)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		REFGUID Name, | ||||
| 		UINT* pDataSize, | ||||
| 		void* pData); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* GetParent)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		REFIID riid, | ||||
| 		void** ppParent); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* EnumAdapters)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		UINT Adapter, | ||||
| 		IDXGIAdapter** ppAdapter); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* MakeWindowAssociation)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HWND WindowHandle, | ||||
| 		UINT Flags); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* GetWindowAssociation)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HWND* pWindowHandle); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* CreateSwapChain)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		IUnknown* pDevice, | ||||
| 		DXGI_SWAP_CHAIN_DESC* pDesc, | ||||
| 		IDXGISwapChain** ppSwapChain); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* CreateSoftwareAdapter)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HMODULE Module, | ||||
| 		IDXGIAdapter** ppAdapter); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* EnumAdapters1)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		UINT Adapter, | ||||
| 		IDXGIAdapter1** ppAdapter); | ||||
| 
 | ||||
| 	BOOL(STDMETHODCALLTYPE* IsCurrent)( | ||||
| 		IDXGIFactory6* This); | ||||
| 
 | ||||
| 	BOOL(STDMETHODCALLTYPE* IsWindowedStereoEnabled)( | ||||
| 		IDXGIFactory6* This); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* CreateSwapChainForHwnd)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		IUnknown* pDevice, | ||||
| 		HWND hWnd, | ||||
| 		void* pDesc, | ||||
| 		void* pFullscreenDesc, | ||||
| 		void* pRestrictToOutput, | ||||
| 		void** ppSwapChain); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* CreateSwapChainForCoreWindow)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		IUnknown* pDevice, | ||||
| 		IUnknown* pWindow, | ||||
| 		void* pDesc, | ||||
| 		void* pRestrictToOutput, | ||||
| 		void** ppSwapChain); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* GetSharedResourceAdapterLuid)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HANDLE hResource, | ||||
| 		LUID* pLuid); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* RegisterStereoStatusWindow)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HWND WindowHandle, | ||||
| 		UINT wMsg, | ||||
| 		DWORD* pdwCookie); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* RegisterStereoStatusEvent)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HANDLE hEvent, | ||||
| 		DWORD* pdwCookie); | ||||
| 
 | ||||
| 	void (STDMETHODCALLTYPE* UnregisterStereoStatus)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		DWORD dwCookie); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* RegisterOcclusionStatusWindow)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HWND WindowHandle, | ||||
| 		UINT wMsg, | ||||
| 		DWORD* pdwCookie); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* RegisterOcclusionStatusEvent)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		HANDLE hEvent, | ||||
| 		DWORD* pdwCookie); | ||||
| 
 | ||||
| 	void (STDMETHODCALLTYPE* UnregisterOcclusionStatus)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		DWORD dwCookie); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* CreateSwapChainForComposition)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		IUnknown* pDevice, | ||||
| 		void* pDesc, | ||||
| 		void* pRestrictToOutput, | ||||
| 		void** ppSwapChain); | ||||
| 
 | ||||
| 	UINT(STDMETHODCALLTYPE* GetCreationFlags)( | ||||
| 		IDXGIFactory6* This); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* EnumAdapterByLuid)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		LUID AdapterLuid, | ||||
| 		REFIID riid, | ||||
| 		void** ppvAdapter); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* EnumWarpAdapter)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		REFIID riid, | ||||
| 		void** ppvAdapter); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* CheckFeatureSupport)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		DXGI_FEATURE Feature, | ||||
| 		void* pFeatureSupportData, | ||||
| 		UINT FeatureSupportDataSize); | ||||
| 
 | ||||
| 	HRESULT(STDMETHODCALLTYPE* EnumAdapterByGpuPreference)( | ||||
| 		IDXGIFactory6* This, | ||||
| 		UINT Adapter, | ||||
| 		DXGI_GPU_PREFERENCE GpuPreference, | ||||
| 		REFIID riid, | ||||
| 		void** ppvAdapter); | ||||
| } IDXGIFactory6Vtbl; | ||||
| 
 | ||||
| struct IDXGIFactory6 | ||||
| { | ||||
| 	struct IDXGIFactory6Vtbl* lpVtbl; | ||||
| }; | ||||
| 
 | ||||
| #define IDXGIFactory6_EnumAdapterByGpuPreference(This,Adapter,GpuPreference,riid,ppvAdapter)	\ | ||||
| 	( (This)->lpVtbl -> EnumAdapterByGpuPreference(This,Adapter,GpuPreference,riid,ppvAdapter) )  | ||||
|  | @ -210,7 +210,8 @@ static VkFormat RefreshToVK_SurfaceFormat[] = | |||
| 
 | ||||
| static VkFormat RefreshToVK_VertexFormat[] = | ||||
| { | ||||
| 	VK_FORMAT_R32_SFLOAT,		/* SINGLE */ | ||||
| 	VK_FORMAT_R32_UINT,			/* UINT */ | ||||
| 	VK_FORMAT_R32_SFLOAT,		/* FLOAT */ | ||||
| 	VK_FORMAT_R32G32_SFLOAT,	/* VECTOR2 */ | ||||
| 	VK_FORMAT_R32G32B32_SFLOAT,	/* VECTOR3 */ | ||||
| 	VK_FORMAT_R32G32B32A32_SFLOAT,	/* VECTOR4 */ | ||||
|  | @ -5848,8 +5849,7 @@ static Refresh_GraphicsPipeline* VULKAN_CreateGraphicsPipeline( | |||
| 		pipelineCreateInfo->rasterizerState.depthBiasClamp; | ||||
| 	rasterizationStateCreateInfo.depthBiasSlopeFactor = | ||||
| 		pipelineCreateInfo->rasterizerState.depthBiasSlopeFactor; | ||||
| 	rasterizationStateCreateInfo.lineWidth = | ||||
| 		pipelineCreateInfo->rasterizerState.lineWidth; | ||||
| 	rasterizationStateCreateInfo.lineWidth = 1.0f; | ||||
| 
 | ||||
| 	/* Multisample */ | ||||
| 
 | ||||
|  | @ -10642,4 +10642,8 @@ Refresh_Driver VulkanDriver = { | |||
| 	VULKAN_CreateDevice | ||||
| }; | ||||
| 
 | ||||
| #else | ||||
| 
 | ||||
| extern int this_tu_is_empty; | ||||
| 
 | ||||
| #endif //REFRESH_DRIVER_VULKAN
 | ||||
|  |  | |||
|  | @ -8,19 +8,29 @@ EndProject | |||
| Global | ||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
| 		Debug|x64 = Debug|x64 | ||||
| 		Debug|x86 = Debug|x86 | ||||
| 		MinSizeRel|x64 = MinSizeRel|x64 | ||||
| 		MinSizeRel|x86 = MinSizeRel|x86 | ||||
| 		Release|x64 = Release|x64 | ||||
| 		Release|x86 = Release|x86 | ||||
| 		RelWithDebInfo|x64 = RelWithDebInfo|x64 | ||||
| 		RelWithDebInfo|x86 = RelWithDebInfo|x86 | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Debug|x64.ActiveCfg = Debug|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Debug|x64.Build.0 = Debug|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Debug|x86.ActiveCfg = Debug|Win32 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Debug|x86.Build.0 = Debug|Win32 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Release|x64.ActiveCfg = Release|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Release|x64.Build.0 = Release|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Release|x86.ActiveCfg = Release|Win32 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Release|x86.Build.0 = Release|Win32 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 | ||||
| 		{6DB15344-E000-45CB-A48A-1D72F7D6E945}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64 | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(SolutionProperties) = preSolution | ||||
| 		HideSolutionNode = FALSE | ||||
|  |  | |||
|  | @ -61,7 +61,9 @@ | |||
|     <ClCompile> | ||||
|       <WarningLevel>Level3</WarningLevel> | ||||
|       <Optimization>Disabled</Optimization> | ||||
|       <PreprocessorDefinitions>REFRESH_DRIVER_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||
|       <PreprocessorDefinitions>REFRESH_DRIVER_D3D11;REFRESH_DRIVER_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||
|       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||
|       </AdditionalIncludeDirectories> | ||||
|     </ClCompile> | ||||
|     <Link> | ||||
|       <GenerateDebugInformation>DebugFull</GenerateDebugInformation> | ||||
|  | @ -72,9 +74,11 @@ | |||
|     <ClCompile> | ||||
|       <WarningLevel>Level3</WarningLevel> | ||||
|       <Optimization>MaxSpeed</Optimization> | ||||
|       <PreprocessorDefinitions>REFRESH_DRIVER_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||
|       <PreprocessorDefinitions>REFRESH_DRIVER_D3D11;REFRESH_DRIVER_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||
|       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||
|       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||
|       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||
|       </AdditionalIncludeDirectories> | ||||
|     </ClCompile> | ||||
|     <Link> | ||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||
|  | @ -84,6 +88,7 @@ | |||
|   </ItemDefinitionGroup> | ||||
|   <ItemGroup> | ||||
|     <ClCompile Include="..\src\Refresh.c" /> | ||||
|     <ClCompile Include="..\src\Refresh_Driver_D3D11.c" /> | ||||
|     <ClCompile Include="..\src\Refresh_Driver_Vulkan.c" /> | ||||
|     <ClCompile Include="..\src\Refresh_Image.c" /> | ||||
|   </ItemGroup> | ||||
|  | @ -91,6 +96,7 @@ | |||
|     <ClInclude Include="..\include\Refresh.h" /> | ||||
|     <ClInclude Include="..\include\Refresh_Image.h" /> | ||||
|     <ClInclude Include="..\src\Refresh_Driver.h" /> | ||||
|     <ClInclude Include="..\src\Refresh_Driver_D3D11_cdefines.h" /> | ||||
|     <ClInclude Include="..\src\Refresh_Driver_Vulkan_vkfuncs.h" /> | ||||
|   </ItemGroup> | ||||
|   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||
|  |  | |||
|  | @ -10,6 +10,9 @@ | |||
|     <ClCompile Include="..\src\Refresh_Image.c"> | ||||
|       <Filter>Source Files</Filter> | ||||
|     </ClCompile> | ||||
|     <ClCompile Include="..\src\Refresh_Driver_D3D11.c"> | ||||
|       <Filter>Source Files</Filter> | ||||
|     </ClCompile> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <ClInclude Include="..\include\Refresh.h"> | ||||
|  | @ -24,6 +27,9 @@ | |||
|     <ClInclude Include="..\include\Refresh_Image.h"> | ||||
|       <Filter>Header Files</Filter> | ||||
|     </ClInclude> | ||||
|     <ClInclude Include="..\src\Refresh_Driver_D3D11_cdefines.h"> | ||||
|       <Filter>Header Files</Filter> | ||||
|     </ClInclude> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <Filter Include="Header Files"> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue